Distributed Shared State with History Maintenance

Shared mutable state is challenging to maintain in a distributed environment. We develop a technique, based on the Operational Transform, that guides independent agents into producing consistent states through inconsistent but equivalent histories of operations. Our technique, history maintenance, extends and streamlines the Operational Transform for general distributed systems. We describe how to use history maintenance to create eventually-consistent, stronglyconsistent, and hybrid systems whose correctness is easy to reason about.

[1]  Marvin Theimer,et al.  Flexible update propagation for weakly consistent replication , 1997, SOSP.

[2]  Michael Dixon,et al.  High-latency, low-bandwidth windowing in the Jupiter collaboration system , 1995, UIST '95.

[3]  Rui Li,et al.  A New Operational Transformation Framework for Real-Time Group Editors , 2007, IEEE Transactions on Parallel and Distributed Systems.

[4]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[5]  Elisa Bertino,et al.  PARALLEL AND DISTRIBUTED SYSTEMS , 2010 .

[6]  Marc Shapiro,et al.  Conflict-Free Replicated Data Types , 2011, SSS.

[7]  Matthias Ressel,et al.  An integrating, transformation-oriented approach to concurrency control and undo in group editors , 1996, CSCW '96.

[8]  Amr El Abbadi,et al.  Maintaining availability in partitioned replicated databases , 1987, ACM Trans. Database Syst..

[9]  Hans-Arno Jacobsen,et al.  PNUTS: Yahoo!'s hosted data serving platform , 2008, Proc. VLDB Endow..

[10]  Doug Terry,et al.  Replicated data consistency explained through baseball , 2013, CACM.

[11]  Rui Li,et al.  An Admissibility-Based Operational Transformation Framework for Collaborative Editing Systems , 2009, Computer Supported Cooperative Work (CSCW).

[12]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[13]  Gordon V. Cormack A calculus for concurrent update (abstract) , 1995, PODC '95.

[14]  Rui Li,et al.  Preserving operation effects relation in group editors , 2004, CSCW.

[15]  Franck Petit,et al.  Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems , 2011 .

[16]  Keith Marzullo,et al.  Directional Gossip: Gossip in a Wide Area Network , 1999, EDCC.

[17]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[18]  Flaviu Cristian,et al.  An efficient, fault-tolerant protocol for replicated data management , 1985, PODS '85.

[19]  Hala Skaf-Molli,et al.  Using the transformational approach to build a safe and generic data synchronizer , 2003, GROUP.

[20]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[21]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[22]  Yanchun Zhang,et al.  Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems , 1998, TCHI.

[23]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.