Ngày nay, hệ phân tán phát triển rất nhanh và được ứng dụng rộng khắp, đó có thể là các dịch vụ thông tin phân tán như các dịch vụ trên Internet hoặc cũng có thể là các cơ sở dữ liệu phân hay các hệ thống tính toán phân tán...
Trang 1VIỆN CÔNG NGHỆ THÔNG TIN
────────*────────
TIỂU LUẬN MÔN HỌC
NGUYÊN LÝ VÀ MÔ THỨC PHÁT TRIỂN HỆ PHÂN TÁN
ĐỀ TÀI: CHIA SẺ TÀI NGUYÊN TRONG HỆ PHÂN TÁN
Trang 2MỤC LỤC
MỤC LỤC 2
LỜI MỞ ĐẦU 5
1 TỔNG QUAN VỀ HỆ PHÂN TÁN 6
1.1 Hệ phân tán 6
1.2 Đặc trưng của hệ phân tán 6
1.3 Các kiểu hệ phân tán 7
1.4 Kiến trúc hệ phân tán 8
2 CHIA SẺ TÀI NGUYÊN TRONG HỆ PHÂN TÁN VÀ CÁC VẤN ĐỀ 9
2.1 Định danh 10
2.2 Xử lý tiến trình 11
2.2.1 Khái niệm tiến trình và luồng 11
2.2.2 Ảo hóa 11
2.2.3 Di trú mã 12
2.3 Truyền thông 12
2.3.1 Các giao thức phân tầng 13
2.3.2 Các kiểu truyền thông 16
2.3.3 Gọi thủ tục từ xa 16
2.3.4 Truyền thông hướng thông điệp 18
2.3.5 Truyền thông hướng dòng 18
2.3.6 Truyền thông đa điểm 19
2.4 Đồng bộ hóa 19
2.5 Nhất quán dữ liệu 19
2.5.1 Mô hình nhất quán lấy dữ liệu làm trung tâm 20
Trang 32.5.2 Mô hình nhất quán lấy người dùng làm trung tâm 21
2.5.3 Quán lý các bản sao 21
2.5.4 Các giao thức nhất quán 21
2.6 Tính chịu lỗi 22
2.6.1 Khái niệm 22
2.6.2 Sự dư thừa 23
2.6.3 Khôi phục tiến trình 23
2.6.4 Truyền thông theo mô hình client/server tin cậy 24
2.6.5 Truyền thông theo mô hình nhóm tin cậy 24
2.6.6 Phục hồi lỗi 24
2.7 Bảo mật 25
2.7.1 Các mối đe dọa 25
2.7.2 Chính sách an toàn, an ninh 26
2.7.3 Cơ chế an toàn, an ninh 26
2.7.4 Mật mã 27
2.7.5 Xác thực 27
2.7.6 Kiểm soát truy cập 29
2.7.7 Quản trị an toàn, an ninh 30
3 GIẢI PHÁP CHIA SẺ TÀI NGUYÊN VẬT LÝ 31
3.1 Chia sẻ bộ xử lý 31
3.1.1 Cân bằng tải tĩnh 32
3.1.2 Cân bằng tải động 32
3.2 Chia sẻ bộ nhớ dùng chung 33
3.2.1 Thông điệp và bộ nhớ dùng chung phân tán: 34
3.2.2 Hướng tiếp cận của bộ nhớ dùng chung phân tán: 34
3.3 Chia sẻ thiết bị lưu trữ 35
3.3.1 Mạng lưu trữ 35
Trang 43.3.2 Chia sử thiết bị lưu trữ 36
4 KẾT LUẬN 36
5 TÀI LIỆU THAM KHẢO 36
Trang 5LỜI MỞ ĐẦU
Cùng với sự phát triển mạnh mẽ của công nghệ phần cứng, phần mềm, cácmáy tính, mạng máy tính ngày một mạnh mẽ, phức tạp và đa dạng hơn, phongphú cả về số lượng lẫn kiến trúc Việc tính toán và quản lý dữ liệu không cònnhư trước đây, chỉ nằm trên một máy tính hoặc một nhóm máy tính mà ngàycàng mở rộng nằm trên nhiều máy, mạng, thậm chí các vùng lãnh thổ khác nhau,tạo nên các hệ phân tán
Ngày nay, hệ phân tán phát triển rất nhanh và được ứng dụng rộng khắp, đó
có thể là các dịch vụ thông tin phân tán như các dịch vụ trên Internet hoặc cũng
có thể là các cơ sở dữ liệu phân hay các hệ thống tính toán phân tán
Tuy nhiên, khi hệ phân tán ngày càng phát triển thì đồng nghĩa với việcnhững tài nguyên được chia sẻ và sử dụng cũng ngày càng lớn, do đó vấn đề đặt
ra là phải quản lý việc chia sẻ tài nguyên trên hệ phân tán sao cho hiệu quả nhất.Tiểu luận này trình bày tổng quan về hệ phân tán, nguyên nhân phải giải quyếtbài toán chia sẻ tài nguyên và các nguyên lý để giải quyết vấn đề chia sẻ tàinguyên trên hệ phân tán
Trang 61 TỔNG QUAN VỀ HỆ PHÂN TÁN
Trước khi đi vào giải quyết vấn đề “Chia sẻ tài nguyên trên hệ phân tán”,trong phần tổng quan của tiểu luận sẽ trình bày lại các khái niệm, đặc trưng, cáckiểu cũng như kiến trúc của hệ phân tán, để từ đó có được cái nhìn khái quát,tổng thể về hệ phận tán
Như vậy, một hệ phân tán gồm hai thành phần: đầu tiên là mạng máy tínhkết nối các máy tính tự trị, thứ hai là phần mềm hệ phân tán
1.2 Đặc trưng của hệ phân tán
Chia sẻ tài nguyên: là đặc trưng cơ bản của hệ phân tán, là nền tảng
của các đặc trưng khác và ảnh hưởng đến những kiến trúc phần mềm
có sẵn trong những hệ phân tán, nhằm mục đích làm cho các tàinguyên có thể truy cập được, kết nối người dùng với tài nguyên, chophép họ có thể truy cập tài nguyên từ xa, hoặc chia sẻ tài nguyên mộtcách hiệu quả và có kiểm soát
Tính trong suốt: là giấu các tiến trình và tài nguyên phân tán vật lý
trên nhiều máy tính Như vậy, một hệ phân tán được gọi là trong suốtnếu nó có khả năng che giấu các khuyết điểm (nếu có) của hệ thốngđối với người sử dụng để người sử dụng khi giao tiếp với hệ phân tán
có cảm giác như đang làm việc với một hệ thống nhất, toàn vẹn và mọiyêu cầu của người dùng đều được đáp ứng
- Trong suốt truy cập: che giấu sự khác nhau về biểu diễn của dữ liệu
và các thao tác truy cập đến tài nguyên
Trang 7- Trong suốt vị trí: che giấu vị trí các tài nguyên, người sử dụng
không biết được nguồn mà mình đang sử dụng ở vị trí vật lý nàotrong hệ thống mà chỉ biết thông qua tên logic
- Trong suốt di trú: che giấu sự di trú của các tài nguyên.
- Trong suốt lỗi: che giấu lỗi xảy ra với hệ thống, việc phục hồi các
tài nguyên bị lỗi
Tính mở: Hệ thống phải đảm bảo có tính mở, cho phép ta bổ sung
thêm các phần cứng hay dịch vụ mà không gây xung đột
Tính co giãn: Đảm bảo cho hệ thống có khả năng thay đổi quy mô.
Đây là một trong những mục tiêu quan trọng nhất đối với những ngườiphát triển các hệ thống phân tán
- Hệ thống có khả năng co giãn về kích thước của nó, tức là có thể dễ
dàng thêm người dùng và các tài nguyên vào hệ thống
- Hệ thống có thể co giãn về mặt hình học nghĩa là trong hệ thống đó
những người dùng và tài nguyên có thể nằm cách xa nhau
Các hệ thống tính toán phân tán: Đây là các hệ phân tán sử dụng
trong các nhiệm vụ tính toán hiệu năng cao, các hệ thống này đượcchia thành hai nhóm con: hệ thống tính toán và hệ thống tính toánlưới
- Hệ thống tính toán cụm: ghép cụm nhiều máy tính giống nhau dựa
trên một mạng tốc độ cao để có thể xử lý song song Nó được sửdụng phổ biến khi tỉ lệ giá cả/hiệu năng của các máy tính cá nhân
và các trạm làm việc được cải thiện Đặc trưng của hệ thống tínhtoán cụm là các máy tính được ghép cụm phải thuần nhất vềplatform Một đặc trưng của hệ thống tính toán cụm là nó phảithuần nhất, trong hầu hết các tình huống, các máy tính trong mộtcụm phải lớn như nhau, có cùng hệ điều hành và được kết nối thôngqua cùng một mạng Các hệ thống tính toán cụm có tính hỗn tạp
Trang 8cao: không cần yêu cầu gì về phần cứng, hệ điều hành, mạng, chínhsách bảo mật.
- Hệ thống tính toán lưới: các hệ thống tính toán lưới là các tài
nguyên từ các tổ chức khác nhau được nhóm lại cùng nhau để chophép sự cộng tác của một nhóm người hoặc nhóm các cơ quan Một
sự cộng tác đáng tin cậy dưới dạng một tổ chức ảo Những ngườithuộc về cùng một tổ chức ảo có thể truy cập hợp pháp các tàinguyên được cung cấp cho tổ chức đó Các tài nguyên bao gồm cácmáy chủ (các siêu máy tính có thể cài đặt như các máy tính cụm),khả năng lưu trữ, và cơ sở dữ liệu Như vậy các hệ thống tính toánlưới cho phép khai thác tài nguyên nhàn rỗi của nhiều đối tượng, tổchức, đơn vị khác nhau Kết nối và xây dựng tổ chức ảo để điềuphối toàn bộ và khai thác sử dụng các tài nguyên nhàn rỗi
Các hệ thống thông tin phân tán
1.4 Kiến trúc hệ phân tán
Phản ánh các nguyên lý cơ bản tổ chức và tương tác giữa các thành phầncủa phần mềm
- Kiến trúc phân tầng: là kiểu kiến trúc này khá đơn giản: các thành
phần được tổ chức trong một tầng tại đó một thành phần ở tầng Li được phép gọi các thành phần ở tầng thấp hơn Li-1, nhưng không
cho phép gọi ngược lại từ tầng dưới lên tầng trên Mô hình này chấpnhận rộng rãi bởi các hoạt động truyền thông trên mạng
- Kiến trúc hướng đối tượng: Mỗi đối tượng tương ứng với một
thành phần, và các thành phần này được kết nói với nhau thông quamột thủ tục gọi cơ chế Cả kiến trúc phân tầng và kiến trúc hướngđối tượng đều còn rất phổ biến trong các hệ thống phần mềm lớn
- Kiến trúc dựa trên dữ liệu: phát triển xung quanh ý tưởng là các
tiến trình giao tiếp thông qua một kho Ví dụ, các ứng dụng webđược phát triển dựa trên một hệ thống file phân tán chia sẻ trong đótất cả các truyền thông ảo đều diễn ra trên các file
- Kiến trúc dựa trên sự kiện: Xử lý các giao tiếp chủ yếu thông qua
sự lan truyền các sự kiện, nó cũng có thể mang theo dữ liệu Ýtưởng là các tiến trình sinh ra các sự kiện sau khi middleware đảm
Trang 9bảo là chỉ các tiến trình sinh ra các sự kiện đó mới nhận chúng Ưuđiểm của các hệ thống này là các tiến trình kết hợp lỏng lẻo Về cơbản tắc, chúng không cần phải dựa vào các tiến trình khác.
2 CHIA SẺ TÀI NGUYÊN TRONG HỆ PHÂN TÁN VÀ CÁC VẤN ĐỀ
Mục tiêu chia sẻ tài nguyên của một hệ phân tán đó là làm cho người sửdụng có thể truy cập các tài nguyên từ xa, chia sẻ chúng một cách hiệu quả, cókiểm soát cũng như quản lý được các truy cập đó Các tài nguyên có thể là bất
kỳ thứ gì như các máy in, máy tính, các phương tiện lưu trữ, dữ liệu, file, trangWeb, mạng …
Có rất nhiều lý do dẫn đến sự cần thiết phải chia sẻ tài nguyên, một tỏngcác lý do rất trực quan đó là yếu tố kinh tế Ví dụ, chi phí sẽ giảm đi rất nhiềukhi có thể chia sẻ một máy in cho nhiều người dùng trong một văn phòng nhỏthay vì mỗi người được trang bị một chiếc hoặc ở mức cao hơn sẽ rất kinh tế nếuchia sẻ các tài nguyên giá trị lớn như các siêu máy tính, các hệ thống lưu trữ hiệunăng cao, các thiết bị tạo ảnh và các thiết bị ngoại vi đắt tiền khác
Việc kết nối nhiều người dùng với các tài nguyên cũng khiến việc cộng tác
và trao đổi thông tin dễ dàng hơn, điều này được chứng minh rõ ràng trong sựthành công của Internet với các giao thức đơn giản cho việc trao đổi các file dữliệu, thư, tài liệu, các file âm thanh, hình ảnh Ngày nay sự kết nối của Internet
đã dẫn tới hàng loạt các tổ chức ảo trong đó các nhóm người ở cách xa nhau vềđịa lý làm việc cùng nhau tạo thành các groupware - các phần mềm nhóm, đó làcác phần mềm được cộng tác chỉnh sửa, thảo luận từ xa… Tương tự, việc kếtnối Internet cũng cho phép các hoạt động thương mại điện tử diễn ra, chúng ta
có thể mua và bán tất cả các loại mặt hàng mà không cần tới cửa hàng, thậm chíkhông cần rời khỏi nhà
Tuy nhiên, khi các kết nối và chia sẻ tăng lên, việc bảo mật cũng trở nênquan trọng Thực tế hiện nay, các hệ thống chuẩn bị rất ít các phương pháp bảo
vệ chống lại các hành vi nghe lén, xâm phạm hoặc bị tấn công Mật khẩu và cácthông tin nhạy cảm khác thường được gửi dưới dạng văn bản thông thường (chủ
Trang 10quan không được mã hóa) trên mạng, hoặc được lưu tại các máy chủ mà chúng
Trong hệ phân tán tập các tài nguyên dùng chung là hữu hạn và bị hạn chế,
nó được chia sẻ bởi một tập người dùng hữu hạn thông qua các chương trình ứngdụng do đó rất dễ xảy ra tình trạng deadlock, nghĩa là một tài nguyên được yêucầu khi đang được sử dụng Việc xử lý trình tự và cách thức sử dụng tài nguyên
là một vấn đề quan trọng trong chia sẻ tài nguyên, do đó giải pháp là phải quản
lý được các tiến trình truy cập Bên cạnh đó hệ phân tán có rất nhiều thực thể,nên để cho phép một tiến trình truy cập một thực thể nào đó thì hệ thống cầnphải có cơ chế xác định tên của thực thể, giải pháp là naming hiện đang đượcdùng để định danh các tài nguyên trong hệ thống
Như vậy bài toán chia sẻ tài nguyên là một bài toán quan trọng trong hệphân tán Với những yêu cầu tổng quan được nêu ra thì các vấn đề của bài toánchia sẻ tài nguyên sẽ bao gồm: các vấn đề về xử lý tiến trình; truyền thông; địnhdanh; đồng bộ hóa; sự nhất quán về dữ liệu và tính bảo mật
2.1 Định danh
Các tên đóng vai trò quan trọng trong tất cả các hệ thống máy tính,chúng được dùng để chia sẻ các tài nguyên, để định danh duy nhất cácthực thể, để tham chiếu đến các nơi…Việc đặt tên tạo cơ sở cho phép cáctiến trình có thể truy cập đến thực thể thông qua tên của chúng Trong một
hệ thống phân tán, việc đinh danh thường được thực thi phân tán trênnhiều máy Có ba vấn đề chính trong việc định danh trong hệ phân tán:
đặt tên theo cách gần gũi với con người, các tên được sử dụng để định vị các thực thể di động, giải quyết cách tổ chức tên.
Các kiểu định danh cơ bản:
Trang 11- Định danh phẳng: là cách định danh bằng tên ngẫu nhiên, do đó
tên dạng này sẽ không chứa bất kỳ thông tin nào về vị trí điểm truycập của thực thể kết hợp với nó
- Định danh có cấu trúc: các tên có cấu trúc và được tổ chức thành
không gian tên (name space), phân giải ten để xác định ánh xạ từđịnh danh logic sang định danh vật lý
- Các dịch vụ thư mục: Các hệ thống định danh dựa trên thuộc tính
còn được gọi là các dịch vụ thư mục, mỗi thực thể có một tập cácthuộc tính có thể được sử dụng để tìm kiếm, các thuộc tính được tổchức dưới dạng thư mục Việc lựa chọn thuộc tính khá là đơn giản,
ví dụ trong một hệ thống thư điện tử, các thông điệp được gán chocác thuộc tính như người gửi, người nhận, chủ đề
2.2 Xử lý tiến trình
2.2.1 Khái niệm tiến trình và luồng
Tiến trình: đó là một chương trình đang thực thi, quan tâm đến tínhtrong suốt của hệ thống
Luồng: là một chương trình hay một phần chương trình đang thựcthi Luồng không quan tâm đến tính trong suốt của hệ thống màquan tâm đến hiệu năng, tăng cường khả năng xử lý đồng thời của
2.2.2 Ảo hóa
Bản chất của ảo hóa là mở rộng hoặc thay thế một giao diện hiện có
để đi trước hành vi của một hệ thống khác, ảo hóa tạo khả năng chuyểnmang và tăng cường tính mềm dẻo của hệ thống Ảo hóa hiện nayđược quan tâm vì hai lý do chính:
Trang 12 Ảo hóa giúp tăng cường khả năng chuyển mang, cho phép chuyểnmang giao diện tới các platform mới.
Do sự phát triển nhanh chóng của mạng máy tính, hầu hết các máytính đều có khả năng kết nối, do đó tính không thuần nhất của hệthống nâng lên
Bản chất của ảo hóa là bắt chước các giao diện Có hai kiến trúc đểthực thi máy ảo: (1) Máy ảo tiến trình - Process Virtual Machine(PVM), (2) bộ điều khiển máy ảo –Virtual Machine Monitor (VMM)
2.2.3 Di trú mã
Di trú mã thực chất là di trú tiến tình từ vị trí này đến vị trí khác để thực thi, nhằm mục đích tăng hiệu năng và tăng tính mềm dẻo
Có 2 mô hình di trú cơ bản:
- Di trú yếu hay còn gọi là di động yếu: là mô hình di trú mã mà khi
di trú chỉ có đoạn mã và một số tham số khởi động được truyền đi Mộtđặc điểm của mô hình mã di trú yếu là một chương trình được chuyểnluôn bắt đầu ở trạng thái khởi tạo của nó Lợi thế của di trú yếu đó làtính đơn giản, nó chỉ cần máy đích có thể thực thi mã là được
- Mô hình di động mạnh chuyển luôn cả 3 thành phần : codesegment (chứa tập lệnh của tiến trình), resource segment (chứa cáctham chiếu đến tài nguyên mà tiến trình sử dụng trong quá trình di trú),exexute segment (chứa cá thông tin về trạng thái thực thi hiện hành củatiến trình) Đặc điểm này của mô hình này là tiến trình đang chạy cóthể được dừng, sau đó di chuyển đến máy khác và rồi được thiết lập lạitrạng thái đã bị dừng trước đó Rõ ràng mô hình mã di trú di độngmạnh tốt hơn nhiều so với mô hình mã di trú yếu, tuy nhiên sẽ phứctạp và khó thực hiện hơn
2.3 Truyền thông
Truyền thông giữa các tiến trình là trọng tâm của tất cả các hệ phântán Truyền thông bên trong các hệ phân tán luôn luôn dựa trên các thôngđiệp ở mức thấp mà tầng mạng gởi đi hoặc yêu cầu, các hệ phân tán hiện
Trang 13đại thường gồm có hàng ngàn thậm chí hàng triệu tiến trình được phân bốrải rác ở các mạng không tin cậy như mạng Internet.
2.3.1 Các giao thức phân tầng
a Mô hình tham chiếu ISO/OSI: đây là mô hình cơ bản nhất, gồm 7
tầng và mỗi tầng có giao thức riêng Trong đó 4 tầng trên hướng người
sử dụng và 3 tầng dưới để cung cấp các phương tiện truyền thông
Các tầng, giao diện và giao thức trong mô hình ISO
- Tầng vật lý (Physical layer):
Tầng vật lý chỉ chú ý đến việc truyền các bit 0 và bit 1 Tầng vật lýchuẩn hóa điện, yếu tố cơ học và các tín hiệu để khi bên gởi truyền bit 0thì bên nhận cũng nhận được bit 0 mà không phải là bit 1
- Tầng liên kết dữ liệu (Data link)
Tầng vật lý chỉ có nhiệm vụ gởi các bit sao cho không để xảy ra lỗi.Tuy nhiên truyền thông qua mạng thì việc xảy ra lỗi là không thể tránhkhỏi vì vậy cần có các cơ chế để tìm kiếm và sửa lỗi Đây chính là nhiệm
vụ của tầng liên kết dữ liệu Tầng liên kết dữ liệu nhóm các bit vào mộtkhung bằng cách nào và làm sao để nó biết rằng các khung đó đã đượctruyền đi chính xác
Trang 14- Tầng mạng (Network layer)
Tầng mạng có nhiệm vụ xác định việc chuyển hướng, vạch đườngcác gói tin trong mạng (chức năng định tuyến), các gói tin này có thể phảiqua nhiều chặng trước khi đến được đích cuối cùng Tầng này có liênquan đến các địa chỉ logic trong mạng Các giao thức sử dụng ở đây là IP,RIP, OSPF, AppleTalk
- Tầng vận chuyển (Transport layer)
Tầng vận chuyển xác định địa chỉ trên mạng, cách thức chuyển giaogói tin trên cơ sở trực tiếp giữa hai đầu mút, đảm bảo truyền dữ liệu tincậy giữa hai đầu cuối (end –to- end ) Các giao thức phổ biến tại đây làTCP, UDP, SPX
- Tầng phiên (Session layer)
Thực hiện thiết lập, duy trì và kết thúc các phiên làm việc giữa hai
hệ thống Tầng này quy định một giao diện ứng dụng cho tầng vận chuyển
sử dụng Nó xác lập ánh xạ giữa các tên đặt địa chỉ, tạo ra các tiếp xúc banđầu giữa cá máy tính khác nhau trên cơ sở các giao dịch truyền thông Nóđặt trên nhất quán cho mọi thành phần muốn đối thoại riêng với nhau Cácgiao thức trong lớp này sử dụng là NFS, X- Window System, ASP
- Tầng trình diễn (Presentation layer)
Chuyển đổi các thông tin từ cú pháp người sử dụng sang cú pháp đểtruyền dữ liệu, ngoài ra còn có thể nén dữ liệu truyền và mã hóa chúngtrước khi truyền để bảo mật Tầng này sẽ định dạng dữ liệu từ tầng ứngdụng đưa xuống rồi gửi đi đảm bảo sao cho bên thu có thể đọc được dữliệu bên phát Các chuẩn định dạng dữ liệu của tầng này là GIF, JPEG,PICT, MP3, MPEG…
Trang 15các chương trình xử lý kí tự,bảng biểu, thư tín… và tầng này đưa ra cácgiao thức HTTP, FTP, SM, POOP3, Telnet.
b Kiến trúc Middleware
Trong kiến trúc này, hai tầng presentation và session trong mô hình
7 tầng được thay thế bằng tầng middeware
Có 4 mô hình dịch vụ middleware mà ta sẽ xét lần lượt sau đây:
- Gọi thủ tục từ xa (Remote Procedure Call - RPC).
- Triệu gọi đối tượng từ xa (Remote Object Invocation - ROI).
- Truyền thông điệp (Message - Oriented Communication - MOC).
- Truyền thông theo thời gian (Streams – Oriented Communication).
2.3.2 Các kiểu truyền thông
- Truyền thông đồng bộ (synchronous Communication) / dị bộ
(asynchronous Communication) Cả bên gửi (sender) và bên nhận(receiver) đều đồng bộ về mặt thời gian, sender dừng sau khi đã gửithông điệp trong truyền thông đồng bộ và trong truyền thông khôngđồng bộ, sau khi gửi thông điệp thì sender vẫn tiếp tục công việc
- Truyền thông nhất thời (Transient Communication) / truyền thông
kiên trì (Persistent Communication) Trong truyền thông nhất thời,thông điệp gửi đi chỉ được lưu trữ trong thời gian truyền nhận (nó
Trang 16tương ứng với dị bộ) , còn trong truyền thông kiên trì thì thông điệpgửi đi được lưu trữ cho đến khi thông điệp nhận được ở bênreceiver (nó tương ứng với đồng bộ).
Nguyên lý: client gọi thủ tục từ xa, nó gửi yêu cầu đến server vàchờ đợi kết quả, trong thời gian này thì server sẽ gọi thủ tục cục bộ của nó
và trả về kết quả, sau đó reply lại cho client
Nguyên lý của RPC giữa một chương trình client và server
Nhược điểm là sau khi gửi request thì client phải dừng hoạt động vàchờ đợi kết quả Cải tiến bằng cách sử dụng Asynchronous RPC- RPC dịbộ
Trang 17(a) Tương tác giữa client và server trong RPC truyền thống (b) Tương tác sử
dụng RPC dị bộNguyên lý RPC dị bộ: client gửi tới server lời gọi thủ tục và chờbản tin chấp nhận từ server Phía server sẽ gửi bản tin chấp nhận về choclient thông báo đã nhận được yêu cầu và bắt đầu thực hiện yêu cầu RPC
đó Lúc này client sẽ tếp tục thực hiện công việc của mình mà không chờkết quả từ server như ở RPC truyền thống RPC xảy ra với các bước tómtắt như sau:
- Thủ tục client gọi client stub một cách bình thường.
- Client stub xây dựng một thông điệp và gọi hệ điều hành cục bộ.
- Hệ điều hành của client gửi thông điệp đến hệ điều hành từ xa.
- Hệ điều hành từ xa gửi thông điệp cho server stub.
- Server stub mở gói các tham số ra và gọi server.
- Server thực thi và trả kết quả đến stub.
- Server stub đóng gói nó vào thông điệp và gọi hệ điều hành cục bộ.
- Hệ điều hành của server gửi thông điệp cho hệ điều hành của client.
- Hệ điều hành của client trao thông điệp đến client stub.
- Stub mở gói kết quả và trả về cho client
2.3.4 Truyền thông hướng thông điệp
Truyền thông hướng thông điệp được cung cấp bởi tầng vậnchuyển Cơ chế truyền thông điệp có hai loại:
Trang 18Truyền thông ổn định (Persistent communication): Thư điện tử là
một ví dụ minh họa rõ nét cho khái niệm truyền thông kiên trì.Khi mộttrạm muốn gửi bản tin đi trên mạng, nó sẽ gửi bản tin đó đến interface củamáy mình Qua bộ nhớ đệm, bản tin đó được truyền đi trong mạng cục bộ
để đến mail server cụ bộ Mail server này tạm thời lưu trữ bản tin đó vào
bộ nhớ đệm của mình, xác định địa chỉ trạm đích, rồi gửi tới server cục bộcủa trạm đích tương ứng (có thể đi qua nhiều mail server trung gian khác).Tới mail server cuối cùng, bản tin lúc này sẽ được lưu lại trước khi phátcho trạm đích tương ứng
Truyền thông nhất thời (Transient communication): bản tin gửi đi
chỉ được lưu lại trong phiên trao đổi đó Khi phiên trao đổi đã hoàn thànhhoặc khi kết nối bị hủy bỏ thì các bản tin đó cũng bị hủy bỏ trên cácserver Do đó, vì một lý do nào đó mà một server trung gian không thểchuyển tiếp bản tin đi được thì bản tin này sẽ bị hủy bỏ
2.3.5 Truyền thông hướng dòng
Medium (số nhiều là media): chỉ các phương tiện dùng để truyền
thông tin như các thiết bị lưu trữ, đường truyền, các phương tiện hiển thị
Continuous media: quan hệ thời gian giữa các mục là yếu tố cơ bản
để thông dịch đúng ngữ nghĩa thực sự của dữ liệu
Discrete media: quan hệ thời gian không còn là yếu tố cơ bản để
thông dịch đúng dữ liệu
Data stream: là một chuỗi các đơn vị dữ liệu Với data stream thì
thời gian là yếu tố quyết định Để kiểm soát thời gian người ta đưa ra baphương thức truyền sau:
Truyền dị bộ (asynchronous transmission mode): các mục dữ liệu
truyền tuần tự và không có ràng buộc thời gian đối với việc truyền
Truyến đồng bộ (synchronous transmission mode): quy định trước
độ trễ tối đa cho mỗi đơn vị dữ liệu trong data stream
Đồng bộ các dòng thì có hai loại đồng bộ sau:
Trang 19- Đồng bộ đơn giản: thực hiện đồng bộ giữa dòng trễ và dòng liên
tục Ví dụ trong việc trình diễn Slide có kèm âm thanh Dòng hìnhảnh Slide là dòng trễ còn dòng âm thanh là dòng liên tục, phải đồng
bộ hai dòng này để thu được kết quả trình diễn như ý muốn
- Đồng bộ phức tạp: là việc đồng bộ giữa các dòng dữ liệu liên tục.
Ví dụ trong việc xem phim trực tuyến, thì dòng âm thanh và dònghình ảnh đều là các dòng liên tục và cần phải được đồng bộ
2.3.6 Truyền thông đa điểm
Đây là một chủ đề quan trọng trong truyền thông trên các hệ phântán, nó là khả năng gửi dữ liệu tới nhiều người nhận Với sự ra đời củacông nghệ điểm- điểm (peer- to- peer), nên việc cài đặt các đường truyềnthông trở nên dễ dàng hơn Giải pháp peer-to-peer này được triển khaitrên tầng ứng dụng Hiện nay có rất nhiều kỹ thuật truyền thông đa điểm ởcác mức ứng dụng khác nhau Truyền thông đa điểm cũng có thể đạt đượctheo nhiều cách ngoài cách thiết lập rõ ràng các đường truyền thông Với
sự phát triển ngày càng mạnh của internet, thì truyền thông đa điểm đãgóp phần rất lớn vào việc truyền, quảng bá thông tin nhanh chóng và hiệuquả tới người sử dụng trên toàn thế giới
2.4 Đồng bộ hóa
Đồng bộ hóa là một trong các giải pháp hỗ trợ để giải quyết bàitoán chia sẻ tài nguyên trong hệ phân tán Đồng bộ hóa trong môi trườngphân tán phức tạp hơn nhiều so với môi trường tập trung Đồng bộ hoá làvấn đề xử lý cùng một công việc tại cùng một thời điểm Trong hệ phântán nói chung và mạng máy tính nói riêng không có đồng bộ hóa chungcho toàn cầu Hay nói cách khác, các tiến trình trên các máy khác nhau cócác thời gian riêng khác nhau