Undo for operators: building an undoable e-mail store

  • Authors:
  • Aaron B. Brown;David A. Patterson

  • Affiliations:
  • University of California, Berkeley, EECS Computer Science Division, Berkeley, CA;University of California, Berkeley, EECS Computer Science Division, Berkeley, CA

  • Venue:
  • ATEC '03 Proceedings of the annual conference on USENIX Annual Technical Conference
  • Year:
  • 2003

Quantified Score

Hi-index 0.02

Visualization

Abstract

System operators play a critical role in maintaining server dependability yet lack powerful tools to help them do so. To help address this unfulfilled need, we describe Operator Undo, a tool that provides a forgiving operations environment by allowing operators to recover from their own mistakes, from unanticipated software problems, and from intentional or accidental data corruption. Operator Undo starts by intercepting and logging user interactions with a network service before they enter the system, creating a record of user intent. During an undo cycle, all system hard state is physically rewound, allowing the operator to perform arbitrary repairs; after repairs are complete, lost user data is reintegrated into the repaired system by replaying the logged user interactions while tracking and compensating for any resulting externally-visible inconsistencies. We describe the design and implementation of an application-neutral framework for Operator Undo, and detail the process by which we instantiated the framework in the form of an undo-capable e-mail store supporting SMTP mail delivery and IMAP mail retrieval. Our proof-of-concept e-mail implementation imposes only a small performance overhead, and can store days or weeks of recovery log on a single disk.