Computer Supported Cooperative Work (CSCW)

, Volume 12, Issue 3, pp 329–350 | Cite as

Tree-Based Concurrency Control in Distributed Groupware



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.

concurrency control distributed algorithms groupware 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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.Google Scholar
  2. 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).Google Scholar
  3. Birman, K.P. (1996): Building Secure and Reliable Network Applications. Manning Publications Co.Google Scholar
  4. 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.Google Scholar
  5. 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.Google Scholar
  6. Dewan, P. (1999): Architectures for Collaborative Applications. In M. Beaudouin-Lafon (ed.): Computer Supported Co-operative Work. Chichester, England: JohnWiley & Sons, pp. 169–193.Google Scholar
  7. 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).Google Scholar
  8. 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.Google Scholar
  9. 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.Google Scholar
  10. 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.Google Scholar
  11. 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.Google Scholar
  12. Liao, T. (1999): Lightweight Reliable Multicast Protocol Specification. Internet draft. Available online at: Scholar
  13. 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.Google Scholar
  14. 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.Google Scholar
  15. 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.Google Scholar
  16. 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.Google Scholar
  17. 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.Google Scholar
  18. Sun Microsystems, Inc. (1996): JavaBeans API Specification. Available on-line at: http://www. Scholar
  19. Sung, U., J. Yang and K. Wohn (1999): Concurrency Control in CIAO. Proceedings of IEEE Virtual Reality Conference, pp. 22–28.Google Scholar
  20. W3C Architecture Domain (1999): Extensible Markup Language. Available on-line at: Scholar
  21. 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.Google Scholar

Copyright information

© Kluwer Academic Publishers 2003

Authors and Affiliations

  1. 1.Center for Advanced Information Processing (CAIP)Rutgers – The State University of New Jersey, PiscatawayUSA

Personalised recommendations