Logical Time in Distributed Computing Systems
The partial ordering of events as defined by their causal relationships, that is, the ability of one event to directly, or transitively, affect another is defined. Its generalized and practical implementations in terms of partially ordered logical clocks are described. Such clocks can provide a decentralized definition of time for distributed computing systems, which lack a common time base. In their full generality, partially ordered logical clocks may be impractically expensive for long-lived computations. Several possible optimizations, depending on the application environment in which the clocks will be used, are described. Some applications are summarized.