Logoot-Undo: Distributed Collaborative Editing System on P2P Networks

Peer-to-peer systems provide scalable content distribution for cheap and resist to censorship attempts. However, P2P networks mainly distribute immutable content and provide poor support for highly dynamic content such as produced by collaborative systems. A new class of algorithms called CRDT (Commutative Replicated Data Type), which ensures consistency of highly dynamic content on P2P networks, is emerging. However, if existing CRDT algorithms support the "edit anywhere, anytime” feature, they do not support the "undo anywhere, anytime” feature. In this paper, we present the Logoot-Undo CRDT algorithm, which integrates the "undo anywhere, anytime” feature. We compare the performance of the proposed algorithm with related algorithms and measure the impact of the undo feature on the global performance of the algorithm. We prove that the cost of the undo feature remains low on a corpus of data extracted from Wikipedia.

[1]  Atul Prakash,et al.  A framework for undoing actions in collaborative systems , 1994, TCHI.

[2]  Hala Skaf-Molli,et al.  Multi-synchronous Collaborative Semantic Wikis , 2009, WISE.

[3]  Eric A. Brewer,et al.  Dtwiki: a disconnection and intermittency tolerant wiki , 2008, WWW.

[4]  Nicolas Vidot,et al.  Copies convergence in a distributed real-time collaborative environment , 2000, CSCW '00.

[5]  Joonwon Lee,et al.  How to Design Optimistic Operations for Peer-to-Peer Replication , 2006, JCIS.

[6]  B. Neuman Scale in Distributed Systems , 1994 .

[7]  Jean Ferrié,et al.  Asynchronous reconciliation based on operational transformation for P2P collaborative environments , 2007, 2007 International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom 2007).

[8]  Pascal Molli,et al.  UniWiki: A Reliable and Scalable Peer-to-Peer System for Distributing Wiki Applications , 2009 .

[9]  Gregory D. Abowd,et al.  Giving Undo Attention , 1992, Interact. Comput..

[10]  Joseph C. Morris,et al.  DistriWiki:: a distributed peer-to-peer wiki network , 2007, WikiSym '07.

[11]  Diomidis Spinellis,et al.  The collaborative organization of knowledge , 2008, CACM.

[12]  Pascal Molli,et al.  An Undo Framework for P2P Collaborative Editing , 2008, CollaborateCom.

[13]  Pascal Molli,et al.  Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems.

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

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

[16]  Hala Skaf-Molli,et al.  Undo in Peer-to-peer Semantic Wikis , 2009, SemWiki.

[17]  Hala Skaf-Molli,et al.  Peer-to-peer Semantic Wikis , 2008 .

[18]  Chengzheng Sun Optional and Responsive Fine-Grain Locking in Internet-Based Collaborative Systems , 2002, IEEE Trans. Parallel Distributed Syst..

[19]  Chengzheng Sun,et al.  Undo any operation at any time in group editors , 2000, CSCW '00.

[20]  Marc Shapiro,et al.  Designing a commutative replicated data type , 2007, ArXiv.

[21]  Diomidis Spinellis,et al.  A survey of peer-to-peer content distribution technologies , 2004, CSUR.

[22]  Joan Manuel Marquès,et al.  A Commutative Replicated Data Type for Cooperative Editing , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems.

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

[24]  Pascal Molli,et al.  Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems , 2006, 2006 International Conference on Collaborative Computing: Networking, Applications and Worksharing.

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

[26]  Anne-Marie Kermarrec,et al.  Lightweight probabilistic broadcast , 2003, TOCS.

[27]  David Sun,et al.  Operation context and context-based operational transformation , 2006, CSCW '06.

[28]  Mukesh Singhal,et al.  An Adaptive Causal Ordering Algorithm Suited to Mobile Computing Environments , 1997, J. Parallel Distributed Comput..

[29]  Pascal Molli,et al.  Data consistency for P2P collaborative editing , 2006, CSCW '06.

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

[31]  Nicolas Vidot,et al.  Concurrent Undo Operations in Collaborative Environments Using Operational Transformation , 2004, CoopIS/DOA/ODBASE.

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

[33]  Ajay D. Kshemkalyani,et al.  Necessary and sufficient conditions on information for causal message ordering and their optimal implementation , 1998, Distributed Computing.

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

[35]  Pascal Molli,et al.  Wooki: A P2P Wiki-Based Collaborative Writing Tool , 2007, WISE.

[36]  Jean Ferrié,et al.  Serialization of concurrent operations in a distributed collaborative environment , 1997, GROUP.

[37]  Mustaque Ahamad,et al.  Plausible clocks: constant size logical clocks for distributed systems , 1996, Distributed Computing.