A vector clock is a data structure used for determining the partial ordering of events in a distributed system and detecting causality violations.
Just as in Lamport timestamps, inter-process messages contain the state of the sending process's logical clock.
[2] However, the logical clocks in that paper were scalars, not vectors.
[4] The papers canonically cited in reference to vector clocks are Colin Fidge’s and Friedemann Mattern’s 1988 works, [5][6] as they (independently) established the name "vector clock" and the mathematical properties of vector clocks.
[3] Vector clocks allow for the partial causal ordering of events.