4 processes (P1, P2, P3, P4) with events a,b,c,d,e,f,g,…
Lamport Clock Timestamps
https://en.wikipedia.org/wiki/Lamport_timestamps
For each process, p: initialize the timestamp, TS = 0; on each event, e: if e is receiving message m, p.TS = max(m.TS, p.TS); p.TS++; e.TS = p.TS; if e is sending message m, m.TS = p.TS;
Vector Clock Timestamps
https://en.wikipedia.org/wiki/Vector_clock
For M processes: initialize the timestamp, p.VT = (0,0,..,0); on each event, e: if e is receiving message m, for i=1 to M, p.VT[i] = max(m.VT[I], p.VT[I]); p.VT[self]++; e.VT = p.VT; if e is sending message m, m.VT = p.VT;