The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.08 - August (2010 vol.21)
pp: 1162-1174
Stéphane Weiss , Nancy-Université, LORIA, Vandoeuvre-lès-Nancy
Pascal Urso , Nancy-Université, LORIA, Vandoeuvre-lès-Nancy
Pascal Molli , Nancy-Université, LORIA, Vandoeuvre-lès-Nancy
ABSTRACT
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.
INDEX TERMS
Collaborative editing, P2P, group undo, scalability, optimistic replication, CRDT.
CITATION
Stéphane Weiss, Pascal Urso, Pascal Molli, "Logoot-Undo: Distributed Collaborative Editing System on P2P Networks", IEEE Transactions on Parallel & Distributed Systems, vol.21, no. 8, pp. 1162-1174, August 2010, doi:10.1109/TPDS.2009.173
REFERENCES
[1] S. Androutsellis-Theotokis and D. Spinellis, "A Survey of Peer-to-Peer Content Distribution Technologies," ACM Computing Surveys, vol. 36, no. 4, pp. 335-371, 2004.
[2] N. Preguiça, J.M. Marquès, M. Shapiro, and M. Letia, "A Commutative Replicated Data Type for Cooperative Editing," Proc. IEEE Int'l Conf. Distributed Computing Systems (ICDCS), June 2009.
[3] G. Oster, P. Urso, P. Molli, and A. Imine, "Data Consistency for P2P Collaborative Editing," Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '06), pp. 259-267, Nov. 2006.
[4] S. Weiss, P. Urso, and P. Molli, "Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks," Proc. IEEE Int'l Conf. Distributed Computing Systems (ICDCS), June 2009.
[5] Y. Saito and M. Shapiro, "Optimistic Replication," ACM Computing Surveys, vol. 37, no. 1, pp. 42-81, 2005.
[6] C. Sun, X. Jia, Y. Zhang, Y. Yang, and D. Chen, "Achieving Convergence, Causality Preservation, and Intention Preservation in Real-Time Cooperative Editing Systems," ACM Trans. Computer-Human Interaction (TOCHI), vol. 5, no. 1, pp. 63-108, Mar. 1998.
[7] M. Shapiro and N. Preguiça, "Designing a Commutative Replicated Data Type," INRIA, Rapport de recherche INRIA RR-6320, http://hal.inria.fr/inria-00177693fr/, Oct. 2007.
[8] H.-G. Roh, J. Kim, and J. Lee, "How to Design Optimistic Operations for Peer-to-Peer Replication," Proc. Joint Conf. Information Sciences (JCIS), 2006.
[9] C. Sun, "Undo Any Operation at Any Time in Group Editors," Proc. Conf. Computer Supported Cooperative Work (CSCW), pp. 191-200, 2000.
[10] D. Spinellis and P. Louridas, "The Collaborative Organization of Knowledge," Comm. ACM, vol. 51, no. 8, pp. 68-73, 2008.
[11] G.D. Abowd and A.J. Dix, "Giving Undo Attention," Interacting with Computers, vol. 4, no. 3, pp. 317-342, 1992.
[12] A. Prakash and M.J. Knister, "A Framework for Undoing Actions in Collaborative Systems," ACM Trans. Computer-Human Interaction, vol. 1, no. 4, pp. 295-330, 1994.
[13] M. Ressel, D. Nitsche-Ruhland, and R. Gunzenhäuser, "An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors," Proc. Conf. Computer Supported Cooperative Work (CSCW), pp. 288-297, 1996.
[14] J. Ferrié, N. Vidot, and M. Cart, "Concurrent Undo Operations in Collaborative Environments Using Operational Transformation," Proc. Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE—OTM Confederated Int'l Conf., pp. 155-173, Nov. 2004.
[15] C. Sun, "Undo as Concurrent Inverse in Group Editors," ACM Trans. Computer-Human Interaction (TOCHI), vol. 9, no. 4, pp. 309-361, Dec. 2002.
[16] H. Skaf-Molli, C. Rahhal, and P. Molli, "Peer-to-Peer Semantic Wikis," Proc. 20th Int'l Conf. Database and Expert Systems Applications (DEXA '09), Sept. 2009.
[17] C. Rahhal, H. Skaf-Molli, P. Molli, and S. Weiss, "Multi-Synchronous Collaborative Semantic Wikis," Proc. 10th Int'l Conf. Web Information Systems Eng. (WISE '09), Oct. 2009.
[18] G. Oster, P. Molli, S. Dumitriu, and R. Mondejar, "UniWiki: A Reliable and Scalable Peer-to-Peer System for Distributing Wiki Applications," Proc. Collaborative Peer-to-Peer Systems (COPS '09), p. 21, June 2009.
[19] C. Sun, "Optional and Responsive Fine-Grain Locking in Internet-Based Collaborative Systems," IEEE Trans. Parallel and Distributed Systems, vol. 13, no. 9, pp. 994-1008, Sept. 2002.
[20] A.D. Kshemkalyani and M. Singhal, "Necessary and Sufficient Conditions on Information for Causal Message Ordering and Their Optimal Implementation," Distributed Computing, vol. 11, no. 2, pp. 91-111, 1998.
[21] L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System," Comm. ACM, vol. 21, no. 7, pp. 558-565, 1978.
[22] P.R. Johnson and R.H. Thomas, "RFC 677: Maintenance of Duplicate Databases," http://www.faqs.org/rfcsrfc677.html, Jan. 1975.
[23] R. Li and D. Li, "A New Operational Transformation Framework for Real-Time Group Editors," IEEE Trans. Parallel and Distributed Systems, vol. 18, no. 3, pp. 307-319, Mar. 2007.
[24] B.C. Neuman, "Scale in Distributed Systems," Readings in Distributed Computing Systems, pp. 463-489, IEEE CS Press, 1994.
[25] C.A. Ellis and S.J. Gibbs, "Concurrency Control in Groupware Systems," Proc. ACM SIGMOD, J. Clifford, B.G. Lindsay, and D. Maier, eds., pp. 399-407, 1989.
[26] M. Suleiman, M. Cart, and J. Ferrié, "Serialization of Concurrent Operations in a Distributed Collaborative Environment," Proc. Int'l ACM SIGGROUP Conf. Supporting Group Work, pp. 435-445, 1997.
[27] N. Vidot, M. Cart, J. Ferrié, and M. Suleiman, "Copies Convergence in a Distributed Real-Time Collaborative Environment," Proc. Conf. Computer Supported Cooperative Work (CSCW), pp. 171-180, 2000.
[28] D. Sun and C. Sun, "Operation Context and Context-Based Operational Transformation," Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '06), pp. 279-288, Nov. 2006.
[29] M. Cart and J. Ferrié, "Asynchronous Reconciliation Based on Operational Transformation for P2P Collaborative Environments," Proc. Int'l Conf. Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom), 2007.
[30] S. Weiss, P. Urso, and P. Molli, "An Undo Framework for P2P Collaborative Editing," Proc. Int'l Conf. Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom), Nov. 2008.
[31] G. Oster, P. Urso, P. Molli, and A. Imine, "Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems," Proc. Second Int'l Conf. Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom '06), Nov. 2006.
[32] S. Weiss, P. Urso, and P. Molli, "Wooki: A P2P Wiki-Based Collaborative Writing Tool," Proc. Web Information Systems Eng., Dec. 2007.
[33] C. Rahhal, S. Weiss, H. Skaf-Molli, P. Urso, and P. Molli, "Undo in Peer-to-Peer Semantic Wikis," Proc. Fourth Workshop Semantic Wikis: The Semantic Wiki Web at the Sixth Ann. European Semantic Web Conf. (ESWC), June 2009.
[34] B. Du and E.A. Brewer, "Dtwiki: A Disconnection and Intermittency Tolerant Wiki," Proc. Int'l World Wide Web Conf. (WWW), pp. 945-952, 2008.
[35] J.C. Morris, "Distriwiki: A Distributed Peer-to-Peer Wiki Network," Proc. Int'l Symp. Wikis, pp. 69-74, 2007.
[36] P.T. Eugster, R. Guerraoui, S.B. Handurukande, P. Kouznetsov, and A.-M. Kermarrec, "Lightweight Probabilistic Broadcast," ACM Trans. Computer Systems, vol. 21, no. 4, pp. 341-374, 2003.
[37] R. Prakash, M. Raynal, and M. Singhal, "An Adaptive Causal Ordering Algorithm Suited to Mobile Computing Environments," J. Parallel and Distributed Computing, vol. 41, no. 2, pp. 190-204, 1997.
[38] F.J. Torres-Rojas and M. Ahamad, "Plausible Clocks: Constant Size Logical Clocks for Distributed Systems," Distributed Computing, vol. 12, no. 4, pp. 179-195, 1999.
[39] E.W. Myers, "An o(nd) Difference Algorithm and its Variations," Algorithmica, vol. 1, no. 2, pp. 251-266, 1986.
18 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool