Nộ ộii dung 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 CÁC MÔ
Trang 1Nộ ộii dung 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 CÁC MÔ MÔ HÌNH HÌNH KI KIẾ Ế N TRÚC
Các
Các mô mô hình hình ki kiế ến n trúc 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ế
hữu dụng
Các Các llớ ớp p ph phầ ần n m 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
Các llớ ớp p ph phầ ần n m 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 Các llớ ớp p ph phầ ần n m mề ềm m và và các các thông
thông ñi ñ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
Trang 2Các llớ ớp p ph phầ ần n m mề ềm m chính 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)
LLớ ớ p p Moddleware 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
Các ki kiế ế n n trúc trúc h hệ ệ th 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
Trang 3Other 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 Các mô mô hình hình Client Client Server Server khác 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 Interfaces và và ñ ñố ốii ttượ ượ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
CÁC YÊU YÊU C CẦ Ầ U U THI THIẾ Ế TT K KẾ Ế
Các Các yêu yêu c cầ ầu u c củ ủa a thi thiế ếtt k 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 ñể
Trang 4Các yêu yêu c cầ ầu u thi thiế ếtt k 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 CÁC MÔ MÔ HÌNH HÌNH C CƠ Ơ S SỞ Ở
Các
Các mô mô hình hình c cơ ơ ssở ở
Ớ Mô hình tương tác
Ớ Mô hình sự cố (Failure model)
Ớ Mô hình an toàn (Security model)
Mô
Mô hình hình ttươ ươ ng ng tác 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ô
Mô hình hình ttươ ương ng tác 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ô
Mô hình hình ttươ ương ng tác tác
Ớ Thứ tự thông ựiệp
A
B
C
send
receive
1
2
5
6
7 9
8
M 3
M 4
time
time
time
receive
M 2
4
3
B receives M1 then M2
C receives M4 then M3 This was not the true sequence of events
Trang 5Mô hình hình ttươ ương ng tác 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ô
Mô hình hình ttươ ương ng tác 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ô
Mô hình hình ssự ự c 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ô
Mô hình hình ssự ự c 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ô
Mô hình hình an an toàn 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