ABSTRACT

Redundancy can be divided into resource and time redundancies. This chapter aims to introduce some important mechanisms and strategies for implementing redundancy in computing systems. Resource redundancy requires additional resources whereas time redundancy demands extra time to perform tasks for fault tolerance. Data errors may occur when the data are transferred or stored. Many information redundancy strategies are based on coding. Software research communities have long pursued dependable software systems. The common property of both strategies is that two or more diverse software units (variants) are employed to form fault-tolerant software. The hardware-fault tolerant architectures equivalent to recovery block strategy and N-version programming are standby sparing (also termed as passive dynamic redundancy) and N modular redundancy (also termed as static redundancy), respectively.