VC timestamp is an integer vector local to every process
VC(Pi)[i] incremented after every step of Pi
VC(P) added to M every time P sends M
∀i VC(P)[i] adjusted to max(VC(M)[i],VC(P)[i]) every time P receives M
VC(A) < VC(B) ≡ ∀i VC(A)[i] ≤ VC(B)[i] ∧ ∃j VC(A)[j] < VC(B)[j]
VC(A) > VC(B) ≡ ∀i VC(A)[i] ≥ VC(B)[i] ∧ ∃j VC(A)[j] > VC(B)[j]
A ≺ B ⇔ VC(A) < VC(B)
A ≻ B ⇔ VC(A) > VC(B)