Epidemic algorithms for replicated database maintenance

When a database is replicated at many sites, maintaining mutual consistency among the sites in the face of updates is a significant problem. This paper describes several randomized algorithms for distributing updates and driving the replicas toward consistency. The algorithms are very simple and require few guarantees from the underlying communication system, yet they ensure that the effect of every update is eventually reflected in all replicas. The cost and performance of the algorithms are tuned by choosing appropriate distributions in the randomization step. The algorithms are closely analogous to epidemics, and the epidemiology literature aids in understanding their behavior. One of the algorithms has been implemented in the Clearinghouse servers of the Xerox Corporate Internet. solving long-standing problems of high traffic and database inconsistency.

[1]  D. Jutras Quebec. , 1907 .

[2]  Robert Thomas,et al.  Maintenance of duplicate databases , 1975, RFC.

[3]  N. Bailey,et al.  The mathematical theory of infectious diseases and its applications. 2nd edition. , 1975 .

[4]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[5]  J. Frauenthal Mathematical Modeling in Epidemiology , 1980 .

[6]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[7]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[8]  Yogen K. Dalal,et al.  The clearinghouse: a decentralized agent for locating named objects in a distributed environment , 1983, TOIS.

[9]  Michael O. Rabin,et al.  Randomized byzantine generals , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[10]  Baruch Awerbuch,et al.  Efficient and Reliable Broadcast is Achievable in an Eventually Connected Network. , 1984, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

[11]  Baruch Awerbuch,et al.  Efficient and reliable broadcast is achievable in an eventually connected network(Extended Abstract) , 1984, PODC '84.

[12]  Paul V. Mockapetris The domain name system , 1984 .

[13]  Michael Ben-Or,et al.  Fast asynchronous Byzantine agreement (extended abstract) , 1985, PODC '85.

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

[15]  David G. Kirkpatrick,et al.  Probabilistic solitude verification on a ring , 1986, PODC '86.

[16]  Butler W. Lampson,et al.  Designing a global name service , 1986, PODC '86.

[17]  B. Pittel On spreading a rumor , 1987 .

[18]  Nancy A. Lynch,et al.  Discarding Obsolete Information in a Replicated Database System , 1987, IEEE Transactions on Software Engineering.