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
30 trang |
Chia sẻ: lylyngoc | Lượt xem: 1736 | Lượt tải: 2
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