gửi đến P6 được phân phối trong đơn đặt hàng quan hệ nhân quả w.r.t. M4, 3 cho P6, nó cũng sẽ được cung cấp trong quan hệ nhân quả thứ tự w.r.t. M5, 1 cho P6.) Và như M5, 1 là đãgửi đến P4, thông tin "M5,1.Dests = ∅" piggybacked trên M4, 3 cho P3. Tương tự, các thông tin "P6 ∈ M5,1.Dests" phải được xóa từ Log4 như nó sẽ không còn là cần thiết, bởi vì hạn chế II. "M5,1.Dests = ∅"được lưu trữ trong Log4 để nhớ M5, 1 đã được vận chuyển hoặc được đảm bảođể được giao trong quan hệ nhân quả để tất cả các điểm đến của nó.Học tiềm ẩn thông tin tại P2 và P3Khi tin nhắn M4, 2 nhận được bởi quá trình P2 và P3, họ chèn thông tin piggybacked (mới) trong Nhật ký địa phương của họ, như là thông tin "M5,1.Dests ={P6}." Cả hai đều tiếp tục lưu trữ này trong Log2 và Log3 và truyền bá thông tin này trên multicast cho đến khi họ "Tìm hiểu" tại sự kiện (2, 4) và (3, 2) trên nhận được tin nhắn M3, 3 và M4, 3, tương ứng, rằng bất kỳ thư nào trong tương lai được đảm bảo sẽ được chuyển giao trong quan hệ nhân quả để quá trình P6, w.r.t. M5, 1 cho P6. Do đó bằng cách hạn chế II, thông tin này phải được xóa từ Log2 và Log3. Logic mà này "học tập" xảy ra là như sau:• Khi M4, 3 với piggybacked thông tin "M5,1.Dests = ∅" nhận P3 lúc (3, 2), đây suy ra được giá trị hiện tại tiềm ẩn thông tin về phát đa hướng M5, 1 bởi vì các bản ghi Log3 đã chứa thông tin rõ ràng"P6 ∈ M5,1.Dests" về phát đa hướng đó. Vì vậy, rõ ràng thông tintrong Log3 suy ra được cũ và phải bị xóa bỏ để đạt được điều.M5, 1.Dests được thiết lập để ∅ trong Log3.• Các logic của P2 mà học này kiến thức tiềm ẩn về sự xuất hiện củaM3, 3 là giống hệt nhau.Xử lý P6Nhớ lại rằng khi thư M5, 1 được gửi đến P6, chỉ "M5,1.Dests = {P4}" được thêm vào Log6. Hơn nữa, P6 Lan truyền chỉ "M5,1.Dests = {P4}" (từLog6) trên thư M6, 2, và này truyền tải hiện tại tiềm ẩn informa tion "M5, 1 đã được chuyển giao cho P6," bởi vắng mặt rất của nó trong các thông tin rõ ràng.• Khi thông tin "P6 ∈ M5,1.Dests" đến M4, 3, piggybacked như "M5,1.Dests = {P6}," nó được sử dụng nhằm đảm bảo quan hệ nhân quả phân phối M4, 3 bằng cách sử dụng các điều kiện giao hàng, và không được đưa vào trong Log6 (hạn chế tôi)-hơn nữa,sự hiện diện của "M5,1.Dests = {P4}" trong Log6 ngụ ý informa tiềm ẩn -tion rằng M5, 1 đã đã được gửi đến P6. Ngoài ra, sự vắng mặt của P4trong M5,1.Dests thông tin piggybacked rõ ràng ngụ ý các tiềm ẩnthông tin rằng M5, 1 đã được vận chuyển hoặc được đảm bảo sẽ được chuyển giao để quan hệ nhân quả để P4, và, do đó, M5,1.Dests được thiết lập để ∅ trong Log6.• Khi thông tin "P6 ∈ M5,1.Dests" đến M5, 2, piggybacked như "M5,1.Dests = {P4, P6}," nó được sử dụng nhằm đảm bảo quan hệ nhân quả phân phối M4, 3 bằng cách sử dụng các điều kiện giao hàng, và không được đưa vào trong Log6 bởi vìLog6 chứa "M5,1.Dests = ∅," mà cung cấp thông tin tiềm ẩnM5, 1 đã được vận chuyển hoặc được đảm bảo sẽ được chuyển giao để quan hệ nhân quả để P4 và P6. (Lưu ý rằng tại sự kiện (5, 2), P5 thay đổi M5,1.Dests trong Log5từ {P4, P6} to {P4}, theo hạn chế II, và chèn "M5,2.Dests = {P6}"trong Log5.)Xử lý P1Chúng tôi đã xử lý sau đây:• Khi M2, 2 đến mang piggybacked thông tin "M5,1.Dests = {P6}," thông tin (mới) này được đưa vào trong Log1.• Khi M6, 2 đến với piggybacked thông tin "M5,1.Dests = {P4},"P1 "học" tiềm ẩn thông tin "M5, 1 đã được chuyển giao cho P6" bởi sự vắng mặt rất của thông tin rõ ràng "P6 ∈ M5,1.Dests" trong các thông tin piggybacked, và do đó đánh dấu thông tin "P6 ∈ M5,1.Dests" cho dele-tion từ Log1. Đồng thời, "M5,1.Dests = {P6}" trong Log1 ngụ ý cáctiềm ẩn các thông tin mà M5, 1 đã được vận chuyển hoặc là bảo đảm sẽ được chuyển giao để quan hệ nhân quả để P4. Vì vậy, P1 cũng "học" mà các rõ ràngpiggybacked thông tin "M5,1.Dests = {P4}" là lỗi thời. M5, 1.Dests trongLog1 được thiết lập để ∅.• Cũng, các thông tin "P6 ∈ M5,1.Dests" piggybacked trên M2, 3,mà đến lúc P1, suy ra được lỗi thời (và do đó bị bỏ qua nhất) bằng cách sử dụng những kiến thức tiềm ẩn có nguồn gốc từ "M5,1.Dests = ∅" trong Log1. Tất cả các đơn đặt hàng Trong khi quan hệ nhân quả đơn đặt hàng có nhiều người sử dụng, có những khác orderings cũng có ích. Tổng số thứ tự là như vậy một đặt hàng [4,5]. Xem xét ví dụ về thông tin Cập Nhật để sao chép dữ liệu, như minh hoạ trong hình 6,11. Như các bản sao của dữ liệu chỉ là một mục d, nó sẽ là hợp lý để mong đợi rằng mọi bản sao xem các bản Cập Nhật theo thứ tự, có hoặc không phát hành các bản Cập Nhật có nào liên quan. Bằng cách này, các vấn đề của sự gắn kết và thống nhất của các giá trị bản sao đi xa. Một hệ thống sao chép sẽ vẫn có ích cho lỗi khoan dung, cũng như để được dễ dàng để "đọc" hoạt động. Tất cả đơn đặt hàng, yêu cầu tất cả các thư được nhận theo thứ tự của những người nhận thư, chính thức được xác định như sau:Định nghĩa 6,14 (Tất cả đơn đặt hàng) cho mỗi cặp quá trình Pi và Pj và cho mỗi cặp thư Mx và của tôi đó được gửi đến cả các pro-cesses, Pi gửi Mx trước của tôi nếu và chỉ nếu Pj được gửi Mx trước của tôi. Ví dụ thực hiện ở con số 6.11(b) không đáp ứng tất cả các đơn đặt hàng. Ngay cả khi m thông báo đã không tồn tại, tất cả các đơn đặt hàng sẽ không được hài lòng. Thực hiện ở con số 6.11(c) đáp ứng tất cả các đơn đặt hàng. Các thuật toán tập trung cho tất cả các đơn đặt hàngGiả sử tất cả các tin nhắn quảng bá quy trình, các giải pháp tập trung Hiển thị trong thuật toán 6.4 thi hành lệnh tất cả trong một hệ thống với FIFO kênh. Mỗi quá trình gửi thư nó muốn phát sóng với một quá trình tập trung, mà chỉ đơn giản là chuyển tiếp tất cả các tin nhắn nhận được để mỗi quá trình khác hơn FIFO kênh. Nó là đơn giản để thấy rằng tất cả các đơn đặt hàng là hài lòng. Hơn nữa, thuật toán này cũng đáp ứng quan hệ nhân quả thông báo đơn đặt hàng.
đang được dịch, vui lòng đợi..
