Nội dung
• 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
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
Hai ý tưởng trừu tượng của các lớp phần mềm
Applications, services
Applications, services
Middleware
Middleware
Operating systems
Operating systems
Platform
Computer and network hardware
Computer and network hardware
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
messages
Middleware
messages
Operating systems
messages
Computer and network hardware
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
Request(s)
Response(s)
Middleware
Response(s)
Request(s)
Operating systems
Platform
Computer and network hardware
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
invocation
result
invocation
Client
Server
invocation
result
invocation
result
Server
result
Client
= message
= computer
= process
Proxy server
Server
invocation
Client
result
Server
invocation
result
Server
Client
Proxy server
Proxy Server
request
Client
reply
request
reply
Client
Web Server
Web Server
Peer processes
Application
Coordinator
Application
Application
Coordinator
Coordinator
Other client server models
• Thick client
– Nếu client tiến hành một số chức năng
• Thin client
logic (xử lý)và giao diện
– 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
– 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áy tính mạng (Net-Computer)
với server
– Đây là một phương thức mã của các ứng
dụng phân tán
• Mã di động (Mobile code) – Download mã từ sever – Đoạn mã này sẽ đảm trách việc truyền thông
Spontaneous networks
Music service
gateway
Alarm service
Internet
Hotel wireless network
Discovery service
Camera
TV/PC
Laptop
PDA
Guest's devices
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
• 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
– Tính trách nhiệm (Responsiveness)
• Xác định khả năng của một DIS?
– Throughput
• Chúng ta có thể chia sẽ công việc để nâng
cao hiêu năng ?
– Cân bằng tải
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
• 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ồ được dùng để:
– 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
send
5
A
time
1
M1
M3
8
6
receive
4
B
time
2
receive
M4
M3
M2
7
C
time
3
9
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
• Solution is to timestamp
– M3 = Balance+10 – M4 = Balance*0.1 – M3 then M4 = (Balance+10)*0.1 – M4 then M3 = (Balance*0.1)+10
• Solution is to use logic – If time is not essential
– But times can be inaccurate
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
• Thông điệp/tiến trình không thỏa ràng buộc
về thời gian
– Timing failures
• Bảo đảm tính giá trị và nhất quán
– Reliability
Mô hình sự cố
• Các khía cạnh sự cố cần xem xét:
• Các sự cố không xác định xảy ra ngẫu
nhiên
– Arbitrary failures
• Các sự cố có thể được che dấu đối với
người dùng
– Failure transparency
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
etc.
– Enemies and threats • Mainly re messaging • Disclosure, manipulation, denial of service,
• Cryptography, certificates, secure
channels, authentication servers, etc.
– Security mechanisms
Referenced material
diagrams
• Distributed Systems: Concepts and Deisgn, George Colouris, Jean Dollimore, Tim Kindberg, Addison-wesley, Forth Edition, 2005, ISBN – Power point slides, text quotations, examples and
• Distributed Operating Systems, A.S.Tanenbaum, Prentice Hall, 1995, 0-13-143934-0 – Diagrams and examples