Synchronizing shared abstract types
ACM Transactions on Computer Systems (TOCS)
Flexible update propagation for weakly consistent replication
Proceedings of the sixteenth ACM symposium on Operating systems principles
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Replicated document management in a group communication system
CSCW '88 Proceedings of the 1988 ACM conference on Computer-supported cooperative work
Concurrency control for distributed cooperative engineering applications
Proceedings of the 2002 ACM symposium on Applied computing
XMIDDLE: A Data-Sharing Middleware for Mobile Computing
Wireless Personal Communications: An International Journal
Computer
Experience with the PerDiS Large-Scale Data-Sharing Middleware
POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
Revision control system using delta script of syntax tree
Proceedings of the 12th international workshop on Software configuration management
Timed buffers: A technique for update propagation in nomadic environments
Computer Communications
Adaptive replication control based on consensus
Proceedings of the 2nd workshop on Dependable distributed data management
Increasing availability in a replicated partitionable distributed object system
ISPA'06 Proceedings of the 4th international conference on Parallel and Distributed Processing and Applications
Hi-index | 0.00 |
We describe attempts to build an application-independent model to support reconciliation of diverged replicas of shared objects. While replicas are disconnected from one another, actions on the shared objects are recorded in a log. An action is composed of a precondition, an operation and a postcondition. When reconnecting, the system attempts to reconcile the divergent replicas, in several phases. A symbolic phase merges the separate logs, creating one or more schedules, such that preconditions from one log remain true despite the postconditions introduced by the other. Then, a simulation phase checks the possible outcomes by actually applying the schedules to scratch copies of the shared objects. Finally, a selection phase allows users or applications to select one of the candidate schedules.Our approach supports sharing general objects, where one update may reference multiple objects (not just a single file or database). Compared to previous work on log-based reconciliation, our logs capture more semantic information and provide the application with more powerful and finer control over the outcome of reconciliation.