A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tapestry Henrique Denes Hilgenberg Fernandes. Agenda Introdução Estado da arte A API DOLR Malha de roteamento – Da perspectiva de um único nó – Caminho.

Apresentações semelhantes


Apresentação em tema: "Tapestry Henrique Denes Hilgenberg Fernandes. Agenda Introdução Estado da arte A API DOLR Malha de roteamento – Da perspectiva de um único nó – Caminho."— Transcrição da apresentação:

1 Tapestry Henrique Denes Hilgenberg 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 (Decentralized Object Location and Routing)

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-based routing) – 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 (Globally Unique Identifiers) O espaço de endereçamento Tapestry possui 160 bits (40 dígitos hexa) NodeIDs e GUIDs podem ser obtidos usando-se hash, por exemplo, SHA-1 Nós têm nodeIDs e objetos têm GUIDs 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 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 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 – Surrogate node

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 Duas cópias de um objeto (4378) são publicadas para o seu nó raiz (4377) Mensagens publish roteiam 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 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 surrogate node do seu ID, S – S encontra p, maior prefixo compartilhado com Nid – S envia uma mensagem Acknowledged Multicast 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 "next hop", 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 and J. D. Kubiatowicz, Tapestry: A Resilient Global- Scale Overlay for Service Deployment, 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.


Carregar ppt "Tapestry Henrique Denes Hilgenberg Fernandes. Agenda Introdução Estado da arte A API DOLR Malha de roteamento – Da perspectiva de um único nó – Caminho."

Apresentações semelhantes


Anúncios Google