Fault-Tolerant Protocols Using Single- and Multiple-Version Software Fault-Tolerance

Fault-Tolerant Protocols Using Single- and Multiple-Version Software Fault-Tolerance

Vincenzo De Florio (PATS Research Group, University of Antwerp and iMinds, Belgium)
Copyright: © 2009 |Pages: 80
DOI: 10.4018/978-1-60566-182-7.ch003
OnDemand PDF Download:
$37.50

Abstract

This chapter discusses two large classes of fault-tolerance protocols: • Single-version protocols, that is, methods that use a non-distributed, single task provision, running side-by-side with the functional software, often available in the form of a library and a run-time executive. • Multiple-version protocols, which are methods that use actively a form of redundancy, as explained in what follows. In particular recovery blocks and N-version programming will be discussed. The two families have been grouped together in this chapter because of the several similarities they share.
Chapter Preview
Top

Introduction And Objectives

This chapter discusses two large classes of fault-tolerance protocols:

  • Single-version protocols, that is, methods that use a non-distributed, single task provision, running side-by-side with the functional software, often available in the form of a library and a run-time executive.

  • Multiple-version protocols, which are methods that use actively a form of redundancy, as explained in what follows. In particular recovery blocks and N-version programming will be discussed.

The two families have been grouped together in this chapter because of the several similarities they share.

A key requirement for the development of fault-tolerant systems is the availability of replicated resources, in hardware or software. A fundamental method employed to attain fault-tolerance is multiple computation, i.e., N-fold (N > 1) replications in three domains:

  • Time That is, repetition of computations.

Following Avižienis (Avižienis, 1985), it is possible to characterize at least some of the approaches towards fault-tolerance by means of a notation resembling the one used to classify queuing systems models (Kleinrock, 1975):

nT /mH/pS,

the meaning of which is “n executions, on m hardware channels, of p programs”. The non-fault-tolerant system, or 1T/1H/1S, is called simplex in the cited paper.

  • Space I.e., the adoption of multiple hardware channels (also called “lanes”).

  • Information That is, the adoption of multiple versions of software.

Complete Chapter List

Search this Book:
Reset
Table of Contents
Acknowledgment
Chapter 1
Vincenzo De Florio
The general objective of this chapter is to introduce the basic concepts and terminology of the domain of dependability. Concepts such as... Sample PDF
Dependability and Fault-Tolerance: Basic Concepts and Terminology
$37.50
Chapter 2
Vincenzo De Florio
After having described the main characteristics of dependability and fault-tolerance, it is analyzed here in more detail what it means that a... Sample PDF
Fault-Tolerant Software: Basic Concepts and Terminology
$37.50
Chapter 3
Vincenzo De Florio
This chapter discusses two large classes of fault-tolerance protocols: • Single-version protocols, that is, methods that use a non-distributed... Sample PDF
Fault-Tolerant Protocols Using Single- and Multiple-Version Software Fault-Tolerance
$37.50
Chapter 4
Vincenzo De Florio
In this chapter our survey of methods and structures for application-level fault-tolerance continues, getting closer to the programming language... Sample PDF
Fault-Tolerant Protocols Using Compilers and Translators
$37.50
Chapter 5
Vincenzo De Florio
The programming language itself is the focus of this chapter: Fault-tolerance is not embedded in the program (as it is the case e.g. for... Sample PDF
Fault-Tolerant Protocols Using Fault-Tolerance Programming Languages
$37.50
Chapter 6
Vincenzo De Florio
After having discussed the general approach of fault-tolerance languages and their main features, the focus is now set on one particular case: The... Sample PDF
The Recovery Language Approach
$37.50
Chapter 7
Vincenzo De Florio
This chapter resumes our survey of application-level fault-tolerance protocols considering approaches based on aspect-oriented programming.... Sample PDF
Fault-Tolerant Protocols Using Aspect Orientation
$37.50
Chapter 8
Vincenzo De Florio
Failure detection is a fundamental building block to develop fault-tolerant distributed systems. Accurate failure detection in asynchronous systems... Sample PDF
Failure Detection Protocols in the Application Layer
$37.50
Chapter 9
Hybrid Approaches  (pages 275-300)
Vincenzo De Florio
This chapter describes some hybrid approaches for application-level software fault-tolerance. All the approaches reported in the rest of this... Sample PDF
Hybrid Approaches
$37.50
Chapter 10
Vincenzo De Florio
As mentioned in Chapter I, a service’s dependability must be justified in a quantitative way and proved through extensive on-field testing and fault... Sample PDF
Measuring and Assessing Tools
$37.50
Chapter 11
Conclusion  (pages 326-349)
Vincenzo De Florio
We have reached the end of our discussion about application-level fault-tolerance protocols, which were defined as the methods, architectures, and... Sample PDF
Conclusion
$37.50
About the Author