Providing high availability using lazy replication

@article{Ladin1992ProvidingHA,
  title={Providing high availability using lazy replication},
  author={Rivka Ladin and Barbara H. Liskov and Liuba Shrira and Sanjay Ghemawat},
  journal={ACM Trans. Comput. Syst.},
  year={1992},
  volume={10},
  pages={360-391}
}
To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. For some applications a weaker causal operation order can preserve consistency while providing better performance. This paper describes a new way of implementing causal operations. Our technique also supports two other kinds of operations… 

Figures from this paper

Lazy database replication with ordering guarantees

It is shown how generalized strong serializability can be implemented in a lazy replication system, and the results of a simulation study that quantifies the strengths and limitations of the approach are presented.

Eventually-serializable data services

An algorithm is presented, based on one of Ladin, Liskov, Shrira, and Ghemawat, that implements a new specification for distributed data services that trade-off immediate consistency guarantees for improved system availability and efficiency, while ensuring the long-term consistency of the data.

Characterizing Multicast Orderings using

This work proposes a framework in which each message multicast is regarded as a transaction and provides a means to characterize the performance of orderings to allow a comparison of different ordering protocols.

A scalable technique for implementing multiple consistency levels for distributed objects

  • R. KordaleM. Ahamad
  • Computer Science
    Proceedings of 16th International Conference on Distributed Computing Systems
  • 1996
A contribution of this paper is the separation of the the mutual consistency detection mechanism from the policy that decides the desired consistency guarantees that allows multiple consistency levels to coexist, thus improving system performance through the use of weaker consistency levels when possible.

Key-CRDT stores

This dissertation presents the design and implementation of SwiftCloud, a Key-CRDT store that extends akey-Value store by incorporating CRDTs in the system’s data-model, and provides automatic conflict resolution relying on properties ofCRDTs.

An adaptive protocol for implementing causally consistent distributed services

This paper explores causally consistent distributed services when multiple related services are replicated to meet performance and availability requirements.

Pure Operation-Based Replicated Data Types

This work introduces pure op-based CRDTs, that can only send operations to other replicas, drawing a clear distinction from state-based ones.

High Availability Support in CORBA Environments

Hidra is described, a CORBA-based architecture, where object oriented distributed applications can increase their availability placing a number of object replicas in different domains or different nodes.

Improving availability and performance with application-specific data replication

This work exploring using a distributed object architecture to build an edge service data replication system for an e-commerce application, the TPC-W benchmark, which simulates an online bookstore, finds that by slightly relaxing consistency within individual distributed objects, the application realizes both high availability and excellent performance.

Towards Fast Invariant Preservation in Geo-replicated Systems

This paper reviews the design space of current solutions for building geo-replicated applications and presents the guiding vision towards a general technique for providing global application invariants under eventual consistency, as a much cheaper alternative to strong consistency.
...

References

SHOWING 1-10 OF 84 REFERENCES

Sacrificing serializability to attain high availability of data in an unreliable network

We present a simple algorithm for maintaining a replicated distributed dictionary which achieves high availability of data, rapid processing of atomic actions, efficient utilization of storage, and

A quorum-consensus replication method for abstract data types

This method systematically exploits type-specific properties of objects such as sets, queues, or directories to provide more effective replication and can realize a wider range of availability properties and more flexible reconfiguration than comparable replication methods.

CONSTRUCTING A HIGHLY-AVAILABLE LOCATION SERVICE FOR A DISTRIBUTED ENVIRONMENT

This thesis proposes to use a location service to aid in finding objects that move, and achieves high availability and efficiency by replicating the service state using the multipart timestamp technique based on multipart timestamps and gossip messages.

VIEWSTAMPED REPLICATION FOR HIGHLY AVAILABLE DISTRIBUTED SYSTEMS

This dissertation presents viewstamped replication, a new algorithm for the implementation of highly available computer services that continue to be usable in spite of node crashes and network partitions, based on a primary copy technique and integrated into the fabric of an atomic transaction mechanism.

An algorithm for concurrency control and recovery in replicated distributed databases

An algorithm for handling replicated data, which allows users to operate on data so long as one copy is “available,” and handles clean, detectable site failures, but not Byzantine failures or network partitions.

Highly available distributed services and fault-tolerant distributed garbage collection

A fault-tolerant garbage collection method for a distributed heap that can be used in any application in which the property of interest is stable: once the property becomes true, it remains true forever.

An efficient, fault-tolerant protocol for replicated data management

A data management protocol for executing transactions on a replicated database that ensures one-copy serializability and tolerates a large class of failures, including: processor and communication link crashes, partitioning of the communication network, lost messages, and slow responses of processors and communication links.

Reliable communication in the presence of failures

A review of several uses for the protocols in the ISIS system, which supports fault-tolerant resilient objects and bulletin boards, illustrates the significant simplification of higher level algorithms made possible by the approach.

Availability in partitioned replicated databases

A replica control protocol is described that allows the accessing of data in spite of site failures and network partitioning, and is more efficient and more flexible than previous ones, while providing at least the same degree of data availability.

Maintaining availability in partitioned replicated databases

A new replica control protocol is described that allows the accessing of data in spite of site failures and network partitioning, and provides the database designer with a large degree of flexibility in deciding the degree of data availability, as well as the cost of accessing data.
...