Reliable Messages and Connection Establishment


ion function q old-q + cur-q status (?, mark) if cur-q ≠ { } (a) (OK, +) if modes = send and lasts = lastr (b) (OK, #) if modes = send and lasts ∈ inflightrs (c) (lost, +) if modes = send (d) and lasts ∉ (gr ∪ {lastr} ∪ inflightrs) (lost, +) if modes = idle (e) recs/r recs/r The cases of status are exhaustive. Note that we do not want (msg, +) in q if modes = send and lastss ∉ gr, because in this case msg has been delivered or lost. 6.826—Principles of Computer Systems 2002 Handout 26. Reliable Messages 16 We see that G simulates the q of D using old-q + cur-q, and that old-q is the leftover messages in the channel that are still good but haven’t been delivered, while cur-q is the message the sender is currently working on, as long as its identifier is not yet assigned or still good. Similarly, status has a different value for each step in the delivery process: still sending the message (a), normal ack (b), ack after a receiver crash (c), lost ack (d), or delivered ack (e).

Extracted Key Phrases

Cite this paper

@inproceedings{Lampson1993ReliableMA, title={Reliable Messages and Connection Establishment}, author={Butler W. Lampson}, year={1993} }