Optional and Responsive Fine-Grain Locking in Internet-Based Collaborative Systems

Locking is a standard technique used in distributed computing and database systems to ensure data integrity by prohibiting concurrent conflicting updates on shared data objects. Internet-based collaborative systems are a special class of distributed applications which support human-to-human interaction and collaboration over the Internet. In this paper, a novel optional and responsive fine-grain locking scheme is proposed for consistency maintenance in Internet-based collaborative editors. In the proposed scheme, locking is made optional in the sense that a user may update any part of the document without necessarily requesting a lock. In the face of high communication latency in the Internet environment, responsive locking is achieved by granting the permit to the user for updating the data region immediately after issuing a locking request. Moreover, multiple fine-grain locks can be placed on different regions inside a document to allow concurrent and mutually exclusive editing on the same document. Protocols and algorithms for locking conflict resolution and consistency maintenance are devised to address special technical issues involved in optional and responsive fine-grain locking. The proposed locking scheme and supporting techniques were implemented in an Internet-based collaborative editor to demonstrate its feasibility and usability.

[1]  Chengzheng Sun,et al.  Undo any operation at any time in group editors , 2000, CSCW '00.

[2]  Mukesh Singhal,et al.  Logical Time: Capturing Causality in Distributed Systems , 1996, Computer.

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

[4]  Richard E. Newman,et al.  MACE: a fine grained concurrent editor , 1991, COCS '91.

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

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

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

[8]  Piyush Maheshwari,et al.  An efficient distributed single-phase protocol for total and causal ordering of group operations , 1996, Proceedings of 3rd International Conference on High Performance Computing (HiPC).

[9]  Prasun Dewan,et al.  A concurrency control framework for collaborative systems , 1996, CSCW '96.

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

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

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

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

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

[15]  Ronald Baecker,et al.  The user-centered iterative design of collaborative writing software , 1993, INTERCHI.

[16]  Matthias Ressel,et al.  An integrating, transformation-oriented approach to concurrency control and undo in group editors , 1996, CSCW '96.

[17]  Dirk E. Mahling,et al.  Consistency maintenance for real-time collaborative diagram development , 2000 .

[18]  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.

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

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

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

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

[23]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.