Reliable object storage to support atomic actions
Brian M. Oki, Barbara H. Liskov, Robert W. Scheifler · ACM SIGOPS Operating Systems Review · 1985
Maintaining consistency of on-line, long-lived, distributed data in the presence of hardware failures is a necessity for many applications.The Argus programming language and system, currently under development at M.I.T., provides users with linguistic constructs to implement such applications.Argus permits users to identify certain data objects as being resilient to failures, and the set of such resilient objects can vary dynamically as programs run.When resilient objects are modified, they are automatically copied by the Argus implementation to stable storage, storage that with very high probability does not lose information.The resilient objects are therefore guaranteed, with very high probability, to survive both media failures and node crashes.This paper presents a method for implementing resilient objects, using a log-based mechanism to organize the information on stable storage.Of particular interest is the handling of a dynamic, user-controlled set of resilient objects, and the use of early prepare to minimize delays in user activities.