Simulation-based architectural design and implementation of a real-time collaborative editing system

Real-time collaborative editing systems allow multiple users to synchronously edit a shared document in a geographically-distributed environment. In order to maintain high responsiveness, a distributed copy model is used wherein each user maintains a local copy of the shared document; as a result, techniques such as Operation Transformation (OT) are employed to ensure consistency among the copies; but OT is costly with regard to computation and communication. We have previously developed a distributed architecture and associated algorithms that dynamically lock sections of a document such that users are able to retain a high level of responsiveness within the system while reducing the computation and communication costs. However, a key limitation has been locking out all contending users except one for the smallest indivisible subsection, resulting in scenarios with significant lock request failures. This study expands our work by examining how OT may be integrated into our dynamic locking algorithms such that all users are always able to edit their copy of the document while avoiding costly global messaging. We present an overview of our updated architecture and algorithms, show how they have been simulated using the DEVSJAVA package at the client and server, and then demonstrate the efficiencies achieved by our approach relative to existing OT algorithms. In scenarios featuring clustered editing, large document, and a large number of users, our system incurs up to 80% less communication cost than existing pure OT systems. Additionally, we discuss how our simulation design process has allowed us to first simulate both client and server and then begin progress to a functional implementation of both client and server technologies - better achieving an efficient implementation of our algorithms and ideas based upon our empirical simulation results.

[1]  Sushil K. Prasad,et al.  An Efficient Synchronous Collaborative Editing System Employing Dynamic Locking of Varying Granularity in Generalized Document Trees , 2006, 2006 International Conference on Collaborative Computing: Networking, Applications and Worksharing.

[2]  Xiaolin Hu,et al.  Model continuity in the design of dynamic distributed real-time systems , 2005, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[3]  Jon A Preston,et al.  A Web-Service-based Open-Systems Architecture for Achieving Heterogeneity in Synchronous Collaborative Editing Systems , 2006 .

[4]  Sushil K. Prasad,et al.  A Web-Service-based Open-Systems Architecture for Achieving Heterogeneity in Synchronous Collaborative Editing System , 2008 .

[5]  Rui Li,et al.  A landmark-based transformation approach to concurrency control in group editors , 2005, GROUP '05.

[6]  Moira C. Norrie,et al.  Handling Conflicts through Multi-level Editing in Peer-to-peer Environments , 2006 .

[7]  Yanchun Zhang,et al.  A generic operation transformation scheme for consistency maintenance in real-time cooperative editing systems , 1997, GROUP '97.

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

[9]  Rok Sosic,et al.  Optimal locking integrated with operational transformation in distributed real-time group editors , 1999, PODC '99.

[10]  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.

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

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