Università egli Stui i Pisa Dipartimento i Inormatia Lezione n. Peer-to-Peer Systems an Appliations Capitolo
Pastry: proposto nel 00 a Rowstron (Rie University) e Drushel (Mirosot) Oiettivo prinipale: einire un mileware per la ostruzione i appliazioni PP i tipo iverso File sharing Memoria istriuita Group Communiation. Caratteristihe: eentralizzazione ompleta routing eiiente
Pastry assoia a ogni noo (noeid) e a ogni hiave (key) un ientiiatore, meiante una unzione hash Ientiiatori i l its (l in genere uguale a ) Le sequenze i its vengono interpretate ome valori in ase (in genere =) (Es: 00000=FA, per =) Ogni hiave viene assoiata al noo il ui noeid ha valore più viino al valore ella hiave, tra i noi attivi sulla rete Pastry Nel aso in ui vi siano più noi a uguale istanza numeria alla hiave, la hiave viene repliata su ognuno i essi
Spazio egli ientiiatori on l=, its, =. Ogni stringa i its viene interpretata ome un valore in ase = Esempio: 00 = K0 K K N N0 K0 Noo N0 Chiave N K k N
Pseuo Pastry: Conetti Base Esempio: alle hiavi e ai noi sono assoiati ientiiatori i n ire in ase es: 00000 Ogni hiave K viene memorizzata nel noo on il valore ell i più viino al valore i K I noi sono logiamente raggruppati in ase al loro inirizzo 0 00.. 0.. 0.. 0.. 0 gruppo interno
Pseuo Pastry: Conetti Base Ogni noo appartenente a uno ei gruppi più interni onose l inirizzo IP i ogni altro noo ello stesso gruppo Ogni noo onose l inirizzo IP i un noo rappresentante i ogni altro gruppo Noo.: onose 0,,0,,0, In questo moo il noo mantiene inormazioni su rappresentanti, invee i 0 00.. 0.. 0.. 0.. 0.... gruppo interno
Pseuo Pastry: Conetti Base Supponiamo he un noo el gruppo voglia rierare la hiave k=0000. Il noo aotta una strategia i tipo ivie an onquer K viene inoltrata a un noo rappresentante el gruppo 0, poi al noo rappresentante i 0,. quini a quello i 0 0. inoltra la hiave al noo più viino alla hiave numeriamente 0 00.. 0.. 0.. 0.. 0 gruppo interno
Pastry: Taelle i Routing Ai noi vengono assegnati ientiiatori i its Ogni ientiiatore in ase = Esempio a0 Ogni gruppo ontiene sottogruppi Ogni noo gestise una taella i routing e un lea set La taella i routing ontiene un rierimento a un noo elegato per ogni gruppo Il lea set ontiene rierimenti agli altri noi el gruppo interno
Pastry: Taella i Routing Taella i routing per il noo n=a0 0 a e 0 a e 0 e.. log N righe - entrate per ogni riga = stringa i ire esaeimali Sul noo n, gli elementi ella riga i ella taella ontengono rierimenti ai noi il ui NoeID onivie un preisso i lunghezza i on il NoeID i n ierise nella i-esima ira rispetto al NoeID i n
Pastry: Taella i Routing Alune entrate ella taella i Routing possono essere vuote Approio analogo a Chor. Ogni taella i routing ontiene una onosenza: approssimata rispetto ai noi istanti nello spazio egli ientiiatori più aurata ei noi viini Proimity Routing la selta ei noi a inserire nella routing tale i un noo è guiata a un riterio i prossimità ping elay numero i IP hops ogni elemento ella taella i routing i n si rierise a un noo viino a n (on rierimento alla nozione i prossimità utilizzata), tra tutti i noi on il preisso appropriato per quella entrata 0
Pastry: l algoritmo i Routing Routing eettuato sul noo n i ientiiatore ID i (KEY appartiene all intervallo einito a lea set) else inviare key al noo el lea set il ui NoeID è numeriamente più viino a KEY { i ( esiste nella taella i routing un ientiiatore ID he onivie on la hiave un preisso più lungo el preisso omune tra ID e KEY) invia KEY al noo ientiiato a ID else invia KEY a un noo he onivia on la hiave un preisso i lunghezza pari al preisso omune tra ID e KEY e sia numeriamente più viino alla hiave }
Pastry: l Algoritmo i Routing a a a Chiave: a
Pastry: l Algoritmo i Routing a a a Chiave: a
Pastry: l Algoritmo i Routing a a a Chiave: a
Pastry: l Algoritmo i Routing a a a Chiave: a
Pastry: l Algoritmo i Routing a a a Chiave: a
Pastry: l Algoritmo i Routing a a a a Chiave: a
Pastry: L algoritmo i Routing Taella i routing per il noo n=a0 0 a e 0 a e 0 e.. n rieve una rihiesta per la hiave k=0 = preisso omune tra il noo e la hiave n invia la hiave al noo evienziato ella taella, perhé questo noo onivie un preisso più lungo on la hiave ()
Pastry: L algoritmo i Routing Taella i routing per il noo n=a0 0 a e 0 a e.. n rieve una rihiesta per la hiave 0 = preisso omune tra noo e hiave non esiste un rierimento a un noo he onivie un preisso più lungo on la hiave, la hiave viene inviata al noo evienziato in taella, perhé il suo valore numerio è più viino alla hiave Ipotesi: la parte non evienziata ella taella è vuota
Pastry: Inserimento i Nuovi Noi Quano un noo vuole inserirsi in una rete Pastry seglie un ientiiatore ID, meiante onsistent hashing seglie un peer PB per il ootstrap invia a PB un messaggio join(key=id) il messaggio viene inoltrato verso il noo C numeriamente più viino a ID la taella i routing el noo viene ostruita a partire alle taelle i routing i tutti i noi sul ammino perorso al messaggio join(key=id) ID notiia la propria presenza a questi noi, he moiiano le proprie taelle i routing 0
Pastry: L algoritmo i Routing Taella i routing per il noo n=a0 0 a e 0 a e.. n rieve un messaggio join(key=0) al nuovo noo nn= 0 le prime ue righe ella taella i routing i n possono essere utilizzate per inizializzare le prime ue righe ella taella i routing i n il messaggio viene inoltrato al noo evienziato in taella Ipotesi: la parte non evienziata ella taella è vuota
: Complessità Analisi ella omplessità Rete Pastry i N noi. Ientiiatori i l-its, valori in ase B=, Complessità riera hiavi: O(log B (N)) Complessità taelle i routing: O(log B (N))(B-)) Valore i B selto ome traeo tra numero meio i passi per la riera e imensione elle taelle i routing (in generale =)
Pastry: Loalità Pastry non ottimizza solamente il numero i passi i routing, ma anhe il osto i ogni hop La riga i-esima ella taella i routing ontiene rierimenti ai noi he oniviono un preisso lungo i on il noo. Più selte possiili per ogni elemento per la taella Ogni elemento ella taella i routing i n ontiene un rierimento a un noo viino a n (seono una nozione i prossimità isia), selto tra tutti i noi aratterizzati al preisso opportuno Prossimità isia: ping elay, numero i hops IP