Optional and responsive fine-grain locking in Internet-based collaborative systems
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 #UsabilityTà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