Epidemic algorithms for replicated database maintenance

Whru a dilt~lhSC is replicated at, many sites2 maintaining mutual consistrnry among t,he sites iu the fac:e of updat,es is a signitirant problem. This paper descrikrs several randomized algorit,hms for dist,rihut.ing updates and driving t,he replicas toward consist,c>nc,y. The algorit Inns are very simple and require few guarant,ees from the underlying conllllunicat.ioll system, yc+ they rnsutc t.hat. the off(~c~t, of (‘very update is evcnt,uwlly rf+irt-ted in a11 rq1ica.s. The cost, and parformancc of t,hr algorithms arc tuned I>? c%oosing appropriat,c dist,rilMions in t,hc randoinizat,ioii step. TIN> idgoritlmls ilr(’ c*los~*ly analogoIls t,o epidemics, and t,he epidcWliolog)litc\ratiirc, ilitlh iii Illld~~rsti4lldill~ tlicir bc*liavior. One of tlW i$,oritlims 11&S brc>n implrmcWrd in the Clraringhousr sprv(brs of thr Xerox C’orporat~c~ Iiitcrnc4, solviiig long-standing prol>lf~lns of high traffic and tlatirl>ilsr inconsistcllcp.

[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.