Context-Based Operational Transformation in Distributed Collaborative Editing Systems

Operational Transformation (OT) is a consistency maintenance technique for collaborative editing systems-a special class of distributed applications for supporting human-computer-human interaction and collaboration over communication networks. The theory of causality has been the foundation of all prior OT systems, but it is inadequate to meet essential OT requirements in functionality and correctness. In this paper, we analyze the limitation of the causality theory, propose a novel theory of operation context as the new foundation for OT systems, and present a new OT algorithm-Context-based OT (COT)-which provides uniform and efficient solutions to both consistency maintenance and undo problems. The COT algorithm has been implemented and used for supporting a range of novel collaborative applications. The context theory and context vectors are potentially applicable to other distributed computing applications.

[1]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

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

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

[4]  Chengzheng Sun,et al.  Operational transformation for collaborative word processing , 2004, CSCW.

[5]  Rui Li,et al.  A performance study of group editing algorithms , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

[6]  Takeo Igarashi,et al.  A temporal model for multi-level undo and redo , 2000, UIST '00.

[7]  Mukesh Singhal,et al.  Logical Time: Capturing Causality in Distributed Systems , 1996, Computer.

[8]  David Sun,et al.  Leveraging single-user applications for multi-user collaboration: the coword approach , 2004, CSCW.

[9]  Matthias Ressel,et al.  Reducing the problems of group undo , 1999, GROUP.

[10]  Haifeng Shen,et al.  Flexible notification for collaborative systems , 2002, CSCW '02.

[11]  James Begole,et al.  Flexible collaboration transparency: supporting worker independence in replicated application-sharing systems , 1999, TCHI.

[12]  Junwei Lu,et al.  Generalizing operational transformation to the standard general markup language , 2002, CSCW '02.

[13]  Fei Liu,et al.  CoMaya: incorporating advanced collaboration capabilities into 3d digital media design tools , 2008, CSCW.

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

[15]  Gordon V. Cormack A calculus for concurrent update , 1995 .

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

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

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

[19]  Thomas Berlage,et al.  A selective undo mechanism for graphical user interfaces based on command objects , 1994, TCHI.

[20]  Clayton H. Lewis,et al.  Concepts and implications of undo for interactive recovery , 1985, ACM '85.

[21]  Michaël Rusinowitch,et al.  Proving Correctness of Transformation Functions in Real-Time Groupware , 2003, ECSCW.

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

[23]  Rui Li,et al.  Transparent sharing and interoperation of heterogeneous single-user applications , 2002, CSCW '02.

[24]  Jiang-Ming Yang,et al.  Consistency maintenance based on the mark & retrace technique in groupware systems , 2005, GROUP.

[25]  Wentong Cai,et al.  Transparent adaptation of single-user applications for multi-user real-time collaboration , 2006, TCHI.

[26]  Piyush Maheshwari,et al.  An efficient distributed single-phase protocol for total and causal ordering of group operations , 1996, Proceedings of 3rd International Conference on High Performance Computing (HiPC).

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

[28]  Stefano Levialdi,et al.  The cube – extending systems for undo , 2001 .

[29]  Wentong Cai,et al.  Capturing causality by compressed vector clock in real-time group editors , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[30]  Prasun Dewan,et al.  A General Multi-User Undo/Redo Model , 1995, ECSCW.

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

[32]  Rachid Guerraoui,et al.  On the consistency problem in mobile distributed computing , 2002, POMC '02.

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

[34]  Claudia-Lavinia Ignat,et al.  Customizable Collaborative Editor Relying on treeOPT Algorithm , 2003, ECSCW.

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

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

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

[38]  Rui Li,et al.  A time interval based consistency control algorithm for interactive groupware applications , 2004, Proceedings. Tenth International Conference on Parallel and Distributed Systems, 2004. ICPADS 2004..