Redes P2P: CHORD Nuno Manuel Ferreira Gonçalves Universidade Federal do Paraná
História Classificação Estrutura Mapeamento de chaves Roteamento Pesquisa Estabilização Endereçamento Vantagens/Problemas Implementações Referências
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 3 Criado em 2001 Instituto de Tecnologia de Massachusetts(MIT) Investigadores: Ian Stoica Robert Morris David Karger M. Frans Kaashoek Hari Balakrishnan
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 4 Arquitetura de 3ª geração Modelo Descentralizado e Estruturado Pesquisa através de DHT
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 5 Anel – direcionado sentido horário com ID's de m bits usado tanto para os nodos como para as chaves. SHA-1 - Função de HASH(Secure Hash Standart) Nó ID = SHA-1(endereço IP) Chave ID = SHA-1(chave)
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 6 Uma chave é mapeada para o primeiro nodo cujo ID é igual ou superior ao da chave. Cada nó é responsável por um conjunto de chaves(variável) As chaves devem ser re-distribuídas após uma entrada ou saída do sistema.
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 7 Finger table – contém m entradas. Definidas através da função (n+2 k-1 )mod 2 m, 1≤k≤m
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 8
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 9
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 10 O(log N) – N é o número de nodos
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 11 Quando um nó entra na rede somente corrige o seu sucessor. Executa a função stabilize() e a função fix_fingers() periodicamente. Somente O(1/N) das chaves são mudadas para outra localização.
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 12 Entrada na rede através de um nodo conhecido
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 13 Não disponibilizada informação sobre como ultrapassar barreiras de endereçamento/protecção. Paper original somente assume que a comunicação na rede física é simétrica e transitiva.
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 14 Balanceamento de carga Descentralizado Escalável Alta disponibilidade Simples Boa performance
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 15 Pesquisa no Chord não atende apropriamente: Semântica mais complexa Meta-informação Buscas incompletas Erros léxicos Ex: Se for armazenado o video “o meu pé de meia” e a procura for por “o meu pé” a pesquisa falha. Possíveis problemas de segmentação do anel Somente trata de chaves e ID's
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 16 P2P XWIKI Macedon (C++). i3/Chord (C). P2 (A custom declarative language). The Circle (Python). Open Chord (Java). Overlay Weaver (Java). nchord (C#) chordjerl (Erlang)
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 17 Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proc. ACM SIGCOMM 2001, August An early version appeared as LCS TR-819 available at Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashoek, Frank Dabek, Hari Balakrishnan, Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications. IEEE/ACM Transactions on Networking, February 2003
01/09/2010Nuno Manuel Ferreira Gonçalves - UFPR 18 Perguntas?