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;


