of 8
8/19/2019 10 Sistemas Punto a Punto
1/19
Sistemas Punto-a-Punto
( Peer-to-Peer Systems )
8/19/2019 10 Sistemas Punto a Punto
2/19
Sistemas Punto-a-Punto: Características
Su diseño garantiza que cada usuario contribuye recursos alsistema .
• A esar de que ueden di!erir en los recursos contribuyen"
todos los nodos de un sistema eer-to -eer tiene las mismas
caacidades y resonsabilidades.• Su correcto !uncionamiento no deende de la e#istencia de
cualquier !orma centralizada de sistemas de administraci$n.
Pueden ser diseñados ara o!recer un grado limitado de
anonimato a los ro%eedores y usuarios de los recursos .• &na cuesti$n cla%e ara su buen !uncionamiento es la
elecci$n de un algoritmo ara la colocaci$n de datos a tra%'s
de mucos an!itriones y el osterior acceso
8/19/2019 10 Sistemas Punto a Punto
3/19
Sistemas Punto-a-Punto: eneraciones
*-era eneraci$n: Ser%icio de intercambio de m+sica,aster
-da eneraci$n: Alicaciones de arci%os
comartidos" reenet /Clar0e et al. 111"
!reenetro2ect.org3" nutella" 4azaa /5eibo6itz et al.
1173 y 8it9orrent /Coen 1173.
7-era eneraci$n: caas middle6are ara
administracui$n de recursos distribuidos" Pastry
/o6stron and ;ruscel 11*3" 9aestry /aymoun0o% and >azieres
113.
8/19/2019 10 Sistemas Punto a Punto
4/19
,aster: arci%os comartidos eer-to-eer con un índice centralizado y
relicado
Napster server
Index *. ile location
-. 5ist o! eers
request
o!!ering te !ile
peers
7. ile request
=. ile deli%ered?. @nde# udate
Napster server
Index
5imitaciones:
Consistencia entre
r'licas
;eendencia de la alicaci$n
Arci%os no se actualizaban
;isonibilidad no garantizada
8/19/2019 10 Sistemas Punto a Punto
5/19
Sistemas Punto-a-Punto: Caa @ntermedia
equerimientos uncionales: simli!icaci$n de ser%icios abilidad en la localizaci$n de recursos @nte!az de rogramaci$n sencilla
equerimientos no uncionales Bscalabilidad obal 8alanceo de carga
timizaci$n de interaciones locale entre los untos%ecinos
Caacidad alta ara la disonibilidad dinñamica de ost Seguridad de los datos en ambientes eterog'neos
Bl anonimato" la negaci$n y la resistencia a la censura
8/19/2019 10 Sistemas Punto a Punto
6/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
;istribuci$n de la in!ormaci$n en enrutamientos sueruestos
b2ect:
,ode:
;
CDs routing 0no6ledge
;Ds routing 0no6ledge ADs routing 0no6ledge
8Ds routing 0no6ledge
C
A
8
8/19/2019 10 Sistemas Punto a Punto
7/19
9areas en enrutamientos sueruestos
Bnrutar las solicitudes de ob2etos Agregar ob2etos 8orrar ob2etos Adicionar y emo%er nodos
8/19/2019 10 Sistemas Punto a Punto
8/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
@nter!az de rogramaci$n bEsica ara una tabla as distribuida (;9)
como esta imlementada en PAS9 AP@ sobre Pastry
put(GUID, data)
&'e data is stored in replicas at all nodes responsible for t'e ob(ect
identified by GUID.
remove(GUID)Deletes all references to GUID and t'e associated data.
value = get(GUID)
&'e data associated )it' GUID is retrie*ed from one of t'e nodes
responsible it.
G+ID global uni-ue ID
8/19/2019 10 Sistemas Punto a Punto
9/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
@nter!az de rogramaci$n bEsica ara ubicaci$n y enrutamientos de
ob2etos distribuidos (;5) como se imlementa en 9aestry
publish(GUID)
GUID can be computed from t'e ob(ect or some part of it, e.g. its
name/. &'is function ma0es t'e node performing a publish operation t'e
'ost for t'e ob(ect corresponding to GUID.
unpublish(GUID)1a0es t'e ob(ect corresponding to GUID inaccessible.
sendToObj(msg, GUID, [n])
2ollo)ing t'e ob(ectoriented paradigm, an in*ocation message is sent to
an ob(ect in order to access it. &'is mig't be a re-uest to open a &C"connection for data transfer or to return a message containing all or part
of t'e ob(ect’s state. &'e final optional parameter [n], if present, re-uests
t'e deli*ery of t'e same message to n replicas of t'e ob(ect.
8/19/2019 10 Sistemas Punto a Punto
10/19
Caso de Bstudio: PAS9F
PAS9F es una in!raestructura de enrutamientode mensa2es deslegados en %arias
alicaciones:
PAS9 es un sistema de almacenamiento dearci%os imlementado como una tabla as
distribuida" y Squirrel" un ser%icio de almacenamiento 6eb
eer-to-eer
8/19/2019 10 Sistemas Punto a Punto
11/19
Caso de Bstudio: PAS9F
5os ob2etos tienen asignado un &@; de *G bits Bn una red de , articiantes" el algoritmo de
enrutamiento" enruta un mensa2e en (log,) asos
5os nodos acti%os son resonsables de rocesar las
solicitudes dirigidas a los ob2etos en su %ecindario
5os asos de enrutamiento in%olucran el uso de un
rotocolo de transorte (usualmente &;P)
Algoritmo de enrutamiento se e#lica en dos !ases" acontinuaci$n
8/19/2019 10 Sistemas Punto a Punto
12/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
ase @- Solo enrutamiento circular es correcto ero ine!iciente8ased on o6stron and ;ruscel /11*3
Cada nodo guarda un con2unto de
o2as (l encim a y l or deba2o con
%ector 5) que contiene &@; e @P
de los nodos cercanos
5os untos reresentan los nodos
%i%os. Bl esacio se considera
como circular: nodo 1 es adyacente
al nodo (H*G-* ). Bl diagrama
ilustra el enrutamiento de un
mensa2e desde el nodo I?A*C a
;=IA*C usando solo la in!ormaci$n
del con2unto de o2as" asumiendo
con2untos de o2as de tamaño G(l J = ) . Bste enrutamiento requiere
de K ,Ll asos ara distribuir
mensa2eM no se utiliza en la rEctica
1 .... (128-1)
65A1FC
D13DA3
D471F1
D467C4
D46A1C
8/19/2019 10 Sistemas Punto a Punto
13/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
ase @@: rimera cuatro !las de una tabla de enrutamiento de Pastry
3a tabla de enrutamiento se encuentra en un nodo cuyo G+ID comien4a 56%. 3os d7gitos est8n en
'e9adecimal. El n’s representa par G+ID, I" address; -ue especifi-ue el siguiente salto -ue deber8 adoptar
los mensa(es dirigidos a los G+ID -ue responden a ese prefi(o. Entradas en gris indican los prefi(os -ue
corresponden con el G+ID actualen los *alores dados de p: la siguiente fila 'acia aba(o o el con(unto de la
'o(a debe ser e9aminada para encontrar una ruta. 6un-ue 'ay un m89imo de %#< filas de la tabla , s=lo
log%5 > filas estar8n poblados en promedio en una red con > nodos acti*os .
8/19/2019 10 Sistemas Punto a Punto
14/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
ase @@: e2emlo de enrutamiento Pastry 8asado en o6stron and ;ruscel /11*3
1 .... (-128-1)
65A1FC
D13DA3
D4213F
D462BA
D471F1
D467C4
D46A1C
:outing a message !rom node I?A*C to ;=IA*C.
Nit te aid o! a 6ell-oulated routing table te
message can be del i%ered in K l og*I(N ) os.
8/19/2019 10 Sistemas Punto a Punto
15/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
ase @@: algoritmo de enrutamiento Pastry
Pasos *""O es la !ase @
"ara mane(ar un mensa(e 1 se dirigi= a un nodo D donde ? p , i ; es el elemento en la
columna i, p fila de la tabla de enrutamiento / :%. Si 3 l @ D @ 3l / A el destino est8 dentro de la 'o(a establecer o es el nodo actual .
#. Dirigir 1 al elemento de 3i de la 'o(a de con(unto con G+ID m8s cercano a D o
al nodo actual 6.
. else A utili4ar la tabla de enrutamiento para despac'ar 1 a un nodo con un G+ID
m8s cerca
. BFs-ueda p, la longitud del prefi(o comFn m8s larga de D y 6 ,. i , el p %/esimod7gito 'e9adecimal de D.
. Si ? p , i ; H nulo/ dirigir 1 'acia adelante a ? p , i ; enrutar 1 a un nodo
con un prefi(o m8s largo comFn.
5. else A no 'ay ninguna entrada en la tabla de enrutamiento .
. 6*ance 1 a cual-uier nodo en 3 o ? con un prefi(o comFn de longitud p , con
una G+ID -ue es numJricamente m8s cerca .
8/19/2019 10 Sistemas Punto a Punto
16/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
ase @@: algoritmo de enrutamiento Pastry
Pasos *""O es la !ase @
"ara mane(ar un mensa(e 1 se dirigi= a un nodo D donde ? p , i ; es el elemento en la
columna i, p fila de la tabla de enrutamiento / :%. Si 3 l @ D @ 3l / A el destino est8 dentro de la 'o(a establecer o es el nodo actual .
#. Dirigir 1 al elemento de 3i de la 'o(a de con(unto con G+ID m8s cercano a D o
al nodo actual 6.
. else A utili4ar la tabla de enrutamiento para despac'ar 1 a un nodo con un G+ID
m8s cerca
. BFs-ueda p, la longitud del prefi(o comFn m8s larga de D y 6 ,. i , el p %/esimod7gito 'e9adecimal de D.
. Si ? p , i ; H nulo/ dirigir 1 'acia adelante a ? p , i ; enrutar 1 a un nodo
con un prefi(o m8s largo comFn.
5. else A no 'ay ninguna entrada en la tabla de enrutamiento .
. 6*ance 1 a cual-uier nodo en 3 o ? con un prefi(o comFn de longitud p , con
una G+ID -ue es numJricamente m8s cerca .
8/19/2019 10 Sistemas Punto a Punto
17/19
Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
Caso de Bstudio: enrutamiento 9aestry rom /
8/19/2019 10 Sistemas Punto a Punto
18/19
*Instructor’s Guide for Coulouris , Dollimore, Kindberg and Blair, Distribut ed Systems: Concepts and Design Edn.
! "earson Education #$%#
Caso Bstudio :Blementos Cla%es en el rotocolo nutella
QP: reducir n+mero de consultas sobre los nodos
Q9: queryng outing 9able.
8/19/2019 10 Sistemas Punto a Punto
19/19
Asignaci$n
●;escriba aso a aso la incororaci$n de un nue%oost en una red Pastry.
●;escriba como se construye la tabla de
enrutamiento de un nue%o ost en la red Pastry●Cual es el uso que ace la red Pastry del algoritmo
del %ecino mEs cercanoR● B2ercicios: *1.G " *1.