A Consistency Model and Supporting Schemes for Real-time Cooperative Editing Systems

Real-time cooperative editing systems allow multiple users to view and edit the same document at the same time from multiple sites connected by a communication network. Consistency maintenance is one of the most signiicant challenges in designing and implementing real-time cooperative editing systems. In this paper, three inconsistency problems { divergence, causality-violation, and intention-violation { in real-time cooperative editing systems are rst identiied. Then, a novel consistency model, with properties of convergence, causality-preservation, and intention-preservation, is proposed as a framework for solving these problems. Moreover, an integrated set of schemes and algorithms, which support the proposed consistency model, are deened and discussed in detail. A software simulation system has been built to verify the correctness of the proposed approach. We conclude by summarizing the main results and contributions of this work and listing the major current and future works.

[1]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[2]  Gary M. Olson,et al.  Unblocking brainstorming through the use of a simple group editor , 1992, CSCW '92.

[3]  Saul Greenberg,et al.  Building real-time groupware with GroupKit, a groupware toolkit , 1996, TCHI.

[4]  Daniel G. Bobrow,et al.  WYSIWIS revised: early experiences with multiuser interfaces , 1987, TOIS.

[5]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[6]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[7]  Yanchun Zhang,et al.  Distributed Synchronization of Group Operations in Cooperative Editing Environments , 1996 .

[8]  Robert E. Kraut,et al.  Quilt: a collaborative tool for cooperative writing , 1988, COCS '88.

[9]  Judith S. Olson,et al.  How a group-editor changes the character of a design meeting as well as its outcome , 1992, CSCW '92.

[10]  William E. Weihl,et al.  Atomic data abstractions in a distributed collaborative editing system , 1986, POPL '86.

[11]  Atul Prakash,et al.  DistEdit: a distributed toolkit for supporting multiple group editors , 1990, CSCW '90.

[12]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[13]  Atul Prakash,et al.  A framework for undoing actions in collaborative systems , 1994, TCHI.

[14]  Alain Karsenty,et al.  An algorithm for distributed groupware applications , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[15]  Atul Prakash,et al.  Issues in the Design of a Toolkit for Supporting Multiple Group Editors , 1993, Comput. Syst..