Phần 1.TỔNG QUAN VỀ HỆ PHÂN TÁN. 1.1.Định nghĩa. Có nhiều định nghĩa về hệ phân tán Định nghĩa 1: Hệ phân tán là tập hợp các máy tính tự trị được kết nối với nhau bởi một mạng máy tính và được cài đặt phần mềm hệ phân tán. Định nghĩa 2: Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các trạm (máy tính) được kết nối với nhau bởi một mạng máy tính. Định nghĩa 3: Hệ phân tán là một tập các máy tính độc lập giao tiếp VỚI người dùng như một hệ thống thống nhẩt, toàn vẹn. Như vậy, có thể nói : Hệ phân tán = mạng máy tính + phần mềm hệ phân tán. Phân loại hệ phân tán: Trước đây, hệ phân tán được chia thành ba loại : hệ điều hành hệ phân tán, cơ sở dữ liệu hệ phân tán và các hệ thống tính toán hệ phân tán. Ngày nay, hệ phân tán được phân chia như sau: •Hệ phân tán mang tính hệ thống: hệ điều hành phân tán. •Hệ phân tán mang tính ứng dụng: các hệ thống truyền tin phân tán. Mục tiêu của hệ phân tán. •Kết nối người sử dụng và tài nguyên : Giải quyết bài toán chia sẻ tài nguyên trong hệ thống (resource sharing). •Tính trong suốt : Ẩn giấu sự rời rạc và những nhược điểm nếu có của hệ phân tán đối với người sử dụng (end-user ) và những nhà lập trình ứng dụng (application programmer). Theo tiêu chuẩn ISO cho hệ phân tán ISO / IS / 10746 tên là "Open distributed processing reference model" 1995 đã cụ thể hóa tám dạng trong suốt: Trong suốt truy cập (Access transparency): che giấu sự khác biệt về cách biểu diễn và cách truy cập tài nguyên. Trong suốt về vị trí (Location transparency): che giấu vị trí của tài nguyên. Hai dạng trong suốt vừa trình bày được gọi chung là trong suốt mạng (network transparency). Trong suốt di trú (Migration transparency): che giấu khả năng chuyển vị trí cùa tài nguyên. Trong suốt về việc định vị lại (Relocation transparency): che giấu việc di chuyển của tài nguyên khi đang được sử dụng. Trong suốt nhân bản (Replication transparency): che giấu tình trạng tình trạng sử dụng bản sao cùa tài nguyên. Che giấu sự che sẻ tài nguyên tương tranh (Concurency transparency). Trong suốt sự cố (Failure transparency): che giấu lôi hệ thống nếu có. Trong suốt khả năng di chuyển tài nguyên (Persistence transparency): che giấu việc di chuyển tàl nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại. •Tính mở (Openness). Hệ phân tán được gọi là mở nếu nó cung cấp các dịch vụ theo các quy tắc chuẩn mô tả cú pháp và ngữ nghĩa cúa dịch vụ đó. Thông thường trong hệ phân tán các dịch vụ thường đặc tả qua các giao diện bằng ngôn ngữ đặc tả giao diện (Interface Definition Language- IDL). vì thế chỉ quan tâm đến cú pháp. Nó cho phép các dịch vụ khác nhau cùng chung sống. Nếu các giao diện cùa hệ phân tán được đặc tả đầy đủ và đúng đắn. Xét hai khái niệm của hệ phân tán là khái niệm liên tác (Interroperabllity) và khái niệm chuyển mang (portability). Liên tác: các cài đặt của các hệ thống hoặc thành phần hệ thống từ các nhà sản xuất khác nhau có thể làm việc với nhau thông qua liên tác. Chuyển mang: nhờ chuyển mang mà một ứng dụng được phát triển cho hệ phân tán A có thể thực hiện không cần thay đổi gì trên một hệ phân tán B khác, với điều kiện được cài đặ cùng giao diện như A •Tính co giãn (Scalability) Một hệ phân tán được gọi là có tính co giãn nếu nó thích nghi với sự thay đổi quy mô của hệ thống. Thể hiện trên các khía cạnh sau: •Dễ bô sung người sử dụng và tài nguyên hệ thống •Khi hệ thống thay đổi quy mô về mặt địa lý dẫn đến sự thay đổi về vị trí địa lý của người sử dụng và các tài nguyên. -Hệ thõng có thay đổi quy mô về quản trị. Nếu hệ phân tán có tính co giãn thường ảnh hưởng đến hiệu năng của hệ thống (hiệu năng của hệ thống là hiệu quà năng lực hoạt động cùa đối tượng). Có ba giải pháp phổ dụng đề giái quyet vấn đề co giãn của hệ phân tán: •Ẩn giấu •Phân tán: phân nhỏ thành phần hệ thống và phân bố chúng trên phạm vi của hệ thống (quản lý phân cấp). Ví dụ DNS xác định theo cách phân cấp miền lớn thành các miền con. với phương pháp này sẽ giải quyết được vẫn đề khi thêm người dùng hay tài nguyên vào hệ thống. •Nhân bản: nhân bản một thành phần nào đó của hệ thống, ví dụ tài nguyên dữ liệu đặt tại các vị trí .khác nhau trong hệ thống. Các khái niệm phần cứng. •Phân loại máy tính: Có hai loại máy tính: •Các loại máy tính có chia sẻ bộ nhớ (Shared memory): các loại máy đa xử lý (multiproccessor). •Các máy tính không chia sẻ bộ nhớ (Private memory): các hệ thống multicomputors Trong môi loại lại chia tiếp theo mạng kết nôi bus - based chỉ có một đường kết nối và switch - base có nhiều đường kết nối từ máy này sang máy khác •Hệ thuần nhất / hệ không thuần nhất. Hệ thống thuần nhất: mạng máy tính cùng sử dụng một công nghệ, các bộ xử lý là như nhau, truy cập đến cùng một bộ nhớ giống nhau. Thường dùng trong hệ thống có tính toán song song. Hệ không thuần nhất: những máy tính khác nhau kết nối với nhau. Các khái niệm phần mềm. •DOS (distributed OS). Là hệ điều hành cho các hệ multiproccessor và các hệ homogenous multicomputer. Mục tiêu là ẩn giấu và cung cấp các dịch vụ quản trị tài nguyên. Đặc điếm là các dịch vụ có thế được thực hiện bởi các lời triệu gọi từ xa. •NOS (Network OS). Là hệ điều hành cho các hệ thống heterogenous multicomputer (LAN, WAN). Mục tiêu của NOS là cung cấp các dịch vụ từ xa. •Middleware. Là tầng phụ nằm giữa tầng dịch vụ của NOS và tầng ứng dụng phân tán.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG -* TÀI LIỆU ÔN TẬP TỔNG HỢP ÔN THI HỆ PHÂN TÁN Giảng viên: TS Trần Hải Anh Author: _Gs_ Mục lục Mục lục .2 Phần TỔNG QUAN VỀ HỆ PHÂN TÁN .5 1.1 Định nghĩa Phần KIẾN TRÚC HỆ PHÂN TÁN .8 Phần TIẾN TRÌNH (PROCESSES) .9 3.1 Luồng (Thread) 3.2 Di trú mã 3.3 Tác tử mềm 10 3.3.1 Định nghĩa phân loại: 10 3.3.2 Công nghệ tác tử 10 Phần TRUYỀN THÔNG (COMMUNICATION) 11 4.1 Các giao thức phân tầng (Layered protocols) 11 4.2 Gọi thủ tục từ xa (Remote procedure call - RPC) .11 4.2.1 Tổng quan RPC .11 4.2.2 Xét chi tiết thao tác RPC, 12 4.3 Các mô hình RFC mở rộng .13 4.3.1 RFC dị (Asynchronous RPC) 13 4.3.2 RPC đồng trễ (Deferred synchronuos RPC): 13 4.3.3 RPC đơn tuyến (one- way RPC) .13 4.4 Triệu gọi đối tượng từ xa (Remote object invocation) 13 4.4.1 Đối tượng phân tán (Distributed object) 13 4.4.2 Các bước thực triệu gọi đối tượng từ xa 13 4.5 Truyền thông hướng thông điệp (Message - oriented communication) .15 4.5.1 Các loại truyền thông 15 4.5.2 Một số loại truyền thông hổ hợp .15 4.6 Truyền thông hướng dòng (stream- oriented communícation) 16 4.6.1 Một số khái niệm bàn 16 4.6.2 QoS - chất lượng dịch vụ 16 4.7 Đồng dòng 17 Phần ĐỊNH DANH (NAMING) .18 5.1 Các thực định danh (Naming Entities) 18 5.1.1 Tên, định danh địa 18 5.1.2 Độ phân giải tên .18 5.1.3 Thực không gian tên 19 5.2 Định vị thực thể di động 20 5.2.1 Tên việc định vị thực thể .20 5.2.2 Các giải pháp định vị thực thể 20 5.3 Xóa bỏ thực thể không tham chiếu (Unreferenced Entities) 21 5.3.1 Đếm tham chiếu (Reference Counting) .21 5.3.2 Lên danh sách tham chiếu (Reference Listing) 22 Phần ĐỒNG BỘ HÓA (SYNCHRONIZATION) 23 6.1 Đòng hóa đồng hồ (Clock Synchronization) 23 6.1.1 Đồng hồ vật lý (Physical Clock) 23 6.1.2 Các giải thuật đồng hóa vật lý (Clock synchronization algorithm) 23 6.2 Đồng hồ logic (Logical Clock) 24 6.2.1 Nhãn thời gian Lamport (Lamport timestamps) 24 6.2.2 Vector thời gian (Vector Timestamps) .24 6.3 Trạng thái tổng thể (Global sate) 25 6.4 Các giải thuật bầu chọn (Election Algorithm) 25 6.4.1 Giải thuật áp đảo (Bully Algorithm) 25 6.4.2 Giải thuật vòng (Ring Algorithm) 26 6.5 Loại trừ (Mutual Exclusion) .26 6.5.1 Giải thuật tập trung (Centralized Algorithm) 26 6.5.2 Giải thuật phân tán (Distributed Algorithm) 26 6.5.3 Giải thuật vòng với thẻ (TokenRing Algorithm) 27 6.6 Các giao tác phân tán (Distributed Transactions) 27 6.6.1 Phân loại giao tác .27 6.6.2 Điều khiển tương tranh: 27 Phần SAO LƯU 29 Phần CHỊU LỖI (FAULT TOLERANCE) 30 8.1 Chịu lỗi số khái niệm liên quan .30 8.1.1 Một số khái niệm bàn 30 8.1.2 Các mô hình lỗi 30 8.2 Các phương pháp che giấu lỗi 31 8.2.1 Che giấu lỗi dư thừa 31 8.2.2 Khôi phục tiến trinh 31 8.2.3 Che giấu lỗi truyền thông clien server tin cậy 33 8.2.4 Che giấu lỗi truyền thông nhóm tin cậy (dùng multicasting) 35 8.3 Cam kết phân tán 36 8.3.1 Cam kết hai pha 37 8.3.2 Cam kết pha 37 8.4 Phục hồi 37 Phần TỔNG QUAN VỀ HỆ PHÂN TÁN 1.1 Định nghĩa Có nhiều định nghĩa hệ phân tán Định nghĩa 1: Hệ phân tán tập hợp máy tính tự trị kết nối với mạng máy tính cài đặt phần mềm hệ phân tán Định nghĩa 2: Hệ phân tán hệ thống có chức liệu phân tán trạm (máy tính) kết nối với mạng máy tính Định nghĩa 3: Hệ phân tán tập máy tính độc lập giao tiếp VỚI người dùng hệ thống thống nhẩt, toàn vẹn Như vậy, nói : Hệ phân tán = mạng máy tính + phần mềm hệ phân tán Phân loại hệ phân tán: Trước đây, hệ phân tán chia thành ba loại : hệ điều hành hệ phân tán, sở liệu hệ phân tán hệ thống tính toán hệ phân tán Ngày nay, hệ phân tán phân chia sau: • Hệ phân tán mang tính hệ thống: hệ điều hành phân tán • Hệ phân tán mang tính ứng dụng: hệ thống truyền tin phân tán Mục tiêu hệ phân tán • Kết nối người sử dụng tài nguyên : Giải toán chia sẻ tài nguyên hệ thống (resource sharing) • Tính suốt : Ẩn giấu rời rạc nhược điểm có hệ phân tán người sử dụng (end-user ) nhà lập trình ứng dụng (application programmer) Theo tiêu chuẩn ISO cho hệ phân tán ISO / IS / 10746 tên "Open distributed processing reference model" 1995 cụ thể hóa tám dạng suốt: Trong suốt truy cập (Access transparency): che giấu khác biệt cách biểu diễn cách truy cập tài nguyên Trong suốt vị trí (Location transparency): che giấu vị trí tài nguyên Hai dạng suốt vừa trình bày gọi chung suốt mạng (network transparency) Trong suốt di trú (Migration transparency): che giấu khả chuyển vị trí cùa tài nguyên Trong suốt việc định vị lại (Relocation transparency): che giấu việc di chuyển tài nguyên sử dụng Trong suốt nhân (Replication transparency): che giấu tình trạng tình trạng sử dụng cùa tài nguyên Che giấu che sẻ tài nguyên tương tranh (Concurency transparency) Trong suốt cố (Failure transparency): che giấu lôi hệ thống có Trong suốt khả di chuyển tài nguyên (Persistence transparency): che giấu việc di chuyển tàl nguyên từ nhớ vào nhớ ngược lại Tính mở (Openness) Hệ phân tán gọi mở cung cấp dịch vụ theo quy tắc chuẩn mô tả cú pháp ngữ nghĩa cúa dịch vụ • Thông thường hệ phân tán dịch vụ thường đặc tả qua giao diện ngôn ngữ đặc tả giao diện (Interface Definition Language- IDL) quan tâm đến cú pháp Nó cho phép dịch vụ khác chung sống Nếu giao diện cùa hệ phân tán đặc tả đầy đủ đắn Xét hai khái niệm hệ phân tán khái niệm liên tác (Interroperabllity) khái niệm chuyển mang (portability) Liên tác: cài đặt hệ thống thành phần hệ thống từ nhà sản xuất khác làm việc với thông qua liên tác Chuyển mang: nhờ chuyển mang mà ứng dụng phát triển cho hệ phân tán A thực không cần thay đổi hệ phân tán B khác, với điều kiện cài đặ giao diện A • Tính co giãn (Scalability) Một hệ phân tán gọi có tính co giãn thích nghi với thay đổi quy mô hệ thống Thể khía cạnh sau: • Dễ bô sung người sử dụng tài nguyên hệ thống • Khi hệ thống thay đổi quy mô mặt địa lý dẫn đến thay đổi vị trí địa lý người sử dụng tài nguyên - Hệ thõng có thay đổi quy mô quản trị Nếu hệ phân tán có tính co giãn thường ảnh hưởng đến hiệu hệ thống (hiệu hệ thống hiệu quà lực hoạt động cùa đối tượng) Có ba giải pháp phổ dụng đề giái quyet vấn đề co giãn hệ phân tán: • Ẩn giấu • Phân tán: phân nhỏ thành phần hệ thống phân bố chúng phạm vi hệ thống (quản lý phân cấp) Ví dụ DNS xác định theo cách phân cấp miền lớn thành miền với phương pháp giải đề thêm người dùng hay tài nguyên vào hệ thống • Nhân bản: nhân thành phần hệ thống, ví dụ tài nguyên liệu đặt vị trí khác hệ thống Các khái niệm phần cứng • Phân loại máy tính: Có hai loại máy tính: • Các loại máy tính có chia sẻ nhớ (Shared memory): loại máy đa xử lý (multiproccessor) • Các máy tính không chia sẻ nhớ (Private memory): hệ thống multicomputors Trong môi loại lại chia mạng kết nôi bus - based có đường kết nối switch - base có nhiều đường kết nối từ máy sang máy khác Hệ / hệ không Hệ thống nhất: mạng máy tính sử dụng công nghệ, xử lý nhau, truy cập đến nhớ giống Thường dùng hệ thống có tính toán song song Hệ không nhất: máy tính khác kết nối với • Các khái niệm phần mềm • DOS (distributed OS) Là hệ điều hành cho hệ multiproccessor hệ homogenous multicomputer Mục tiêu ẩn giấu cung cấp dịch vụ quản trị tài nguyên Đặc điếm dịch vụ thực lời triệu gọi từ xa NOS (Network OS) Là hệ điều hành cho hệ thống heterogenous multicomputer (LAN, WAN) Mục tiêu NOS cung cấp dịch vụ từ xa • • Middleware Là tầng phụ nằm tầng dịch vụ NOS tầng ứng dụng phân tán Phần KIẾN TRÚC HỆ PHÂN TÁN Mô hình client - server Tổng quan mô hình Client - server Mô hình client - server hệ phân tán phân chia thành hai nhóm llà nhóm server nhóm client Nhóm server chứa dịch vụ đặc biệt Nhóm client nhóm gứi yêu cầu đến server để sử dụng dịch vụ server Phân tầng ứng dụng Việc phân định rạch ròi chức Client server đến khác biệt không Do người ta đưa ý tưởng chia thành ba mức chức năng: User - interface level: bao gồm chương trình cung cấp giao diện cho phép người sử dụng tương tác với chương trình ứng dụng Processing level: làm nhiệm vụ xử lý tác vụ cùa người dùng sở liệu Data level: gồm chương trình trì liệu mà chương trình ứng dụng xử lý Phần TIẾN TRÌNH (PROCESSES) 3.1 Luồng (Thread) Tiến trình (Process) chương trình thực hiện, coi tính suốt quan trọng Luồng (Thread): hay phần chương trình thực hiện, coí hiệu quan trọng Lời gọi hệ thống (System call): tập lệnh mở rộng hệ điều hành cung cấp xác định giao diện hệ điều hành chương trình người sử dụng Blocking System call: lời gọi hệ thống mà sau gọi tiến trình người sử dụng tiến trình bị dừng lại thực xong lời gọi hệ thống Non - Blocking System call: sau gọi, điều khiển trà lại cho tiến trình gọi tiến trình tiếp tục thực song song với lời gọi hệ thống Đa luồng (Multi thread): áp dụng cho mô hình client/server gọi multithread server multithread Client, vớí mô hình giúp đơn giản hóa lập trình cho server dồng thời tăng khả xử lý song song, làm tăng hiệu cùa hệ thống Có ba phương pháp tiếp cận để xây dựng server: Đơn luồng (single - threaded server): non - parallelism, blocking system call Đa luồng (multi - threaded server) : parallelism, blocking system call Máy trạng thái hữu hạn (Finite State Machine): parallelism, non - blocking system call 3.2 Di trú mã Lý cần phải di trú mã: để tăng hiệu độ linh hoạt cúa hệ thống việc dl chuyển tiến trình thực khó khăn Một tiến trình bao gồm : Phần mã (Code Segment): chứa tập lệnh tiến trình thực Phần tài nguyên (Resource Segment): chứa tham chiếu đến tẩt tài nguyên bên mà tiến trình cần Phần thực thi (Execution segment): chứa trạng thái thực thi hành tiến trình Các mô hỉnh di trú mã: Weak mobility: truyền phần mã sô’ liệu khởi động tiến trình Đặc tính mô hình chương trình truyền bắt đâu từ trạng thái khởi động, yêu cầu máy đích thực thi yêu cầu (code) Strong mobility; truyền phần mã phần thực thi Đặc điểm mô hình tiến trình chạy dừng lại chuyển đến máy khác tiếp tục thực tiếp tiến trình ->khó thực thi Sender Initiated migration (di trú khởi tạo từ phía gửi) : Di trú khởi động từ máy mà phần code tiến trình lull trữ thực DI trú hoàn thành upload chương trình Receiver initiated migration (di trú khởi tạo từ phía nhận) : DI trú mã ban đầu từ máy tính Di trú khởi tạo từ phía nhận thực thi đơn giản di trú khởi tạo từ phía gửi 3.3 Tác tử mềm 3.3.1 Định nghĩa phân loại: Định nghĩa: Tác tử tiến trình tự trị có khả phản ứng, trao đổi, cộng tác VỚI tác tử khác môi trường Phân loại theo khái niệm di trú hóa: Tác tử di động (mobie agent): tác tử đơn giản có khả di chuyển máy khác Trong dí trú mã, tác tử di động thường yêu cầu hỗ trỢ cho mô hình di động mạnh không cần thiết Yêu cầu đến từ thực te tác tử tự trị có ánh hưởng lẫn với môi trường chúng, di chuyển tác tử đến máy khác khó thực không xét đen trạng thai thực thi cua Tính di động đặc tính chung tác tử Tác tử thông minh (Intelligent agent): tác tử dùng để quản lý thông tin từ nhiều nguồn khác Việc quản lý thông tin bao gồm việc xếp, lọc, thu thập tác tử thao tác thông tin từ nguồn vật lý khác nên chúng đóng vai trò quan trọng 3.3.2 Công nghệ tác tử ACL (Agent Communication Language): Truyền thông giũa tiến trình tuân thú theo giao thức truyền thông mức ứng dụng ACL ACL message bao gồm phần header nội dung Phần header chứa trường để xác định mục đích thông điệp, với trường để xác định người gửi người nhận Cũng giao thức truyền thông, phần nội dung tách riêng ACL không qui định khuôn dạng hay ngôn ngữ thể nội dung thông điệp ACC: Một thành phần quan trọng tác tử kênh truyền thông tác tử - ACC Trong hầu hết mô hlnh cho hẹ thống tác tử, tác tử truyền thông cách trao đối thông điệp Mô hình FIPA ACC quản lý việc truyền thông agent flatform khác Cụ thể, ACC nguyên nhân cho việc truyền thông điểm tới điểm với khác cách xác thực 10 TÀI LIỆU BỔ SUNG: Chương : Nhất quán nhân bàn (Consistency & replication) 6.1 Đặt vấn đề Có hai lý để sử dụng sao: Dùng để tăng độ tin cậy tính sẵn sàng hệ thống: liệu bị lỗi hay nguyên nhân mà dùng được, ta dùng liệu để hệ thống không phái dừng lại tránh tình trạng sử dụng liệu không xác Dùng bàn đế tăng hiệu cùa hệ thống: tăng quy mô hệ thống số lượng lẫn phạm vi địa lý, Tuy nhiên việc sử dụng nhân phải trả giá, tính quán liệu hệ thống bị suy giảm Do sử dụng bàn nên xảy rã trường hợp có thay đổi liệu mà không cập nhật Điều gây sai sót hệ thống Do phái tốn nhiều công sức để xây dựng mô hình đảm bảo tính quán liệu 6.2 Các mô hình quán lấy liệu làm trung tâm Mô hình quán chặt (Strict consistency) Là mô hình thỏa mãn điều kiện sau: Thao tác đọc mục liệu 6.2.1 X trả giá trị tương ứng với kết quà cùa thao tác ghi gần X Sử dụng khái niệm thời gian tuyệt đoi Thời gian tuyệt đối tổng thể cho hệ thống để xác định khái niệm "gần nhất" Điều khó khả thi với hệ phân tán Các kí hiệu: • Wl(x)a: thao tác ghi thực tiến trinh P(i) lên mục liệu X với giá trị a • Ri(x)b: thao tác đọc thực bởl tiến trinh P(ì) lên mục liệu X cho kết b Giả thiết X có giá trị ban đầu null Do việc lan truyền cục P1 chưa tới P2 nên P2 đọc liệu X giá trị null ban đầu Mô hình không khả thi nên đưa mô hình giảm nhẹ hớn Mô hình quán mô hình quán tuyến tính a Mô hình quán Là mô hình lỏng lẻo hơn, yếu mô hình quán chặt Nó thỏa mãn yêu cầu sau: Kết quà thực nẽu thao tác đọc ghi tiến trình thực mục liệu cách thao tác tiến trình xuất chuỗi thao tác chi chương trình Khi tiến trình chạy đồng thời máy khác cho phép đan xen thao tác tất tiến trình phải nhận biết đan xen thao tác 6.2.2 39 Mô hình quán tuyến tính Là mô hlnh yếu mô hình quán chặt mạnh mô hỉnh quán Mô hình thỏa mãn điều kiện sau: "Kết thực thao tác (đọc ghi) tất cá tiến trình lên liệu thực môt cách thao tác tiến trình xuất chuỗi thao tác phải theo thứ tự chương trình Thêm vào đó, tsopl(x) < tsop2(y) thao tác opl(x) phải thực trước 0p2(y) chuỗi thao tác" b Mô hình quán nhân Đây mô hình lỏng: lẻo mô hình quán Mô hình phân biệt kiện có quan hệ nhân quà kiện quan hệ nhân Nẽu kiện b gây bj tác động kiện a xảy sớm tính nhãn quà đòl hỏl mội thực thể khác phải "nhìn" thay a trước thấy b sau Mô hình quán nhân thỏa mãn điêu kiện sau: thao tác ghi có quan hệ nhân tiềm phải nhận biết tất cá tiến trình khác thứ tự Các thao tác ghi đồng thời nhận biết theo thứ tự khác máy khác 6.2.3 Mô hình quán FIFO Nhất quán FIFO gọi quán PRAM Đây mô hình yếu mô hình bỏ qua giới hạn trật tự thao tác đồng thời Nhất quán FIFO thỏa mãn : "Các thao tác ghi tiến trình đơn phải tất tiến trình khác nhìn thấy theo trật tự mà chúng đề Nhưng thao tác ghi nhiều tiến trình khác thấy theo trật tự khác tiến trình khác nhau" 6.2.4 Mô hình quán yếu (Weak consistency) Mô hình quán yếu không tập trung vào thao tác liệu mô hlnh mà chúng quan tâm đến trật tự nhóm lệnh việc sử dụng biến đồng bộ, Mô hình quán yếu có ba đặc tính sau: • Việc truy cập đến biến đông hóa đước kêt hỢp với kho liệu quán • Không có thao tác lên biến đồng hóa phép thực tất thao tác ghi trước hoàn thành nơi • Không có thao tác đọc hay ghi liệu lên mục liệu phép thực tất thao tác trước lên biến đồng hóa thực 6.2.5 MÔ hình quán (Release consistency) Sứ dụng thêm hai lệnh: lệnh acquired để báo muốn vào vùng tới hạn (critial region) 6.2.6 40 lệnh release để báo giải phóng vùng tới hạn Hai lệnh có hai cách thực thi khác như: biến lệnh đặc biệt Hal thao tác thực với liệu dùng chung không áp dụng cho tất liệu Mô hình quán thỏa mãn điều kiện sau: • Trước thực thao tác đọc hay ghi lên liệu chia sẻ tất cá thao tác acquire tiến trinh thực trước phải hoàn tất • Trước thao tác release phép thực tất thao tác đọc ghi tiến trình thực trước phải hoàn tất Truy cập vào biến đông hóa quán FIFO (Không yêu cầu quán tuần tự) 6.2.7 Mô hình quán vào (Entry consistency) Cũng giống mô hình quán ra, mô hình quán vào sử dụng hai lệnh acquired release muốn sử dụng vào vùng tới hạn Nhưng lệnh thao tác mục liệu vùng liệu chia sẻ Tiến trình muốn sử dụng mục liệu phải đợi cho tất tiến trình khác giải phóng mục liệu Để ghi lên mục liệu, Client phái có biến đồng hoá cùa mục chế độ dành riêng Điểu co nghĩa không Client khác cỏ thể sử dụng biến đỏ Khi Client cập nhật xong mục liệu, giải phóng biến Khi Client muốn đọc mục liệu đó, phải có biến đồng hóa kết hỢp chế độ không dành riêng Nhiều Client giữ biến đồng hóa chế độ không dành riêng Khi thực thao tác acquire, Client lấy phiên mục liệu từ tiến trình cuối thực thao tác acquire biến Nhất quán vào phải thỏa mãn điều kiện sau: • Một thao tác acquire để truy cập vào biến đồng hóa không phép thực tiến trình tất cà cập nhật lên mục liệu tiến trình thực • Trước truy cập chế độ dành riêng tiến trình tới biến đồng hóa phép thực không tiến trình khác giữ biến đồng hóa, chế độ không dành riêng không cần yêu cầu • Sau truy cập chế độ dành riêng lên biến đồng hóa thực truy cập tiến trình khác chế độ không dành riêng lên biến không thực khỉ chủ nhân biến đồng thực xong việc truy cập cùa 6.3 Các mô hình quán lấy Client làm trung tâm 6.3.1 Nhất quán cuối (eventual consistency) Khi liệu có nhiều yêu cầu đua sau thao tác cập nhật tất cuối phải Yêu cầu thực tốt client chịu khó cập nhật cho 41 Nếu client di động việc thực yêu cầu gặp khó khăn Phái đảm bảo client thay đối vị trí vật lý việc sử dụng phài xác Tức Eà bàn luôn quán Nhất quán đọc (monotonie - write consistency) Mô hình quán đọc phải đảm bảo điều kiện sau: Một tiến trinh thực thao tác đọc mục liệu thi phải đảm bảo thao tác đọc cho kết hay kết gần Mô hình quán đọc đàm bào Client nhìn thấy liệu nhìn thấy liệu cũ mà đọc trước Điều có nghĩa Client thực thao tác đọc lại đọc khác thi thứ hai phải ghi giống với 6.3.2 Về bán chất mô hình phiên hướng người dùng mô hình quán FIFO (điểm khác biệt chỗ áp dụng Client) Nhất quán ghi (monotonie - read consistency) Mô hình quán đọc đêu phái đảm bảo điều kiện sau: Thao tác ghi mục liệu X tiến trình phải hoàn thành trước thao tác ghi 6.3.3 khác X tiến trình Noi cách khác thao tác ghi lên mục liệu xếp cách có trật tự Nhất quán đọc kết ghi (Read - your - write consistency) Trong mô hình quán này, người dùng đảm bảo nhìn thấy kết ghi "Tác động thao tác ghi tiến trình lên mục liệu X nhìn thấy 6.3.4 thao tác đọc X tiến trình đó" Nhất quán ghi theo sau đọc (write - follow - read consistency), Mô hình quán ngược với quán đọc kết ghi, đảm bảo người dùng thực thao tác ghi lên phiên liệu mà phải phiên cuối cúa "Tác động thao tác ghi tiến trình lên mục liệu X nhìn thấy 6.3.5 thao tác đọc liên tiếp lên X tiến trình đó" 6.4 Các giao thức phân phối (distribution protocols) 6.4.1 Xếp đặt (replica placement) Có kiểu ban sao: Các thường trực: tiến trinh hay máy có bàn Số lượng thường xuyên ít, thường tập hỢp lại thành nhóm máy trạm (COWs) hệ thống phản chiếu (mirrored), thường Web server server có chứa sở liệu dự phòng 42 Bản khởi đầu từ server: Các sử dụng để làm tăng hiệu Các xếp đặt động dựa vào yêu cầu server khác Một ví dụ điển hình chúng công ty web hosting sử dụng để định vị vị trí địa lý gần họ cần Các khởi đầu từ Client: Các tạo từ yêu cầu Client, chẳng hạn việc cache liệu cùa trình duyệt Chúng xếp đặt động dựa vào yêu Cầu Client, Lan truyền cập nhật Có khả lan truyền cập nhật Chỉ thông báo có cập nhật: Thường dùng việc cache liệu.Thông báo việc hiệu lực giao thức.Phương pháp tốt tỉ lệ thao tác đọc so với thao tác ghi nhỏ Truyền liệu cập nhật từ tới khác.Thực tốt có nhiều thao tác đọc, Ghi lại thay đổi tập hợp cập nhật lại để truyền (chỉ truyền thay đổi không truyền liệu bị thay đổi, tiết kiệm đước băng thông) Lan truyền thao tác cập nhật tới khác (nhân bán chù động) Tốn băng thông đòi hòi lực xử lý cao nhiều trường hợp thao tác phức tạp Các giao thức kéo đẩy Đẩy cập nhật: giao thức server khởi tạo, giao thức cập nhật lan truyền môĩ có server khác yêu cầu Kéo cập nhật: giao thức Client khởi tạo Client muốn cập nhật 6.4.2 Các giao thức bệnh dịch (epidemic protocol) Đây giao thức dùng để thực mô hình quán sau Ý tưởng thuật toán bệnh dịch là: • Giả sử không xày xung đột thao tác ghi - ghi • Các thao tác cập nhật ban đầu thực hay vài bàn (càng tốt) • Một gửi cập nhật tới số hữu hạn hàng xóm • Việc lan truyền cập nhật xảy chậm chạp không phái • Cuối cập nhật đến Dụa thuật toán bệnh dịch mà có mô hỉnh lan truyền cập nhật Điều đáng lưu tâm mo hình cac cập nhật lan truyền tới với thông điệp tốt nhiêu bị "nhiễm," lan truyền nhanh tốt Đến cuối mà không lan truyền cập nhật cúa minh bị loại bỏ Tuy nhiên việc loại bỏ không dễ dàng Một mô hình lan truyền cập nhật gọi là: anti entropy Trong mô hỉnh 6.4.3 43 này, định kì lại chọn ngẫu nhiên khác trao đổi trạng thái khác mình, sau thời gian phía có trạng thái giống hệt Một mô hình khác gossiping Trong mô hình cập nhật "kể" cho số bàn khác cập nhật cùa vi làm cho bàn bị nhiễm cập nhật cùa minh 6.5 Các giao thức quán 6.5.1 Giao thức Primary-based a Các giao thức ghi từ xa Với giao thức này, tất thao tác ghi thực server từ xa Giao thức thường kết hợp với hệ thống chủ khách truyền thống Một dạng giao thức ghi từ xa giao thức Primary-Backup Nhược điểm cùa giao thức vãn đề hiệu Tất cà thao tác ghi giao thức chiếm nhiều thời gian, đặc biết có giao thêm giao thức ghi theo khối sử dụng Ưu điểm cùa giao thức • Sử dụng giao thức ghi không theo khối để xử lý cập nhật • Tất cà thao tác ghi gùi đến dự phòng theo thứ tự, điều tạo điều kiện thuận lợi thực thi mô hình quán Các giao thức ghi cục • Trong giao thức mục liệu trì Khi có yêu cầu thao tác ghi, mục liệu nhân từ server xa chuyển đến server cục Việc gọi tiếp cận theo kiểu di trú hoàn toàn Một vấn đề đặt cho tiến trình sử dụng giao thức để đọc ghi lên mục liệu là: thời gian để thật định vị mục liệu lớn thời gian tiến trình sử dụng Một dạng giao thức ghi cục là giao thức Primary-backup Trong giao thức di trú đến tiến trình muốn thực việc cập nhật, sau bán dự phòng cập nhật b 6.5 Các giao thức Replicated-write Trong giao thức này, thao tác ghi tiến hành Ví dụ: Một tiến trinh đặc biệt mang thao tác cập nhật tới Một tem thời gian Lamport có thê sứ dụng để lấy thao tác về, nhiên phương pháp không linh hoạt cho hệ phân tán Một phương pháp khác sử dụng xếp dãy, tiến trình để gán số ID cho cập nhật, sau truyền cập nhật tới tất cá 44 Giao thức nhân chù động Trong giao thức này, thao tác ghi truyền đến tất sao, thao tác đọc thực cục Giao thức ghi truyền sử dụng giao tiếp point-to-point hay multicast Ưu điểm giao thức tất nhận thao tác lúc theo trật tự, không cần đánh dấu hay phải gùi tất thao tác tới server Tuy nhiên giao thức lại đòi hòi phải truyền theo kiểu multicast động phàỉ có xếp dãy tập trung mà ca phương pháp khó có the tiếp cận cách linh hoạt Trong giao thức có vấn đề cần quan tâm "triệu gọi sao" Để tránh cho bị gọi quán nhiều lần, điều phối gắn môi bên (client server), điều đảm bảo cho việc có lời gọi lời đáp gửi Giao thức Quorumbased Với giao thức này, thao tác ghi thực tập nhò Khi thực thao tác đọc, người dùng phải liên hệ với tập để tim phiên liệu Trong giao thức tất cà mục liệu kết hợp VỚI số phiên bàn (version number), Mỗi lần mục bị sửa đổi thỉ số phiên cua nỏ cung tăng lên Giao thức định nghĩa số đại biểu đọc sô' đại biểu ghi, hai đại biểu xác định số bàn phải liên hệ trước thực thao tác đọc ghi Số đại biểu đọc phài lớn 1/2 tổng số sao, tổng số đại biểu đọc ghi phải lớn tổng số Bằng cách này, người muốn thực thao tác đọc thi phải đảm bảo việc liên hệ với có chứa phiên mớl mục liệu Việc lựa chọn số lượng đại biểu dựa vào tỉ lệ thao tác đọc ghi với cost (bandwidth ) thực phương pháp giao tiếp giũa nhóm Cache-coherence protocols Cache dạng đặc biệt cùa nhân bản, điều khiển Client thay điều khiển server, có nhiều giải pháp cho việc cache liệu VỚI chiến lược phát cố kết, chiến lược để xác định không quán thật bị phát từ loại bỏ liệu gây không quán, có giải pháp khác • Với giải pháp tĩnh, thời điểm biên dịch chương trình thị phụ thêm vào để phát liệu không quán • VỚI giải pháp động thời điểm chạy chương trình có đoạn mã để kiểm tra tính không quán liệu cache với liệu server Với chiến lược ép buộc cố kết, chiến lược để xác định xem liệu cache giữ quán với liệu lưu server nào, cỏ cách để buộc giữ liệu phải cố kết với Đó là: • Để cho server gùi thông điệp không hợp lệ liệu bị thay đổi • Cập nhật kĩ thuật lan truyền 45 Các thao tác ghi liệu vào cache tiến hành sau: • VỚI cache đọc (Read-only Cache) cập nhật thực server (bằng giao thức đẩy) client (bằng giao thức kéo client nhận thấy liệu cache cũ) • Với cache ghi thẳng (Write-Through Cache) client thay đổi nội dung cache, sau gửi cập nhật đến cho server • Với cache ghi lại (Write-Back Cache) Client tri hoãn lan truyền cập nhật, cho phép nhiều cập nhật tạo cục sau gửi cập nhật cho server (việc có khả ảnh hưởng mạnh đến hiệu năng) Chương 8: An toàn - An ninh (Security) 8.1 Đặt vấn đề 8.1.1 Các mối đe dọa, sách chế an toàn , an ninh a Các mối đe dọa Hệ thống máy tính bị đe dọa nguy an toàn Một công viẹc để bảo vẹ hệ thống la giúp hệ thong tránh khỏi nguy có loại mối đe dọa an toàn: Interception (chặn bắt): thành phần không phép truy cập đến dịch vụ hay liệu, "nghe trộm" thông tin truyền Interruption (đút đoạn): mối đe dọa mà làm cho dịch vụ hay liệu bị mát, bị hỏng, dùng Modification (thay đổi): tượng thay đổi liệu hay can thiệp vào dịch vụ làm cho chúng không giữđược đặc tính ban đầu Fabrication (giả mạo): tượng thêm vào liệu ban đầu liệu hay hoạt động đặc biệt mà nhận biết để ăn cắp liệu hệ thống, b Các chế an toàn, an ninh Có chế an toàn, an ninh đưa ra: Mật mã (Cryptography): việc thực chuyển đổi liệu theo quy tắc thành dạng mà kè công không nhận biết Xác thực (Authentication): C3C thao tác để nhận dạng người dùng, nhận dạng Client hay server ủy quyền (Authorization).: việc phân định quyền hạn cho thành phần đăng nhập thành công vào hệ thống Quyền hạn quyền sử dụng dịch vị, truy cập liệu Kiem toán (Auditing): phương pháp để xác đinh client truy cập đến liệu bẵng cách Các vấn đề thiết kế Điều khiển (focus of control) 8.1.2 a 46 Có ba cách tiếp cận: Chống thao tac bất hợp lệ: việc thực cách bảo đảm toàn vẹn liệu mà không quan tâm đến việc phân tích hợp lệ thao tác Chổng triệu gọi thao tác không ủy quyền.: không bào đàm toàn vẹn liệu mà tập trúng vào thao tác Thao tác nẳo la bat hợp lệ bị hủy bỏ Chống người sử dụng khống ủy quyền: cách tiếp cận lại tập trung vào quàn lý người dùng, xác định người dùng vai trò họ hệ thống không quan tâm đến đảm bảo liệu hay quản lý thao tác người dùng Phân tầng chế an toàn (Layer of security mechanism) Một vấn đề quan trọng việc thiết kế hệ thống an toàn định xem chế an toàn an ninh đặt tầng Việc xác định vị trí đặt phụ thuộc nhiều vào yêu cầu client dịch vụ an toàn, an ninh tầng Trong hệ phân tán, chế an toàn, an ninh đặt tầng middleware c Phân tán chế an toàn (Distribution of security mechanism) Xét khái niệm TCB (Trusted Computing Base): tập hỢp tất chế an toàn, an ninh hệ b phân tán, chế phải tuân theo ràng buộc an toàn Mật mã (Cryptography) Một chế an toan, an ninh hệ phân tán mã mật Tư tưởng là: bên gửi mã hóa tin cần truyền, truyền tin mã hóa đi, bên nhận giải mã tin nhận thành tin ban đầu Gọi: Bản tin ban đầu p Khóa mã hóa Ek Bản tin mã hóa theo khóa Ek C: C=Ek(P) Khóa giải mã Dk Bản tin giải mã theo khóa giải mã: P=Dk(C) Có hai loại hệ thống mật mã: mật mã đối xứng (symmetric cryptosystem) mật mã bất đối xứng (asymmetric cryptosystem) a Mật mã đối xứng: dùng khóa bí mật VỚI mật mã đối xứng: khóa mã hóa khóa giải mã giống Ta có: P=Dk(Ek( p ) ) Cả bên nhận bên gửi phải có khóa trên, khóa phái giữ bí mật Nguyên lý chung cùa giải thuật DES (Data Encryption standard): 8.1.3 Thực khối liệu 64 bít MỖI khối mã hóa qua 16 vòng lặp, vòng có khóa mã hóa 48 bit riêng 16 khóa sinh từ 56 bít khóa Đầu vào vòng lặp mã hóa thứ i liệu mã hóa vòng lặp thứ (i-1) 64 bít liệu qua môi vòng lặp chia thành hai phần nhau: Li-1 Ri-1, 32 bit Phần liệu bên phải Ri-1 lấy làm phần bên trái liệu cho vòng sau: Ri-1= Li Hàm f với đầu vào Ri-1 khóa KI sinh khối 32 bít XOR với Li-1 để sinh Ri 47 Phương pháp sinh khóa giải thuật DES: Mỗi khóa 48 bít cho vòng lặp sinh từ khóa 56 bit sau: hoán vị khóa chính, chia đôi thành hai phan 28 bít Tại vòng, nửa quay trái hai bít, sau lấy 24 bit kết hợp với 24 bít cúa nủa lại tạo khóa Mật mã bất đối xứng: dùng khóa công khai Mật mã bất đổi xứng: khóa mã hóa khóa giải mã khác nhau, Ta có: P=DkD(EkD ( p)) Trong hệ thống này, khóa giữ bí mật khóa công khai Xét giải thuật RAS (được đặt theo tên nhà phát minh nó:Rivest, 5hamir, Adleman) : Cách sinh khóa giả thuật RAS: thực theo bước: • Chọn số lớn: p,q • Tính n = p.q z = (p-l).(q-l) • Chọn số d liên quan đến z • Tính toán e cho e.d =1 mod z Như d dùng để giải mã e dùng để mã hóa Ta công khai hai số này, tùy thuật toán Nguyên lý chung giải thuật RAS: Coi tin truyền dãy số nhị phân Chia tin m thành khối có kích thước cố định mi cho 0[...]... không gian tên NS1, NS2 - để gắn kết một thực thể bên ngoài trong hệ phân tán, chúng ta cần tôi thi u những thông tin sau: • Tên của giao thức truy nhập ( được xác định để thực hiện giao thức truyền thông) • Tên của server (xá định địa chi server) • Tên cùa mounting point (xác định Id của nút trong không gian tên bên ngoài) 5.1.3 Thực hiện một không gian tên Phân phối không gian tên Trong hệ phân tán, ... trong hệ phân tán tập trung vào trường hợp có tiến trình bị lỗi Nhưng ta cũng phải xét đến trường hơp các giao tiếp bị lỗi Thông thường, một kênh giao tiếp có thể gạp các lỗi: lỗi sụp đố, loi bỏ sot, lỗi thời gian và lỗi tùy ý Việc xây dựng một kênh truyền thông tập trung vào che giấu lỗi sụp đổ và lỗi tùy ý a Truyền thông điểm - điếm Trong hệ phân tán, truyền thông điểm - điểm tin cậy được thi t... bản tin thông báo đã nhận kết quả thành công 4.3.3 RPC đơn tuyến (one- way RPC) Sau khí thực hiện lời gọi thủ tục từ xa tớl server, Client không chờ đỢI thông báo nhận yêu cầu thành công từ server mà tiếp tục thực hiện ngay các công việc khác cúa mình Đó là RPC đơn tuyến 4.4 Triệu gọi đối tượng từ xa (Remote object invocation) 4.4.1 Đối tượng phân tán (Distributed object) Một đối tượng phân tán gồm các... 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... niệm hệ có thể tin cậy được (dependable system) Thuật ngữ "có thể tin cậy được" bao gồm các thuộc tính sau: • Tính săn sàng (availability): hệ thống có tính săn sàng là hệ thống luôn săn sàng hoạt động tốt ở mọi thời điểm • Tính tin cậy (Reliability); một hệ thống có tính tin cậy là hệ thống có khả năng hoạt động trong một thời gian dài mồ không bị gián đoạn, không xảy ra lỗỉ • Tính an toàn (Safety): hệ. .. Pi là nguyên nhân tăng Vi[i] • Pi gắn một timestamp t=V[¡] vào mọi thông điệp gửi đi • Khi Pi nhân được một thông điệp có t nó sẽ thi t lập VI[i]=Max(Vi[j] ,t[j]) và tăng VI [Í] 6.3 Trạng thái tổng thể (Global sate) Việc xác định trạng thái tổng thể của hệ thống rất có ích Một trong những phương pháp được đưa ra là Chụp Nhanh Phân Tán (Distributed Snapshort) cùng khái niệm lát cắt (cut) Một lát cắt... hạn và chỉ cần 3 thông điệp để thi t lập là: Request -Grant - Release Nhược điểm duy nhất là nếu tiến trình điều phối bị hóng thì hệ thống sẽ sụp đổ vì nếu một tiến trinh đang trong trạng thái Block nó sẽ không thể biết được tiến trinh điều phối có bị DEAD hay không Trong một hệ thống lớn nếu chl có một tiến trình điều phối sẽ xuất hiện hiện tượng thắt cổ chai 6.5.2 Giải thuật phân tán (Distributed Algorithm)... tác phân tán (Distributed Transactions) Bốn tính chất của giao tác đối với thế giới bên ngoài: ACID Tính nguyên tử (Atomic): mọi giao tác diễn ra không thể phân chia được Tính nhất quán (Consistent): giao tác không xâm phạm các bất biến của hệ thống Tính cô lập (Isolated): các giao tác đồng thời không gây trở ngại cho nhau Tính lâu bền (Durable): khi giao tác đã cam kết thì các thay đổi đối với nó không... đến hệ điều hành của client đó • Hệ điều hành cúa máy client sẽ gửi bản tin đó tới hệ điều hành của máy server • Hệ điều hành của server sẽ gửi bản tin tới server stub 11 Server stub lấy các thông tin cúa gói tin và gọi server tương ứng • Server thực hiện công việc được yêu cầu và trả kết quả về cho server stub • Server stub đóng gói kết quả đó vào bản tin rồi gọi hệ điều hành cúa server đó • Hệ điều... client đã được thi t lập Lôi khi nhận thông điệp chỉ làm cho server không nhận biết được các thông điệp gửi tới nó mà không hề ảnh hưởng đến trạng thái của server o Lỗi khi gửi thông điệp: server vẫn nhận được các yêu cầu, vẫn hoàn thành yêu cầu đó nhưng vì một lý do nào đó lại không thể gửi kết quá tới máy đã yêu cầu Một trong những lý do thường gặp là do bộ nhớ đệm gửi đầy Trong trường hợp gặp lỗi này, ... : Hệ phân tán = mạng máy tính + phần mềm hệ phân tán Phân loại hệ phân tán: Trước đây, hệ phân tán chia thành ba loại : hệ điều hành hệ phân tán, sở liệu hệ phân tán hệ thống tính toán hệ phân. .. hệ phân tán Ngày nay, hệ phân tán phân chia sau: • Hệ phân tán mang tính hệ thống: hệ điều hành phân tán • Hệ phân tán mang tính ứng dụng: hệ thống truyền tin phân tán Mục tiêu hệ phân tán • Kết... 37 Phần TỔNG QUAN VỀ HỆ PHÂN TÁN 1.1 Định nghĩa Có nhiều định nghĩa hệ phân tán Định nghĩa 1: Hệ phân tán tập hợp máy tính tự trị kết nối với mạng máy tính cài đặt phần mềm hệ phân tán Định