1. Trang chủ
  2. » Công Nghệ Thông Tin

Trao đổi thông tin trong hệ phân tán

89 460 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 89
Dung lượng 2,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kiến trúc phân tầng • Trao đổi thông tin trong hệ phân tán – Bit, byte, lỗi, thiết bị trung gian, tốc độ truyền tin • Kiểm soát lỗi, luồng dữ liệu, chuyển tiếp, định tuyến • Giao diện

Trang 1

Trao đổi thông tin trong hệ

phân tán

1 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 2

Nội dung

1 Các khái niệm cơ bản

2 Lời gọi thủ tục từ xa

3 Trao đổi thông tin bằng thông báo

4 Trao đổi thông tin dòng

5 Trao đổi thông tin đa điểm

Trang 3

1 Các khái niệm cơ bản

I Giao thức

II Kiến trúc phân tầng

III Mô hình ISO/OSI

IV Phân loại các phương pháp trao đổi thông tin

Các hệ phân tán @ Hà Quốc Trung

Trang 4

– Hướng kết nối/Không hướng kết nối

– Tin cậy/Không tin cậy

• Là thành phần cơ bản nhất thực hiện trao đổi thông tin

• Cung cấp các dịch vụ để gửi các thông báo

Trang 5

Phân loại giao thức

• Hướng kết nối

– Kết nối, gửi dữ liệu, nhận dữ liệu, giải phóng kết nối

• Không hướng kết nối

– Gửi dữ liệu, nhận dữ liệu

• Tin cậy

– Gửi dữ liệu, nhận dữ liệu, báo nhận dữ liệu (đích), báo nhận dữ liệu (nguồn)

• Không tin cậy

– Gửi dữ liệu, nhận dữ liệu

Các hệ phân tán @ Hà Quốc Trung

Trang 6

Các khái niệm trong giao thức

Trang 7

Ví dụ: HLDC (High Level Data Link

Control)

7 6 5 4 3 2 1 0 N(R)

I-e N(R)

Receive sequence

no

P/F type 0 1

fram

Trang 8

Ví dụ về giao thức hướng kết nối

Trang 9

II Kiến trúc phân tầng

• Trao đổi thông tin trong hệ phân tán

– Bit, byte, lỗi, thiết bị trung gian, tốc độ truyền tin

• Kiểm soát lỗi, luồng dữ liệu, chuyển tiếp, định tuyến

• Giao diện với tầng vật lý

• Phức tạp: cần chia nhỏ bài toán

Các hệ phân tán @ Hà Quốc Trung

Trang 10

Kiến trúc phân tầng

• Trao đổi thông tin giữa các hệ thống

– Phức tạp, đa dạng, nhiều vấn đề

– Chia để trị: các cặp p2p giải quyết vấn đề cụ thể

(distributed modules) bằng một giao thức

Trang 11

Giao tiếp giữa các tầng kề nhau

• Tầng trên sử dụng dịch vụ của tầng dưới để

truyền các thông báo

– Request(M), Notify(M), Response(M),

Confirm(M)

• Tầng dưới cung cấp dịch vụ cho tầng trên

– Cơ chế callback, notify, …

• Sử dụng các thông tin điều khiển trong các

thông báo để phân biệt các dịch vụ

11 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 12

Tiêu đề-Thông tin điều khiển

Trang 13

Mô hình ISO/OSI Kết nối các hệ thống mở

13 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 14

Giao thức TCP

Trang 15

III Giao thức của PM trung gian

2-5

15 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 16

Tầng phần mềm trung gian

• Các ứng dụng đều có cùng các nhu cầu

– Bảo mật, xác thực, đồng bộ, định danh, sao lưu

• Phần mềm trung gian cung cấp các dịch vụ nói

Trang 17

Nội dung

1 Kiến trúc phân tầng

2 Lời gọi thủ tục từ xa

3 Trao đổi thông tin bằng thông báo

4 Trao đổi thông tin dòng

5 Trao đổi thông tin đa điểm

17 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 18

2 Lời gọi thủ tục từ xa

I Socket API

II Cơ chế lời gọi thủ tục từ xa

III Cơ chế truyền tham số

IV Lời gọi thủ tục từ xa không đồng bộ

V Ví dụ về lời gọi thủ tục từ xa

Trang 19

– Thiết lập kết nối sử dụng cổng server và client

– Trao đổi thông tin (gửi/nhận)

– Giải phóng kết nối

Các hệ phân tán @ Hà Quốc Trung

Trang 20

Socket API

• Vấn đề

– Xác định cổng của server Port Forwarding

– Xác định cổng của client

• Đồng bộ giữa client và server

• Liên hệ giữa phiên làm việc và kết nối

• Rất không thuận tiện cho trường hợp Response

Trang 21

Request-II Khái niệm lời gọi thủ tục từ xa

• Trừu tượng hóa trao đổi thông tin giữa client

và server

• Từ yêu cầu=> trả lời thành quan hệ

– Tham số thực hiện=> kết quả trả về

• Cú pháp lời gọi thủ tục

Các hệ phân tán @ Hà Quốc Trung

Trang 22

Lời gọi thủ tục

count=read(fd,buf,nbytes)

Trang 23

Cơ chế truyền tham số

• Tham biến

• Tham chiếu

• Copy/phục hồi

– CT gọi copy các dữ liệu vào Stack

– CT gọi phục hồi các dữ liệu từ Stack

• Chương trình chính và thủ tục chia sẻ một

luồng thực hiện

23 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 24

Cơ chế RPC

Trang 25

• Cần một lời gọi tương tự lời gọi của thủ tục cục

bộ, nhưng được thực hiện theo cách khác

Trang 26

Cơ chế RPC

• CT khách gọi client stub

• Client stub đóng gói các dữ liệu thành thông báo,

chuyển cho Client Local OS

• Client's OS Gửi thông báo đến cho Server OS

• Server OS chuyển thông báo cho server stub

• Giải mã nội dung thông báo, gọi chương trình con

• Trả lại kết quả cho Server Stub

• Đóng gói kết quả, chuyển cho, local OS

• Gửi thông báo đến cho client's OS

• Chuyển thông báo cho client stub

• Giải mã thông báo, chuyển cho client

Trang 27

Chức năng của client-stub

• Sẵn sàng nhận các lời gọi từ chương trình

• Trả lại cho chương trình client

• Thiết lập kết nối với server khi nào?

Các hệ phân tán @ Hà Quốc Trung

Trang 28

Chức năng của server stub

• Sẵn sàng nhận các lời gọi

• Gọi chương trình server

• Trả lời lại các lời gọi

Trang 29

III Cơ chế truyền tham số

• Tham biến

– Giữa client và server

– Vấn đề khi biểu diễn dữ liệu khác nhau

• Tham chiếu

– Bộ nhớ phân tán

– Copy dữ liệu???

• Tham chiếu thay bằng copy/restore

– Chuyển tham chiếu+code để truy cập vào tham

chiếu

29 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 30

Truyền tham số bằng tham biến

Trang 31

Truyền tham số bằng tham biến

Các hệ phân tán @ Hà Quốc Trung

• Chỉ hoạt động tốt khi hệ thống đầu cuối là

đồng nhất

• Xuất hiện vấn đề khi:

– Biểu diễn dữ liệu của 2 hệ thống khác nhau

– Các dữ liệu không thuộc cùng một kiểu, các kiểu

dữ liệu khác nhau được biểu diễn khác nhau

Trang 32

Sai lệch trong truyền bằng tham

biến

Trang 33

Truyền tham số bằng tham biến

Các hệ phân tán @ Hà Quốc Trung

• Tham chiếu chỉ có ý nghĩa cục bộ

• Có thể được thực hiện được bằng cách

– Cấm sử dụng các tham chiếu

– copy các giá trị

• Có thể cải thiện bằng cách chỉ copy một lần

(cho input hoặc output)

• Không thực hiện được tham chiếu tới các dữ liệu có cấu trúc

Trang 34

Đặc tả tham số

• Client và server phải thống nhất với nhau:

– số lượng, kiểu dữ liệu, kích thước và cách thức biểu diễn các kiểu dữ liệu

• Client và server phải được xây dựng dựa trên đặc tả

tham số

• Quá trình thống nhất này được thực hiện ở mức lập

trình

• Các nhà phát triển phải chia sẻ với nhau đặc tả các

tham số để phát triển thành phần server hoặc client

• Đặc tả này thường gọi là đặc tả giao diện, sử dụng IDL

Trang 35

Tính mở của RPC

• Client và Server được cài đặt bởi các NSX

khác nhau

• Giao diện thống nhất client và server

– Không phụ thuộc công cụ và ngôn ngữ lập trình

– Mô tả đầy đủ và trung lập

– Thường dùng ngôn ngữ định nghĩa giao diện

35 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 36

RPC không đồng bộ

• RPC: Client yêu cầu server thực hiện và trả lại kết quả

• Có nhiều trường hợp không cần trả lại kết quả

• Client sau khi gọi RPC tiếp tục thực hiện,

không quan tâm đến kết quả trả lại

Trang 37

IV Liên kết client server

37 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 38

Liên kết client –server

• Liên kết cục bộ

– Dịch vụ cục bộ trên máy tính server cho biết có

những thủ tục nào được cung cấp

• Liên kết toàn cục

– Dịch vụ thư mục cho biết địa chỉ máy tính và vị trí của dịch vụ

Trang 39

Vấn đề: tên/địa chỉ (binding)

• Client cần chỉ ra hàm nào gọi từ xa, trên máy nào

– Hàm nào: tên

– Máy nào: địa chỉ

• Các thông tin này được lưu trữ tại các bảng

– Có thể thêm, bớt các dòng trong bảng

– Tĩnh: dịch vụ tên/thư mục

– Động: kiểm soát bởi server và client

• Bảng có thể được xây dựng khi dịch, link hoặc

thực hiện phụ thuộc vào RPC

39 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 40

5.Ví dụ

• Sun RPC

• DCE RPC

• MS RPC

Trang 41

RPC

Các hệ phân tán @ Hà Quốc Trung

Trang 42

Xây dựng chương trình bằng

DCE-RPC

Trang 43

– Thiết kế cho hệ thống file NFS

– Chạy trên Sun Solaris, Unix, …

• Và các công cụ khác …

43 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 44

Java RMI

Trang 45

RMI: Lời gọi phương thức từ xa

• Lời gọi thủ tục-> RPC

• Lập trình hướng đối tượng :

– đối tượng từ xa, ứng dụng phân tán hướng đối

tượng

• Các vấn đề cần giải quyết

– Định vị đối tượng từ xa

– Trao đổi thông tin với đối tượng

– Gọi các phương thức của đối tượng

• RMI, T-RMI, DCOM, CORBA

45 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 46

Ưu điểm

• Đơn giản, dễ sử dụng

• Trong suốt: lời gọi phương thức từ xa giống lời gọi phương thức cục bộ

• Độ tin cậy cao

• An toàn và bảo mật (do JVM cung cấp)

• Nhược điểm:

– Chỉ dùng cho java

Trang 48

DCE RPC

• Môi trường tính toán phân tán

• Cung cấp các dịch vụ cho ứng dụng phân tán

Trang 49

Nội dung

1 Kiến trúc phân tầng

2 Lời gọi thủ tục từ xa

3 Trao đổi thông tin bằng thông báo

4 Trao đổi thông tin dòng

5 Trao đổi thông tin đa điểm

49 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 50

3 Trao đổi thông tin bằng thông

báo

I Trao đổi thông tin tức thời

II Trao đổi thông tin bền vững

III Ví dụ

Trang 51

Beckeley socket

Các hệ phân tán @ Hà Quốc Trung

Trang 52

Socket

Trang 53

MPI

• Mô hình ở bậc cao hơn socket

• Cho phép các ứng dụng trao đổi thông tin sử dụng thông báo có cấu trúc tùy ý

• Cho phép trao đổi thông báo theo nhóm

• Hỗ trợ các phương thức trao đổi thông tin khác nhau (dừng, không dừng, đồng bộ)

Các hệ phân tán @ Hà Quốc Trung

Trang 54

MPI

Trang 55

Trao đổi thông tin bền vững

• Không cần tiến trình gửi và tiến trình nhận

cùng kích hoạt

• Thông báo được lưu trữ tại các communication server

• Các trạm cần có bộ nhớ đệm đủ lớn để lưu trữ các thông báo: hàng đợi

• Quá trình gửi và nhận có thêm sự tham gia của kênh truyền tin

55 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 56

Mô hình trao đổi thông tin

Trang 57

Quan hệ giữa nguồn kênh và đích

Các hệ phân tán @ Hà Quốc Trung

Trang 58

Các thao tác cơ bản trên hàng đợi

Trang 59

Nguyên tắc hoạt động

Các hệ phân tán @ Hà Quốc Trung

Trang 60

Kiến trúc với các bộ chuyển tiếp

2-29

Trang 61

Bộ chuyển đổi thông báo

• The general organization of a message broker

in a message-queuing

• system 2-30

61 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 62

Ví dụ: IBM MQSeries

• General organization of IBM's MQSeries

message-queuing system

2-31

Trang 63

Các hàm trên thông báo

MQopen Open a (possibly remote) queue

MQclose Close a queue

MQput Put a message into an opened queue

MQget Get a message from a (local) queue

63 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 64

Chuyển tiếp thông báo

• The general organization of an MQSeries

queuing network using routing tables and

aliases

Trang 65

Channels

• Một vài thuộc tính của channel agent

Transport type Determines the transport protocol to be used

FIFO delivery Indicates that messages are to be delivered in the order they are sent Message length Maximum length of a single message

Setup retry

count Specifies maximum number of retries to start up the remote MCA Delivery retries Maximum times MCA will try to put received message into queue

65 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 66

Nội dung

1 Kiến trúc phân tầng

2 Lời gọi thủ tục từ xa

3 Trao đổi thông tin bằng thông báo

4 Trao đổi thông tin dòng

5 Trao đổi thông tin đa điểm

Trang 67

4 Trao đổi thông tin dòng

• Dữ liệu thời gian thực

2010

Trang 68

I Dòng dữ liệu liên tục

2-35.2

Trang 69

Dòng dữ liệu số

• Setting up a stream between two processes

across a network

69 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 71

Mô hình ứng dụng truyền dòng

Các hệ phân tán @ Hà Quốc Trung

Trang 72

II Chất lượng dịch vụ

• Các ràng buộc về thời gian cần được đảm bảo

• Các yêu cầu về thời gian được biểu diễn bằng chất lượng dịch vụ

– Tốc độ truyền

– Thời gian thiết lập quá trình truyền

– Thời gian trễ

– Biên độ dao động của trễ

– Thời gian trễ đi về

Trang 73

QoS (1)

• The principle of a token bucket algorithm

73 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 74

QoS (2)

• Đặc tả dòng

Characteristics of the Input Service Required

• maximum data unit size (bytes)

• Token bucket rate (bytes/sec)

• Toke bucket size (bytes)

• Maximum transmission rate

(bytes/sec)

• Loss sensitivity (bytes)

• Loss interval (  sec)

• Burst loss sensitivity (data units)

• Minimum delay noticed (  sec)

• Maximum delay variation (  sec)

• Quality of guarantee

Trang 76

Sử dụng bộ đệm

• Giảm ảnh hưởng của dao động độ trễ

Trang 77

Phân tán lỗi

Các hệ phân tán @ Hà Quốc Trung

Trang 78

Thiết lập dòng

• The basic organization of RSVP for resource reservation in a distributed

• system

Trang 79

III.Đồng bộ các dòng

• Đồng bộ dòng dữ liệu rời rạc/liên tục

– Tạo gói dữ liệu chung cho các dòng

– Trình diễn lại từng gói dữ liệu

Trang 80

Đồng bộ-theo mốc thời gian

Trang 81

Middleware đa phương tiện

• The principle of synchronization as supported

by high-level interfaces

2-41

81 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 82

Quảng bá cơ chế đồng bộ

• Cung cấp đặc tả dòng và đồng bộ dòng theo

dòng dữ liệu (MPEG)

• Ví trí thực hiện đồng bộ

– Trạm gửi (dồn tất cả các kênh vào một kênh)

– Trạm nhận (các kênh chuyển theo các đường khác nhau)

Trang 83

Nội dung

1 Kiến trúc phân tầng

2 Lời gọi thủ tục từ xa

3 Trao đổi thông tin bằng thông báo

4 Trao đổi thông tin dòng

5 Trao đổi thông tin đa điểm

83 Các hệ phân tán @ Hà Quốc Trung

2010

Trang 84

5 Trao đổi thông tin nhóm

• Thường được thực hiện ở tầng mạng và tầng giao vận

– Thiết lập kênh truyền giữa các trạm gửi nhận

• Ở tầng ứng dụng chưa có sự thống nhất về

chuẩn

– Không cần thiết có kênh truyền trực tiếp

• Chưa có động lực thực hiện triển khai

Trang 85

I Trao đổi thông tin nhóm mức ứng

dụng

• Các nút được tổ chức thành mạng bao phủ

• Trên nền của mạng bao phủ, hình thành các

nhóm

• Thành phần của các nhóm không phụ thuộc

vào vị trí và bảng chọn đường của các bộ định tuyến

• Việc định tuyến và chuyển các thông báo có

thể không tối ưu

Các hệ phân tán @ Hà Quốc Trung

Trang 87

II Mô hình “rỉ tai”

• Quảng bá các thông tin chỉ dựa vào các thông tin cục bộ

• Các nút mới bị “lây” thông tin khi có trao đổi thông tin với nút đã có thông tin

• Các quan hệ “lây”

– Cập nhật thông tin một chiều (push)

– Truy vấn thông tin (pull)

– Trao đổi thông tin 2 chiều (push-pull)

• Nhược điểm: tính chính xác của thông tin

Các hệ phân tán @ Hà Quốc Trung

Trang 88

Tính bất định

• Khi nào một nút ngừng “lây lan” các nút khác

– Khi đã trao đổi với tất cả các nút kề

– Khi thất bại trong quá trình trao đổi với các nút kề – Khi trao đổi với nút kề và thấy thông tin cũ hơn

Trang 89

Nội dung

1 Kiến trúc phân tầng

2 Lời gọi thủ tục từ xa

3 Trao đổi thông tin bằng thông báo

4 Trao đổi thông tin dòng

5 Trao đổi thông tin đa điểm

89 Các hệ phân tán @ Hà Quốc Trung

2010

Ngày đăng: 16/10/2014, 15:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w