The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.10 - October (2009 vol.20)
pp: 1454-1470
David Sun , University of California, Berkeley, Berkeley
Chengzheng Sun , Nanyang Technological University, Singapore
ABSTRACT
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.
INDEX TERMS
Operational transformation, operation context, causality, consistency maintenance, distributed applications.
CITATION
David Sun, Chengzheng Sun, "Context-Based Operational Transformation in Distributed Collaborative Editing Systems", IEEE Transactions on Parallel & Distributed Systems, vol.20, no. 10, pp. 1454-1470, October 2009, doi:10.1109/TPDS.2008.240
REFERENCES
[1] D. Sun and C. Sun, “Operation Context and Context-Based Operational Transformation,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '06), pp. 279-288, Nov. 2006.
[2] C.A. Ellis and S.J. Gibbs, “Concurrency Control in Groupware Systems,” Proc. ACM SIGMOD '89, pp. 399-407, May 1989.
[3] A. Prakash and M. Knister, “A Framework for Undoing Actions in Collaborative Systems,” ACM Trans. Computer-Human Interaction, vol. 4, no. 1, pp. 295-330, Dec. 1994.
[4] M. Ressel, D. Nitsche-Ruhland, and R. Gunzenhäuser, “An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '96), pp. 288-297, Nov. 1996.
[5] M. Ressel and R. Gunzenhäuser, “Reducing the Problems of Group Undo,” Proc. ACM Conf. Supporting Group Work (GROUP '99), pp. 131-139, Nov. 1999.
[6] C. Sun, “Undo as Concurrent Inverse in Group Editors,” ACM Trans. Computer-Human Interaction, vol. 9, no. 4, pp. 309-361, Dec. 2002.
[7] H. Shen and C. Sun, “A Flexible Notification Framework for Collaborative Systems,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '02), pp. 77-86, Nov. 2002.
[8] C. Sun, “Optional and Responsive Fine-Grain Locking in Internet-Based Collaborative Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 13, no. 9, pp. 994-1008, Sept. 2002.
[9] A. Davis, C. Sun, and J. Lu, “Generalizing Operational Transformation to the Standard General Markup Language,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '02), pp. 58-67, Nov. 2002.
[10] C. Ignat and M. Norrie, “Customizable Collaborative Editor Relying on treeOPT Algorithm,” Proc. Eighth European Conf. Computer-Supported Cooperative Work (ECSCW '03), pp. 315-324, Sept. 2003.
[11] C. Sun, Q. Xia, D. Sun, D. Chen, H. Shen, and W. Cai, “Transparent Adaptation of Single-User Applications for Multi-User Real-Time Collaboration,” ACM Trans. Computer-Human Interaction, vol. 13, no. 4, pp. 531-582, Dec. 2006.
[12] S. Xia, D. Sun, C. Sun, D. Chen, and H. Shen, “Leveraging Single-User Applications for Multi-User Collaboration: The CoWord Approach,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '04), pp. 162-171, Nov. 2004.
[13] D. Sun, S. Xia, C. Sun, and D. Chen, “Operational Transformation for Collaborative Word Processing,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '04), pp. 437-446, Nov. 2004.
[14] Agustina, F. Liu, S. Xia, H. Shen, and C. Sun, “CoMaya: Incorporating Advanced Collaboration Capabilities into 3D Digital Media Design Tools,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '08), Nov. 2008.
[15] J. Begole, M. Rosson, and C. Shaffer, “Flexible Collaboration Transparency: Supporting Worker Independence in Replicated Application-Sharing Systems,” ACM Trans. Computer-Human Interaction, vol. 6, no. 2, pp. 95-132, 1999.
[16] D. Li and R. Li, “Transparent Sharing and Interoperation of Heterogeneous Single-User Applications,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '02), pp. 246-255, Nov. 2002.
[17] R. Guerraoui and C. Hari, “On the Consistency Problem in Mobile Distributed Computing,” Proc. Second ACM Int'l Workshop Principles of Mobile Computing (POMC '02), pp. 51-57, Oct. 2002.
[18] L. Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System,” Comm. ACM, vol. 21, no. 7, pp. 558-565, 1978.
[19] C. Sun, C.A. Ellis, “Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '98), pp.59-68, Nov. 1998.
[20] C. Sun, X. Jia, Y. Zhang, Y. Yang, and D. Chen, “Achieving Convergence, Causality-Preservation, and Intention-Preservation in Real-Time Cooperative Editing Systems,” ACM Trans. Computer-Human Interaction, vol. 5, no. 1, pp. 63-108, Mar. 1998.
[21] M. Raynal and M. Singhal, “Logical Time: Capturing Causality in Distributed Systems,” IEEE Computer Magazine, vol. 29, no. 2, pp.49-56, Feb. 1996.
[22] C. Sun, “Undo Any Operation at Any Time in Group Editors,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '00), pp. 191-200, Dec. 2000.
[23] C. Sun and W. Cai, “Capturing Causality by Compressed Vector Clock in Real-Time Group Editors,” Proc. 16th Int'l Parallel and Distributed Processing Symp. (IPDPS '02), pp. 59-66, Apr. 2002.
[24] A. Imine, P. Molli, G. Oster, and M. Rusinowitch, “Proving Correctness of Transformation Functions in Real-Time Groupware,” Proc. Eighth European Conf. Computer-Supported Cooperative Work (ECSCW '03), Sept. 2003.
[25] D. Li and R. Li, “Preserving Operation Effects Relation in Group Editors,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '04), pp. 457-466, Nov. 2004.
[26] C. Sun and P. Maheshwari, “An Efficient Distributed Single-Phase Protocol for Total and Causal Ordering of Group Operations,” Proc. Third IEEE Int'l Conf. High-Performance Computing (HiPC '96), pp. 295-300, Dec. 1996.
[27] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, second ed. MIT Press, p. 55, 2001.
[28] G. Cormack, “A Calculus for Concurrent Update,” Report CS-95-06, Dept. of Computer Science, Univ. of Waterloo, Canada, 1995.
[29] D. Nichols, M.D.P. Curtis, and J. Lamping, “High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System,” Proc.Eighth Ann. ACM Symp. User Interface Software and Technology (UIST '95), pp. 111-120, Nov. 1995.
[30] N. Vidot, M. Cart, J. Ferrié, and M. Suleiman, “Copies Convergence in a Distributed Real-Time Collaborative Environment,” Proc. ACM Conf. Computer-Supported Cooperative Work (CSCW '00), pp. 171-180, Dec. 2000.
[31] R. Li, D. Li, and C. Sun, “A Time Interval Based Consistency Control Algorithm for Interactive Groupware Applications,” Proc. 10th Int'l Conf. Parallel and Distributed Systems (ICPADS '04), pp.429-436, July 2004.
[32] N. Gu, J. Yang, and Q. Zhang, “Consistency Maintenance Based on the Mark & Retrace Technique in Groupware Systems,” Proc. ACM SIGGROUP Conf. Supporting Group Work (GROUP '05), pp.264-273, Nov. 2005.
[33] G.D. Abowd and A.J. Dix, “Giving Undo Attention,” Interacting with Computers, vol. 4, no. 3, pp. 317-342, 1992.
[34] A. Dix, R. Mancini, and S. Levialdi, “The Cube—Extending Systems for Undo,” Proc. Eurographics Workshop the Design Specification and Verification of Interactive Systems (DSV-IS '97), pp. 473-495, 1997.
[35] T. Berlage, “A Selective Undo Mechanism for Graphical User Interfaces Based on Command Objects,” ACM Trans. Computer-Human Interaction, vol. 1, no. 3, pp. 269-294, Sept. 1994.
[36] R. Choudhary and P. Dewan, “A General Multi-User Undo/Redo Model,” Proc. Fourth European Conf. Computer-Supported Cooperative Work (ECSCW '95), pp. 231-246, Oct. 1995.
[37] R. Gordon, G. Leeman, and G. Lewis, “Concepts and Implications of Undo for Interactive Recovery,” Proc. ACM Ann. Conf., pp. 150-157, 1985.
[38] W.K. Edwards, T. Igarashi, A. LaMarca, and E.D. Mynatt, “A Temporal Model for Multi-Level Undo and Redo,” Proc. 13th Ann. ACM Symp. User Interface Software and Technology (UIST '00), pp.31-40, 2000.
[39] D. Li and R. Li, “A Performance Study of Group Editing Algorithms,” Proc. 12th Int'l Conf. Parallel and Distributed Systems (ICPADS '06), pp. 300-307, July 2006.
17 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool