UNIVERSIDADE FEDERAL DE SANTA CATARINA Florianópolis, 2 de julho de 2007. Disciplina: Projetos I Aluno: Bruno Bruggemann – 01238035 Resumo do Artigo Tema da Artigo: Search in JXTA and Other Distributed Networks Autores: Sherif Botros and Steve Waterhouse Link direto: http://ieeexplore.ieee.org/iel5/7771/21356/00990421.pdf?tp=&arnumber=990421&isnumbe r=21356 O objetivo do artigo revisar e classificar as diferentes modos de procura em redes peer-to-peer. Isto foi feito usando uma implementação sobre o JXTA. A maioria das aplicações que utilizam redes distribuídas peer-to-peer, tem por objetivo troca de mensagens ou arquivos, isto ocorre com um sistema de propagandas e consultas. Desta forma o problema de busca se reduz ao problema de procurar um diretório dinamico e distribuido por propagandas utilizando-se de “consumidores” de propagandas, sendo que este diretório é construído usando um subconjunto de todos os peer da rede. Mas há importantes questões técnicas e práticas que definem o conteúdo destas propagandas, o design do diretório e a propagação da consulta. Importantes questões incluem consistência do diretório, eficiência na busca e armazenamento, a eficiência na comunicação dos peers, entre outros. Também deve ser considerado com umdesafio pelo fato de que redes peer-to-peer tendem a ser muito dinâmicas, ter a disponibilidade dos recursos aleatória e a possibilidade destes recursos mudarem seus endereço físico na rede de tempos em tempos. As diferentes formas de se realizar buscas em sistemas distribuídos foram divididas em duas grandes classes: busca “content-agnostic” e busca “content-based”. Estas duas classes diferem na organização da rede e no método de propagação das buscas e propagandas. Métodos de buscas “content-agnostic” focam na organização dos peers e na máxima distância entre eles. Neste método as buscas (queries) precisam alcançar um grupo de peers que possuam um completo grupo de propagandas publicadas para garantir uma busca completa. Nos metódos de busca “content-based” a organização da rede junto com a propagação das consultas e propagandas é guiado pelo índice das consultas e propagandas. Isto é, nestes métodos a busca é propagada na direção dos peers que provavelmente poderão “responder” as consultas. Alguns exemplos de sistemas que usam o métodos de busca “content-agnostic” seriam: Napster, famoso compartilhador de músicas, que possui um servidor central agindo como um mediador, permitindo uma busca é detalhada, os updates dos diretórios são rápidos e o número de mensagens trocadas é reduzido. Entretanto possui como desvantagem o fato de ter um único ponto de falha, não ser uma solução escalável e a necessiadade uma autoridade central; Rede Gnutella, onde cada peer mantém localmente armazenado o índice de seus índices e conexões com poucos vizinhos. Com isso quando é feita uma consulta todos os vizinhos conectados ao peer inical recebem-na repassando aos peers que estiverem conectados à este. O problema deste fica por conta da auta troca de mensagens e pelo fato de ter de ser criado um tempo que define por quantos peers a consulta irá passar antes de “morrer”. Redes que utilizam o metódo de busca “content-based” as consultas por conteúdos são feitas utilizando eficientes rotas de mensagens para os mais relevantes peers. Na rede CAN ou “Content Addressable Network” é organizado em uma ddimensional. Neste espaço, cada peer ocupa uma zona e conhece todos os seus vizinhos. Conteúdos e vizinhos, na forma de pares (chave, valor), são mapeados em “d” dimensões usando “d” funções hash globais. O roteamento é feito da fonte para o destino através das coordenadas que reduzem o tempo restante para o destino. O Chord é outro esquema para o mapeamento de conteúdos em diferentes peers. Similar ao CAN, ele resolve uma chave para um especifico peer usando hash. Redes “Publicar/Subscrever” foram propostas para o sistemas de notificação de eventos. Neste tipo os peers primeiro concordam com um padrão para as consultas e propagandas, para depois subscrever suas necessidades em no servidor em no padrão précombinado. JXTA é uma rede de hubs e um conjunto de protocolos de comunicação baseado em XML. Neste os provedores de informação registram suas propagandas nos hubs. As mensagens de registração baseadas em XML contêem um espaço para a consulta, que possui um conjunto de predicados e endereço do provedor das informações.O predicado define o conteúdo que o provedor da informação está expondo na rede. O hub de busca JXTA cria um indice invertido conteúdo registrado. O peer que desejar esta informação manda uma consulta XML para o hub de busca, que procura localmente pelo índice e roteia a consulta para provedor da informação requerida ou para outro hub de busca que provavelmente tenha a resposta da consulta. Como todo peer que implementa o serviço de busca JXTA pode se tornar um hub, é necessário uma organização escalável dos hubs que podem ter milhares de hubs. Propõe-se a organização dos hubs em gurpos. Cada hub em um grupo de propagandas mantém um lista local dos índices dos conteúdos registrados, e um sumário do conteúdo de outros hubs do mesmo grupo. A troca de sumários é feita utilizando o Bloom Filter. Quando um provedor de informação deseja publicar um resgistro na rede de busca JXTA, ele contacta um dos hubs que ele conhece, e se o grupo deste for “content-based” a propaganda será armazenada na lista local do hub. E está será atualizada quando este mandá-la para todos os hubs do seu grupo. Enfim o uso das tecnologias descritas com o JXTA pode suportar muitos peers dinâmicos, e o número de hubs nos grupos é um parâmetro controlado. E esta arquitetura reduz a resposta das consultas, pois as consultas necessitam ser mandadas somente um vez para os grupos mais representativos. E por causa da arquitetura centralizada dos hubs é muito mais fácil para implementar políticas de seguranças na rede. 2