Abstract
Real-time group editors allow distributed users to edit a shared document at the same time over a computer network. Operational transformation (OT) is a well accepted consistency control method in state-of-the-art group editors. Significant progress has been made in this field but there are still many open issues and research opportunities. In particular, established theoretic OT frameworks all require that OT algorithms be able to converge along arbitrary transformation paths. This property is desirable because group editors that implement such algorithms will not rely on a central component for achieving convergence. However, this has not been achieved in any published work to our knowledge. We analyze the root of this problem and propose a novel state difference based transformation (SDT) approach which ensures convergence in the presence of arbitrary transformation paths. Our approach is based on a novel consistency model that is more explicitly formulated than previously established models for proving correctness. SDT is the first and the only OT algorithm proved to converge in peer-to-peer group editors.
Similar content being viewed by others
References
Baecker, R.M., D. Nastos, I.R. Posner, and K.L. Mawby, (1993): The User-Centered Iterative Design of Collaborative Writing Software. In Proceedings of the InterCHI’93 Conference on Human Factors in Computing Systems, pp. 309–405
Bellini P., Nesi P., and Spinu M.B. (2002). Cooperative Visual Manipulation of Music Notation. ACM Transactions on Computer-Human Interaction 9(3 Sept.):194–237
Bentley, R. and P. Dourish (1995a): Medium Versus Mechanism: Supporting Collaboration through Customisation. In Proceedings of the European Conference on Computer-Supported Cooperative Work (ECSCW’95). Stockholm, Sweden
Bentley, R. and P. Dourish (1995b): Medium Versus Mechanism: Supporting Collaboration through Customization. In it ECSCW’95 Proceedings
Davis, A.H., C. Sun and J. Lu (2002): Generalizing Operational Transformation to the Standard General Markup Language. In ACM CSCW’02, pp. 58–67
Dewan P., Choudhary R., and Shen H. (1994). An Editing-based Characterization of the Design Space of Collaborative Applications. Journal of Organizational Computing 4(3):219–240
Dourish, P. (1996): Consistency Guarantees: Exploiting Application Semantics for Consistency Management in a Collaboration Toolkit. In ACM CSCW’96 Proceedings. Cambridge, MA, pp. 268–277
Edwards, W.K. (1996): Policies and Roles in Collaborative Applications. In ACM CSCW’96 Proceedings, pp. 11–20
Ellis, C.A. and S.J. Gibbs (1989): Concurrency Control in Groupware Systems. In Proceedings of the ACM SIGMOD’89 Conference on Management of Data. Portland Oregon, pp. 399–407
Ellis C.A., Gibbs S.J., and Rein G.L. (1991). Groupware: Some Issues and Experiences. Communications of the ACM 34 (1 Jan.):38–58
Greenberg, S. and D. Marwood (1994): Real-time Groupware as a Distributed System: Concurrency Control and its Effect on the Interface. In ACM CSCW’94 Proceedings. Chapel Hill, NC, pp. 207–217
Grudin J. (1994). Groupware and Social Dynamics: Eight Challenges for Developers Communications of the ACM 37 (1):92–105
Gutwin C. and Greenberg S. (2002). A Descriptive Framework of Workspace Awareness for Realtime Groupware. Computer Supported Cooperative Work 11(1-2):411–446
Hymes, C.M. and G.M. Olson (1992): Unblocking Brainstorming through the Use of Simple Group Editor. In ACM CSCW’92 Proceedings, pp. 99–106
Imine, A., P. Molli, G. Oster and M. Rusinowitch (2003): Proving Correctness of Transformation Functions in Real-time Groupware. In Proceedings of the European Conference on Computer Supported Cooperative Work (ECSCW’03)
Imine, A., P. Molli, G. Oster and M. Rusinowitch (2004): Achieving Convergence with Operational Transformation in Distributed Groupware Systems. Technical Report 5188 (May), INRIA
Knister M.J. and Prakash A. (1994). A Framework for Undoing Actions in Collaborative Systems. ACM Transactions on Computer-Human Interaction 1(4 Dec.): 295–330
Li, D. and R. Li (2002): Transparent Sharing and Interoperation of Heterogeneous Single-user Applications. In Proceedings of the ACM CSCW’02 Conference on Computer-Supported Cooperative Work, pp. 246–255
Li, D. and R. Li (2005a): An Operational Transformation Algorithm and Performance Evaluation. Computer-Supported Cooperative Work. Accepted
Li, R. and D. Li (2005b): A Landmark-based Transformation Approach to Concurrency Control in Group Editors. In Proceedings of the ACM GROUP’05 Conference on Supporting Group Work. Sanibel Island, FL, pp. 284–293
Li, R. and D. Li (2005c): A New Operational Transformation Framework for Real-time Group Editors. IEEE Transactions on Parallel and Distributed Systems. Accepted
Li, R., D. Li and C. Sun (2004): A Time Interval based Consistency Control Algorithm for Interactive Groupware Applications. In IEEE International Conference on Parallel and Distributed Systems (ICPADS), pp. 429–436
Li, D. and J. Patrao (2001): Demonstrational Customization of a Shared Whiteboard to Support User-Defined Semantic Relationships among Objects. In Proceedings of the ACM SIGGROUP’01 Conference on Supporting Group Work. Boulder, Colorado, pp. 97–106
Lin, K., D. Chen, C. Sun and G. Dromey (2005): Maintaining Constraints in Collaborative Graphic Systems: The CoGSE Approach. In Proceedings of the European Conference on Computer-Supported Cooperative Work
Neuwirth, C.M., D.S. Kaufer, R. Chandhok and J.H. Morris (1994): Computer Support for Distributed Collaborative Writing: Defining Parameters of Interaction. In Proceedings of the ACM Conference on Computer Supported Cooperative Work, Chapel Hill, NC, pp. 145–152
Nichols, D.A., P. Curtis, M. Dixon and J. Lamping (1995): High-latency, Low-bandwidth Windowing in the Jupiter Collaboration System. In ACM UIST’95 Proceedings
Noel S. and Robert J.-M. (2004). Empirical Study on Collaborative Writing: What do Co-authors do, Use, and Like. Computer Supported Cooperative Work 13:63–89
Oster, G., P. Urso, P. Molli and A. Imine (2005): Real Time Group Editors without Operational Transformation. Technical Report 5580 (May), INRIA
Ressel, M., D. Nitsche-Ruhland and R. Gunzenhäuser (1996): An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors. In Proceedings of the ACM CSCW’96 Conference on Computer-Supported Cooperative Work, pp. 288–297
Shen, H. and C. Sun (2002): Flexible Notification for Collaborative Systems. In Proceedings of the ACM CSCW’02 Conference on Computer-Supported Cooperative Work, pp. 77–86
Shipman F. and Marshall C. (1999). Formality Considered Harmful: Experiences, Emerging Themes, and Directions on the Use of Formal Representation in Interactive Systems. Computer Supported Cooperative Work 8(4):333–352
Skaf-Molli, H., P. Molli and G. Oster (2003): Semantic Consistency for Collaborative Systems. In The 5th International Workshop on Collaborative Editing Systems, hosted by the ECSCW’03 Conference. Helsinki
Suleiman, M., M. Cart and J. Ferrié (1997): Serialization of Concurrent Operations in a Distributed Collaborative Environment. In ACM GROUP’97 Proceedings. Phoenix, AZ
Suleiman, M., M. Cart and J. Ferrié (1998): Concurrent Operations in a Distributed and Mobile Collaborative Environment. In Proceedings of the IEEE ICDE’98 International Conference on Data Engineering, pp. 36–45
Sun C. (2002a). Optional and Responsive Fine-grain Locking in Internet-based Collaborative Systems. IEEE Transactions on Parallel and Distributed Systems 13(9 Sept.): 994–1008
Sun C. (2002b). Undo as Concurrent Inverse in Group Editors. ACM Transactions on Computer-Human Interaction 9(4 Dec.): 309–361
Sun, C. (2004): False-Tie Puzzle Solved in Reduce and Coword Group Editors. Personal Communication
Sun C. and Chen D. (2002). Consistency Maintenance in Real-Time Collaborative Graphics Editing Systems. ACM Transactions on Computer-Human Interaction 9(1 March):1–41
Sun, C. and C. Ellis (1998): Operational Transformation in Real-time Group Editors: Issues, Algorithms, and Achievements. In Proceedings of the ACM CSCW’98 Conference on Computer-Supported Cooperative Work, pp. 59–68
Sun C., Jia X., Zhang Y., Yang Y., and Chen D. (1998). Achieving Convergence, Causality-Preservation, and Intention-Preservation in Real-Time Cooperative Editing Systems. ACM Transactions on Computer-Human Interaction 5(March):63–108
Sun, D., S. Xia, C. Sun and D. Chen (2004): Operational Transformation for Collaborative Word Processing. In Proceedings of ACM CSCW’04 Conference on Computer-Supported Cooperative Work, pp. 162–171
Vidot, N., M. Cart, J. Ferrie and M. Suleiman (2000): Copies Convergence in a Distributed Realtime Collaborative Environment. In Proceedings of ACM CSCW’00 Conference on Computer-Supported Cooperative Work, pp. 171–180
Xia, S. D. Sun, C. Sun, D. Chen and H. Shen (2004): Leveraging Single-user Applications for Multi-user Collaboration: The CoWord Approach. In Proceedings of ACM CSCW’04 Conference on Computer-Supported Cooperative Work, pp. 437–446
Acknowledgments
We thank the anonymous expert referees for their valuable comments which helped improve the presentation of this paper. Especially we thank Chengzheng Sun for his valuable comments and discussions on an early draft. We are profoundly grateful to the Associate Editor, Prasun Dewan, for coordinating the review process. This research was supported in part by the National Science Foundation under CAREER award IIS-0133871.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Li, D., Li, R. An Approach to Ensuring Consistency in Peer-to-Peer Real-Time Group Editors. Comput Supported Coop Work 17, 553–611 (2008). https://doi.org/10.1007/s10606-005-9009-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10606-005-9009-5