aplicaÇÕes peer-to- peer vânia de oliveira neves disciplina: sistema distribuídos prof. marcos...
TRANSCRIPT
APLICAÇÕES PEER-TO-PEERVânia de Oliveira Neves
Disciplina: Sistema Distribuídos
Prof. Marcos José Santana
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
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 armazenamento ciclos de CPU conteúdo presença humana
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 overlay com o propósito de compartilhar recursos tais como 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.
INTRODUÇÃO
Teste 1 O sistema aceita conectividade variável e
endereços IP temporários? O sistemas dá autonomia significativa nos
computadores na borda da rede? Teste 2
Os nós podem trocar informações entre si? Quem é o dono do harware?
ARQUITETURA
Centralizada
Descentralizada Não 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
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
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 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 espalhado pelo mundo
APLICAÇÕES
Compartilhamento de arquivo (distribuição de conteúdo): Napster
Arquitetura centralizada 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
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!
APLICAÇÕES
Sistemas de armazenamento de arquivos em rede O conteúdo dos arquivos pode ser modificado
pelos usuários OceanStore
Transmissão de Dados (ou overlay de multcast) Um conteúdo é transmitido por um nó e
entregue a vários nós geograficamente espalhados
Tem sido utilizada para transmissão de eventos ao vivo
Exemplos: ESM
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
Embora os nós sejam equivalente em funcionalidades, existem nós com um alto grau de especialização
Escalabilidade Robustez Flexibilidae
REFERÊNCIAS [1]Theotokis, S. A. and Spinellis, D. (2004). A
survey of peer-to-peer content distribution technologies. ACM Computing Surveys, 36(4):335–371.
[2] Francesquini, E.C. .Um Estudo sobre sistemas P2P. Junho de 2004
[3] Domingues R.J., Callada, A., Souto, E., Sisvestre, G.,Kamienski, C., Sadok, D.. Peer-to-Peer: Computação Colaborativa na Internet
[4] Lua, E. K., Crowcroft, J., Pias, M., Sharma, R., and Lim, S. (2005). A survey and comparison of peer-to-peer overlay network schemes. IEEE Communications Surveys & Tutorials, 7(2):72–93.
[5] Theotokis, S.A (2002). A survey of peer-to-peer File-Sharing Technologies