1. The provision of multiple interchangeable components to perform a single function in order to cope with failures and errors. Redundancy normally applies primarily to hardware. For example, one might install two or even three computers to do the same job. There are several ways these could be used. They could all be active all the time thus giving extra performance through parallel processing as well as extra availability; one could be active and the others simply monitoring its activity so as to be ready to take over if it failed ("warm standby"); the "spares" could be kept turned off and only switched on when needed ("cold standby"). Another common form of hardware redundancy is disk mirroring.
Redundancy can also be used to detect and recover from errors, either in hardware or software. A well known example of this is the cyclic redundancy check which adds redundant data to a block in order to detect corruption during storage or transmission. If the cost of errors is high enough, e.g. in a safety-critical system, redundancy may be used in both hardware AND software with three separate computers programmed by three separate teams and some system to check that they all produce the same answer, or some kind of majority voting system.
2. The proportion of a message's gross information content that can be eliminated without losing essential information.
Technically, redundancy is one minus the ratio of the actual uncertainty to the maximum uncertainty. This is the fraction of the structure of the message which is determined not by the choice of the sender, but rather by the accepted statistical rules governing the choice of the symbols in question.
[Shannon and Weaver, 1948, p. l3]