Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Distribudos
MIDDLEWARE
Engenharia da Computao Sistemas Peer-to-Peer (P2P)
Prof. Jairson Rodrigues
jairson.rodrigues@univasf.edu.br
+
MIDDLEWARE
Sistemas Peer-to-Peer
(P2P)
AGENDA
Introduo
NAPSTER
Middleware P2P
Sobreposio de Roteamento
Pastry e Tapestry
Estudo de Caso: GNUTella
Sistemas P2P
Introduo
n A
n Paradigma
05/05/15
Sistemas P2P
Limitaes da abordagem centrada em servidor
n
Limites de escalabilidade
Gerenciamento de falhas
05/05/15
Sistemas P2P
Objetivos
n
05/05/15
Sistemas P2P
Objetivos
n
Disponibilizar um servio:
n
n
Auto-gerencivel
Completamente descentralizado
Expansvel dinamicamente
05/05/15
Sistemas P2P
Caractersticas
n
05/05/15
Sistemas P2P
Caractersticas
n
05/05/15
05/05/15
10
Geraes de P2P
n
1 gerao
n
n
2 gerao
n
n
n
n
Primrdios
Servio de troca de msicas NAPSTER, 1999
Anonimato
Alta escalabilidade
Tolerncia a Falhas
Gnutella, Kazaa, Freenet, BitTorrent
3 gerao
n
05/05/15
11
Compartilhando recursos
Objetos mutveis versus objetos imutveis
n
Ex: { f3b25284-8f65-4caa-85b2-7fd42c9468cf }
05/05/15
12
NAPSTER
n
05/05/15
13
NAPSTER
05/05/15
14
05/05/15
15
NAPSTER
Herana
n
05/05/15
16
NAPSTER
Questes legais | Importante: PIRATARIA CRIME!
n
Justificativa?
n
n
n
05/05/15
17
GNUTELLA
05/05/15
+ Gnutella: protocolo
GNUTELLA
n Mensagem de consulta
a mensagem de consulta em
cascata, quando necessrio
n Escalabilidade: flooding de
alcance limitado
218
19
Middleware P2P
n
05/05/15
20
Middleware P2P
O Problema da Localizao de Recursos
n
05/05/15
21
Middleware P2P
Requisitos no-funcionais
n
Escalabilidade global
Balanceamento de carga
Segurana de dados
05/05/15
22
Middleware P2P
Localizao particionada e distribuda
05/05/15
23
Middleware P2P
Exemplos
n
Jabber
JXTA
AntHill
SpeakEasy
05/05/15
24
Sobreposio de Roteamento
Definio
n
05/05/15
25
Sobreposio de Roteamento
Como funciona?
n
05/05/15
26
Sobreposio de Roteamento
Responsabilidades
n
Roteamento de pedidos
Insero de objetos
n
n
Remoo de objetos
n
remove (GUID)
05/05/15
27
Sobreposio de Roteamento
GUIDs, DHT e DOLR
n
Ex: { f3b25284-8f65-4caa-85b2-7fd42c9468cf }
RFC 4122 - http://www.ietf.org/rfc/rfc4122.txt
Nmero inteiro de 128 bits
Utilizado para identificar unicamente recursos / dados
Se forem gerados 1.000.000.000 de GUIDs por segundo durante um ano
OU se cada ser humano na Terra gerasse 600.000.000 de GUIDs a
probabilidade de duplicao de apenas 50%
05/05/15
28
Sobreposio de Roteamento
GUIDs, DHT e DOLR
n DHT
n DOLR
05/05/15
29
Sobreposio de Roteamento
GUIDs e Pesquisa Humana
n
05/05/15
30
Pastry
http://research.microsoft.com/en-us/um/people/antr/pastry/
n
Roteamento
n
05/05/15
31
Pastry
Proximidade entre ns
n
05/05/15
32
Pastry
Algoritmo de Roteamento
n
05/05/15
33
05/05/15
34
05/05/15
35
05/05/15
36
05/05/15
37
05/05/15
38
Integrao de hosts
Adicionando um n
n
Passos (resumido)
n
n
05/05/15
39
Remoo de hosts
Falha ou sada
n
Recuperao
n
05/05/15
40
Tapestry
n
NodeIDs hosts
GUIDs objetos
Primitivas
n
n
n
publish(GUID)
unpublish(GUID)
sendToObj(msg, GUID, [n])
05/05/15
41
Tapestry
n
05/05/15
42
Tapestry
Roteamento
05/05/15
43
Referncias
Bibliografia, fontes, crditos, imagens
n
05/05/15