Concurrency control and view notification algorithms for collaborative replicated objects

This paper describes algorithms for implementing a high-level programming model for synchronous distributed groupware applications. In this model, several application data objects may be atomically updated, and these objects automatically maintain consistency with their replicas using an optimistic algorithm. Changes to these objects may be optimistically or pessimistically observed by view objects by taking consistent snapshots. The algorithms for both update propagation and view notification are based upon optimistic guess propagation principles, adapted for fast commit by using primary copy replication techniques. The main contribution of the paper is the synthesis of these two algorithmic techniques-guess propagation and primary copy replication-for implementing a framework that is easy to program and is well suited for the needs of groupware applications.

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

[2]  Wesley W. Chu,et al.  The Exclusive-Writer Approach to Updating Replicated Files in Distributed Processing Systems , 1985, IEEE Transactions on Computers.

[3]  Mark A. Linton,et al.  Interviews: A C++ graphical interface toolkit , 1988 .

[4]  David F. Bacon,et al.  Optimistic parallelization of communicating sequential processes , 1991, PPOPP '91.

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

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

[7]  Amihai Motro,et al.  The Time Warp mechanism for database concurrency control , 1986, 1986 IEEE Second International Conference on Data Engineering.

[8]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

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

[10]  Hanan Lutfiyya,et al.  A wait-free algorithm for optimistic programming: HOPE realized , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[11]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

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

[13]  H.M. Abdel-Wahab,et al.  XTV: a framework for sharing X Window clients in remote synchronous collaboration , 1991, Proceedings of TRICOMM `91: IEEE Conference on Communications Software: Communications for Distributed Applications and Systems.

[14]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.