Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System

Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System

1995 | Douglas B. Terry, Marvin M. Theimer, Karin Petersen, Alan J. Demers, Mike J. Spreitzer and Carl H. Hauser
Bayou is a weakly consistent, replicated storage system designed for mobile computing environments with limited network connectivity. It allows users to read and write any accessible replica to maximize availability. The system focuses on supporting application-specific mechanisms for detecting and resolving update conflicts, ensuring replicas move toward eventual consistency. It includes dependency checks for conflict detection and per-write conflict resolution using client-provided merge procedures. Bayou servers must be able to rollback and redo writes according to a global serialization order. Clients can observe all writes, including tentative ones. The system's design allows for automatic conflict resolution, enabling Bayou replicas to remain available. Bayou supports disconnected workgroups and allows clients to read data at all times, even when conflicts are unresolved. The system's contributions include per-update dependency checks, merge procedures, and states for updates (committed and tentative). Bayou's architecture supports a variety of non-real-time collaborative applications, such as shared calendars, mail, and document editing. The system uses a weakly consistent replication model with pair-wise communication. Bayou's design allows for eventual consistency through anti-entropy sessions and ensures that all servers eventually receive all writes. The system includes mechanisms for conflict detection and resolution, including dependency checks and merge procedures. Bayou's storage system includes a write log, tuple store, and undo log to manage writes and ensure consistency. The system also includes access control mechanisms to ensure secure communication between clients and servers.Bayou is a weakly consistent, replicated storage system designed for mobile computing environments with limited network connectivity. It allows users to read and write any accessible replica to maximize availability. The system focuses on supporting application-specific mechanisms for detecting and resolving update conflicts, ensuring replicas move toward eventual consistency. It includes dependency checks for conflict detection and per-write conflict resolution using client-provided merge procedures. Bayou servers must be able to rollback and redo writes according to a global serialization order. Clients can observe all writes, including tentative ones. The system's design allows for automatic conflict resolution, enabling Bayou replicas to remain available. Bayou supports disconnected workgroups and allows clients to read data at all times, even when conflicts are unresolved. The system's contributions include per-update dependency checks, merge procedures, and states for updates (committed and tentative). Bayou's architecture supports a variety of non-real-time collaborative applications, such as shared calendars, mail, and document editing. The system uses a weakly consistent replication model with pair-wise communication. Bayou's design allows for eventual consistency through anti-entropy sessions and ensures that all servers eventually receive all writes. The system includes mechanisms for conflict detection and resolution, including dependency checks and merge procedures. Bayou's storage system includes a write log, tuple store, and undo log to manage writes and ensure consistency. The system also includes access control mechanisms to ensure secure communication between clients and servers.
Reach us at info@study.space