VC1: initially, Vi[j] = 0, for i,j = 1,2…N
VC2: just before pi timestamps an event, it sets Vi[i] = vi[i]+1 VC3: pi includes the value t= Vi in every message it sends
VC4: when pi receives a timestamp t in a message, it sets Vi[j]=max(Vi[j], t[j])for j =1,2…,N. Merge operation.