Tree-Based Concurrency Control in Distributed Groupware
Rent the article at a discountRent now
* Final gross prices may vary according to local VAT.Get Access
We present a novel algorithm, called dARB, forsolving the concurrency control problem indistributed collaborative applications. Themain issue of concurrency control is resolvingthe conflicts resulting from simultaneousactions of multiple users. The algorithmreduces the need for manual conflict resolutionby using a distributed arbitration scheme. Themain advantages of our approach are thesimplicity of use and good responsiveness, asthere are no lock mechanisms. Our algorithmrequires the applications to use a tree as theinternal data structure. This makes itapplication independent and suitable forgeneral collaborative applications. The treerequirement is reasonable since many newapplications use XML (extensible MarkupLanguage) for data representation and exchange,and parsing XML documents results in treestructures. Example applications of thealgorithm, a group text editor and acollaborative 3D virtual environment calledcWorld, are implemented and evaluated in theDISCIPLE collaboration framework. We alsointroduce awareness widgets that users avoidgenerating the conflicting events and help inmanual conflict resolution.
- Bhola, S., B. Guruduth and M. Ahamad (1998): Responsiveness and Consistency Tradeoffs in Interactive Groupware. Proceedings of the ACM Conference on Computer Supported Collaborative Work (CSCW'98), pp. 79–88.
- Bhola, S., B. Mukherjee, S. Doddapaneni and M. Ahamad (1998): Flexible Batching and Consistency Mechanisms for Building Interactive Groupware Applications. Proceedings of the Int'l Conf. on Distributed Computing Systems (ICDCS'98).
- Birman, K.P. (1996): Building Secure and Reliable Network Applications. Manning Publications Co.
- Chen, D. and C. Sun (1999): A Distributed Algorithm for Graphic Objects Replication in Real-Time Group Editors. Proceedings of the Int'l ACM Conf. on Supporting Group Work (GROUP'99), pp. 121–130.
- Cormack, G. (1995): A Counterexample to the Distributed Operational Transform and a Corrected Algorithm for Point-to-Point Communication. University of Waterloo Technical Report, CS-95-08.
- Dewan, P. (1999): Architectures for Collaborative Applications. In M. Beaudouin-Lafon (ed.): Computer Supported Co-operative Work. Chichester, England: JohnWiley & Sons, pp. 169–193.
- Dorohonceanu, B., B. Sletterink and I. Marsic (2000): A Novel User Interface for Group Collaboration. Proceedings of the 33rd Hawaii Int'l Conference on System Sciences (HICSS-33).
- Ellis, C.A. and S.J. Gibbs (1989): Concurrency Control in Groupware Systems. Proceedings of the 19th ACM SIGMOD Conf. on the Management of Data, pp. 399–407.
- Ionescu, M., B. Dorohonceanu and I. Marsic (2000): A Novel Concurrency Control Algorithm in Distributed Groupware. Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'2000), Las Vegas, NV, Vol. 3, pp. 1551–1557.
- Ionescu, M. and I. Marsic (2001): Latecomer and Crash Recovery Support in Fault Tolerant Groupware. IEEE Distributed Systems Online, vol. 2, no. 7, 13 pp.
- Lamport, L. (1978): Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, vol. 21, no. 7, pp. 558–565.
- Liao, T. (1999): Lightweight Reliable Multicast Protocol Specification. Internet draft. Available online at: http://webcanal.inria.fr/lrmp.
- Marsic, I. and B. Dorohonceanu (1999): An Application Framework for Synchronous Collaboration using Java Beans. Proceedings of the 32rd Hawaii Int'l Conference on System Sciences (HICSS-32), Maui, Hawaii.
- Prakash, A. and M. Knister (1994): A Framework for Undoing Actions in Collaborative Systems. ACM Transactions on Computer-Human Interaction, vol. 1, no. 4, pp. 295–330.
- Ressel, M., D. Nitsche-Ruhland and R. Gunzenhauser (1996): An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors. Proceedings of the ACM Conference on Computer Supported Collaborative Work (CSCW'96), pp. 288–297.
- Sun, C., X. Jia, Y. Zhang, Y. Yang and D. Chen (1998): Achieving Convergence, Causality-Preservation, and Intention-Preservation in Real-Time Cooperative Systems. ACM Transactions on Computer-Human Interaction, vol. 5, no. 1, pp. 63–108.
- Sun, C. and R. Sosic (1999): Optional Locking Integrated with Operational Transformation in Distributed Real-Time Group Editors. Proceedings of the 18th ACM Symposium on Principles of Distributed Computing.
- Sun Microsystems, Inc. (1996): JavaBeans API Specification. Available on-line at: http://www. javasoft.com/beans/
- Sung, U., J. Yang and K. Wohn (1999): Concurrency Control in CIAO. Proceedings of IEEE Virtual Reality Conference, pp. 22–28.
- W3C Architecture Domain (1999): Extensible Markup Language. Available on-line at: http://www.w3.org/XML
- Wang, W., B. Dorohonceanu and I. Marsic (1999): Design of the DISCIPLE Synchronous Collaboration Framework. Proceedings of the 3rd IASTED Int'l Conference on Internet, Multimedia Systems and Applications, pp. 316–324.
- Tree-Based Concurrency Control in Distributed Groupware
Computer Supported Cooperative Work (CSCW)
Volume 12, Issue 3 , pp 329-350
- Cover Date
- Print ISSN
- Online ISSN
- Kluwer Academic Publishers
- Additional Links
- concurrency control
- distributed algorithms
- Industry Sectors