Các mô hình kiến trúc

Những mối quan tâm chính: ◦  Quản trị được, có độ tin cậy, có khả năng thích ứng và chi phí hợp lý ◦  Dễ dàng thiết kế ◦  Các thành phần được bố trí một cách hữu dụng ◦  Quan hệ nội tại giữa các thành phần

pdf30 trang | Chia sẻ: lylyngoc | Lượt xem: 1658 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Các mô hình kiến trúc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nội dung –  Các mô hình kiến trúc • Layers • System Architectures • Interfaces and objects • Design requirements –  Các mô hình cơ sở • Interaction • Failure • Security CÁC MÔ HÌNH KIẾN TRÚC Các mô hình kiến trúc —  Những mối quan tâm chính: ◦  Quản trị được, có độ tin cậy, có khả năng thích ứng và chi phí hợp lý ◦  Dễ dàng thiết kế ◦  Các thành phần được bố trí một cách hữu dụng ◦  Quan hệ nội tại giữa các thành phần Các lớp phần mềm • Cấu trúc phần mềm theo modules •  quản lý sự phức tạp – chia để trị •  trách nhiệm tập thể đối với mỗi chức năng cụ thể của mỗi lớp •  Mỗi lớp phải nhất quán •  Cho phép linh hoạt thay thế một lớp bằng một lớp tương đương Các lớp phần mềm Applications, services Middleware Operating systems Computer and network hardware Applications, services Middleware Operating systems Computer and network hardware Hai ý tưởng trừu tượng của các lớp phần mềm Platform Các lớp phần mềm và các thông điệp Các thông điệp được chuyển giữa các lớp phần mềm Applications, services Middleware Operating systems Computer and network hardware messages messages messages Các lớp phần mềm chính •  Platform –  Phần mềm cấp thấp & phần cứng •  Hệ điều hành, mạng, CPU, bộ định tuyến (routers), máy in .v.v. •  Middleware (phần mềm có nhiệm vụ che dấu sự không đồng nhất) –  Lớp giữa hay lớp ứng dụng và lớp nền tảng –  Giúp trừu tượng và che dấu sự không đồng nhất –  Nó hoạt đọng như một người trung gian giữa các ứng dụng và nền tảng –  Điều này giúp giảm hẹp sự phụ thuộc vào nền tảng (chỉ là phụ thuộc vào middleware) Lớp Moddleware Applications, services Middleware Operating systems Computer and network hardware Platform Request(s) Request(s) Response(s) Response(s) Lớp Midleware hoạt động như một người trung gian môi giới xử lý các yêu cầu của lớp ứng dụng Các kiến trúc hệ thống Client Client Client Server Server invocation invocation invocation invocation result result result result = message = process = computer Proxy server Client Client Server invocation result Server Server invocation result Proxy server Client Client Proxy Server request reply Web Server Web Server request reply Peer processes Application Coordinator Application Coordinator Application Coordinator Other client server models • Thick client –  Nếu client tiến hành một số chức năng logic (xử lý)và giao diện • Thin client –  Server cung cấp gần như tất cả các chức năng logic (xử lý) –  client chỉ chịu trách nhiệm chức năng thể hiện (giao diện) Các mô hình Client-Server khác •  Máy tính mạng (Net-Computer) –  Download Os và ứng dụng từ server –  Sử dụng các cấu hình thấp –  Tăng lưu thông mạng •  Mã di động (Mobile code) –  Download mã từ sever –  Đoạn mã này sẽ đảm trách việc truyền thông với server –  Đây là một phương thức mã của các ứng dụng phân tán Spontaneous networks Internet gateway PDA service Music service service Discovery Alarm Camera Guest's devices Laptop TV/PC Hotel wireless network Interfaces và đối tượng •  Interfaces xác định các phương thức (methods) mà client có thể sử dụng •  Phương thức truyền thống –  Các tiến trình của server được định nghĩa rõ ràng cung cấp một số các tác vụ •  Phương pháp hương đối tượng –  Các tiến trình cụ thể ở server có thể được gọi – Điều này không tĩnh mà có thể được tạo vào lúc thực hiện(run-time) CÁC YÊU CẦU THIẾT KẾ Các yêu cầu của thiết kế • Các yêu cầu về hiệu năng –  Tính trách nhiệm (Responsiveness) • Chúng ta muốn có một hệ thống có trách nhiệm • Điều này bị ảnh hưởng bởi mạng latency, lưu lượng, hàng đợi server, số lớp phần mềmthe number of software layers –  Throughput • Xác định khả năng của một DIS? –  Cân bằng tải • Chúng ta có thể chia sẽ công việc để nâng cao hiêu năng ? Các yêu cầu thiết kế • Các yêu cầu về chất lượng của dịch vụ – Đòi hỏi các mức độ hiệu năng hợp lý cho mỗi lớp • An toàn và tin cậy –  Tính sẳn sàng của dịch vụ –  Tính đúng đắn của dịch vụ được cung cấp –  Tính an toàn của hệ thống CÁC MÔ HÌNH CƠ SỞ Các mô hình cơ sở • Mô hình tương tác • Mô hình sự cố (Failure model) • Mô hình an toàn (Security model) Mô hình tương tác • Các khía cạnh của tương tác cần được xem xét: –  Nhiều server tương tác, tương tác giữa các tiến trình của peer –  Các đồng hồ và lịch –  Đồng bộ –  Bất đồng bộ –  Thứ tự các sự kiện Mô hình tương tác • Lịch của các sự kiện –  Các đồng hồ được dùng để: • Xác định một thứ tự của các sự kiện • Điểuphối các kiện gần như thời gian thực • Cho phép suy diễn trạng thái toàn cục dựa trên các thông tin cục bộ. –  Các đồng hộ chạy với các tốc độ khác nhau (clock drift) –  Trong DS sắp xếp thứ tự các sự kiện quan trọng hơn đồng bộ với một đồng hồ toàn cục Mô hình tương tác • Thứ tự thông điệp A B C send receive 1 2 5 6 7 9 8 M1 M3 M3 M4 time time time receive M2 4 3 B receives M1 then M2 C receives M4 then M3 This was not the true sequence of events Mô hình tương tác • Sắp thứ tự là quan trọng –  M3 = Balance+10 –  M4 = Balance*0.1 –  M3 then M4 = (Balance+10)*0.1 –  M4 then M3 = (Balance*0.1)+10 •  Solution is to timestamp –  But times can be inaccurate •  Solution is to use logic –  If time is not essential Mô hình tương tác •  Đồng bộ –  Cố gắng bảo đảm đồng bộ hóa –  Gắn yếu tố thờ gian • Các tiến trình và truyền thông • Clock drift là xác định và gắn yếu tố thời gian •  Bất đồng bộ –  Không bảo đảm đồng bộ hóa –  Không gắn yếu tố thời gian • Không gắn yếu tố thời gian cho tiến trình và truyền thông • Clock drift là một biến Mô hình sự cố • Các khía cạnh của sự cố được xem xét: –  Omission failures • Thông điệp/tiến trình bị mất –  Timing failures • Thông điệp/tiến trình không thỏa ràng buộc về thời gian –  Reliability • Bảo đảm tính giá trị và nhất quán Mô hình sự cố • Các khía cạnh sự cố cần xem xét: –  Arbitrary failures • Các sự cố không xác định xảy ra ngẫu nhiên –  Failure transparency • Các sự cố có thể được che dấu đối với người dùng Mô hình an toàn • Các khía cạnh an toàn cần được xem xét: –  Bảo vệ dữ liệu • quyền truy xuất, cấp độ truy xuất, xác thực –  Enemies and threats • Mainly re messaging • Disclosure, manipulation, denial of service, etc. –  Security mechanisms • Cryptography, certificates, secure channels, authentication servers, etc. Referenced material •  Distributed Systems: Concepts and Deisgn, George Colouris, Jean Dollimore, Tim Kindberg, Addison-wesley, Forth Edition, 2005, ISBN –  Power point slides, text quotations, examples and diagrams •  Distributed Operating Systems, A.S.Tanenbaum, Prentice Hall, 1995, 0-13-143934-0 –  Diagrams and examples