Why Do Computers Stop and What Can Be Done About It?

An analysis of the failure statistics of a commercially available fault -tolerant system shows that administration and software ar e the major contributors to failure. Various approaches to software fault-tolerance are then discussed -- notably process-pairs, transactions and reliable storage. It is pointed out that faults in production software are often soft (transient) and that a t ransaction mechanism combined with persistent processpairs provides fault-tolerant execution -- the key to software fault -tolerance.