nhóm chỉ nhận được một tin nhắn mỗi multicast; Nhược điểm của nó là tăng băng thông sử dụng. Các giao thức được mô tả đầy đủ tại www.cdk5.net/coordination. Phương pháp thứ hai mà chúng tôi kiểm tra để đạt được multicast hoàn toàn ra lệnh là một trong đó các quá trình đồng ý chung về việc giao số thứ tự tin nhắn trong một kiểu phân phối. Một thuật toán đơn giản - tương tự như một mà ban đầu được phát triển để thực hiện các giao multicast hoàn toàn ra lệnh cho các bộ công cụ ISIS [Birman và Joseph 1987a] - được thể hiện trong hình 15.14. Một lần nữa, một quá trình B-multicast thông điệp của mình cho các thành viên của nhóm. Nhóm này có thể được mở hoặc đóng cửa. Các quy trình tiếp nhận đề xuất số thứ tự cho các tin nhắn khi họ đến nơi và trở lại những người gửi, trong đó sử dụng chúng để tạo ra số thứ tự thỏa thuận. Mỗi quá trình q trong nhóm g giữ Ag q, số thứ tự thỏa thuận lớn nhất nó đã quan sát thấy cho đến nay cho nhóm g, và Thạc q, số lượng riêng lớn nhất đề xuất trình tự của nó. Các thuật toán cho quá trình p multicast nhắn m vào nhóm g là như sau: 1. p B-multicastg, nơi mà tôi là một định danh duy nhất cho m. 2. Mỗi quá trình q trả lời cho các p người gửi với một đề nghị thỏa thuận số của thông điệp chuỗi các Thạc q: = Max (Ag q, Thạc q) + 1. Trên thực tế, chúng ta phải bao gồm nhận dạng quá trình trong các giá trị đề nghị Thạc q để đảm bảo tổng số thứ tự, vì nếu không quá trình khác nhau có thể đề xuất các giá trị số nguyên cùng; nhưng vì lợi ích của sự đơn giản, chúng ta sẽ không làm cho rằng rõ ràng ở đây. Mỗi quá trình tạm gán số thứ tự đề xuất đến tin nhắn và đặt nó trong hàng đợi giữ lại nó, được đặt mua với số thứ tự nhỏ nhất ở phía trước.
đang được dịch, vui lòng đợi..
