A multi-version approach to conflict resolution in distributed groupware systems

Groupware systems are a special class of distributed computing systems which support human-computer-human interaction. Real-time collaborative graphics editors allow a group of users to view and edit the same graphics document at the same time from geographically dispersed sites connected by communication networks. Resolving conflict access to shared objects is one of the core issues in the design of this type of system. This paper proposes a novel distributed multi-version approach to conflict resolution. This approach aims to preserve the work concurrently produced by multiple users in the face of conflicts, and to minimize the number of object versions for accommodating combined effects of conflicting and compatible operations. Major technical contributions of this work include a formal specification of a unique combined effect for any group of conflicting and compatible operations, a distributed algorithm for incremental creation of multiple object versions, and a consistent object identification scheme for multi-version and multireplica graphics editing systems. All algorithms and schemes preserved in this paper have been used in the GRACE (Graphics Collaborative Editing) system implemented in Java.

[1]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[2]  Rushed Kanawati LICRA: A Replicated-Data Management Algorithm for Distributed Synchronous Groupware Applications , 1997, Parallel Comput..

[3]  Alain Karsenty,et al.  GroupDesign: Shared Editing in a Heterogeneous Environment , 1993, Comput. Syst..

[4]  Ronald M. Baecker,et al.  Readings in Groupware and Computer-Supported Cooperative Work: Assisting Human-Human Collaboration , 1992 .

[5]  Richard E. Newman,et al.  Implicit locking in the ensemble concurrent object-oriented graphics editor , 1992, CSCW '92.

[6]  Yanchun Zhang,et al.  Real-Time Cooperative Editing on the Internet , 2000, IEEE Internet Comput..

[7]  Michael Dixon,et al.  High-latency, low-bandwidth windowing in the Jupiter collaboration system , 1995, UIST '95.

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

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

[10]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[11]  Saul Greenberg,et al.  GroupWare for Real-Time Drawing: A Designer's Guide , 1995 .

[12]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[13]  Rok Sosic,et al.  Consistency maintenance in Web-based real-time group editors , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[14]  Saul Greenberg,et al.  Issues and experiences designing and implementing two group drawing tools , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[15]  Saul Greenberg,et al.  Real time groupware as a distributed system: concurrency control and its effect on the interface , 1994, CSCW '94.

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