Implementação de um Algoritmo para Busca em Redes Peer-to-Peer

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "Implementação de um Algoritmo para Busca em Redes Peer-to-Peer"

Transcrição

1 Implementação de um Algoritmo para Busca em Redes Peer-to-Peer André Panisson, Maria Janilce Bosquiroli Almeida, Liane Margarida Tarouco, Lisandro Zambenedetti Granville Universidade Federal do Rio Grande do Sul - UFRGS Instituto de Informática Bloco IV Bairro Agronomia Caixa Postal , CEP: Porto Alegre, RS {panisson, janilce, liane, Abstract. This paper investigates strategies for traffic distribution on peer-topeer network throughout the implementation of a search algorithm. The search strategies are verified taking into account, mainly, the capacity of the network nodes. The implementation was done changing some structures of the JXTA architecture. According to the strategy used in a search operation on a JXTAbased network, a more proper distribution of search messages can be achieved. Resumo. Este artigo investiga estratégias para distribuição de tráfego em redes peer-to-peer através da implementação de um algoritmo de busca. As estratégias de busca são consideradas levando-se em conta, principalmente, a capacidade de processamento dos nós da rede. A implementação foi realizada através da alteração das estruturas da arquitetura JXTA. De acordo com a estratégia utilizada na busca em redes baseadas em JXTA, pode-se ter uma distribuição mais adequada das mensagens. 1. Introdução O uso de redes Peer-to-Peer (P2P) tem crescido substancialmente nos últimos anos e cada vez mais aplicações são construídas sobre essas estruturas. Com a popularização de sistemas para compartilhamento de arquivos como Napser [Napster 2004], Gnutella [Ripeanu 2001] e Kazaa [Kazaa 2004], a pesquisa em redes P2P tornou-se imprescindível não apenas para melhorar esses sistemas, mas também para compreender e controlar o uso dos recursos da infra-estrutura (tipicamente redes IP) utilizada por essas redes. O impacto do tráfego P2P pode ser entendido pela seguinte estatística: em algumas situações, a banda consumida pelo seu tráfego pode chegar a mais de 50% da banda total disponível pelos provedores [Sen 2002]. Em uma rede P2P, os recursos compartilhados estão distribuídos entre os seus nós [Sen 2002], diferentemente do que acontece em redes cliente-servidor convencionais, onde os recursos são armazenados de forma centralizada nos servidores. Um dos serviços críticos de uma rede P2P é o serviço de busca de recursos. Tal serviço permite que um usuário localizado em um nó solicite à rede a localização de um conteúdo de interesse. A resposta gerada a uma solicitação de busca é, normalmente, uma lista de nós onde o recurso pode ser encontrado. O nó solicitante pode então ter acesso direto aos nós que

2 disponibilizam o recurso para proceder com seu respectivo acesso. Em redes P2P, os recursos são sempre acessados de forma distribuída entre os nós, mas o serviço de busca não é necessariamente realizado de forma distribuída. Nas primeiras redes P2P existentes, o serviço de busca exigia a existência de um servidor central para indexação dos conteúdos distribuídos nos nós. Um usuário solicitava a busca ao servidor central, e este devolvia a lista de nós que disponibilizavam o recurso de interesse. A abordagem centralizada, apesar de simples, possui um ponto único de falha: se o servidor de indexação falhar, o serviço inteiro é interrompido. Além disso, essa abordagem não é escalável porque o processamento do servidor de busca é dependente do volume de recursos compartilhados, do número de nós da rede P2P e do número de consultas que tais nós podem gerar. Em virtude dos problemas de escalabilidade e tolerância a falhas gerados pelas abordagens centralizadas, torna-se necessário recorrer a abordagens não centralizadas, tais como: modelo de inundação, utilizado pelo Gnutella, DHT (Distributed Hash Tables), e outros algoritmos similares a algoritmos de roteamento, utilizados, por exemplo, pelo sistema FreeNet. Atualmente, uma das abordagens importantes utilizadas na implementação do serviço de busca é o emprego de algoritmos DHT (Distributed Hash Tables) [Ratnasamy 2002]. Tais algoritmos permitem que se tenha uma busca distribuída estruturada e eficiente. Os conteúdos a serem disponibilizados recebem um valor associado (hash) e os nós da rede são distribuidamente consultados passando-se o valor associado. Entretanto, o algoritmo não permite busca por similaridade. Para os algoritmos baseados em DHT, o sistema tem um desempenho melhor quando a rede é bastante homogênea, dado que a distribuição de recursos é feita de forma igual a todos os nós da rede. Neste artigo é apresentada a análise realizada, através de uma implementação, de um algoritmo de busca alternativo proposto por Lv et al [Lv et al 2002]. Também propõese o aperfeiçoamento desse algoritmo, somando a ele características de distribuição de tráfego adaptativa e gerenciável, através da avaliação de funções de distribuição de mensagens. O algoritmo resultante é escalável, descentralizado e baseado em controle de fluxo e adaptação da topologia de busca da rede P2P. O algoritmo também considera que a rede P2P é uma rede heterogênea, onde os nós têm capacidades diferenciadas de processamento, armazenamento e banda disponível. Para uma análise prática, o algoritmo foi implementado dentro da plataforma de código aberto JXTA da Sun [Gong 2001] que possui uma arquitetura de protocolos para a implementação de aplicações P2P. Os resultados obtidos pela implementação permitem observar que o algoritmo proposto possui vantagens sobre as outras abordagens porque considera uma distribuição da consulta que leva em conta as características particulares de cada nó da rede. O restante deste artigo está assim dividido. A Seção 2 apresenta os fundamentos da arquitetura JXTA, discute os algoritmos de busca em redes P2P, apresenta o algoritmo proposto por Lv et al e os aperfeiçoamentos propostos. A Seção 3 introduz a modelagem do algoritmo na plataforma JXTA. Na Seção 4 é apresentada a implementação do algoritmo de busca, enquanto na Seção 5 as estratégias de distribuição de mensagens desse algoritmo são discutidas. A Seção 6 apresenta os resultados obtidos a partir dos testes realizados com a implementação. Finalmente, na Seção 7 são apresentados as conclusões e os trabalhos futuros.

3 2. Trabalhos Relacionados As duas funções importantes que um sistema P2P deve desempenhar são a descoberta de recursos e o acesso a estes. O fato de os sistemas P2P serem descentralizados faz com que o processo de acesso seja inerentemente escalável. A dificuldade, entretanto, está no processo de descoberta dos recursos de interesse. Essa operação deve ser escalável de forma que o processo de busca não seja afetado pelas dimensões da rede P2P Soluções para descoberta de recursos Soluções centralizadas são vulneráveis porque implementam ponto único de falha, além de serem de difícil expansão em sistemas da ordem de milhões de usuários. Porém, serviços de procura como Yahoo e Google, apesar de não serem sistemas P2P, demonstraram que é possível construir tais soluções centralizadas. Isso, no entanto, demanda investimentos significativos em infra-estrutura, em servidores e em alta largura de banda. Em redes P2P, também há a existência de alta volatilidade dos peers e a constante entrada e saída de informações no sistema. Isso torna o modelo P2P de busca completamente diferente do modelo utilizado para pesquisa em páginas Web. Tais problemas levaram à adoção de soluções descentralizadas. Essas soluções envolvem tipicamente a organização dos peers em redes sobrepostas, sobre as quais as requisições de procura são passadas de peer para peer. Dessa maneira, os sistemas atuais criam novos e diferentes problemas de escalabilidade. Por exemplo, no Gnutella [Ripeanu 2001], as mensagens de busca são repassadas por inundação. Neste processo, um peer, quando precisa encontrar algum recurso na rede, envia uma mensagem de busca aos seus vizinhos. Estes, por sua vez, repetem o processo, passando adiante as mensagens. Esse processo de inundação em cada requisição não é escalável, pois o número de mensagens circulando na rede cresce exponencialmente. Motivados pelos problemas de escalabilidade nos sistemas P2P, muitos grupos de pesquisa investigam a viabilidade de uma solução escalável para o problema de localização de recursos em redes P2P. Como resultado, têm sido propostos sistemas altamente estruturados. Um exemplo desses sistemas, descrito por Helder [Helder et al. 2002], é um modelo próximo a um algoritmo de roteamento, e tem grandes aplicações em comunicação multicast. Nesses sistemas altamente estruturados, a topologia da rede é extremamente controlada, e os recursos da rede (ou referências aos recursos) são distribuídos em lugares específicos. Esses sistemas fornecem um mapeamento entre os identificadores de recursos e sua localização, de forma que as buscas sejam eficientemente roteadas até os peers com os recursos desejados. Esses sistemas, dessa forma, oferecem uma solução escalável para pesquisas de busca. Muitos sistemas altamente estruturados utilizam algoritmos DHT (Distributed Hash Table), e vários projetos estão propondo a construção de facilidades na Internet feitas sobre algoritmos DHT. Os algoritmos mais conhecidos de roteamento baseado em DHTs são: Tapestry [Zhao et al. 2001], Pastry [Rowstron et al. 2001], Chord [Stoica et al. 2001] e CAN (Content Adressable Networks) [Ratnasamy 2002]. Porém é preciso considerar que as buscas podem ser feitas via DHT se for possível fazer uma busca exata. Essas buscas são as chamadas exact match query, que diferem consideravelmente das buscas feitas por aproximação, comuns em sistemas de bancos de dados modernos.

4 Sistemas altamente estruturados são também caracterizados por serem menos flexíveis em um ambiente com população de usuários muito transitória, pois há um custo alto para manter a estrutura necessária para seu funcionamento. Considerando todas estas questões, Lv, Ratnasamy e Shenker [Lv et al 2002] propõem um algoritmo de busca que visa resolver esses problemas. Esta solução utiliza caminhamento aleatório, onde cada nó escolhe aleatoriamente um vizinho e envia as mensagens a ele. O algoritmo aproveita bem as características de heterogeneidade reveladas por redes P2P. Nas implementações do presente trabalho propõe-se um aperfeiçoamento desse algoritmo, aproveitando as suas características de adaptabilidade da rede, e somando características de distribuição de tráfego adaptativa através da avaliação de funções de distribuição de mensagens A plataforma JXTA O projeto JXTA [Gong 2001] é um projeto de código aberto concebido inicialmente pela Sun Microsystems e atualmente sob a responsabilidade de um grupo independente. O principal objetivo do JXTA é definir uma rede P2P genérica que possa ser usada para a implementação de uma grande variedade de aplicações e serviços P2P. Os peers da rede JXTA se organizam em grupos chamados peergroups, compostos por peers com interesses e serviços comuns. Além disso, todo e qualquer recurso da rede JXTA é representado por um anúncio, ou advertisement, e identificado por um ID. Através de anúncios, o problema de encontrar peers e recursos da rede se reduz ao problema de encontrar anúncios que os descrevem. Os peers guardam, publicam e trocam anúncios a fim de descobrir e alocar os recursos disponíveis. O projeto JXTA define um conjunto de seis protocolos [JXTA 2003] para o desenvolvimento de aplicações P2P (Figura 1). Esses protocolos estabelecem uma rede virtual sobre a rede física, e fornecem primitivas simples que permitem que um peer se comunique com qualquer outro peer da rede. O Endpoint Routing Protocol (ERP) fornece mecanismos para determinar rotas até um peer, permitindo que haja comunicação através de camadas de transporte incompatíveis. O Peer Resolver Protocol (PRP) trata do envio e recebimento de mensagens através de queries, definindo um protocolo para o envio de queries e para o processamento de queries recebidas. Pipes são construções que enviam ou recebem dados de um peer remoto. Os serviços da plataforma JXTA utilizam tipicamente o PRP ou pipes a fim de comunicar-se com outros peers. O Pipe Binding Protocol (PBP) define um conjunto de mensagens (queries e responses) que um peer pode usar a fim de relacionar um pipe a um peer remoto. O Rendezvous Protocol (RVP) é responsável pela propagação de mensagens via peers especiais chamados rendezvous. O RVP fornece o serviço de rendezvous a outros peers da rede, o que forma o serviço de propagação de mensagens. Atualmente, o algoritmo de busca definido no JXTA encontra-se no RVP. A propagação de mensagens na rede através do RVP original é feita através de inundação e o escopo das mensagens é controlado através do controle de loops e TTL. O Peer Information Protocol (PIP) permite que os peers possam obter informações sobre o estado de outros peers (ex.: tempo de funcionamento, quantidade de conexões, tráfego, etc.). O Peer Discovery

5 Protocol (PDP) é um protocolo que define como é feita a requisição de anúncios (advertisements) de outros peers, e como cada peer responde às requisições recebidas. Peer Local Peer Remoto Peer Discovery Protocol Peer Discovery Protocol Peer Information Protocol Peer Information Protocol Pipe Binding Protocol Pipe Binding Protocol Peer Resolver Protocol Peer Resolver Protocol Rendezvous Protocol Rendezvous Protocol Endpoint Routing Protocol Endpoint Routing Protocol Camada de Transporte Camada de Transporte Figura 1. A pilha de protocolos JXTA Há projetos para modificação do RVP, como o algoritmo apresentado por Bernard Traversat [Traversat 2003]. Em seu artigo, é proposto um algoritmo baseado em DHT, em que cada rendezvous possui uma lista interna de todos os outros rendezvous do grupo, ordenados por seu identificador. Esta lista é atualizada periodicamente através de troca de mensagens, de forma a manter uma consistência entre todas as listas existentes. A partir desta lista, é gerada então a tabela de hash distribuída (DHT), e cada peer é responsável por manter um subconjunto das mensagens anunciadas. Quando um peer qualquer faz uma busca por um anúncio A, o serviço rendezvous faz então uma busca direta no peer responsável pelo anúncio, via função de hash H(A). Desta forma, escapa-se do modelo de inundação e assegura-se a disponibilidade das informações através da duplicação dos anúncios. Porém, esta solução não é totalmente escalável, pois o custo para a manutenção da consistência da DHT é alto, e o custo para armazenamento da DHT em sistemas com um número grande de peers também é alto. Além disso, todos os peers são tratados como se possuíssem igual quantidade de recursos de armazenamento e rede. Outro problema é que o algoritmo baseado em DHT exige que seja usada a função de hash H(A) para localização dos recursos, o que inviabiliza outra pesquisa que não seja por busca exata. 3. O Algorimo de Lv, Ratnasamy e Shenker O algoritmo proposto por Lv et al. [Lv et al 2002] utiliza controle de tráfego distribuído e construção de topologia com as seguintes características: - Restringe o tráfego de consultas em um determinado peer de modo que ele não se torne sobrecarregado; - Faz com que a topologia da rede evolua dinamicamente, de modo a direcionar as mensagens aos nós que possuem capacidade suficiente para tratá-las.

6 Sobre essa topologia, utiliza-se um caminhamento aleatório com pesos, de modo que os nós com maior capacidade tenham mais probabilidade de receber mensagens. A combinação dessas funcionalidades resulta em um sistema cujas mensagens são rapidamente direcionadas a nós com maior capacidade, além de, através da replicação de objetos na rede, aumentar a probabilidade de encontrar as respostas desejadas. O resultado é uma organização semi-hierárquica em que os nós com maior capacidade ficam nos níveis mais altos da hierarquia. Essa hierarquia, porém, não é explícita; ela é adquirida através de um algoritmo distribuído, adaptativo e auto-organizável Controle de tráfego e adaptação da topologia A capacidade de um nó i é dada por C i (número máximo de mensagens que um nó i pode processar em um intervalo de tempo T). Um nó i é conectado a um conjunto de nós vizinhos viz (i). Para cada nó j viz(i), i mantém as seguintes informações: - in [ j, i] : número de mensagens que chegaram de j para i no último intervalo T. A taxa total de mensagens recebidas por i é in [, i] = in[ j, i] ; j viz ( i) - out [ i, : número de mensagens que i enviou a j no último intervalo T; - outmax [ i, : número máximo de mensagens que i pode enviar a j por intervalo T. Quando um novo nó i entra na rede, ele é conectado a um conjunto aleatório de nós. Para cada novo vizinho j, i inicializa: outmax [ i, = in [ j, i] = 0 out[ i, = 0 C i Cada nó i conta o número de mensagens que recebe e transmite a cada vizinho j. Periodicamente, o nó i verifica se está sobrecarregado (a taxa de recebimento de mensagens excede sua capacidade). Se sobrecarregado, o nó i tenta adaptar a topologia de forma a reduzir sua taxa de recebimento - o nó i seleciona um nó p com alta taxa de envio (alto in [ p, i] ) e redireciona a outro vizinho q com sobra na taxa de recebimento. A sobra na taxa de recebimento do nó q é calculada por in[, q]. Intuitivamente, a regra de adaptação de topologia anterior cria uma conexão direta entre um nó com alta taxa de envio de mensagens (p) e um nó com alta capacidade (q) e tira do caminho o nó sobrecarregado. Se o nó sobrecarregado i não puder encontrar um nó q apropriado (isto é, todos os seus vizinhos estão perto de sua capacidade máxima), o nó i envia um pedido ao nó p para que reduza o número de mensagens enviadas ao nó i. Nota-se que todas as decisões sobre controle de tráfego e ajuste de topologia são baseadas em informações locais (referente ao nó e a seus vizinhos somente). Além disso, se a capacidade do nó sofrer uma rápida modificação, ou se o nó sair do sistema, a topologia se adaptará automaticamente a fim de acomodar as mudanças. C q

7 3.2. Algoritmo de Busca O algoritmo de busca da solução usa TTL a fim de terminar o caminhamento, e guarda o estado da busca pelos nós onde passou, a fim de acelerá-la. O nó passa as mensagens adiante ao seu vizinho com maior valor em outmax. Isso faz com que as buscas rapidamente cheguem aos nós com maior capacidade. Em resumo, um nó i que recebe uma mensagem, repassa a seu vizinho j com maior valor em outmax [ i, entre todos os j viz(i) de forma que out [ i, < outmax[ i, e i não enviou a mesma mensagem ao nó j. A fim de aumentar o desempenho do algoritmo, utilizam-se estratégias de replicação. Quando um nó quer oferecer um recurso a ser compartilhado, este recurso (ou uma referência a ele) é replicado em diversos outros nós. As cópias serão distribuídas entre os nós, porém a probabilidade de essa replicação ser feita em um dado nó será proporcional à sua capacidade. Assim, um nó com alta capacidade de transferência acaba por consumir mais recursos de armazenamento Aperfeiçoamentos Uma das limitações do algoritmo acima é o fato de que a única regra de distribuição de mensagens entre os vizinhos é que elas são enviadas sempre para o vizinho com o valor máximo em outmax. As mensagens rapidamente se movem para os nós com alta capacidade, fazendo com que um reduzido número de nós tenha uma alta carga de mensagens. Em uma rede de grande porte, esse comportamento pode tornar um número reduzido de nós sobrecarregado, enquanto que uma boa parte dos nós da rede estão com pouca ou nenhuma carga. Propõe-se então que se faça uma distribuição da carga entre todos os nós, de maneira adaptável e gerenciável, através do uso de funções de distribuição que podem ser configuradas em tempo de execução nos nós da rede. Essa distribuição é feita definindo-se uma ordem total (representada por ) entre os peers vizinhos em função da capacidade outmax de cada vizinho. Seja uma função (i), sendo i a colocação do peer na ordem. A partir de (i) será feita a distribuição das mensagens. Faz-se assim uma distribuição de mensagens em que os vizinhos com maior capacidade recebem mais mensagens que os vizinhos com menor capacidade. Essa distribuição pode possuir vários formatos, dependendo da função (i) escolhida. Outras modificações ainda foram feitas tirando proveito dos conceitos disponibilizados pela arquitetura JXTA. Por exemplo, na arquitetura JXTA não há diferença entre o comportamento de uma mensagem de busca ou uma mensagem de anúncio de recursos. Assim, o mesmo algoritmo usado para a busca de recursos é também usado para o anúncio dos recursos disponibilizados pelo peer, sem a necessidade de implementação de um protocolo diferenciado para as duas operações. Este é o algoritmo a que este trabalho se propõe implementar e discutir seus problemas e outras melhorias, utilizando a API de programação da plataforma JXTA.

8 4. Implementação do protocolo RVP Dado que a plataforma JXTA está dividida em camadas independentes, torna-se simples criar uma nova implementação de uma dessas camadas e substituir a camada original por sua nova implementação. O fato de o projeto JXTA ter código fonte aberto também possibilita que a programação seja feita tendo como base a implementação padrão disponível. Por isso, a partir do conjunto de classes Java do protocolo RVP disponíveis, procedeu-se à implementação da camada RVP da plataforma, a fim de não haver nenhuma modificação nas outras camadas da arquitetura. O protocolo RVP consiste em uma interface Java (RendezVousService), acessada por outras camadas, e sua classe de implementação (RendezVousServiceImpl). Três principais métodos se encarregam da publicação e da busca: o método propagateingroup se ocupa da propagação de mensagens aos outros rendezvous, enquanto propagate e propagatetoneighbors fazem a propagação apenas no escopo da rede local. A classe RendezVousServiceImpl possui a classe interna RendezVousManager, que mantém as informações de todos os peers vizinhos. Na implementação do algoritmo proposto, a classe RendezVousManager foi alterada através de inclusão de uma lista ordenada de objetos da classe chamada AddressElement. Cada objeto de AddressElement armazena informações sobre um peer vizinho j nas propriedades: in (quantidade de mensagens recebidas de j), out (quantidade de mensagens enviadas para j) e outmax (quantidade máxima de mensagens que podem ser enviadas a j). Para manter a lista ordenada de objetos AddressElement, é definida uma ordem total ( ) entre os peers vizinhos que é função da capacidade outmax de cada vizinho. Essa lista é recuperada através do método getaddresses da classe RendezVousManager. O método propagateingroup da classe RendezVousService é chamado no momento da publicação de um recurso. A partir desse método, é feito o envio das mensagens, e, por isso, ali será feita a implementação da função de distribuição de mensagens (i) Distribuição de mensagens A partir da função (i) é possível controlar a distribuição de mensagens entre os peers vizinhos. Quatro principais esquemas de distribuição são considerados. No primeiro esquema, se (i) = 2 -i, tem-se que a quantidade de mensagens em cada peer será proporcional a 2 -i, com i = ordem do vizinho na fila de vizinhos. O gráfico de distribuição de mensagens é exponencial decrescente, conforme apresentado na Figura 2. Distribuição (%) 50% 40% 30% 20% 10% 0% Ordem (i) Figura 2. Distribuição exponencial de mensagens para cada vizinho Uma segunda opção de distribuição de mensagens usa uma descida linear da quantidade n i + 1 de mensagens. A função de distribuição é dada por ( i) =, onde n é a quantidade P

9 p 2 n + n de vizinhos da lista e P é o somatório n. Se P =, chegando-se à função n= i ( i ) = 1 implementada. A Figura 3 apresenta o gráfico considerando n = 8. n n + 1 Distribuição (%) 25% 20% 15% 10% 5% 0% Ordem (i) Figura 3. Distribuição linear de mensagens para cada peer Uma terceira opção é tentar fazer com que a quantidade de mensagens seja inversamente proporcional ao quadrado da colocação do vizinho na lista. A distribuição das mensagens 1 1 é dada pela função ( i ) = i i + 1 (Figura 4). Distribuição (%) 50% 40% 30% 20% 10% 0% Ordem (i) Figura 4. Distribuição de mensagens recebidas proporcional ao inverso do quadrado da ordem i A quarta e última opção é uma distribuição que obedeça uma curva logística decrescente, L onde ( i ) = L, em que L, k e a são parâmetros dos quais depende a ki+ a 1+ e configuração da curva. Distribuição (%) 50% 40% 30% 20% 10% 0% Ordem (i) Figura 5. Distribuição logística A função descrita pelo gráfico da Figura 5 é desse tipo, e seria uma boa alternativa para distribuição de mensagens pois concentra grande parte dos anúncios em um número definido de peers de alta capacidade, o que pode vir a melhorar bastante o desempenho.

10 4.2. Implementação da distribuição das mensagens A construção do algoritmo para distribuição das mensagens entre os peers é feita da seguinte forma: a fim de que a distribuição seja estatística, é gerada uma função escolha f (r) que escolhe o peer destino da mensagem. A partir do número aleatório r, f (r) retorna um valor que será o ordenamento i do peer escolhido. Essa função f (r) deve ser tal que, para uma distribuição randômica de r, a distribuição de i obedeça à função (i) escolhida. Por exemplo, se a função de distribuição for i = log 2 (1 r). escolha i 2 i ( ) =, deve-se usar a função O resumo do algoritmo de distribuição de mensagens para busca e publicação é descrito a seguir: // n = número de peers vizinhos; // f: função de escolha; // mensagem = mensagem a ser enviada; r = Número aleatório entre 0 e 1; peers = Lista de endereços dos vizinhos; i = f(r); if (i > n) i = n; EnviaMensagem(mensagem, peers[i]); 4.3. Testes da plataforma implementada Durante sua execução, a plataforma emite um relatório que resume as operações efetuadas. A análise abaixo foi feita sobre a execução de uma aplicação em uma rede JXTA com oito peers utilizando o protocolo RVP implementado, usando para distribuição de mensagens a função de distribuição exponencial. A quantidade de mensagens recebidas e enviadas por cada peer da rede em relação ao total de mensagens é apresentada na Tabela 1. Tabela 1. Estatísticas de informações de um conjunto de peers utilizando o novo algoritmo de busca Nome do peer OUTMAX IN OUT RDV1HC % 49% RDV2HC % 25% RDV1MC % 13% RDV2MC 102 5% 6% RDV3MC 51 4% 3% RDV1LC 11 4% 1% RDV2LC 11 3% 1% Utilizando essa função, os peers vizinhos com maior capacidade recebem mais mensagens que os outros. Essa distribuição pode ser interessante se é desejado que os primeiros peers da lista recebam muito mais mensagens do que os últimos. É apropriada, portanto, se for considerado que os peers obedecem a uma distribuição de Power Laws, como sugere o trabalho de Jovanovic [Jovanovic et al. 2001]. Um anúncio publicado será sempre enviado a um número reduzido de peers, e a busca será feita exatamente nesses peers, que constituem o conjunto com maior

11 capacidade. A rede é automaticamente estruturada como uma hierarquia, em que os peers com maior capacidade estão em seu topo. Na segunda função implementada, que usa uma descida linear da quantidade de mensagens, o gráfico de distribuição de mensagens foi similar ao apresentado na Figura 3. O principal problema encontrado nesse caso é que, apesar de parecer uma função simples, sua implementação é bastante complexa, pois envolve laços que também tornam sua execução mais lenta. Na função em que a quantidade de mensagens é inversamente proporcional ao quadrado da posição do vizinho na lista, há a vantagem de que a implementação é simples. Porém, como a quantidade de vizinhos não é infinita, o último vizinho acaba recebendo as mensagens restantes, resultando em um gráfico com muitas mensagens alocadas ao último elemento da lista, o que não é desejável. Uma maneira de contornar esse problema é através do envio das mensagens restantes ao primeiro vizinho da lista. Na quarta e última função implementada, a distribuição logística, foram encontradas várias vantagens, devido ao uso dos parâmetros L, k e a. Esses parâmetros podem ser facilmente configurados e até mesmo alterados em tempo de execução através de troca de mensagens entre os peers. Quando o comportamento da rede não for satisfatório, um gerente pode usar a própria infra-estrutura da rede para modificar esses parâmetros. Uma vez que todos os peers da rede recebam as mensagens de reconfiguração e alterem seus parâmetros, imediatamente o comportamento da rede é alterado, seguindo as regras estabelecidas pelo gerente. 5. Conclusões Este artigo apresentou a implementação de um algoritmo de busca em redes P2P através de modificações na plataforma JXTA. Estratégias diferentes de distribuição de mensagens foram também consideradas. Torna-se uma vantagem poder adaptar a topologia da rede de forma a distribuir o tráfego de uma forma planejada e gerenciável. Com esse planejamento, escolher a melhor distribuição para o tipo de rede escolhido e mesmo modificar seu comportamento em tempo real, se assim for desejável. Pode-se usar distribuições diferentes, como distribuição linear, distribuição exponencial ou de curva logística. O algoritmo permite também que sejam feitas pesquisas aproximadas, que são custosas em redes altamente estruturadas como as que utilizam algoritmos DHT. Um dos problemas a serem resolvidos no algoritmo implementado é a descoberta automática da largura de banda disponível em cada peer (no protocolo implementado, a capacidade de cada peer foi configurada manualmente). Soluções para esse problema foram estudadas e há propostas que podem ser usadas nessa implementação [Roesler et al. 2003]. Uma funcionalidade a ser implementada é o redirecionamento de conexões, descrito no algoritmo de Lv, Ratnasamy e Shenker. Quando um peer da rede começa a se tornar sobrecarregado, este peer deve passar a redirecionar as suas conexões a outros peers da rede menos carregados. Por fim, o algoritmo descrito oferece um sistema de busca por caminhamento aleatório que pode retornar uma resposta após um número grande de passos. Para diminuir esse número de passos e fazer com que a busca retorne mais rapidamente, é possível melhorar o algoritmo fazendo com que o peer que gera a busca, ao invés de enviá-la a apenas um peer, envie a dois ou mais.

12 6. Referências Gong, L. (2001) JXTA: A Network Programming Environment, In: IEEE Internet Computing, Vol. 5, issue 3, p Helder, D. A. et al (2002) End-host Multicast Communication Using Switch-tree Protocols, In: Proceedings of the Workshop on Global and Peer-to-Peer Computing on Large Scale Distributed Systems (GP2PC), Maio. Jovanovic, M., Annexstein, F., Berman, K. (2001) Modeling Peer-to-Peer Network Topologies through Small-World Models and Power Laws, In: IX Telecommunications Forum, Dezembro. JXTA (2003), JXTA v2.0 Protocols Specification, Sun Microsystems Inc. Novembro. Kazaa (2004), Kazaa Media Desktop, Lv, Q., Ratnasamy, S., Shenker, S. (2002) Can Heterogeneity Make Gnutella Scalable? In: International Workshop on Peer-To-Peer Systems (IPTPS), Março. Napster (2004), Napster, Ratnasamy, S. (2002) A Scalable Content Addressable Network, Ph.D. Thesis, University of California at Berkeley, EUA. Outubro. Roesler, V. et al. (2003) Análise do mecanismo de pares de pacotes visando estimar a banda da rede via UDP. In: 21º Simpósio Brasileiro de Redes de Computadores (SBRC 2003), Natal, Brasil. Maio. Ripeanu, M. (2001) Peer-to-Peer Architecture Case Study: Gnutella Network, In: Proceedings of International Conference on Peer-to-peer Computing. Agosto. Rowstron, A.; Druschel, P. (2001) Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems, In: Proc. of the 18th IFIP/ACM International Conference on Distributed Systems Platforms (Middleware 2001). Heidelberg, Alemanha. Novembro. Sen, S.; Wong, J. (2002) Analyzing peer-to-peer traffic across large networks, In: Proceedings of ACM SIGCOMM Internet Measurement Workshop. Novembro. Stoica, I. et al. (2001) Chord: A scalable peer-to-peer lookup service for internet applications, In: Proceedings of SIGCOMM Agosto. Traversat, B. et al (2003) Project JXTA: A Loosely-Consistent DHT Rendezvous Walker, Sun Microsystems, Inc. Março. Zhao, B. Y. et al (2001) Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and Routing, Technical Report UCB/CSD , University of California at Berkeley, Computer Science Department. Abril.

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar Redes Peer-to-Peer Redes Peer-to to-peer Arquitetura de Redes P2P Integridade e Proteção Redes Peer-to-Peer (P2P) São sistemas distribuídos nos quais os membros da rede são equivalentes em funcionalidade

Leia mais

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar Redes Peer- Redes Peer- (P2P) São sistemas distribuídos nos quais os membros da rede são equivalentes em funcionalidade Permitem que os pares compartilhem recursos diretamente, sem envolver intermediários

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Membership Grupos dinâmicos Membros entram e saem dos grupos Membros podem falhar (crash) Grupos são criados e destruídos em tempo

Leia mais

Resumo. Introdução História Caracteristicas Exemplos Arquitetura Distribuição Vertical vs Distribuição Horizontal Segurança Conclusão

Resumo. Introdução História Caracteristicas Exemplos Arquitetura Distribuição Vertical vs Distribuição Horizontal Segurança Conclusão Peer 2 Peer (P2P) Resumo Introdução História Caracteristicas Exemplos Arquitetura Distribuição Vertical vs Distribuição Horizontal Segurança Conclusão O que é P2P? Introdução Tipo de arquitetura de rede

Leia mais

Peer-to-Peer. Introdução. Motivação. Definição. Definição. Definição. Everton Flávio Rufino Seára Murilo R. de Lima

Peer-to-Peer. Introdução. Motivação. Definição. Definição. Definição. Everton Flávio Rufino Seára Murilo R. de Lima Introdução Peer-to-Peer Everton Flávio Rufino Seára Murilo R. de Lima Peer-to-Peer (P2P) é a base da operação de sistemas distribuídos como SETI@home e Kazaa; caracterizada por compartilhamento direto

Leia mais

Aplicações P2P. André Lucio e Gabriel Argolo

Aplicações P2P. André Lucio e Gabriel Argolo Aplicações P2P André Lucio e Gabriel Argolo Tópicos Internet Peer-to-Peer (Introdução) Modelos (Classificação) Napster Gnutella DHT KaZaA Razões para o Sucesso da Internet Capacidade de interligar várias

Leia mais

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br JXTA Alessandro Vasconcelos Ferreira de Lima Roteiro Motivação Introdução Arquitetura de JXTA Elementos de JXTA Os Protocolos Comparações e Desvantagens Conclusão Motivação Limitações do Modelo Cliente

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Aula II Prof. Rosemary Silveira F. Melo Arquitetura de Sistemas Distribuídos Conceito de Arquitetura de Software Principais elementos arquiteturais

Leia mais

PEER DATA MANAGEMENT SYSTEM

PEER DATA MANAGEMENT SYSTEM PEER DATA MANAGEMENT SYSTEM INTRODUÇÃO, INFRA-ESTRUTURA E MAPEAMENTO DE ESQUEMAS AGENDA Data Management System Peer Data Management System P2P Infra-estrutura Funcionamento do PDMS Mapeamento de Esquemas

Leia mais

Arquitetura de uma Rede JXTA

Arquitetura de uma Rede JXTA Page 1 of 6 Redes de Proteção SP Produtos de Rede Confiança e credibilidade. fone Produtos TrendNet: qualidade, (011) 6197-0707 garantia e ótimo custo/benefício. www.tudoderedesdeprotecao.com.br http://www.trendware.com.br

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS Arquiteturas www.pearson.com.br capítulo 2 slide 1 2.1 Estilos Arquitetônicos Formado em termos de componentes, do modo como esses componentes estão conectados uns aos outros, dos dados trocados entre

Leia mais

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com Chord Tecnologias de Middleware 2006/2007 Fernando Martins - fmp.martins@gmail.com Tópicos Objectivo Motivação Peer-To-Peer Chord Descrição Geral Características Distintivas Comparação DNS Modelo do Sistema

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação de Grupos Peer to Peer Comunicação de Grupos Modelos Anteriores - Comunicação envolvia somente duas partes. RPC não permite comunicação de um processo com vários outros

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

BC-0506: Comunicação e Redes Internet e Web como redes complexas

BC-0506: Comunicação e Redes Internet e Web como redes complexas BC-0506: Comunicação e Redes Internet e Web como redes complexas Santo André, 2Q2011 1 Agenda Internet e Web como redes complexas Estrutura da Internet como uma Redes Complexa Ligação entre páginas Web

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Arquiteturas Ponto a Ponto

Sistemas Distribuídos: Conceitos e Projeto Arquiteturas Ponto a Ponto Sistemas Distribuídos: Conceitos e Projeto Arquiteturas Ponto a Ponto Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN) Redes de Distribuição de Conteúdo (CDN) Objetivos da Apresentação Apresentar as arquiteturas de Redes de Distribuição de Conteúdo (CDN) com a ilustração de aplicações em ambientes corporativos e residenciais.

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Sistemas Distribuídos. Nomeação. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Sistemas Distribuídos. Nomeação. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos Nomeação Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Fundamentos Coordenando processos Construíndo sistemas Sistemas construídos 2 Fundamentos Coordenando processos

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Aplicação P2P Camada de Transporte Slide 1 P2P O compartilhamento de arquivos P2P é um paradigma de distribuição atraente porque todo o conteúdo é transferido diretamente

Leia mais

João Rocha Marco Antônio Domingues. Eduardo Souto Guthemberg Silvestre Carlos Kamienski Djamel Sadok

João Rocha Marco Antônio Domingues. Eduardo Souto Guthemberg Silvestre Carlos Kamienski Djamel Sadok GPRT/UFPE GPRT/UFPE Peer-to-Peer (P2P) Computação Colaborativa na Internet Minicurso SBRC - (alterado por Andrea Krob) Autores Originais (UFPE) João Rocha Marco Antônio Domingues Arthur Callado Eduardo

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Apostila de Gerenciamento e Administração de Redes

Apostila de Gerenciamento e Administração de Redes Apostila de Gerenciamento e Administração de Redes 1. Necessidades de Gerenciamento Por menor e mais simples que seja uma rede de computadores, precisa ser gerenciada, a fim de garantir, aos seus usuários,

Leia mais

Sistemas de Nomes Planos

Sistemas de Nomes Planos Sistemas de Nomes Planos November 2, 2009 Sumário Sistemas de Nomes Planos e DHTs Chord Sistemas de Nomes Planos Tipicamente, sistemas de nomes à escala da Internet usam nomes estruturados hierarquicamente.

Leia mais

COMPARTILHAMENTO DE INFORMAÇÕES ENTRE COMPUTADORES ATRAVÉS DA TECNOLOGIA PEER-TO-PEER (P2P) USANDO A PLATAFORMA JXTA

COMPARTILHAMENTO DE INFORMAÇÕES ENTRE COMPUTADORES ATRAVÉS DA TECNOLOGIA PEER-TO-PEER (P2P) USANDO A PLATAFORMA JXTA COMPARTILHAMENTO DE INFORMAÇÕES ENTRE COMPUTADORES ATRAVÉS DA TECNOLOGIA PEER-TO-PEER (P2P) USANDO A PLATAFORMA JXTA José Voss Junior (FURB) juniorvs@inf.furb.br Francisco Adell Péricas (FURB) pericas@furb.br

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Este capítulo apresenta trabalhos relacionados ao problema da travessia de firewalls/nat por aplicações CORBA, alguns dos quais tiveram grande influência no desenvolvimento desta

Leia mais

Roteamento e Comutação

Roteamento e Comutação Roteamento e Comutação Design de Rede Local Design Hierárquico Este design envolve a divisão da rede em camadas discretas. Cada camada fornece funções específicas que definem sua função dentro da rede

Leia mais

Jan Tarik Martins Nazorek DESENVOLVIMENTO DE UM SOFTWARE DE BACKUP DESCENTRALIZADO, UTILIZANDO A PLATAFORMA JXTA

Jan Tarik Martins Nazorek DESENVOLVIMENTO DE UM SOFTWARE DE BACKUP DESCENTRALIZADO, UTILIZANDO A PLATAFORMA JXTA Jan Tarik Martins Nazorek DESENVOLVIMENTO DE UM SOFTWARE DE BACKUP DESCENTRALIZADO, UTILIZANDO A PLATAFORMA JXTA Palmas 2013 Jan Tarik Martins Nazorek DESENVOLVIMENTO DE UM SOFTWARE DE BACKUP DESCENTRALIZADO,

Leia mais

GT Computação Colaborativa (P2P)

GT Computação Colaborativa (P2P) GT Computação Colaborativa (P2P) Djamel Sadok Julho de 2003 Este documento tem como objetivo descrever o projeto de estruturação do grupo de trabalho GT Computação Colaborativa (P2P), responsável pelo

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes;

Fornecer serviços independentes da tecnologia da subrede; Esconder do nível de transporte o número, tipo e a topologia das subredes existentes; 2.3 A CAMADA DE REDE! Fornece serviços para o nível de transporte, sendo, freqüentemente, a interface entre a rede do cliente e a empresa de transporte de dados (p.ex. Embratel).! Sua principal função

Leia mais

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Apresentação do Artigo

Apresentação do Artigo Apresentação do Artigo Web Search for a Planet: The Google Cluster Architecture Publicado em IEEE Micro Março 2003, pg.22-28 Luiz A.Barroso, Jeffrey Dean, Urs Hölze Frank Juergen Knaesel fknaesel@inf.ufsc.br

Leia mais

Utilização de Sistemas Distribuídos em MMOGs (Massive MultiPlayer Online Games) Mauro A. C. Júnior

Utilização de Sistemas Distribuídos em MMOGs (Massive MultiPlayer Online Games) Mauro A. C. Júnior Utilização de Sistemas Distribuídos em MMOGs (Massive MultiPlayer Online Games) Mauro A. C. Júnior Tópicos Abordados Um pouco sobre MMOGs Aplicação e Importância Dificuldades e Soluções Tendência Um pouco

Leia mais

Ambiente Colaborativo P2P para o projeto PDSCE 1

Ambiente Colaborativo P2P para o projeto PDSCE 1 Ambiente Colaborativo P2P para o projeto PDSCE 1 Tiago Antônio Rizzetti, Celio Trois, João Carlos Damasceno Lima, Iara Augustin Grupo de Pesquisa em Sistemas de Computação Móvel (GMob) Centro de Tecnologia,

Leia mais

e-ping - Padrões de Interoperabilidade de Governo Eletrônico www.governoeletronico.gov.br www.eping.e.gov.br

e-ping - Padrões de Interoperabilidade de Governo Eletrônico www.governoeletronico.gov.br www.eping.e.gov.br e-ping - Padrões de Interoperabilidade de Governo Eletrônico www.governoeletronico.gov.br www.eping.e.gov.br e PING: Segmentação Interconexão Segurança Meios de acesso Organização e intercâmbio de informações

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

O que são DNS, SMTP e SNM

O que são DNS, SMTP e SNM O que são DNS, SMTP e SNM O DNS (Domain Name System) e um esquema de gerenciamento de nomes, hierárquico e distribuído. O DNS define a sintaxe dos nomes usados na Internet, regras para delegação de autoridade

Leia mais

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br Camada de Redes (Continuação) 2 Camada de Rede 3 NAT: Network Address Translation restante da Internet 138.76.29.7 10.0.0.4 rede local (ex.: rede doméstica) 10.0.0/24

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Roteamento IP Redes de Computadores Objetivo Conhecer o modelo de roteamento da arquitetura TCP/IP Entender os conceitos básicos de algoritmo, métrica, tabela e protocolos de roteamento

Leia mais

Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network

Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network Talles

Leia mais

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande

Leia mais

Unidade Curricular: SCOM Ano letivo: 2014/2015 Alunos: Diogo Guimarães 100503158 Pedro Brito 100503279

Unidade Curricular: SCOM Ano letivo: 2014/2015 Alunos: Diogo Guimarães 100503158 Pedro Brito 100503279 Unidade Curricular: SCOM Ano letivo: 2014/2015 Alunos: Diogo Guimarães 100503158 Pedro Brito 100503279 Resumo Redes Peer-to-Peer Características Tipos Arquitetura Vantagens Desvantagens Aplicações Skype

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Redes P2P. Alexandre Alves Bruno Valério. 19 de junho de 2015

Redes P2P. Alexandre Alves Bruno Valério. 19 de junho de 2015 Redes P2P Alexandre Alves Bruno Valério Rôb Klér 19 de junho de 2015 SUMÁRIO Introdução Características Arquitetura Aplicações Sistemas Segurança Perguntas Conclusões P2P 2/13 INTRODUÇÃO Rede de computadores

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Nomes, Identificadores, Endereços Nomeação Simples Capítulo 5 Agenda Nomes, Identificadores e Endereços Definição Nomeação Simples Soluções Simples

Leia mais

Universidade de Brasília

Universidade de Brasília Universidade de Brasília Introdução a Microinformática Turma H Redes e Internet Giordane Lima Porque ligar computadores em Rede? Compartilhamento de arquivos; Compartilhamento de periféricos; Mensagens

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Aplicação

Leia mais

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas Consistência Eventual Sistemas Distribuidos e Tolerância a Falhas Marco Bernardo Departamento de Informática Universidade da Beira Interior 25 de Maio de 2009 Descrição Geral 1 Introdução O Problema Definições

Leia mais

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord Encaminhamento em redes instáveis Encaminhamento em redes Ad Hoc Introdução Descoberta de rotas Manutenção de rotas Localização de nós em redes Peer-to-Peer Napster Gnutella Chord Encaminhamento em redes

Leia mais

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2014

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2014 MC714 Sistemas Distribuídos 2 semestre, 2014 Nomeação Nomeação Compartilhar recursos, identificar entidades de maneira única, fazer referência a localizações... Resolução de nomes Espaço de nomes e implementação

Leia mais

MSc Eliton Smith elitonsmith@gmail.com. Gerenciamento e Administração de Redes

MSc Eliton Smith elitonsmith@gmail.com. Gerenciamento e Administração de Redes MSc Eliton Smith elitonsmith@gmail.com Gerenciamento e Administração de Redes 2 Gerência de Redes ou Gerenciamento de Redes É o controle de qualquer objeto passível de ser monitorado numa estrutura de

Leia mais

MPLS MultiProtocol Label Switching

MPLS MultiProtocol Label Switching MPLS MultiProtocol Label Switching Cenário Atual As novas aplicações que necessitam de recurso da rede são cada vez mais comuns Transmissão de TV na Internet Videoconferências Jogos on-line A popularização

Leia mais

Tópicos Especiais em Redes de Telecomunicações

Tópicos Especiais em Redes de Telecomunicações Tópicos Especiais em Redes de Telecomunicações Redes definidas por software e Computação em Nuvem Prof. Rodrigo de Souza Couto PARTE 1 REDES DEFINIDAS POR SOFTWARE (SDN) 2 Bibliografia Esta aula é baseada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

3 Ferramenta de Simulação

3 Ferramenta de Simulação 3 Ferramenta de Simulação Para definir a ferramenta de simulação a ser utilizada para implementação do protocolo HIP e para coleta dos resultados de simulação com uso desse protocolo, realizou-se um estudo

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Um Sistema de Arquivos Compartilhado em Nível de Usuário Baseado em Tabelas Hash Distribuídas

Um Sistema de Arquivos Compartilhado em Nível de Usuário Baseado em Tabelas Hash Distribuídas Um Sistema de Arquivos Compartilhado em Nível de Usuário Baseado em Tabelas Hash Distribuídas Pedro Eugênio Rocha, Luiz Carlos Erpen de Bona Departamento de Informática Universidade Federal do Paraná Caixa

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

EXIN Cloud Computing Fundamentos

EXIN Cloud Computing Fundamentos Exame Simulado EXIN Cloud Computing Fundamentos Edição Maio 2013 Copyright 2013 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Aula 2 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Por que definir uma arquitetura?

Leia mais

O Padrão Arquitetural Auto-Adaptável

O Padrão Arquitetural Auto-Adaptável MAC5715 - Tópicos Avançados em POO O Padrão Arquitetural Auto-Adaptável Raphael Y. de Camargo e Carlos Alexandre Queiroz 30 de outubro de 2003 1 Intenção O padrão auto-adaptável permite o desenvolvimento

Leia mais

Uma Arquitetura P2P Baseada na Hierarquia do Endereçamento IP

Uma Arquitetura P2P Baseada na Hierarquia do Endereçamento IP Uma Arquitetura P2P Baseada na Hierarquia do Endereçamento IP Marcos Madruga 1, Thaís Batista 2, Luiz Affonso Guedes 1 1 Departamento de Engenharia da Computação e Automação (DCA) Universidade Federal

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Ciência de Computadores Sistemas Distribuídos e Móveis

Ciência de Computadores Sistemas Distribuídos e Móveis Ciência de Computadores Sistemas Distribuídos e Móveis Lista de Exercícios Data: 4 de Novembro de 2013 Questões sobre o capítulo 1, Tanenbaum & van Steen: Fundamentos 1) Explique o significado de transparência,

Leia mais

Redes de computadores. Redes para Internet

Redes de computadores. Redes para Internet Redes de computadores Redes para Internet Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações distribuídas Enlaces de comunicação fibra, cobre, rádio, satélite

Leia mais

Teleprocessamento e Redes Universidade Católica do Salvador. Aula 04 - Estrutura de Redes de Comunicação. Objetivo : Roteiro da Aula :

Teleprocessamento e Redes Universidade Católica do Salvador. Aula 04 - Estrutura de Redes de Comunicação. Objetivo : Roteiro da Aula : Teleprocessamento e Redes Universidade Católica do Salvador Aula 04 - Estrutura de Redes de Comunicação Objetivo : Nesta aula, vamos começar a entender o processo de interligação entre os equipamentos

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

Roteamento em Redes de Computadores

Roteamento em Redes de Computadores Roteamento em Redes de Computadores José Marcos Câmara Brito INATEL - Instituto Nacional de Telecomunicações INATEL - Instituto Nacional de Telecomunicações 01/08/00 1 Introdução Objetivo Tipos de rede

Leia mais

Existem muitos assuntos relacionados com o Skype. Logo, esta apresentação focar-seá essencialmente nos aspectos mais importantes sobre a arquitectura

Existem muitos assuntos relacionados com o Skype. Logo, esta apresentação focar-seá essencialmente nos aspectos mais importantes sobre a arquitectura 1 Existem muitos assuntos relacionados com o Skype. Logo, esta apresentação focar-seá essencialmente nos aspectos mais importantes sobre a arquitectura da rede e as funcionalidades do Skype. 2 3 4 PRÓS:

Leia mais

Redes de Computadores I Conceitos Básicos

Redes de Computadores I Conceitos Básicos Redes de Computadores I Conceitos Básicos (11 a. Semana de Aula) Prof. Luís Rodrigo lrodrigo@lncc.br http://lrodrigo.lncc.br 2011.02 v1 2011.11.03 (baseado no material de Jim Kurose e outros) Algoritmos

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

Sistemas Peer-to-Peer

Sistemas Peer-to-Peer Sistemas Peer-to-Peer Prof. Bruno Crestani Calegaro Curso de Ciência da Computação ELC1018 - Sistemas Distribuídos 1 Sistemas Peer-to-Peer (P2P) Prevêem a colaboração de muitos hosts usando dados e recursos

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Márcio Leandro Moraes Rodrigues. Frame Relay

Márcio Leandro Moraes Rodrigues. Frame Relay Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente

Leia mais

Arquitetura TCP/IP. Parte III Endereçamento IP e roteamento. Fabrízzio Alphonsus A. M. N. Soares

Arquitetura TCP/IP. Parte III Endereçamento IP e roteamento. Fabrízzio Alphonsus A. M. N. Soares Arquitetura TCP/IP Parte III Endereçamento IP e roteamento Fabrízzio Alphonsus A. M. N. Soares Tópicos Formato do endereço Classes de endereços Endereços especiais Sub-rede e máscara VLSM (Variable Length

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

NanoDataCenters. Aline Kaori Takechi 317055

NanoDataCenters. Aline Kaori Takechi 317055 NanoDataCenters Aline Kaori Takechi 317055 INTRODUÇÃO Introdução Projeto Europeu: NICTA National ICT Australia FP7 7th Framework Program Rede formada por Home Gateways Objetivo: distribuir conteúdo Dispositivos

Leia mais

Capítulo 10 - Conceitos Básicos de Roteamento e de Sub-redes. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 10 - Conceitos Básicos de Roteamento e de Sub-redes. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 10 - Conceitos Básicos de Roteamento e de Sub-redes 1 Protocolos Roteáveis e Roteados Protocolo roteado: permite que o roteador encaminhe dados entre nós de diferentes redes. Endereço de rede:

Leia mais

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br O que é a Internet? Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações Enlaces de comunicação: fibra, cobre, rádio,

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

Leia mais

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet

Leia mais

4 Um Exemplo de Implementação

4 Um Exemplo de Implementação 4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais