Optional and responsive fine-grain locking in Internet-based collaborative systems

IEEE Transactions on Parallel and Distributed Systems - Tập 13 Số 9 - Trang 994-1008 - 2002
Chengzheng Sun1
1School of Computing and Information Technology, Griffith University, Brisbane, Australia

Tóm tắt

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.

Từ khóa

#Internet #Collaboration #Distributed computing #Delay #Database systems #Real time systems #Collaborative work #Sun #Protocols #Usability

Tài liệu tham khảo

10.1109/ICDCS.1993.287708 10.1109/HICSS.1992.183421 greenberg, 1994, Real Time Groupware as a Distributed System: Concurrency Control and Its Effect on the Interface, Proc ACM Conf Computer Supported Cooperative Work, 207 10.1145/67544.66963 10.1145/99977.99987 baecher, 1993, The User-Centered Iterative Design of Collaborative Writing Software, Proc ACM INTERCHI Conf Human Factors in Computing Systems, 399 10.1145/240080.240302 bernstein, 1987, Concurrency Control and Recovery in Database Systems mcguffin, 1992, ShrEdit: A Shared Electronic Workspace campbell, 2000, Usability and Interference for Collaborative Diagram Development, Proc ACM Workshop Collaborative Editing Systems (CSCW '2000) 10.1145/359545.359563 10.1145/128738.128742 knister, 1993, Issues in the Design of a Toolkit for Supporting Multiple Group Editors, J Usenix Assoc, 6, 135 10.1145/198425.198427 10.1145/215585.215706 10.1145/143457.143524 newman-wolfe, 0, MACE: A Fine Grained Concurrent Editor, Proc ACM COCS Conf Organizational Computing Systems, 240 10.1145/240080.240305 10.1109/2.485846 valdes, 1993, Text Editors: Algorithms and Architectures, Not Much Theory, but a Lot of Practice, Dr Dobb's J, 38 10.1109/4236.845386 sun, 1996, An Efficient Distributed Single-Phase Protocol for Total and Causal Ordering of Group Operations, Proc IEEE Third Int'l Conf High Performance Computing, 295 sun, 1999, Optional Locking Integrated with Operational Transformation in Distributed Real-Time Group Editors, Proc 18th ACM Symp Principles of Distributed Computing, 43 10.1145/358916.358990 10.1145/274444.274447 10.1145/289444.289469