This Article 
 Bibliographic References 
 Add to: 
Optional and Responsive Fine-Grain Locking in Internet-Based Collaborative Systems
September 2002 (vol. 13 no. 9)
pp. 994-1008

Abstract—Locking is a standard technique in distributed computing and database systems used 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, thus saving the users the burden of having to use locks while editing and the system the overhead of executing locking operations most of the time in a collaborative editing session. 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 have been implemented in an Internet-based collaborative editor to demonstrate its feasibility and usability.

[1] P. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
[2] R.M. Baecher et al, “The User-Centered Iterative Design of Collaborative Writing Software,” Proc. ACM INTERCHI Conf. Human Factors in Computing Systems, pp. 399-405, 1993.
[3] K. Birman, A. Schiper, and P. Stephenson, “Lightweight Causal and Atomic Group Multicast,” ACM Trans. Computer Systems, vol. 9, no. 3, pp. 272-314, Aug. 1991.
[4] J.D. Campbell, “Usability and Interference for Collaborative Diagram Development,” Proc. ACM Workshop Collaborative Editing Systems (CSCW '2000), 2000.
[5] C.A. Ellis and S.J. Gibbs, "Concurrency Control in Groupware Systems," Proc. ACM SIGMOD Conf. Management of Data, ACM Press, New York, 1989, pp. 399-407.
[6] C.A. Ellis, S.J. Giggs, and G.L. Rein, "Groupware: Some Issues and Experiences," Comm. ACM, Vol. 34, No. 1, Jan. 1991, pp. 38-58.
[7] S. Greenberg et al., “Issues and Experiences Designing and Implementing Two Group Drawing Tools,” Proc. Hawaii Int'l Conf. Systems Sciences, pp. 138-150, 1992.
[8] S. Greenberg and D. Marwood, "Real-Time Groupware as a Distributed System: Concurrency Control and its Effect on the Interface," Proc. Fifth Conf. Computer-Supported Cooperative Work, pp. 207-217,Chapel Hill, N.C., 1994.
[9] A. Karsenty and M. Beaudouin-Lafon, “An Algorithm for Distributed Groupware Applications,” Proc. 13th Int'l Conf. Distributed Computing Systems, pp. 195-202, May 1993.
[10] M. Knister and A. Prakash, “Issues in the Design of a Toolkit for Supporting Multiple Group Editors,” J. Usenix Assoc., vol. 6, no. 2, pp. 135-166, Spring 1993.
[11] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[12] L.J. McGuffin and G.M. Olson, “ShrEdit: A Shared Electronic Workspace,” CSMIL Technical Report #45, Univ. of Michigan, 1992.
[13] J. Munson and P. Dewan, “A Concurrency Control Framework for Collaborative Systems,” Proc. ACM Conf. Computer Supported Cooperative Work, pp. 278-287, Nov. 1996.
[14] R.E. Newman-Wolfe et al., “MACE: A Fine Grained Concurrent Editor,” Proc. ACM COCS Conf. Organizational Computing Systems, pp. 240-254,
[15] R.E. Newman-Wolfe et al., “Implicit Locking in the Ensemble Concurrent Object-Oriented Graphics Editor,” Proc. ACM Conf. Computer Supported Cooperative Work, pp. 265-272, Nov. 1992.
[16] D. Nichols, P. Curtis, M. Dixon, and J. Lamping, "High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System," Proc. UIST '95, pp. 111-120,Pittsburgh, Pa., 1995.
[17] A. Prakash and M. Knister, “A Framework for Undoing Actions in Collaborative Systems,” ACM Trans. Computer-Human Interaction, vol. 4, no. 1, pp. 295-330, 1994.
[18] M. Raynal and M. Singhal, "Logical Clocks: A Way to Capture Causality in Distributed Systems," Computer, vol. 29, no. 2, pp. 49-56, Feb. 1996.
[19] M. Ressel, D. Nitsche-Ruhland, and R. Gunzenhauser, "An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors," Proc. ACM Conf. CSCW, ACM Press, New York, 1996, pp. 288-297.
[20] C. Sun and P. Maheshwari, “An Efficient Distributed Single-Phase Protocol for Total and Causal Ordering of Group Operations,” Proc. IEEE Third Int'l Conf. High Performance Computing, pp. 295-300, Dec. 1996.
[21] C. Sun et al., "Achieving Convergence, Causality-Preservation, and Intention-Preservation in Real-Time Cooperative Editing Systems," ACM Trans. Computer-Human Interaction, vol. 5, no. 1, Mar. 1998, pp. 63-108.
[22] C. Sun and C. Ellis, "Operational Transformation in Group Editors: Issues, Algorithms, and Achievements," Proc. ACM Conf. CSCW, ACM Press, New York, 1998, pp. 59-68.
[23] C. Sun and R. Sosie, “Optional Locking Integrated with Operational Transformation in Distributed Real-Time Group Editors,” Proc. 18th ACM Symp. Principles of Distributed Computing, pp. 43-52, 1999.
[24] C. Sun, “Undo Any Operation at Any Time in Group Editors,” Proc. ACM Conf. Computer-Supported Cooperative Work, pp. 191-200, 2000.
[25] R. Valdes, “Text Editors: Algorithms and Architectures, Not Much Theory, but a Lot of Practice,” Dr. Dobb's J., pp. 38-43, 1993.
[26] Y. Yang, C. Sun, Y. Zhang, and X. Jia, “Real-Time Cooperative Editing on the Internet,” IEEE Internet Computing, pp. 18-25, May/June 2000.

Index Terms:
Consistency maintenance, optional locking, responsiveness, operational transformation, collaborative editors, distributed systems, Internet computing.
Chengzheng Sun, "Optional and Responsive Fine-Grain Locking in Internet-Based Collaborative Systems," IEEE Transactions on Parallel and Distributed Systems, vol. 13, no. 9, pp. 994-1008, Sept. 2002, doi:10.1109/TPDS.2002.1036072
Usage of this product signifies your acceptance of the Terms of Use.