Um algoritmo de diagnóstico distribuído para redes particionáveis de topologia arbitrária - Weber, Andrea (2008)
Este trabalho apresenta um novo algoritmo de diagnóstico distribuído em nível de sistema, Distributed Network Reachability (DNR). O algoritmo permite que cada nodo de uma rede particionável de topologia arbitrária determine quais porções da rede estão alcançáveis e inalcançáveis. DNR é o primeiro algoritmo de diagnóstico distribuído que permite a ocorrência de eventos dinâmicos de falha e recuperação de nodos e enlaces, inclusive com partições e healings da rede. O estado diagnosticado de um nodo é ou sem-falha ou inatingível; o estado diagnosticado de um enlace é ou sem-falha ou não-respondendo ou inatingível. O algoritmo consiste de três fases: teste, disseminação e cálculo de alcançabilidade. Durante a fase de testes cada enlace é testado por um de seus nodos adjacentes em intervalos de teste alternados. Após a detecção de um novo evento, o testador inicia a fase de disseminação, na qual a nova informação de diagnóstico é transmitida para os nodos alcançáveis. A cada vez que um novo evento é detectado ou informado, a terceira fase é executada, na qual um algoritmo de conectividade em grafos é empregado para calcular a alcançabilidade da rede. O algoritmo DNR utiliza o número mínimo de testes por enlace por rodada de testes e tem a menor latência possível de diagnóstico, assegurada pela disseminação paralela de eventos. A correção do algoritmo é provada formalmente. Uma prova de correção no arcabouço bounded correctness também foi elaborada, incluindo latência delimitada de diagnóstico, latência delimitada de inicialização e acuidade. Um simulador do algoritmo foi implementado. Experimentos foram executados em diversas topologias incluindo grafos aleatórios (k-vertex connected e Power-Law) bem como grafos regulares (meshes e hipercubos). Extensivos resultados de simulação de eventos dinâmicos de falha e recuperação em nodos e enlaces são apresentados.