(1a) clockj ← - clockj + 1;
(1b) cho tất cả các d ∈ M.Dests làm:
OM ← - LOGj; // OM biểu OMj, đồng hồ
cho tất cả o ∈ OM, sửa đổi o.Dests như sau:
nếu d • ∈ o.Dests sau đó o.Dests ← - (o.Dests M.Dests);
nếu d ∈ o.Dests sau đó o.Dests ← - (o.Dests M.Dests) {d};
// Đừng tuyên truyền thông tin về phụ thuộc gián tiếp mà
// đảm bảo được transitively hài lòng khi phụ thuộc của M là hài lòng.
cho tất cả các os, t ∈ OM làm
nếu os, t.Dests = ∅ (∃or ∈ OM | t <tr) thì OM ← - OM {os, t};
// không tuyên truyền mục cũ mà Dests trường được ∅
gửi (j, clockj, M, Dests, OM) đến d;
(1c) cho tất cả các l ∈ LOGj làm l.Dests ← - l.Dests Dests;
// Không lưu trữ thông tin về các phụ thuộc gián tiếp này được đảm bảo
// là transitively hài lòng khi sự phụ thuộc của M là hài lòng.
Thực PURGE_NULL_ENTRIES (LOGj); // Purge l ∈ LOGj nếu l.Dests = ∅
(1d) LOGj ← - LOGj {(j, clockj, Dests)}.
đang được dịch, vui lòng đợi..
