tổ chức trong một tuyên truyền rừng hoặc cây cấu trúc đáp ứng bất động sản sau: cho nhóm người dùng Gi, PM(Gi) metagroup chính của nó là ở cấp độ thấp-est có thể (tức là, farthest from gốc) của cây như vậy mà tất cả các metagroups điểm đến mà chứa bất kỳ nút Gi thuộc về subtree bắt nguồn từ lúc PM(Gi).Ví dụ trong hình 6,16, (ABC) là tiểu metagroup của A, B, và C. (B, C, D) là tiểu metagroup của D. (D, E) là chính metagroup của E. (E, F) là tiểu metagroup của F.Các thuộc tính sau có thể được nhìn thấy để được hài lòng bởi cây tuyên truyền:1. chính metagroup PM(G), là tổ tiên của tất cả các metagroups khác của G trong cây tuyên truyền.2. PM(G) duy nhất được xác định.3. đối với bất kỳ MG metagroup, đó là một con đường duy nhất để nó từ PM của bất kỳ nhóm người dùng trong đó có metagroup MG là một tập hợp con.4. ngoài ra, cho bất kỳ hai chính metagroups PM(G1) và PM(G2), họ nên nằm trên cùng một chi nhánh của một cây, hoặc các cây. Trong trường hợp thứ hai, bộ thành viên nhóm của họ là nhất thiết phải các.Ý tưởng chínhPM(Gi) người dùng nhóm Gi, metagroup là hữu ích cho multicast, như sau: multicast để Gi được gửi đầu tiên đến metagroup PM(Gi) như chỉ subtree bắt nguồn từ lúc PM(Gi) có thể chứa các nút ở Gi. Thư sau đó được phổ biến xuống subtree bắt nguồn từ lúc PM(Gi).Các định nghĩa sau đây là hữu ích để hiểu và giải thích các thuật toán:• MG1 subsumes MG2 (nơi MG1 • = MG2) nếu cho mỗi nhóm G như vậy mà một thành viên của MG2 là một thành viên của G, chúng tôi có một số thành viên của MG1 cũng là một thành viên của G. Nói cách khác, MG1 là một tập hợp con của mỗi người sử dụng bảng G trong đó MG2 là một tập hợp con. Ví dụ trong hình 6,16, (AB) subsumes (A). Bất kỳ thành viên của MG2 =(A) là một thành viên của A và mỗi thành viên của (AB) cũng là một thành viên của A. Tương tự, (AB) subsumes (B).• MG1 là doanh với MG2 nếu không metagroup subsumes khác và có một số nhóm G như vậy đó MG1, MG2 ⊂ G.Ví dụ trong hình 6,16, (ABC) là doanh với (CD). Không subsumes khác và cả hai đều là một tập hợp con của C.Ví dụ hình 6,16 Hiển thị một số nhóm, của metagroups, và cây tuyên truyền của họ. Metagroup (ABC) là chính metagroup PM(A), PM(B), PM(C). Siêu nhóm (BCD) là metagroup PM(D) chính. Vì vậy, một phát đa hướng vào nhóm D sẽ được gửi tới (BCD).Chúng tôi lưu ý rằng cây tuyên truyền là không độc đáo vì nó phụ thuộc vào thứ tự mà trong đó metagroups được xử lý. Tối ưu hóa khác nhau trên tuyên truyền cây cũng có thể được thực hiện, nhưng chúng tôi yêu cầu rằng các tính năng (1)–(4) ở trên nên được hài lòng bởi cây. Tập thể dục 6,10 yêu cầu bạn để thiết kế một thuật toán để xây dựng một cây tuyên truyền. Một metagroup có các thành viên từ nhiều nhóm người dùng là mong muốn như là gốc để có một cây với chiều cao thấp.Đúng đắnCác quy tắc để chuyển tiếp tin nhắn trong một phát đa hướng được đưa ra trong Algo-rithm 6.6. Mỗi quá trình cần phải biết cây tuyên truyền, tính toán tại vị trí trung tâm. Mỗi metagroup có một quá trình phân biệt có vai trò như người quản lý hoặc đại diện của thế metagroup.Các mảng SV [1... h] giữ bởi quá trình mỗi Pi bài hát trong SV [k], số lượng tin nhắn phát đa hướng bởi Pi mà sẽ đi qua thông qua chính meta-nhóm PM(Gk). Mảng này piggybacked trên mỗi tin nhắn phát đa hướng bởi quá trình Pi.Người quản lý của mỗi tiểu metagroup giữ một mảng RV [1... n] mà theo dõi trong RV [k], số lượng thư được gửi bởi quá trình Pk đã được nhận bởi này chính metagroup.Như trong các thuật toán CO, một tin nhắn từ Pi có thể được xử lý bởi một chính metagroup j nếu RVj [i] = SVi [j]; Nếu không nó bộ đệm thư cho đến khi điều nàyđiều kiện là hài lòng (đường 2a-2c). Tại một phòng không chính metagroup, kiểm tra này cần không được thực hiện bởi vì nó không bao giờ nhận được một tin nhắn trực tiếp từ người gửi multicast. Người gửi phát đa hướng luôn luôn gửi thư đến chính metagroup đầu tiên. Tại Phòng Không chính metagroup, bộ tương đối (địa phương biến)số nguyên: SV [1... h]; giữ bởi mỗi quá trình. h là #(tiểumetagroups), h ≤ | G|số nguyên: RV [1... n]; giữ bởi mỗi giám đốc chính metagroup.n là #(processes)tập hợp các số nguyên: PM_set; tập hợp các chính metagroups qua đóthư phải đi qua(1) khi quá trình Pi muốn phát đa hướng tin nhắn M để nhóm G:(1a) gửi M (i, G, SVi) để quản lý của PM(G), tiểu metagroup của G; (1b) PM_set ←− {chính metagroups qua đó M phải đi qua}; (1c) cho tất cả PMx ∈ PM_set làmSVi (1d) [x] ←− SVi [x] + 1.(2) khi Pi, người quản lý của một MG metagroup nhận được M (k, G, SVk) từ Pj:Ghi chú: Pi có thể không có một người quản lý của bất kỳ metagroup (2a) nếu MG là một tiểu học sau đó metagroup(2b) đệm thư cho đến khi (SVk [i] = RVi[k]); (2c) RVi [k] ←− RVi [k] + 1;(2d) cho mỗi con metagroup đó gộp bởi MG làm(2e) gửi M (k, G, SVk) cho người quản lý của đứa bé đó metagroup; (2f) nếu không có không có trẻ em metagroups sau đó(2g) gửi M (k, G, SVk) cho mỗi xử lý ở đây metagroup.Thuật toán 6.6 các giao thức để thực hiện tất cả và quan hệ nhân quả thứ tự bằng cách sử dụng tuyên truyền cây.của tin nhắn đã đã được xác định bởi một số tổ tiên metagroup; Vì vậy, nó chỉ đơn giản là chuyển tiếp thư theo dòng 2d-2 g.• Logic đằng sau lý do tại sao tất cả các đơn đặt hàng được duy trì là đơn giản. Đối với bất kỳ metagroups MG1 và MG2, và bất kỳ nhóm nào Gx và Gy trong đó các metagroups là một tập hợp con, chính metagroups PM(Gx) và PM(Gy) cả hai thêm vào MG1 và MG2, và cả hai đều nằm trên cùng một chi nhánh của cây tuyên truyền để MG1 hoặc MG2. Chính metagroup đó là thấp trong cây sẽ nhất thiết phải nhận được hai multicast trong một sốđơn đặt hàng. Giả định của FIFO kênh đảm bảo rằng các quá trình tất cả trong metagroups subsumed của tiểu bang này, metagroup sẽ nhận được thư được gửi đến hai nhóm theo một thứ tự phổ biến.• Quan hệ nhân quả để được đảm bảo bởi vì việc kiểm tra được thực hiện bởi người quản lý của cácchính metagroups trong đường 2a-2c. Giả định rằng tin nhắn M và ông được phát đa hướng G và Gr, tương ứng. Cho nút trong G ∩ Gr, có là haitrường hợp, như minh hoạ trong hình 6,17. Trong mỗi trường hợp, số thứ tự bên cạnh tin nhắn chỉ ra thứ tự mà trong đó các tin nhắn được gửi.
đang được dịch, vui lòng đợi..