1 / 22

Tapestry Henrique Denes Hilgenberg Fernandes

Tapestry Henrique Denes Hilgenberg Fernandes. Agenda. Introdução Estado da arte A API DOLR Malha de roteamento Da perspectiva de um único nó Caminho da mensagem Localização e publicação de objetos Publicação de objeto no Tapestry Rotas para objetos em Tapestry Algoritmos

kirkan
Download Presentation

Tapestry Henrique Denes Hilgenberg Fernandes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tapestry Henrique DenesHilgenberg Fernandes

  2. Agenda • Introdução • Estado da arte • A API DOLR • Malha de roteamento • Da perspectiva de um único nó • Caminho da mensagem • Localização e publicação de objetos • Publicação de objeto no Tapestry • Rotas para objetos em Tapestry • Algoritmos • Arquitetura do Tapestry • Camadas funcionais do nó Tapestry

  3. Introdução • Tapestry é um protocolo que provê infra-estrutura para roteamento em redes P2P sobrepostas • Altamente escalável • Bom para réplicas de objetos • Provê DOLR (DecentralizedObjectLocationandRouting)

  4. Estado da arte • 1as. P2P • Foco no compartilhamento de arquivos • Napster (Serviço de diretório centralizado) • Gnutella • Totalmente distribuído, escalabilidade limitada • Freenet • Projetada para sobreviver à censura • Gnutella e Freenet não garantem a localização dos arquivos

  5. Estado da arte • Gerações posteriores (redes P2P sobrepostas) • Tapestry • Chord • Pastry • CAN • Implementam KBR (key-basedrouting) • Suportam interfaces de mais alto nível: DHT

  6. A API DOLR • Cada nó é designado por um nodeID • Um host pode abrigar mais de um nó • Pontos de aplicações específicas são chamados GUID (GloballyUniqueIdentifiers) • O espaço de endereçamento Tapestry possui 160 bits (40 dígitos hexa) • NodeID’s e GUID’s podem ser obtidos usando-se hash, por exemplo, SHA-1 • Nós têm nodeID’s e objetos têm GUID’s • Cada mensagem tem um identificador específico de aplicação Aid • Usado para selecionar o processo que recebe a mensagem, como se fosse uma porta do TCP

  7. A API DOLR • A API DOLR possui 4 operações: • PUBLISHOBJECT(OG, Aid) • Publica o objeto O no nó local • UNPUBLISHOBJECT(OG, Aid) • Tenta remover os mapeamentos de O • ROUTETOOBJECT(OG, Aid) • Encaminha mensagem para a localização do objeto com GUID OG • ROUTETONODE(N, Aid, Exact) • Encaminha mensagem para aplicação Aid no nó N. • Exact diz se o destino deve bater exatamente para efetuar a entrega (não pode ser um surrogate) • Como o Tapestry tira proveito do tamanho da rede, sugere-se o uso de uma única rede universal

  8. A malha de roteamento • O Tapestry mantém tabelas de rotas locais, em cada nó, chamadas neighbor links • São ordenados por prefixos • Roteiam bit a bit (4*** → 42** → 42A* → 42AD) • Cada nó tem um mapa com múltiplos níveis

  9. A malha de roteamento(Da perspectiva de um único nó)

  10. A malha de roteamento(Da perspectiva de um único nó) • Os links saindo apontam para um prefixo em comum • Rotas de maior nível possuem mais dígitos em comum • Todos os links juntos formam a tabela de rotas local

  11. A malha de roteamento(Caminho da mensagem)

  12. A malha de roteamento(Caminho da mensagem) • Mensagem originada em 5230 e com destino a 42AD • Se o destino não for encontrado, a mensagem poderá ser entregue a um nó similar • Surrogatenode

  13. Localização e publicação de objetos • Um servidor S, armazenando um objeto O (com GUID OG e raiz OR), periodicamente o publica via mensagem PUBLISH em direção à OR • O que é raiz? • Se existe um nó com Nid = G, então esse nó é raiz de G

  14. Publicação de objeto no Tapestry

  15. Publicação de objeto no Tapestry • Duas cópias de um objeto (4378) são publicadas para o seu nó raiz (4377) • Mensagens publishroteiam para a raiz, deixando um ponteiro para a localização em cada hop • Quando houverem réplicas em mais de um servidor, cada servidor publica sua cópia

  16. Rota para objeto em Tapestry

  17. Rota para objeto em Tapestry • Vários nós enviam mensagens para 4378, de diferentes pontos da rede • As mensagens são roteadas para a raiz de 4378 • Ao atingir o caminho do "publish", as mensagens são roteadas para a cópia do objeto mais próxima • Cada nó, no caminho, checa se ele possui um mapeamento para O • Caso positivo, encaminha para S • Caso contrário, encaminha a mensagem em direção à raiz

  18. Algoritmos • Inserção de nós • A inserção de um nó N, começa no surrogatenode do seu ID, S • S encontra p, maior prefixo compartilhado com Nid • S envia uma mensagem AcknowledgedMulticast que chega a todos os nós com o mesmo prefixo p • Os nós que recebem a mensagem adicionam N às suas tabelas

  19. Algoritmos • Remoção de nós: • Quando um nó deseja deixar o Tapestry, ele avisa sua intenção a todos os nós que apontam para ele, junto com um "nexthop", em sua substituição, para cada nível da tabela de roteamento

  20. Arquitetura do Tapestry

  21. Camadas funcionais do nó Tapestry • Camada de transporte • Provê um canal de comunicação entre dois nós sobrepostos • Corresponde a camada 4 do modelo OSI • Neighbor Link • Estabelece uma conexão com um nó remoto • Pode prover um canal seguro • Corresponde a sessão no modelo OSI • Roteador • Nessa camada estão a tabela de rotas e os ponteiros para objetos locais

  22. Referências • B. Y. Zhao, L. Huang, J. Stribling, S. C. Rhea, A. D. Joseph andJ. D. Kubiatowicz, “Tapestry: A Resilient Global-Scale Overlay for ServiceDeployment”, IEEE Journal on Selected Areas in Communications, vol. 22, no. 1, january 2004, pp. 41-53. • B. Y. Zhao, J. D. Kubiatowicz, and A. D. Joseph, “Tapestry: An infrastructure for fault-tolerant wide-area location and routing,” Univ. California, Berkeley, CA, Tech. Rep. CSD-01-1141, Apr. 2001. • K. Hildrum, J. D. Kubiatowicz, S. Rao, and B. Y. Zhao, “Distributed object location in a dynamic network,” in Proc. SPAA, Winnipeg, Canada, Aug. 2002, pp. 41–52.

More Related