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