Coherence of Shared Replicated Data
within Groups of Remote Cooperating Processes

Cooperative applications must communicate in order to make progress, and are therefore inherently affected by communication latency. In wide-area settings this latency can increase to a point where traditional consistency management no longer provides sufficient reactivity -- in some cases making the application unusable. We address this problem by considering a cooperative application to be a collection of cooperating replicas, and then concentrate on the management of consistency within such a group of replicas.

This problem is significant for two reasons: it appears in any application domain where we have cooperation between human agents, and is a fundamental part of the structure of cooperation mechanisms. Our comprehensive study of "weak consistency" covers four domains: transactional systems, distributed shared memories, distributed shared objects, and platforms for group communication. Our contribution has three significant aspects:

We present a new model of execution that is free of causal dependencies. It is based on replicated histories, and is used to formalise the consistency criteria presented in this document.

We present a new model of sharing, cooperative replication -- a derivative of active replication that does not impose a unique global ordering on the execution of operations. Replicas are autonomous except when their local view of the global computation can no longer guarantee correct behaviour of the distributed application.
We present a few system principles with which we define a new component, the consistency manager. This component:

We have implemented Core -- a complete development environment conforming to the above principles -- that runs on Unix, is documented, and freely available by FTP. Core provides the usual services for distributed applications (a name service, group communication and management of group membership, for example), as well as an extensible class library with which specific consistency managers can be developed. It also provides numerous classes with which application designers can implement new kinds of shared object. Two example applications have been built using Core: an extension to Emacs that permits collaborative editing, and a simple manager for shared resources.

About this document ...

This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -no_navigation -no_images -no_math -no_auto_link -antialias -no_fork -split 0 resume-en.tex.

The translation was initiated by Georges Brun-Cottan on 1998-09-11

Georges Brun-Cottan