Para que um sistema seja tolerante a falhas, a possibilidade de continuar funcionando, e de forma transparente, deve ser possível. Uma ideia amplamente utilizada e que funciona muito bem para que essa funcionalidade seja atingida é a replicação de recursos computacionais; ou seja, existem cópias exatas (e constantemente atualizadas) que podem assumir o papel a qualquer momento que as máquinas de produção falharem. Diversos tipos de problemas podem ser mascarados por replicação de recursos computacionais, exceto:
Para que um sistema seja tolerante a falhas, a possibilidade de continuar funcionando, e de forma transparente, deve ser possível. Uma ideia amplamente utilizada e que funciona muito bem para que essa funcionalidade seja atingida é a replicação de recursos computacionais; ou seja, existem cópias exatas (e constantemente atualizadas) que podem assumir o papel a qualquer momento que as máquinas de produção falharem. Diversos tipos de problemas podem ser mascarados por replicação de recursos computacionais, exceto:
- falhas de comunicação entre cliente e servidor em uma ideia peer-to-peer, visto que utilizam transporte orientado a conexão, e, depois de estabelecido com determinado recurso computacional que falha, esta não pode ser simplesmente movida pela própria tecnologia da conexão.
- falhas de comunicação entre cliente e servidor em uma ideia peer-to-peer, visto que utilizam transporte orientado a datagrama, e, depois de estabelecido com determinado recurso computacional que falha, esta não pode ser simplesmente movida pela própria tecnologia da conexão.
- falhas de comunicação entre servidores agrupados em grupo simples, visto que utilizam conexões dedicadas entre os nós, e, dessa forma, toda a transparência inerente ao contexto de sistemas distribuídos é quebrada pela necessidade de a conexão entre servidores ser restabelecida.
- falhas de comunicação entre servidores agrupados em grupo hierárquico, já que o nó coordenador é o ponto inicial da comunicação, e toda a transparência inerente ao contexto de sistemas distribuídos é quebrada pela necessidade de o nó coordenador emitir exceções, tanto para o servidor quanto para o cliente.
- falhas de processos entre servidores agrupados em grupo hierárquico, visto que o nó coordenador necessita realocar o processo criado para outro nó operário, e a transparência é quebrada, pois fica evidente ao usuário o processo de realocação de recursos entre servidores.