Closed Ladeia closed 9 years ago
Definição da wikipedia
O algoritmo em anel ou LCR, iniciais de Le Lann, Chang e Roberts, serve para eleger um líder se os processos estiverem dispostos em um anel. Cada processo deve conhecer seu vizinho à direita e à esquerda e deve ter um identificador numérico, único, fixo e atribuído antes do início da eleição. Originalmente este algoritmo visava a recuperação de um token perdido em uma rede com topologia em forma de anel, elegendo um nó da rede que servisse como ponto de partida para o novo token. A execução do algoritmo busca eleger o processo de maior identificador e fazer com que todos os membros do anel reconheçam o novo líder. Este é o seu pseudocódigo: Se um dos nós identifica a perda do token, inicia a eleição enviando uma mensagem de eleição com o seu número de nó ao vizinho da direita. Se o nó que recebe a mensagem de eleição tem um identificador maior que o informado na mensagem que recebeu, passa uma mensagem de eleição para seu vizinho da direita com seu próprio identificador. Caso contrário aceita que o nó que tem o identificador contido na mensagem será o líder e repassa ao seu vizinho da direita. Se o nó recebe uma mensagem com o identificador idêntico ao seu, ele se declara líder. Este evento só ocorre quando a mensagem contendo o maior identificador circulou por todo o anel tornando todos os seus membros cientes do resultado.
Modelo em C http://ferpinheiro.wordpress.com/2011/05/14/algoritmo-para-eleicao-em-anel-usado-em-sistemas-distribuidos/
De acordo com o que foi pensado uma boa escolha seria o algoritmo em anel.