Baixe o app para aproveitar ainda mais
Prévia do material em texto
APLICAÇÕES PEER-TO-PEER Prof. Marcio Rodrigo ROTEIRO � Introdução � Arquitetura � Aplicações � Conclusão INTRODUÇÃO � Há várias definições de sistemas P2P na literatura � Não há um consenso entre o que é, e o que não é um sistema P2P e quais são suas características essenciais � Definição 1) Arquitetura distribuída completamente � Definição 1) Arquitetura distribuída completamente descentralizada onde todos os nós possuem funcionalidades e tarefas equivalentes � Definição 2) P2P é uma classe de aplicações que levam vantagens de recursos disponíveis nas bordas da Internet INTRODUÇÃO � Características essenciais presentes em sistemas P2P: � O compartilhamento direto de recursos entre nós, preferivelmente sem requerer a intermediação de um servidor centralizado. � Tolerância a falhas e capacidade de auto-organização � habilidade para tratar a instabilidade � conectividade variável � população de nós transientes � deve se adaptar automaticamente a falhas tanto em conexões de redes quanto em computadores INTRODUÇÃO � “Sistemas peer-to-peer são sistemas distribuídos consistindo de nós interconectados capazes de se auto-organizar em topologias de rede com o propósito de compartilhar recursos tais como conteúdo, ciclos de CPU, armazenamento e largura conteúdo, ciclos de CPU, armazenamento e largura de banda, capazes de se adaptarem a falhas e acomodar populações transientes de nós enquanto mantém conectividade aceitável e desempenho, sem necessitar da intermediação ou apoio de uma entidade central” INTRODUÇÃO � Os sistemas peer-to-peer dão a impressão de fornecer uma interação direta entre computadores � Diferentes definições de “peer-to-peer” são aplicados para acomodar os vários diferentes casos de sistemas ou aplicações.casos de sistemas ou aplicações. ARQUITETURA � Centralizada � Descentralizada Não Estruturada Descentralizada Estruturada� Descentralizada Estruturada � Existem outras classificações: � Centralizado – Descentralizado – Hierárquico � Centralizada – Inundação – Tabela Hash Distribuída (DHT) ARQUITETURA � Centralizada: � Não é um sistemas P2P puro � Existe uma base centralizada com a localização dos recursos do sistema � Vantagens� Vantagens � Garantia de que os dados estão disponíveis em algum nó da rede � Será encontrado! � Buscas são facilmente implementadas � Desvantagem � Existe um ponto central de falha!!! ARQUITETURA Fonte: [2] ARQUITETURA � Descentralizada e não estruturada � Não possui servidor centralizado � Para entrar na rede, um nó se conecta de modo arbitrário a outros nós � Não tem um estrutura definida � Tem uma lista de vizinhos � Construída de forma aleatória � Utiliza mecanismo de inundação controlada por TTL (time to live) ARQUITETURA Fonte: [3] ARQUITETURA � Descentralizada e não estruturada � Vantagens � Não tem um ponto central de falha � Acomoda facilmente uma população de nós altamente transientes Desvantagens� Desvantagens � Não oferecem garantia quanto a acessibilidade dos dados � Oferece dificuldade em encontrar o arquivo desejado ARQUITETURA � Descentralizada e estruturada � Não possui servidor centralizado � Cria as conexões entre os nós seguindo uma estrutura bem definida � A conexão entre os nós é feita tendo como base o � A conexão entre os nós é feita tendo como base o identificador do nó � Obtido com alguma função de hash segura calculado sobre alguma informação única do nó � Possibilita que a pesquisa seja modelada através de um processo iterativo determinístico ARQUITETURA Fonte: [2] ARQUITETURA � Descentralizada e estruturada � Vantagens � Garantia de acessibilidade dos dados � Balanceamento automático de carga � Auto organização � Desvantagem � Difícil manter a estrutura requerida � O nó que faz a requisição precisa conhecer a chave do objeto procurado � Nem sempre é possível! � A manutenção em populações altamente transientes é difícil � Exemplos: � Chord, CAN, Tapestry, Pastry, Kademlia, Viceroy APLICAÇÕES � Compartilhamento de arquivo (distribuição de conteúdo): � Mais populares � Possibilitar a disponibilização de arquivos por usuários e disseminar para qualquer usuário, geograficamente e disseminar para qualquer usuário, geograficamente espalhado pelo mundo APLICAÇÕES � Compartilhamento de arquivo (distribuição de conteúdo): � Napster � Arquitetura centralizada � Gnutella� Gnutella � Arquitetura descentralizada e não estruturada � Considerada a primeira aplicação puramente P2P � Em teoria, cada nó conectado a rede é considerado igual � Servents (SERVers + clieENTS) � Cada nó da rede conhece apenas os nós aos quais está conectado � Liberdade de Pesquisa � Anonimato inexistente � Não há proteção de quem está fornecendo os arquivos APLICAÇÕES � Compartilhamento de arquivo (distribuição de conteúdo): � Freenet � Arquitetura descentralizada e não estruturada � Código fonte aberto � Mantém seus usuários no anonimato � Comunicações são cifradas � Uma vez que o arquivo foi disponibilizado, não pode ser � Uma vez que o arquivo foi disponibilizado, não pode ser retirados(facilmente) da rede � O usuário não consegue acessar o conteúdo que está em sua máquina local: os dados ficam codificados � Quando uma requisição de um determinado arquivo cresce, ele é copiado automaticamente para outros nós na sua vizinhança de localização � O usuário não controla o que é armazenado em sua máquina � Quando um nó atende uma consulta ele armazena o caminho dos nós que possuem a consulta � Os nós que repassam a resposta também podem armazenar o arquivo localmente � A recuperação de um arquivo é realizada através de vários nós APLICAÇÕES � Compartilhamento de arquivo (distribuição de conteúdo): � FastTrack/KaZaa � Possui arquitetura descentralizada e não estruturada � Utiliza o conceito de super-nós para melhorar o desempenho da rede � Segundo estatísticas, em abril de 2006 havia mais de 3 milhões de usuários concorrentes na rede FastTrack � BitTorrent � Possui comportamento olho-por-olho � Transfere porções de arquivos � Necessário um arquivo .torrent, que contém informações necessárias para transferir um arquivo específico APLICAÇÕES � Computação Distribuída � Exploram a capacidade ociosa dos computadores que fazem parte do sistema � Decompõe uma tarefa com alto poder de processamento em pequenas unidades e as distribui para diferentes peers � Seti@Home � Analisa os sinais obtidos através do rádio-telecópio a procura de algum sinal inteligente APLICAÇÕES � Comunicação e Colaboração � Oferece estrutura para facilitar a comunicação e colaboração entre os peers � Permitem que os usuários se comuniquem através de voz, mensagens de texto, imagens gráficas e arquivos em geral de forma direta � Sem passar por um servidor � MSN � Uma das aplicações de mensagem instantânea mais populares � Faz a sincronização de vídeo e voz � Yahoo! Messenger � Faz integração com os serviços e conteúdos do Yahoo! CONCLUSÃO � Grande motivação para desenvolvimento e utilização da rede P2P � Compartilhamento sem uma unidade central � Possui as características de computação distribuída � Razões não técnicas como o anonimato� Razões não técnicas como o anonimato � Embora os nós sejam equivalente em funcionalidades, existem nós com um alto grau de especialização � Escalabilidade � Robustez � Flexibilidae
Compartilhar