Peer churn

Em sistemas P2P, um par pode vir ou ir sem aviso. Assim, no projeto de um DHT, devemos nos preocupar em manter a sobreposição de DHT na presença desse peer churn. Para termos uma compreensão abrangente de como isso pode ser realizado, consideraremos mais uma vez o DHT circular da Figura 2.27(a). 


Para manejar o peer churn, exigiremos que cada par rastreie (ou seja, saiba o endereço IP de) seu primeiro e segundo sucessores; por exemplo, o par 4 agora rastreia tanto o par 5 como o par 8. Exigiremos também que cada par verifique periodicamente se seus dois sucessores estão vivos (por exemplo, enviando periodicamente mensagens de ping e pedindo respostas). Consideraremos agora como o DHT é mantido quando um par sai abruptamente. Por exemplo, suponha que o par 5 da Figura 2.27(a) saia abruptamente. 

Nesse caso, os dois pares precedentes ao par que saiu (4 e 3) saberão que o par saiu, pois não responde mais às mensagens de ping. Os pares 4 e 3 precisam, portanto, atualizar as informações do estado de seu sucessor. Consideraremos agora como o par 4 atualiza seu estado:

1. O par 4 substitui seu primeiro sucessor (par 5) por seu segundo sucessor (par 8). 

2. O par 4, então, pergunta a seu novo primeiro sucessor (par 8) o identificador e o endereço IP de seu sucessor imediato (par 10). O par 4, então, torna o par 10 seu segundo sucessor.

Nos problemas, você deverá determinar como o par 3 atualiza suas informações de determinação de roteamento de sobreposição.

Tendo abordado brevemente o que deve ser feito quando um par sai, consideraremos agora o que acontece quando um par quer entrar no DHT. Digamos que um par com identificador 13 quer entrar no DHT, e quando entra, sabe apenas da existência do par 1 no DHT. O par 13 primeiro envia ao par 1 uma mensagem, perguntando “quem serão o predecessor e o sucessor do par 13?”. Essa mensagem é encaminhada através do DHT até alcançar o par 12, que percebe que será o predecessor do par 13, e que seu sucessor, o par 15, será o sucessor do par 13. Em seguida, o par 12 envia as informações de sucessor e predecessor ao par 13. O par 13, então, pode entrar no DHT, tornando o par 15 seu sucessor e notificando ao par 12 que deve mudar seu sucessor imediato para 13.

DHTs têm amplo uso na prática. Por exemplo, o BitTorrent usa o DHT Kademlia para criar um rastreador distribuído. No BitTorrent, a chave é o identificador do torrent e o valor é o endereço IP dos pares que atualmente participam dos torrents [Falkner, 2007; Neglia, 2007]; Dessa forma, solicitando ao DHT um identificador de torrent, um par de BitTorrent recém-chegado pode determinar o par responsável pelo identificador (ou seja, por determinar os pares no torrent). Após ter encontrado esse par, o par recém-chegado pode solicitar dele uma lista de outros pares no torrent. DHTs são usados extensamente no sistema de compartilhamento de arquivos eMule para localizar conteúdos em pares [Liang, 2006].

ATIVIDADE DE FIXAÇÃO

Comentários

Postagens mais visitadas deste blog

Wi-Fi: LANs sem fio 802.11

Caches Web

Acesso celular à Internet