Nested Transactions: An Approach to Reliable Distributed Computing.

Abstract

We examine how to program a system so that the software continues to work in the face of a variety of failures of parts of the system. The design presented uses the concept of transactions: collections of primitive actions that are indivisible. The indivisibility of transactions insures that consistent results are obtained even when requests are processed concurrently or failures occur during a request. Our design permits transactions to be nested. Nested transactions provide nested universes of synchronization and recovery from failures. The advantages of nested transactions over single-level transactions are that they provide concurrency control within transactions by serializing subtransactions appropriately, and that they permit parts of a transaction to fail without necessarily aborting the entire transaction. The method for implementing nested transactions described in this report is novel in that it uses locking for concurrency control. We present the necessary algorithms for locking, recovery, distributed commitment, and distributed deadlock detection for a nested transaction system. While the design has not been implemented, it has been simulated. The algorithms are described in a formal notation in an appendix, as well as narratively in the body of the report.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 1981
Accession Number
ADA100754

Entities

People

  • John Eliot Blakeslee Moss

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • C4I
  • Cyber
  • Weapons Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Computer Communications
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Data Storage Systems
  • Databases
  • Detection
  • Distributed Computing
  • Failure Mode And Effect Analysis
  • Memory Devices
  • Operating Systems
  • Programming Languages
  • Reliability
  • War Colleges

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.
  • Systems Analysis and Design