The document discusses the concept of time and ordering of events in a distributed system. It explains that in a distributed system, the relation of one event happening before another defines a partial ordering rather than a total ordering. The document then presents an algorithm for synchronizing logical clocks across processes to establish a total ordering of events. It also describes how to synchronize physical clocks and derives an upper bound on how far out of synchrony they can drift.