Write #
Get phase:
vt-set = read vt pairs from majority of storage nodes
select unique t such that t > max(t in vt-set)
Set phase:
write_request(v, t) on storage nodes
storage nodes store vt only if t > their stored t
storage nodes send ACK
when majority ACKs are received return OK
Read #
Get phase
vt-set = read vt pairs from majority of storage nodes
select vt such that t = max(t in vt-set)
Set phase
write_request(v, t) on storage nodes
storage nodes store vt only if t > their stored t
storage nodes send ACK
when majority ACKs are received return v