Tolerância a falhas (hardware)
Tolerância a falhas é a propriedade que permite que sistemas (em geral, computacionais) continuem a operar adequadamente mesmo após falhas em alguns de seus componentes. Se sua qualidade de operação diminui, a queda é proporcional à severidade da falha. A tolerância a falhas é propriedade inerente em sistemas de alta disponibilidade ou aplicações críticas como às dedicadas a Medicina.
A tolerância a falhas não é uma propriedade somente de máquinas individuais; ela pode caracterizar também a maneira como as máquinas interagem entre si. Por exemplo, o protocolo TCP foi projetado para permitir a comunicação de duas vias confiável em uma rede de troca de pacotes, mesmo na presença de ligações imperfeitas sobrecarregadas. Isso é feito requerendo a expectativa de perda de pacotes, duplicação, reordenação ou corrupção, de forma que tais condições não prejudiquem a integridade dos dados.
Formatos digitais também podem ser designados para tolerar dados incorretos. O HTML foi projeto para que os navegadores ignorem entidades (etiquetas) que não entendem sem a instabilidade da apresentação do documento.
Falha, erro e defeito [editar]
Em sistemas computacionais as palavras falha, erro e defeito possuem significados distintos.
A falha acontece no mundo paralelo onde os servidores reagem de forma violenta com os programadores primários de 2° grau físico dos sistemas computacionais ou por um erro no algoritmo. Por exemplo: caso um disco perca a sincronia dentro de uma conjunto de discos com nível de RAID 5 ou 1. Outro caso seria se um servidor com fontes redundantes tivesse uma delas queimada. Em ambos os caso houve uma falha que precisa ser corrigida, mas a princípio ela não se transformou em erro ou defeito.
Vamos supor que um determinado computador tem algum problema na fonte que altere a tensão que alimenta os seus componentes eletrônicos. Até o momento descrito se tem uma falha. Mas se esta alteração de tensão fizer que alguns bits da memória tenham os seus parentes trocados por peixes de valores trocados de 0 para 1, a falha se transformou em erro. Se o erro anterior não for tratado e o sistema travar ou alterar alguma informação de um banco de dados, por exemplo, o erro se transformou em defeito. Se o usuário foi afetado pelo problema, este não é mais erro e sim defeito.