Computer Supported Cooperative Work (CSCW)

, Volume 17, Issue 5–6, pp 553–611 | Cite as

An Approach to Ensuring Consistency in Peer-to-Peer Real-Time Group Editors

Article

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.

Keywords

computer-supported cooperative work consistency maintenance group editing groupware operational transformation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

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.

References

  1. 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–405Google Scholar
  2. 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–237CrossRefGoogle Scholar
  3. 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, SwedenGoogle Scholar
  4. Bentley, R. and P. Dourish (1995b): Medium Versus Mechanism: Supporting Collaboration through Customization. In it ECSCW’95 ProceedingsGoogle Scholar
  5. Davis, A.H., C. Sun and J. Lu (2002): Generalizing Operational Transformation to the Standard General Markup Language. In ACM CSCW’02, pp. 58–67Google Scholar
  6. 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–240CrossRefGoogle Scholar
  7. Dourish, P. (1996): Consistency Guarantees: Exploiting Application Semantics for Consistency Management in a Collaboration Toolkit. In ACM CSCW’96 Proceedings. Cambridge, MA, pp. 268–277Google Scholar
  8. Edwards, W.K. (1996): Policies and Roles in Collaborative Applications. In ACM CSCW’96 Proceedings, pp. 11–20Google Scholar
  9. 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–407Google Scholar
  10. Ellis C.A., Gibbs S.J., and Rein G.L. (1991). Groupware: Some Issues and Experiences. Communications of the ACM 34 (1 Jan.):38–58CrossRefGoogle Scholar
  11. 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–217Google Scholar
  12. Grudin J. (1994). Groupware and Social Dynamics: Eight Challenges for Developers Communications of the ACM 37 (1):92–105CrossRefGoogle Scholar
  13. Gutwin C. and Greenberg S. (2002). A Descriptive Framework of Workspace Awareness for Realtime Groupware. Computer Supported Cooperative Work 11(1-2):411–446CrossRefGoogle Scholar
  14. Hymes, C.M. and G.M. Olson (1992): Unblocking Brainstorming through the Use of Simple Group Editor. In ACM CSCW’92 Proceedings, pp. 99–106Google Scholar
  15. 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)Google Scholar
  16. Imine, A., P. Molli, G. Oster and M. Rusinowitch (2004): Achieving Convergence with Operational Transformation in Distributed Groupware Systems. Technical Report 5188 (May), INRIAGoogle Scholar
  17. 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–330CrossRefGoogle Scholar
  18. 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–255Google Scholar
  19. Li, D. and R. Li (2005a): An Operational Transformation Algorithm and Performance Evaluation. Computer-Supported Cooperative Work. AcceptedGoogle Scholar
  20. 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–293Google Scholar
  21. Li, R. and D. Li (2005c): A New Operational Transformation Framework for Real-time Group Editors. IEEE Transactions on Parallel and Distributed Systems. AcceptedGoogle Scholar
  22. 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–436Google Scholar
  23. 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–106Google Scholar
  24. 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 Google Scholar
  25. 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–152Google Scholar
  26. 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 Google Scholar
  27. 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–89CrossRefGoogle Scholar
  28. Oster, G., P. Urso, P. Molli and A. Imine (2005): Real Time Group Editors without Operational Transformation. Technical Report 5580 (May), INRIAGoogle Scholar
  29. 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–297Google Scholar
  30. 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–86Google Scholar
  31. 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–352CrossRefGoogle Scholar
  32. 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. HelsinkiGoogle Scholar
  33. Suleiman, M., M. Cart and J. Ferrié (1997): Serialization of Concurrent Operations in a Distributed Collaborative Environment. In ACM GROUP’97 Proceedings. Phoenix, AZGoogle Scholar
  34. 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–45Google Scholar
  35. 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–1008CrossRefGoogle Scholar
  36. Sun C. (2002b). Undo as Concurrent Inverse in Group Editors. ACM Transactions on Computer-Human Interaction 9(4 Dec.): 309–361CrossRefGoogle Scholar
  37. Sun, C. (2004): False-Tie Puzzle Solved in Reduce and Coword Group Editors. Personal CommunicationGoogle Scholar
  38. 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–41CrossRefMathSciNetGoogle Scholar
  39. 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–68Google Scholar
  40. 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–108CrossRefGoogle Scholar
  41. 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–171Google Scholar
  42. 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–180Google Scholar
  43. 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–446Google Scholar

Copyright information

© Springer Science+Business Media, Inc. 2006

Authors and Affiliations

  1. 1.Department of Computer ScienceTexas A&M UniversityCollege StationUSA

Personalised recommendations