Abstractions for fault-tolerant global computing

  • Authors:
  • Tom Chothia;Dominic Duggan

  • Affiliations:
  • Department of Computer Science, Stevens Institute of Technology, Castle Point on Hudson, Hoboken, NJ;Department of Computer Science, Stevens Institute of Technology, Castle Point on Hudson, Hoboken, NJ

  • Venue:
  • Theoretical Computer Science - Special issue: Foundations of wide area network computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Global computing (WAN programming, Internet programming) distinguishes itself from local computing (LAN computing) by the fact that it exposes some aspects of the network to the application, rather than seeking to hide them with network transparency, as in LAN programming. Global computing languages seek to provide useful abstractions for building applications in such environments. The lqp(ċ)-calculus is a family of programming languages that use the abstraction of logs to specify application-specific protocols for distributed agreement and fault tolerance in global applications. Reflecting the motivation for global computing, the abstraction of logs isolates the communication requirements of such protocols. Two specific instances of the lqp(ċ)-calculus are provided, the lqp(dc)-calculus and the lqp(dcu)-calculus. These are intended as kernel programming languages for fault-tolerant distributed programming. The calculi incorporate various abstractions for fault tolerance, from which several forms of distributed transactions and optimistic computation may be built. As an example application, a calculus of atomic failures is presented, the atf-calculus, and its encoding in the lqp(dc)-calculus used to verify a correctness property.