Skip to main content

Fault Tolerance – Concepts and Implementation Issues

  • Conference paper
Scientific Engineering of Distributed Java Applications (FIDJI 2004)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3409))

  • 530 Accesses

Abstract

This tutorial presents an overview of the techniques that can be used by developers to produce software that can tolerate design faults and faults of the surrounding environment, and it offers an introduction on how such techniques can be implemented in a standard programming language. After reviewing the basic terms and concepts of fault tolerance, the most well-known fault-tolerance techniques exploiting software-, information- and time redundancy are presented, classified according to the kind of concurrency they support. The tutorial then concentrates on a specific technique for achieving fault tolerance using backward error recovery: transactions. Transactions group together a set of operations and give them the so-called ACID properties: Atomicity, Consistency, Isolation and Durability. After presenting different transaction models, pessimistic and optimistic concurrency control, and different ways of performing crash recovery are reviewed. Finally, the design of an object-oriented framework that provides support for open multithreaded transactions is outlined. The framework offers different interfaces for application programmers: a procedural, an object-based, an object-oriented and an aspect-oriented one. The interfaces are presented in detail, and their advantages and disadvantages are analyzed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kienzle, J. (2005). Fault Tolerance – Concepts and Implementation Issues. In: Guelfi, N., Reggio, G., Romanovsky, A. (eds) Scientific Engineering of Distributed Java Applications. FIDJI 2004. Lecture Notes in Computer Science, vol 3409. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31869-9_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31869-9_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25053-1

  • Online ISBN: 978-3-540-31869-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics