Epidemic algorithms for replicated database maintenance
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Disconnected operation in the Coda file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Lightweight causal and atomic group multicast
ACM Transactions on Computer Systems (TOCS)
Providing high availability using lazy replication
ACM Transactions on Computer Systems (TOCS)
Isolation-only transactions for mobile computing
ACM SIGOPS Operating Systems Review
Rover: a toolkit for mobile information access
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
From serializable to causal transactions (abstract)
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Session guarantees for weakly consistent replicated data
PDIS '94 Proceedings of the third international conference on on Parallel and distributed information systems
Plausible Clocks: Constant Size Logical Clocks for Distributed Systems
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
A scalable technique for implementing multiple consistency levels for distributed objects
ICDCS '96 Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS '96)
Object caching in a CORBA compliant system
COOTS'96 Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 2
Timed consistency for shared distributed objects
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
Analyzing convergence in consistency models for distributed objects
OPODIS'04 Proceedings of the 8th international conference on Principles of Distributed Systems
Hi-index | 0.00 |
Many application domains have already demonstrated that they can benefit greatly if efficient access can be provided to shared information across widely distributed users. We use the generic term object to describe units of shared information which could include files, web pages or language defined objects. Future applications will require object sharing modes richer than simple browsing. For example, a collaboration system that allows users distributed world-wide (e.g., managers of a multinational company) to interact with each other must manipulate objects that are both read and updated at multiple locations.Several assumptions, which are natural in the context of large scale systems, can be made about scalable object sharing systems. First, such systems will consist of many server nodes that will act as the storehouses for shared objects. These servers will enable access to objects to a much larger number of client nodes. To avoid high latencies and communication costs, servers will store replicated copies of objects frequently accessed by clients in their vicinity. Furthermore, clients will cache objects to reduce access latency and frequency of communication with servers. Both replication at servers and caching at clients result in multiple copies of an object which introduces the problem of maintaining consistency among the copies.Many levels of consistency are possible and the choice of a particular consistency level has implications on the programming as well as performance of a distributed application. Although consistency requirements across copies of a single object are easily seen, such requirements can arise between copies of different but related objects. For example, assume that user 1 writes a memo object ol to produce version o1,1 and later generates its updated version ol,2. User 2 reads ol,2 and writes memo object o2 in response. If user 3 reads memo o2 and wants to read o1 to understand it, it must be provided ol,2 and not o1,1 which could have been cached by it due to a previous read. Thus, consistency requirements exist across copies of ol and o2 even when user 3 accesses them in a read-only mode.We first identify some requirements that must be met by scalable object sharing schemes. We present arguments to demonstrate that existing techniques cannot easily be adapted to meet these requirements. This is followed by an outline of our approach.