Sistemas P2P P2P 1
Autoria Cláudio Geyer Local Instituto de Informática Disciplinas: Versão Sistemas Operacionais II v0 dez/2009 P2P 2
Bibilografia Bibliografia: Coulouris et al. Sistemas Distribuídos Conceitos e Projeto. Ed. 4. Bookman. 2007. Caps. 10 P2P 3
Súmula Súmula Conceito Tipos P2P 4
Motivação É esperado que a demanda por serviços na Internet seja limitada pelo tamanho da população mundial A expansão de serviços Internet é limitada pela quantidade de recursos e pelo custo de gerenciamento e recuperação de falhas Ociosidade grande de recursos (processamento e armazenamento) P2P 5
Objetivos Sistemas peer-to-peer(p2p) têm por objetivo compartilhar dados e recursos em grande escala de forma descentralizada Oposição ao modelo cliente-servidor onde há uma entidade central (servidor) P2P 6
Status de p2p na Internet Entre 2002 e 2006 houve um forte e rápido crescimento de p2p na Internet No mesmo período Fonte: Redução do tráfego para email, ftp, web CacheLogic Research Internet Protocol Trends 1993-2006 P2P 7
Não há uma definição totalmente de consenso! Sistemas p2pdevem suportar os seguintes requisitos: Nós podem estar localizados nas bordas da rede; Nós com conectividade variável e temporária (endereços IP também) Heterogeneidade de nós (hardware e software) e de taxas de transmissão Nós com autonomia parcial ou total em relação a um servidor central Nós oferecem capacidades iguais de fornecer e consumir recursos Ser escalável Capacidade dos nós se comunicarem entre si P2P 8
Definições de sistema p2p 1) Clay Shirky (www.shirky.com) P2P is a class of applications that take advantage of resources storage, cycles, content, human presence available at the edges of the Internet 2) Milojicicet al.(hp) Outras P2P refers to a class of systems and applications that employ distributed resources to perform a critical function in a decentralized manner P2P 9
Principais propriedades de sistemas p2p Garantir que cada usuário contribua com recursos para o sistema Ausência de controle central e de centralização de informações Sistema não-hierarquizado Cada nó (peer) assume o papel de cliente e de servidor Não há uma visão global do sistema Disponibilidade de acesso para qualquer nó Nós são autônomos Sistema não-confiável (recursos voláteis) Implica requisitos de robustez e segurança P2P 10
overlay networks) Rede virtual criada sobre uma rede existente Própria Internet através do conceito de IP emprega esse conceito Rede lógica sobre diferentes tecnologias de rede Rede p2p define uma rede virtual interconectando seus peers(nós) Características básicas de uma rede p2p Peers são conectados de forma aleatória A conexão de um peer se estabelece através de outro já pertencente a rede Dilema ovo e da galinha : como conheço um peer? Peers podem se unir e sair da rede a qualquer momento sem aviso prévio P2P 11
Exemplos de Redes de Sobreposição www.fr.ipv6tf.org/data/reunions/.../p2p_lip6.ppt (Marcelo Amorim - LIP6, Paris) Overlay IP P2P 12
Exemplo de Rede de Sobreposição Overlay IP P2P 13
Modelos de arquitetura de p2p Problemas fundamentais: Localização de recursos (onde está determinado recurso) Envolve mecanismo de registro Roteamento (como faço para chegar lá?) Existem várias formas de categorizar as redes p2p Basicamente é sobre a presença ou não de um nó de controle Novamente, não há consenso P2P 14
Classificação 1 Descentralizada Não há um servidor Peers são autônomos e responsáveis pelos recursos e controle Peers se comunicam diretamente ou através de vizinhos comuns Semicentralizada (híbrida) Há uma distinção entre os nós (peers) Presença de um ponto central para informações de controle P2P 15
Classificação 2 Busca centralizada (centralized indexing architecture) Rede com a presença de ponto central que mantém informações de busca Os peers consultam o nó central e trocam informações diretamente entre si Busca por inundação (distributed indexing with flooding architecture) Mecanismo de busca e distribuição são dispersos na rede Cada nó mantém uma lista de seus recursos e fazem pedido de busca a sua vizinhança próxima (número limitado de nós) P2P 16
Classificação 2 Busca por hash distribuída (distributed indexing with hashing architec.) Similar à busca por inundação Usam uma tabela hash para dividir o espaço de busca de informações Conhecido como DHT (DistributedHash Table) P2P 17
Classificação 3 Centralizada Presença de um nó central para manter as informações de busca Descentralizada e não estruturada Ausência de um nó central A medida que nós entram e saem, estabelecem ligações com nós arbitrários Corresponde à busca por inundação P2P 18
Classificação 3 Descentralizada e estruturada Ausência de um nó central A topologia da rede de sobreposição é ditada por um esquema de alocação de chaves e de ids geradas (hashing) na entrada de um nó Estrutura os peers entre si de forma a facilitar a localização dos mesmos Corresponde ao DHT P2P 19
Problem: Peer-to-peer systems are neither new nor unique; they make us look for solutions to old problems that we all worked around or tried to ignore before. Andy Oram (O'Reilly & associates) speech at Free and Open Source Software Developers'sMeeting Brussels, BE, Feb. 2002 O conceito não é novo... usenet, dns, roteamentoip etc Apenas novas aplicaçoes, problemas e necessidades Escalabilidade Segurança Estabilidade Anonimato P2P 20
Classificação de aplicações p2p Compartilhamento de arquivos Napster, Gnutella, Freenet, Oceanstore, PAST, Freehaven, KaZaA Computação distribuída Seti@home, Entropia, Parabon, Popular Power, Trabalho colaborativo Mensagens instantâneas (Jabber, MSN, AIM, YahooMessager!, ) Groupware(Groove, Netmeetingetc) P2P 21
Classificação de aplicações p2p Outras Distribução de conteúdo (BitTorrent) Base de dados Jogos Blogs P2P 22
Gerações de sistemas p2p 1ageração 2a geração 3a geração Compartilhamento de arquivos (Napster) Compartilhamento de arquivos provendo maior escalabilidade, anonimato e tolerância a falhas (Freenet, Gnutella, KaZaA, BitTorrent) Surgimento de middlewares para o gerenciamento de recursos distribuìdos de forma independente da aplicação Oferecem uma melhor estruturação (armazenamento e localizaá o) de informações Blogs Exemplos: Pastry, Tapestry, CAN, Chorde Kademlia P2P 23
Tecnologias relacionadas com p2p Computação distribuída Computação em grade (gridcomputing) Bancos de dados distribuídos Redes wirelessadhoc Redes de sensores Computação ubíqua Webservices Jogos distribuídos Aplicaçõess multimídia (vídeo e áudio streaming) outras P2P 24
Sistemas P2P P2P 25
Resum o Resumo e sugestões em caso de dúvida use CMP e atributo Required EJB entidade CMP somente CMP nem JDBC declarar atributos rollback explícito por método setrollbackonly P2P 26
Informática Resumo e sugestões BMP JBDC BMP JTA SQL comandos e commit / rollback métodos begin, commit e rollback BMP JDBC + JTA BMP geral Resum o possível mas não recomendado (depuração complexa) certificar-se que commit ou rollback são chamados evite controle entre/sobre métodos evite JTA (?) P2P 27