• Nenhum resultado encontrado

4. DEFINIÇÃO DO SISTEMA PROPOSTO – ROSA P2P

4.2 Definição do ambiente P2P

4.2.2 Estratégias Adotadas

4.2.2.8 Comunicação Entre Peers e Super-peers – Índices SP/P e SP/SP

Segundo Nejdl et al. [Nejdl et al., 2003], o uso de índices de roteamento nos super-peers reduz significativamente o tempo de distribuição da consulta entre os peers que são relevantes. Desta forma, embora muitas estruturas de índices sejam apresentadas na bibliografia, às vezes faz-se necessário que seja definida uma estrutura própria, de acordo com as características do sistema. O uso de uma tabela hash, por exemplo, não seria adequada para o ambiente P2P proposto, uma vez que consultas submetidas ao sistema são semanticamente ricas, não se adaptando a esse tipo de índice. Portanto, de acordo com o estudo de sistemas similares, conforme apresentado na seção 2.5, o sistema se baseará em

Com o intuito de permitir a comunicação e pesquisa eficiente entre os peers, o sistema adotará uma estratégia que utilizará duas estruturas de dados, denominadas de índices de roteamento. Uma será referente à comunicação entre o super-peer e seus respectivos peers (SP/P) e a outra entre um super-peer e seus super-peers (SP/SP).

Embora não faça parte da arquitetura P2P, o portal ROSA também faz parte do sistema. Desta forma, torna-se necessário definir uma estrutura de dados para que ele possa localizar os super-peers relevantes às consultas submetidas pelos usuários. O mesmo é necessário para o serviço de diretório que armazena as referências de todos os super-peers do sistema. Essa estrutura de dados será a mesma utilizada para a comunicação entre um super-peer e seus

super-peers (SP/SP) e será detalhada mais adiante.

Índice de roteamento SP/P:

Cada super-peer possui um índice de roteamento super-peer/peer, conforme mostra a FIG. 4.12. Ela contém informações sobre os metadados de todos os seus peers e a informação referente à quantidade destes peers que se encontram “on-line”, a qual são de suma importância para o funcionamento do sistema.

FIG. 4.12 – Índice de roteamento SP/P no sistema

Essas informações são fornecidas por todos os peers conectados ao super-peer, através do envio de um sub-conjunto das informações contidas na tabela de propriedades e também por ele próprio e podem ser definidas conforme a TAB. 4.2.

P2 Super-Peer P1 Metadados P3 Índice de roteamento SP/P

TAB. 4.2 – Índice de roteamento SP/P

Informação Descrição

Localização do peer Informação sobre o IP do peer.

Características para agregação Informações sobre o(s) assunto(s) e a localização geográfica do peer.

Tipo de peer Informação se o peer é instituição de ensino ou não.

Opção por ser super-peer Informação se o peer deseja ser um super-peer ou não.

Status Informação se o peer está “on-line” ou “off-line”. O peer

com o status “on-line” significa que está ativo no sistema. Características físicas Informações sobre a estabilidade, largura de banda, poder

de processamento e capacidade de memória do peer.

Quantidade de peers Informação sobre o total de peers “on-line”. Indica o total

de peers “on-line” contidos na agregação.

Sua implementação foi realizada através de uma instância em XML e de seu esquema de validação em DTD, os quais podem ser visto na FIG. 4.13 e no apêndice 2, respectivamente.

<?xml version="1.0" encoding="UTF-8"?> <Peers> <peer> <IP>127.0.0.1</IP> <assunto>Engenharia elétrica</assunto> <localizacao>Brasil</localizacao> <tipo>Instituicao de ensino</tipo> <desejaSerSuperpeer>Sim</desejaSerSuperpeer> <status>on-line</status> <caracteristicasFisicas> <estabilidade>Medio</estabilidade> <larguraBanda>Medio</larguraBanda> <poderProcessamento>Medio</poderProcessamento> <capacidadeArmazenamento>Medio</capacidadeArmazenamento> </caracteristicasFisicas> </peer> <qtdPeers>1</qtdPeers> </Peers>

Como em qualquer ambiente dinâmico, essas informações devem ser mantidas atualizadas, para não comprometer nem o desempenho e nem a confiabilidade do sistema. Portanto, cada peer é responsável pela manutenção de suas informações, para os quais

triggers serão implementados de modo a fazer com que quaisquer alterações destas

informações sejam detectadas e enviadas ao(s) respectivo(s) super-peer(s) para as devidas atualizações.

Por outro lado, conforme já discutido na seção 4.2.2.2, caso um peer deixe o sistema, o

super-peer, além de mudar o seu status para “off-line”, deve manter as suas respectivas

informações por um período de tempo (parametrizável), como por exemplo, uma semana. Passado este tempo, as referências devem ser removidas. Isto faz com que o índice de roteamento SP/P mantenha-se atualizado, ao mesmo tempo em que permite que a conexão ou a re-conexão de um peer ao sistema seja mais rápida.

O índice de roteamento SP/P é uma estrutura de dados fundamental para que consultas possam ser direcionadas eficientemente aos peers relevantes e, conseqüentemente, serem respondidas mais rapidamente. Desta forma, ao receber uma consulta relevante a sua agregação, o super-peer analisará as informações de metadados de cada um dos seus peers, reenviando-a automaticamente para aqueles aptos a respondê-la, otimizando assim todo o seu processamento.

Índice de roteamento SP/SP

O índice de roteamento super-peer/super-peer está presente no portal ROSA, assim como em cada super-peer do sistema, conforme ilustra a FIG. 4.14.

FIG. 4.14 – Índice de roteamento SP/SP no sistema Super- Peer 1 Metadados Super-Peer2 Metadados Super-Peer 3 Metadados Índice de roteamento SP/SP Referências a outro super-peer Referência a outro super-peer Portal ROSA Metadados

Ele contém as informações sobre os metadados de cada super-peer conectado ao portal ROSA e/ou ao super-peer, sendo também de suma importância para o funcionamento do sistema. Este índice também está presente no serviço de diretório, onde é povoado com referências a todos os super-peers do sistema.

Essas informações são fornecidas pelos super-peers, através do envio de um sub-conjunto das informações contidas na tabela de propriedades, ao portal ROSA, ao serviço de diretório e aos super-peers a eles conectados, assim como por eles próprios. São basicamente as mesmas contidas no índice de roteamento SP/P, porém são referentes ao super-peer, conforme mostra a TAB. 4.3.

TAB. 4.3 – Índice de roteamento SP/SP

Informação Descrição

Localização do super-peer Informação sobre o IP do super-peer.

Características para agrupamento Informações sobre o(s) assunto(s) e a localização do

super-peer.

Status Informação se o super-peer está “on-line” ou “off-line”.

Quantidade de super-peers Informação sobre o total de super-peers “on-line”.

Indica o total de super-peers “on-line” a qual se está conectado.

Quantidade de super-peers que tratam do mesmo assunto

Informação sobre o total de super-peers “on-line” e que tratam do mesmo assunto. Indica o total de super-peers “on-line” do agrupamento. É utilizada quando se deseja saber para quanto super-peers uma determinada consulta está sendo reenviada (seção 4.3.2.3.4.1).

Sua implementação foi realizada através de uma instância em XML e de seu esquema de validação em DTD, os quais podem ser vistos na FIG. 4.15 (exemplo) e no apêndice 3 respectivamente.

<?xml version="1.0" encoding="UTF-8"?> <Peer> <superpeer> <IP>127.0.0.1</IP> <assunto>Engenharia elétrica</assunto> <localizacao>Brasil</localizacao> <status>on-line</status> </superpeer> <qtdSuperpeers>1</qtdSuperpeers> <qtdSuperpeersMesmoAssunto>1</qtdSuperpeersMesmoAssunto> </Peer>

FIG. 4.15 – Exemplo de uma instância do índice de roteamento SP/SP

A manutenção deste índice ocorre da mesma maneira que a do índice de roteamento SP/P, isto é, cada super-peer é responsável pela manutenção de suas informações exportadas.

Triggers serão implementados de modo a fazer com que quaisquer alterações destas

informações sejam detectadas e enviadas ao portal ROSA, ao serviço de diretório e ao(s) respectivo(s) super-peer(s) para as devidas atualizações.

Quando o portal ROSA, o serviço de diretório ou um super-peer detecta ou recebe uma mensagem de que um super-peer está ausente (o super-peer pode ter deixado o sistema ou se tornado um peer comum), estes além de mudarem o seu status para “off-line”, devem manter as suas respectivas informações por algum período de tempo (parametrizável), como por exemplo, uma semana. Passado este tempo, as referências devem ser removidas. Isto faz com que o índice de roteamento SP/SP mantenha-se atualizado, ao mesmo tempo em que permite que o portal ROSA ou um super-peer não perca tempo tentando localizar o ex-super-peer, permitindo desta forma que a distribuição da consulta seja mais rápida. Este procedimento, como se pode observar, é bem semelhante ao realizado no índice de roteamento SP/P. Com relação ao serviço de diretório, permite que este informe aos novos peers somente referências a super-peer válidos, aumentando o desempenho e qualidade das conexões iniciais no sistema.

O índice de roteamento SP/SP é uma estrutura de dados fundamental para que consultas possam ser direcionadas eficientemente aos super-peers relevantes e, conseqüentemente, serem respondidas mais rapidamente. Desta forma, ao receber uma consulta, o portal ROSA ou o super-peer analisará as informações de metadados de cada um dos super-peers a ele conectado, reenviando a consulta aos super-peers relevantes e estes aos seus peers, otimizando assim todo o processamento. No caso do serviço de diretório, atua oferecendo aos

novos peers todas as possibilidades de conexão possíveis segundo suas características particulares, possibilitando que este possa se unir ao sistema.