Flexible batching and consistency mechanisms for building interactive groupware applications

The paper presents our state sharing support for building object oriented interactive groupware in wide area distributed environments. We motivate and present an asynchronous model for updating replicated state, which supports atomicity of updates across multiple shared objects. Coupled with our flexible marshalling framework, this model allows existing application data structure classes to be easily extended and made shareable. To solve the problem of replica consistency we use a novel combination of three mechanisms: (1) global locks, (2) detection of incorrect update ordering, and (3) cloning a subset of the shared objects and state reinitialization. Finally, to reduce network load due to fine grain user interaction, we provide a framework for application specified event batching called Late Event Modification.

[1]  Alain Karsenty,et al.  An algorithm for distributed groupware applications , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[2]  Saul Greenberg,et al.  Real time groupware as a distributed system: concurrency control and its effect on the interface , 1994, CSCW '94.

[3]  Jörg M. Haake,et al.  Designing object-oriented synchronous groupware with COAST , 1996, CSCW '96.

[4]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[5]  Sumeer Bhola,et al.  Villa: an event based middleware for real-time collaboration on the Internet , 1997, 1997 Fourth International Workshop on Community Networking Processing.

[6]  Atul Prakash,et al.  Concurrency control and view notification algorithms for collaborative replicated objects , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[7]  Atul Prakash,et al.  DistView: support for building efficient collaborative applications using replicated objects , 1994, CSCW '94.

[8]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.