Virtual Time and Global States of Distributed Systems

A distributed system can be characterized by the fact that the global state is distributed and that a common time base does not exist. However, the notion of time is an important concept in every day life of our decentralized \real world" and helps to solve problems like getting a consistent population census or determining the potential causality between events. We argue that a linearly ordered structure of time is not (always) adequate for distributed systems and propose a generalized non-standard model of time which consists of vectors of clocks. These clock-vectors are partially ordered and form a lattice. By using timestamps and a simple clock update mechanism the structure of causality is represented in an isomorphic way. The new model of time has a close analogy to Minkowski's relativistic spacetime and leads among others to an interesting characterization of the global state problem. Finally, we present a new algorithm to compute a consistent global snapshot of a distributed system where messages may be received out of order.

[1]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.

[2]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[3]  Laura M. Haas,et al.  Distributed deadlock detection , 1983, TOCS.

[4]  Johan van Benthem,et al.  The Logic of Time , 1983 .

[5]  Alley Stoughton,et al.  Detection of Mutual Inconsistency in Distributed Systems , 1983, IEEE Transactions on Software Engineering.

[6]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[7]  Carroll Morgan,et al.  Global and Logical Time in Distributed Algorithms , 1985, Inf. Process. Lett..

[8]  Baruch Awerbuch,et al.  Complexity of network synchronization , 1985, JACM.

[9]  Sam Toueg,et al.  Substituting for Real Time and Common Knowledge in Distributed Systems , 1986 .

[10]  Claude Jard,et al.  Deriving trace checkers for distributed systems , 1987 .

[11]  Ten-Hwang Lai,et al.  On Distributed Snapshots , 1987, Inf. Process. Lett..

[12]  Michel Raynal,et al.  A Distributed Algorithm to Prevent Mutual Drift Between n Logical Clocks , 1987, Inf. Process. Lett..

[13]  Colin J. Fidge,et al.  Partial orders for parallel debugging , 1988, PADD '88.

[14]  Prakash Panangaden,et al.  Concurrent common knowledge: a new definition of agreement for asynchronous systems , 1988, PODC '88.

[15]  W. Weigel,et al.  Global events and global breakpoints in distributed systems , 1988, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track.

[16]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[17]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .