Recovery Guarantees: Essentials and Incidentals

Cris Pedregal, Krithi Ramamritham · 2001

In spite of the central role recovery plays in a transaction systems supporting the properties of Failure Atomicity and Durability, its theoretical underpinnings are not well understood. Specifically, there is a lack of abstractions to decompose the machinery of recovery, which leaves a wide semantic gap between high-level requirements and implementation. Realizing recovery, especially for novel applications and settings, is thus difficult and error-prone. Recovery guarantees reduce the semantic gap by characterizing the assurances relevant to recovery that a subsystem must give to another; as such they describe the what but not the how of recovery at a given abstraction level. Guarantees are complemented by recovery protocols, which prescribe behaviors subsystems should follow in order to take advantage of the guarantees. In this paper we use the recovery guarantees and protocols to shed light on the nature of recovery in different systems. We concentrate on two simple examples which show the breadth of application of our approach: a mobile system and an electronic commerce system. By comparing the characterizations of the two systems we separate the aspects of recovery that are germane to specific architectures and services from those that constitute the core of guaranteeing functionality in spite of failure. Our main contribution, through significant furthering of understanding of the essential and incidental recovery ingredients and their relationships, is a methodology to describe and reason about the recovery requirements and properties of reliable transactional and workflow. Other contributions include clarifying the mechanics and role of recovery in mobile and e-commerce systems.

Read the paper · More papers on PaperTik