Hiệu lực: Nếu một quá trình chính xác multicast thông điệp m, sau đó nó cuối cùng sẽ cung cấp m. Hiệp định: Nếu một quá trình chính xác gửi thông điệp m, sau đó tất cả các quá trình chính xác khác trong nhóm (m) cuối cùng sẽ cung cấp m. Thuộc tính toàn vẹn là tương tự như các thông tin liên lạc đáng tin cậy cho một-một. Các tài sản có giá trị đảm bảo liveness cho người gửi. Điều này có vẻ là một tính chất bất thường, bởi vì nó là không đối xứng (nó đề cập đến chỉ có một quy trình cụ thể). Tuy nhiên, nhận thấy giá trị đó và thỏa thuận với nhau lên đến một yêu cầu liveness tổng thể: nếu một quá trình (người gửi) cuối cùng cung cấp một thông điệp m, vì các quá trình đúng thoả thuận về thiết lập các thông điệp mà họ cung cấp, nó sau đó m cuối cùng sẽ được gửi đến tất cả . thành viên đúng của nhóm
Hình 15,9 thuật toán multicast đáng tin cậy
Ngày khởi tạo nhận được: = {}; Đối với quá trình p để R-multicast nhắn m vào nhóm g B-multicast (g, m); // Được bao gồm như là một điểm đến On B-cung cấp (m) ở quá trình q với g = nhóm (m) nếu () sau đó nhận được: =; if () sau đó B-multicast (g, m); kết thúc nếu R-cung cấp m; kết thúc nếu pg ?? đang nhận ?? Nhận m ?? ^ `qp z
Ưu điểm của thể hiện tình trạng hiệu lực về tự giao hàng là đơn giản. Những gì chúng tôi yêu cầu là thông điệp được chuyển giao cuối cùng của một số thành viên đúng của nhóm. Các điều kiện thỏa thuận có liên quan đến nguyên tử, tài sản của "tất cả hoặc không có gì", áp dụng cho giao hàng của các tin nhắn đến một nhóm. Nếu một quá trình multicast nhắn bị treo trước khi nó đã cung cấp nó, sau đó có thể là thông báo sẽ không được gửi đến bất kỳ quá trình trong nhóm; nhưng nếu nó được gửi đến một số quá trình chính xác, sau đó tất cả các quá trình chính xác khác sẽ cung cấp nó. Nhiều giấy tờ trong văn học sử dụng thuật ngữ "nguyên tử" bao gồm một điều kiện đặt hàng tổng; chúng ta định nghĩa này trong thời gian ngắn. Thực hiện multicast đáng tin cậy hơn B-multicast • Hình 15.9 đưa ra một thuật toán dàn diễn viên đa đáng tin cậy, với nguyên thủy R-multicast và R-cung cấp, cho phép quá trình để được- dài để một số nhóm đóng cùng một lúc. Để R-multicast một tin nhắn, một quá trình B- multicast tin nhắn tới các quá trình trong nhóm đích (bao gồm cả bản thân). Khi tin nhắn được B-giao, người nhận lần lượt B-multicast tin nhắn tới nhóm (nếu nó không phải là người gửi ban đầu), và sau đó R-cung cấp các tin nhắn. Kể từ khi tin nhắn có thể đến nhiều hơn một lần, bản sao của thông điệp được phát hiện và không được giao. Thuật toán này rõ ràng đáp ứng các bất động sản có hiệu lực, kể từ khi một quá trình chính xác cuối cùng sẽ B-cung cấp tin nhắn cho chính nó. Theo tính toàn vẹn của các kênh truyền thông cơ bản được sử dụng trong B-multicast, các thuật toán cũng thỏa mãn sở hữu toàn vẹn.
đang được dịch, vui lòng đợi..
