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

  • Authors:
  • Michael J. Fischer;Alan Michael

  • Affiliations:
  • Yale University, New Haven, Connecticut;University of Wisconsin, Madison, Wisconsin

  • Venue:
  • PODS '82 Proceedings of the 1st ACM SIGACT-SIGMOD symposium on Principles of database systems
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 tolerance to node or network failures including lost or duplicated messages. It does not require transaction logs, synchronized clocks, or other complicated mechanisms for its operation. It achieves consistency contraints which are considerably weaker than serial consistency but nonetheless are adequate for many dictionary applications such as electronic appointment calendars and mail systems. The degree of consistency achieved depends on the particular history of operation of the system in a way that is intuitive and easily understood. The algorithm implements a "best effort" approximation to full serial consistency, relative to whatever internode communication has successfully taken place, so the semantics are fully specified even under partial failure of the system. Both the correctness of the algorithm and the utility of such weak semantics depend heavily on special properties of the dictionary operations.