An Optimized String Transformation Algorithm for Real-Time Group Editors

Operational transformation (OT) is an optimistic consistency control method for supporting collaboration over high-latency networks. The technique lies in the heart of many recent products such as Google Wave. It replicates the shared data and allows the users to concurrently modify any part of a shared document in a nonblocking manner. Most of the published results only support two characterwise primitives and take $O(|H|^2)$ or even longer time to integrate one remote characterwise operation, where $H$ is the operation history. However, as the history grows long and operations are integrated in batches, the high complexity can make an algorithm easily exceed the 100 ms responsiveness threshold that is critical for interactive applications. This paper proposes a new OT algorithm that supports string primitives and reduces the time complexity to $O(|H|)$. The result can be used in a range of parallel and distributed applications that can be abstracted as realtime group editors.

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

[2]  David Sun,et al.  Context-Based Operational Transformation in Distributed Collaborative Editing Systems , 2009, IEEE Transactions on Parallel and Distributed Systems.

[3]  Rui Li,et al.  Commutativity-based concurrency control in groupware , 2005, 2005 International Conference on Collaborative Computing: Networking, Applications and Worksharing.

[4]  Jean Ferrié,et al.  Concurrent operations in a distributed and mobile collaborative environment , 1998, Proceedings 14th International Conference on Data Engineering.

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

[6]  Ben Shneiderman,et al.  Response time and display rate in human performance with computers , 1984, CSUR.

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

[8]  Ning Gu,et al.  ABTS: A transformation-based consistency control algorithm for wide-area collaborative applications , 2009, 2009 5th International Conference on Collaborative Computing: Networking, Applications and Worksharing.

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

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

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

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

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

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

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

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

[17]  Chengzheng Sun,et al.  Operation Propagation in Real-Time Group Editors , 2000, IEEE Multim..