• Nenhum resultado encontrado

3.3 Protocolos Gerenciamento de Reputação

3.3.5 STORM

O STORM é um protocolo de gerenciamento de reputação projetado para o Chord e proposto por [Ravoaja e Anceaume 2007]. Ele opera criando uma estrutura de rede sobreposta acima do anel do Chord chamada backbonering. O backbonering é também uma estrutura em anel baseada em Chord. Sua função é interligar outras estruturas em anel, chamadas anéis de testemunhos. Os anéis de testemunhos são relativos a um determinado nó s e buscam reúnir todos os nós que realizaram transações com s. O objetivo do STORM é aumentar a probabilidade de localização de opiniões (feed- backs) sobre qualquer nó na rede. A estrutura em anel do sistema de reputação agiliza a recuperação de feedbacks, reduzindo o tempo necessário para informações sobre um determinado agente. O tempo de localização de qualquer anel de testemunhos dentro do backbonering é da ordem de O(log n), o que representa uma melhora signicativa em relação a ambientes não estruturados.

No STORM, ao nal de uma transação, um cliente A avalia o provedor de recursos B com base na qualidade do arquivo fornecido. Após a avaliação o nó decide ingressar ou não no STORM. Para ingressar no sistema e contribuir com sua avaliação, o cliente inicialmente realiza um procedimento de localização do anel de testemunhos relativo a B, Wb, no backbonering. A busca de um anel de testemunhos especíco também segue o algoritmo de localização de sucessores usado no Chord. Caso o anel referido não exista ele, o nó cria um e se insere nele. Por outro lado, caso o anel já tenha sido criado por outro cliente, o nó emite uma solicitação de entrada na estrutura.

Para escolher servents reputáveis um determinado cliente envia uma solicitação de feedbacks aos anéis de testemunhos de cada possível provedor de recursos e coleta as

opiniões recebidas. A partir das diversas avaliações recebidas, o nó calcula valores de conança e elege os provedores mais reputáveis.

No STORM, as instâncias de reputação armazenam apenas os resultados da última transação realizadas com cada provedor. Não são mantidos contadores de bons e maus comportamentos, como no P2PRep.

4.

Aspectos de Simulação P2P

Em [Banks et al. 2000], o conceito de simulação é apresentado como a imitação do funcionamento de um determinado processo ou sistema real. A forma como o compor- tamento de um sistema evolui com o tempo pode ser estudada através da elaboração de um modelo de simulação. Um modelo de simulação é construído a partir de um conjunto de pressupostos acerca da operação do sistema. Estes pressupostos normal- mente são representados na forma de relações simbólicas, matemáticas, ou lógicas entre entidades e objetos. Simular signica gerar um histórico articial de operação de um sistema, cuja observação pode levar a conclusões importantes sobre o seu comporta- mento no mundo real.

Uma vez desenvolvido e validado, um modelo de simulação pode ser utilizado para responder uma série de questões a respeito do sistema real. A simulação pode ser usada tanto para a análise de sistemas existentes quanto para o projeto de novas tecnologias. Alterações sensíveis em um sistema existente podem ser previamente analisadas em simulação, possibilitando uma estimativa precisa de seus principais impactos. De forma análoga, uma nova aplicação, ou protocolo pode ser avaliado diante de diversos cenários durante a sua fase de projeto.

Em sistemas de larga escala, o uso de simulações se torna bastante atraente em vários aspectos. Do ponto de vista econômico, o uso de simuladores pode reduzir os custos de implementação de novos sistemas, assim como os da realização de alterações em sistemas existentes. Novas políticas de operação, decisões de projeto e procedimentos organizacionais podem ser testados sem perturbar o funcionamento do sistema real. A viabilidade de uma alteração em um determinado módulo arquitetural pode ser previamente avaliada em simulação, reduzindo custos e riscos de possíveis erros de implementação. Em muitos sistemas, o uso de simulações também reduz o tempo necessário para avaliar diferentes estratégias de funcionamento e decisões de projeto. Por m, diversas análises de performance podem ser realizadas para identicação de possíveis gargalos do sistema [Banks et al. 2000].

Redes P2P são sistemas de complexos, heterogêneos e de larga escala. Seu funciona- mento apresenta um considerável número de variáveis interdependentes e normalmente demanda uma grande infraestrutura de máquinas e rede. Devido a estes fatores, a rea- lização de experimentos em sistemas P2P reais é uma tarefa complexa e dispendiosa. A simulação surge como uma alternativa mais prática na elaboração e desenvolvimento de

tecnologias P2P. Tanto na fase de projeto quanto na de manutenção de modelos P2P, o uso de simuladores é bastante útil para observar o comportamento do sistema. Esta observação proporciona uma melhor compreensão do sistema, auxiliando a identicação de potenciais gargalos e pontos de falhas.

A comunidade cientíca ligada à pesquisa e desenvolvimento de tecnologias P2P há muito optou pela simulação como ferramenta fundamental para avaliar e observar pro- tocolos e arquiteturas, devido principalmente à complexidade e ao custo da utilização de ambientes reais de funcionamento, especialmente em fases de projeto. Diversos simula- dores de redes P2P podem ser encontrados no mercado [Jelasity et al. 2010], [Schlosser, Condie e Kamvar 2003], [Sam 2010], etc., cada um apresenta características próprias de funcionamento e arquitetura, reetindo diretamente os pressupostos adotados na elaboração do modelo do sistema, assim como na modelagem de comportamentos de usuários, máquinas e rede.

A combinação das características de cada simulador dene as suas potencialidades e desvantagens para uma determinada aplicação. Muitas vezes portar um simulador existente para uma necessidade especíca de pesquisa, como avaliar protocolos de ge- renciamento de reputação, é uma tarefa mais complexa e demorada do que construir um novo simulador. Esta armação é reforçada por [Naicken et al. 2007], que com- parou 280 (duzentos e oitenta) artigos em sistemas P2P e concluiu que grande parte dos pesquisadores opta por construir simuladores especícos a utilizar alguns dos mais conhecidos do mercado. Segundo os autores, esta opção se dá pelo fato da maioria dos simuladores do mercado não atender aos principais requisitos de funcionamento, arquitetura e usabilidade exigidos.

Em decorrência de a maioria dos pesquisadores optarem por construir simuladores de propósitos especícos para seus trabalhos, os resultados obtidos em cada pesquisa são normalmente difíceis de vericar em outras ferramentas. Além disso, grande parte do simuladores desenvolvidos não são disponibilizados publicamente, o que diculta ainda mais a reprodução e a vericação de resultados.

A construção de um sistema de simulação sucientemente abrangente e exível é um desao importante para a comunidade de pesquisa em P2P. Diversas características devem ser consideradas de forma que a ferramenta desenvolvida seja de fato útil à maioria dos pesquisadores. Um simulador P2P deve reetir as complexas interações entre usuários, máquinas, protocolos e redes em um ambiente controlado. Além disso, também deve gerar um conjunto signicativo de estatísticas úteis para a observação e análise da rede. Outra característica importante é quanto a forma de simulação da camada física e também quanto a implementação de modelos de comportamento de usuários para análises de seguranaça. A facilidade de realizar mudanças e portar o

simulador para necessidades especícas representa outra ponto crucial para a adoção da aplicação. Por m, a usabilidade e a disponibilidade de documentação também devem ser considerados importantes tanto no desenvolvimento, quanto na escolha de um simulador para uma determinada tarefa.

Neste capítulo serão discutidos critérios e requisitos básicos para construção e avaliação de simuladores P2P. Serão apresentados alguns dos principais sistemas de simulação P2P disponíveis no mercado, suas características arquiteturais e tecnologias de im- plementação. Cada sistema apresentado será avaliado de acordo com os critérios e requisitos estabelecidos inicialmente. O objetivo desta avaliação é fornecer fundamen- tação básica para a elaboração de um modelo arquitetural consistente para o simulador apresentado neste trabalho, o PeerRepsim.

4.1 Critérios e Requisitos para Avaliação de Simuladores P2P

Embora exista uma grande variedade de simuladores P2P de propósito geral no mer- cado, a maioria dos pesquisadores na área ainda opta por construir seus próprios siste- mas de simulação. Segundo [Naicken et al. 2007], isto se deve ao fato de que a maioria dos simuladores existentes apresenta deciências em um ou mais aspectos, como a usa- bilidade, o desempenho, o número e a qualidade de estatísticas geradas. Além destas deciências, a portabilidade destes sistemas para necessidades especícas de pesquisa é quase sempre complexa e dispendiosa. De acordo com [Baker e Rahim 2007], adaptar um destes simuladores às necessidades de uma pesquisa, adicionando novos protocolos, ou topologias de rede, por exemplo, é muitas vezes mais custoso, em termos de tempo e complexidade, do que construir um sistema real.

Existe uma carência de simuladores P2P sucientemente genéricos e facilmente adaptá- veis à diversas necessidades de pesquisa. O surgimento de sistemas de simulação exí- veis é de fundamental importância para o desenvolvimento da pesquisa em P2P. No entanto, a vasta diversidade de requisitos e restrições de usuários diculta conside- ravelmente esta tarefa, cabendo os seguintes questionamentos: como projetar uma arquitetura de simulação que seja sucientemente abrangente a um grande número de necessidades? Como estabelecer diretrizes para a padronização dos modelos de simu- lação desenvolvidos pela comunidade de pesquisa em P2P? Quais critérios diferenciam um simulador adequado de um não adequado? Como construir um simulador P2P que seja, ao mesmo tempo, genérico e exível?

Alguns estudos como [Naicken et al. 2006], [Naicken et al. 2007], [Ting 2003 a] e [Baker e Rahim 2007] estabelecem alguns critérios básicos para avaliação de simuladores exis-

tentes com base nos principais requisitos de usuários. Os critérios vão desde o modelo de simulação da rede interna, até a usabilidade do ponto de vista do usuário. Cada critério de avaliação está relacionado a um conjunto de características fundamentais que devem estar presentes em sistemas de simulação P2P. De acordo estes estudos, a grande maioria dos simuladores falha em atender um ou mais critérios de avalia- ção. Nenhum dos simuladores avaliados atende adequadamente a todos os critérios estabelecidos, sendo esta a principal causa de sua rejeição para o uso na maioria das pesquisas.

Em busca da denição de um modelo abrangente para um software de simulação, os critérios de avaliação, descritos a seguir, podem representar diretrizes e requisitos bási- cos para a elaboração de um modelo arquitetural. Assim características apresentadas em cada critério de avaliação são consideradas como requisito de sistema para o projeto do PeerRepSim.

Arquitetura do Simulador. Este critério está relacionado ao projeto e modo como o simulador funciona internamente, bem como quais características ele inclui e como elas são implementadas. Dentre as características associadas a ele estão, por exemplo, o suporte a simulação de arquiteturas estruturadas e não estruturadas, a simulação de pacotes individuais e o grau de realismo da rede adjacente.

Quanto ao processo de simulação em si, os aspectos arquiteturais observados incluem: o modelo de simulação (e.g. baseado em eventos discretos, ciclos de busca, etc.); o modo como ele implementa chamadas de função remotas; como estabelece as chaves de endereçamento; o suporte ou não a execução em várias máquinas, permitindo uma maior escalabilidade e melhoria de desempenho; e, por m, como alguns aspectos do comportamento dos nós, como as entradas e saídas, são implementados e se podem ser congurados pelo usuário.

Crescimento em Escala. Como uma das principais características das redes P2P é o crescimento é escala, a maioria dos protocolos são normalmente desenvolvidos para operar em cenários com um grande número de nós. É muito importante que o simulador P2P suporte a interação de milhares de nós em um protocolo, possibilitando uma melhor aproximação com o mundo real.

Estatísticas Geradas. Um outro aspecto importante de um simulador P2P são os resultados que ele produz. Os dados gerados como saída devem ser claros e fáceis de manipular, especialmente para a geração de estatísticas. Também é importante

que o estado inicial do sistema possa ser salvo, a m de que os resultados possa ser reproduzidos em momentos diferentes.

Simulação da Rede Adjacente. Diferentes estratégias podem ser adotadas para a simulação da camada de rede do ambiente P2P, desde a simulação de cada pacote de dados até a completa abstração da camada de rede. Algumas características considera- das por este critério são: quais propriedades da camada de rede podem ser simuladas; se outro tráco independente da rede sobreposta pode ser simulado; se diferentes latências de enlace podem ser estabelecidas; e, por m, o quão realista a rede parece.

Usabilidade. Este critério está relacionado a facilidade de uso e manipulação do si- mulador. Dentre as principais características consideradas estão: se a API (Application Program Interface) é sucientemente clara e simples de entender e alterar; com cená- rios de experimentos são criados e se eles podem ser reaproveitados ou não; e se o sistema oferece uma interface gráca ao usuário. Outro aspecto importante deste cri- tério é quanto a presença de documentação da ferramenta e a facilidade de portá-la para necessidades especícas.

No documento 2010.1Monografia-ANDERSONAMORIM (páginas 47-53)

Documentos relacionados