Você está na página 1de 3

Birman-Schiper-Stephenson Protocol: Enforcing Causal Ordering of Messages

Assumes broadcast communication channels that do not loose or corrupt


messages. ( i.e. everyone talks to everyone ). Use vector clocks to "count" number
of messages ( i.e. set d = 1 ). n processes.

1. Process Pi updates vector time Ci and broadcasts message m with


timestamp tm = Ci.

2. Process Pj ( j ≠ i ) upon receiving message m with timestamp tm, Pj buffers


the message until
o all messages sent by Pi preceding m have arrived

i.e. Cj[i] = tm[i] - 1

and

o Pj has received all messages that Pi had received before sending m.

i.e. Cj*k+ ≥ tm[k] k = 1, 2, .. n, k ≠ i


3. When the message is finally delivered at Pj, vector time Cj is updated
according to vector clock rule 2.

Você também pode gostar