Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture dati Mod B
Advertisements

Reti sociali Reti sociali.
2. Introduzione alla probabilità
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Algoritmi e Strutture Dati
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Alberi binari di ricerca
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
Iterazione enumerativa (for)
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Algoritmi e strutture Dati - Lezione 7
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 4 Ordinamento: Heapsort Algoritmi e Strutture Dati.
Il problema della ricerca Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. A)
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Trovare il percorso minimo da b ad ogni altro vertice
Algoritmi e strutture dati
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Lezione 8.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Lezione 5. Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Ancora esercizi!!! Chernoff Bound allora
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – –
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Autori: I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley Chord: A Scalable Peer-to-peer Lookup Service for Internet.
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Domande Consideriamo un grafo di de bruijn con base k, ed N = k^b nodi, quale delle seguenti affermazioni è vera (giustificare la risposta) Il grado di.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Clustering Mercoledì, 24 novembre 2004 Giuseppe Manco Readings: Chapter 8, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman Density-Based Clustering.
Intelligenza Artificiale Algoritmi Genetici
Intelligenza Artificiale
Sistemi P2P avanzati Lezione 3 Chord seconda parte.
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Sistemi P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Strutture dati per insiemi disgiunti
Radix-Sort(A,d) // A[i] = cd...c2c1
Algoritmi e Strutture Dati
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Cerchiamo di rispondere alla seconda domanda 2)La soluzione trovata con lalgoritmo goloso è ottima o esistono anche soluzioni con più di quattro attività?
Prof. Cerulli – Dott.ssa Gentili
Per valutare la complessità ammortizzata scomponiamo ogni Union: nelle due FindSet e nella Link che la costituiscono e valuteremo la complessità in funzione.
Algoritmi e Strutture Dati
Outline Database P2P e stato dellarte delle strutture di indice Obiettivi dellarchitettura P-Ring Soluzioni di P-Ring Verifiche sperimentali dei risultati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 2 – Instradamento.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati HeapSort. Select Sort: intuizioni L’algoritmo Select-Sort  scandisce tutti gli elementi dell’array a partire dall’ultimo elemento.
Panoramica generale di "Questo è NAV" Benvenuti Controllo Margine Crescita Introduzione Customer Evidence Dimostrazione Introduzione Customer Evidence.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Lezione 5 Domande: L’average path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) (b) (b/2) (log(N)) (Nessuna delle precedenti)
Transcript della presentazione:

Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)

The Small World Phenomena The six degree of separation experiment S. Milgram [M67]. The six degree of separation experiment S. Milgram [M67]. The sociological experiment relied on social networks to transmit a letter from a person to unfamiliar targets by passing the letter only via acquaintances. Only a small number (around 6) of steps was needed. Recent work [DRW03], shows that, in the first steps the message was forwarded to a person P by using a guess on who P knew or, in other words, on his/her neighbors. Recent work [DRW03], shows that, in the first steps the message was forwarded to a person P by using a guess on who P knew or, in other words, on his/her neighbors.

Neighbor of Neighbor routing(NON) Sia d(x,y) una metrica per i nodi nella rete. Greedy routing 1. Supponiamo che il nostro messaggio si trovi sul nodo u t (destinazione). 2. Sia V = {v 1, v 2, …, v k } linsieme dei vicini del nodo u. 3. Fra questi k nodi, supponiamo sia z il più vicino alla destinazinone (rispetto alla metrica d). 4. Inviamo il messaggio al nodo z. Nel nostro caso è la distanza sullanello in senso orario Può essere iterativo o ricorsivo

Neighbor of Neighbor routing(NON) Greedy routing ut

Neighbor of Neighbor routing(NON) 1. Supponiamo che il nostro messaggio si trovi sul nodo u t (destinazione). 2. Sia V = {v 1, v 2, …, v k } linsieme dei vicini del nodo u. 3. Per ogni 1 i k, siano w i1, w i2, …, w ik I vicinin di v i and sia W= { w ij 1 i, j k} linsieme dei vicini dei vicini di u. 4. Fra questi k 2 +k nodi, supponiamo sia z il più vicino alla destinazinone (rispetto alla metrica d). 5.1 Se z V inviamo il messaggio al nodo z, altrimenti z = w ij, per qualche i e j, e inviamo il messaggio a z attraverso v i. 5.2 Se z V inviamo il messaggio al nodo z, altrimenti z = w ij, per qualche i e j, e inviamo il messaggio a v i. 2 fasi 1 fase

Neighbor of Neighbor routing(NON) Greedy routing NON routing ut ut

Neighbor of Neighbor routing(NON) Chord Sia n=2 b, per ogni 0 i < b, il nodo x è connesso ai nodi (x+2 i ) mod 2 b ; Sia n=2 b, per ogni 0 i < b, il nodo x è connesso ai nodi (x+2 i ) mod 2 b ; Il grado è b; Il grado è b; Il diametro è b; Il diametro è b; APL è b/2; APL è b/2; R-Chord n=2 b [MNW04] Sia n=2 b, per ogni 0 i < b, sia r x (i) un intero scelto in maniera casuale dallintervallo [0,2 i ), il nodo x è connesso ai nodi (x+2 i +r x (i)) mod 2 b ; Sia n=2 b, per ogni 0 i < b, sia r x (i) un intero scelto in maniera casuale dallintervallo [0,2 i ), il nodo x è connesso ai nodi (x+2 i +r x (i)) mod 2 b ; Il grado è b; Il grado è b; E un sistema uniforme?

Neighbor of Neighbor routing(NON) R-Chord n=2 b [MNW04] Sia n= 2 b, per ogni 0 i < b, sia r x (i) un intero scelto in maniera casuale dallintervallo [0,2 i ), il nodo x è connesso ai nodi (x+2 i +r x (i)) mod 2 b ; Sia n= 2 b, per ogni 0 i < b, sia r x (i) un intero scelto in maniera casuale dallintervallo [0,2 i ), il nodo x è connesso ai nodi (x+2 i +r x (i)) mod 2 b ; Il grado è b; Il grado è b; x2i2i 2 i+1 y 2i2i R-Chord non è uniforme

Neighbor of Neighbor routing(NON) Abbiamo visto Una nuova strategia di routing (NoN routing) Una nuova strategia di routing (NoN routing) Una nuova topologia (R-Chord) Una nuova topologia (R-Chord) Ci poniamo delle domande: Quali sono le prestazioni del NoN routing con Chord? Quali sono le prestazioni del NoN routing con Chord? Quali sono le prestazioni del greedy routing con R-Chord? Quali sono le prestazioni del greedy routing con R-Chord? Quali sono le prestazioni del NoN routing con R-Chord? Quali sono le prestazioni del NoN routing con R-Chord? Chord è uniforme, lalgoritmo greedy è ottimale, quindi NoN routing non ci da nessun vantaggio

Neighbor of Neighbor routing(NON) Quali sono le prestazioni del NoN routing con Chord? s t d(s,t)= s t d(s,t)=

Neighbor of Neighbor routing(NON) Abbiamo visto Una nuova strategia di routing (NoN routing) Una nuova strategia di routing (NoN routing) Una nuova topologia (R-Chord) Una nuova topologia (R-Chord) Ci poniamo delle domande: Quali sono le prestazioni del NoN routing con Chord? Quali sono le prestazioni del NoN routing con Chord? Quali sono le prestazioni del greedy routing con R-Chord? Quali sono le prestazioni del greedy routing con R-Chord? Quali sono le prestazioni del NoN routing con R-Chord? Quali sono le prestazioni del NoN routing con R-Chord?

Neighbor of Neighbor routing(NON) Denotiamo con (n) laverage path length Teorema (n) = (log n) hops for greedy routing in R-Chord (n) = (log n) hops for greedy routing in R-ChordProva Bisogna mostrare che (n) = O(log n) e (n) = (log n) 1) (n) = O(log n) Consideriamo tutte le possibili topologie che derivano da R-Chord. Mostriamo che a ogni singolo hop, se la distanza fra il nodo corrente e il nodo destinazione è d, dopo il jump la distanza è minore di 3/4d. x t d(x,t)=2 p+1 -2

Neighbor of Neighbor routing(NON) x t d(x,t)=2 p+1 -2 Consideriamo il caso peggiore Il salto (p+1) che può essere compreso fra [2 p,2 p+1 ) è lungo 2 p In questo caso il salto va oltre la destinazione è quindi non può essere effettuato. Il salto (p+1) che può essere compreso fra [2 p,2 p+1 ) è lungo 2 p In questo caso il salto va oltre la destinazione è quindi non può essere effettuato. Il salto (p) che può essere compreso fra [2 p-1,2 p ) è lungo 2 p-1. Il salto (p) che può essere compreso fra [2 p-1,2 p ) è lungo 2 p-1. La distanza fra x e t si riduce da d=2 p+1 -2 a 2 p p-1. La distanza fra x e t si riduce da d=2 p+1 -2 a 2 p p-1. Ma 2 p p-1 = 3*2 p-1 -2 = ¾ 2 p+1 -2 < ¾ d. Ma 2 p p-1 = 3*2 p-1 -2 = ¾ 2 p+1 -2 < ¾ d. Ad ogni passo nel caso peggiore passiamo da una distanza d a una distanza ¾ d. Quindi il numero dei passi totale è minore di log ¾ d. Ad ogni passo nel caso peggiore passiamo da una distanza d a una distanza ¾ d. Quindi il numero dei passi totale è minore di log ¾ d. Nel caso peggiore d=n-1. Quindi (n) < log ¾ (n-1) = O(log n). Nel caso peggiore d=n-1. Quindi (n) < log ¾ (n-1) = O(log n).

Neighbor of Neighbor routing(NON) Denotiamo con (n) laverage path length Teorema (n) = (log n) hops for greedy routing in R-Chord (n) = (log n) hops for greedy routing in R-ChordProva Bisogna mostrare che (n) = O(log n) e (n) = (log n) 2) (n) = (log n) ….. In pratica in base ai risultati di numerose simulazioni R-Chord si comporta esattamente allo stesso modo di Chord APL = b/2 = (log n)/2. APL = b/2 = (log n)/2. Questa prova ve la risparmio

Neighbor of Neighbor routing(NON) Abbiamo visto Una nuova strategia di routing (NoN routing) Una nuova strategia di routing (NoN routing) Una nuova topologia (R-Chord) Una nuova topologia (R-Chord) Ci poniamo delle domande: Quali sono le prestazioni del NoN routing con Chord? Quali sono le prestazioni del NoN routing con Chord? Quali sono le prestazioni del greedy routing con R-Chord? Quali sono le prestazioni del greedy routing con R-Chord? Quali sono le prestazioni del NoN routing con R-Chord? Quali sono le prestazioni del NoN routing con R-Chord?

Neighbor of Neighbor routing(NON) Denotiamo con (n) laverage path length Teorema (n) = (log n / log (log n)) hops for NON routing in R- Chord (n) = (log n / log (log n)) hops for NON routing in R- ChordProva Bisogna mostrare che (n) = O(log n / log (log n)) e (n) = (log n / log (log n)) 1) (n) = (log n / log (log n)) Labbiamo già dimostrato nella prima lezione (slide 16).

Neighbor of Neighbor routing(NON) Denotiamo con (n) laverage path length Teorema (n) = (log n / log (log n)) hops for NON routing in R- Chord (n) = (log n / log (log n)) hops for NON routing in R- ChordProva 2) (n) = O(log n / log (log n)) Consideriamo un nodo s che intende spedire un messaggio a un nodo t a distanza d(s,t)=d. s t d(s,t)=d Consideriamo il ring pieno

Neighbor of Neighbor routing(NON) 2) (n) = O(log n / log (log n)) Sia p un intero tale che 2 p d < 2 p+1 Consideriamo due casi : 1.p (log n) / log (log n) In questo caso bastano O(p) jump per raggiungere la destinazione anche se si usa solo lalgoritmo greedy. Cioè avvicinandoci di ¾ ad ogni passo. Il numero di passi infatti è log ¾ d < log ¾ 2 ((log n) / log (log n))+1 = O((log n) / log (log n)). s t d 2p2p 2 p+1

Neighbor of Neighbor routing(NON) 2) (n) = O(log n / log (log n)) Sia p un intero tale che 2 p d < 2 p+1 Consideriamo due casi : 2.p > (log n) / log (log n) Sia I = (d-d,d] dove d= Ovviamente | I |=d s t d 2p2p 2 p+1 I d-d

Neighbor of Neighbor routing(NON) 2) (n) = O(log n / log (log n)) Quanti vicini di s ci sono fra s e t? I primo vicino si trova fra 2 0 a Il secondo si trova fra 2 1 a Il terzo si trova fra 2 2 a Il p-esimo si trova fra 2 p-1 a 2 p -1 Poichè 2 p è minore di d, fra s e t ci sono almeno p vicini. Sia s i liesimo vicino di s, e sia S={s 1, s 2, …, s p } linsieme dei primi p vicini di s. Allora |S|=p. s t d 2p2p 2 p+1 I 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=

Neighbor of Neighbor routing(NON) 2) (n) = O(log n / log (log n)) Denotiamo con J k (s i )=s i +2 k +r s i (k) il k-esimo jump/vicino di s i. Il nostro obiettivo è calcolare la probabilità che almeno uno dei vicini dei vicini di s abbia un jump in I. P=Pr[ J k (s i ) I per qualche 1 i p e 0 k < b ] s t d 2p2p 2 p+1 I 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p I primi p vicini Un jump qualsiasi n=2 b

Neighbor of Neighbor routing(NON) Claim Per ogni nodo s i S, la probabilità che un vicino di s i I è almeno d/2 p. P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p Prova Consideriamo il generico vicino di s, s i. Denotiamo con d i la distanza fra s i e t. Sia p i tale che 2 p i d i < 2 p i +1 Due casi: 1.d-ds i +2 p i 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p s d 2p2p 2 p+1 I s t d 2pi2pi 2 p i +1 I sisi didididi d-d pippip diddid

Neighbor of Neighbor routing(NON) Claim Per ogni nodo s i S, la probabilità che un vicino di s i I è almeno d/2 p. P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p Prova 1.d-ds i +2 p i Lunico jump di s i che può cadere in I è il jump (p i +1)- esimo, infatti il jump (p i +1)-esimo [s i +2 p i, s i +2 p i +1 ). In particolare il jump (p i +1)-esimo appartiene a I con probabilità | I |/2 p i = d/2 p i d/2 p s d 2p2p 2 p+1 I s t d 2pi2pi 2 p i +1 I sisi didididi d-d pippip 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p d i d, d i d, p i p

Neighbor of Neighbor routing(NON) Claim Per ogni nodo s i S, la probabilità che un vicino di s i I è almeno d/2 p. P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p Prova 2.d-d<s i +2 p i s d 2p2p 2 p+1 I st d 2pi2pi 2 p i +1 I sisi didididi d-d 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p d i d, d i d, p i p

Neighbor of Neighbor routing(NON) Claim Per ogni nodo s i S, la probabilità che un vicino di s i I è almeno d/2 p. P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p Prova 2.d-d<s i +2 p i In questo caso sia il jump p-esimo che il jump (p+1)-esimo possono cadere in I. Sia I = A B dove A=(d-d, s i +2 p i ) e B=[s i +2 p i,d] Ovviamente |A|+|B|=d. st d 2pi2pi 2 p i +1 I sisi didididi d-d 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p d i d, d i d, p i p AB

Neighbor of Neighbor routing(NON) Claim Per ogni nodo s i S, la probabilità che un vicino di s i I è almeno d/2 p. P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p Prova 2.d-d<2 p i Sia Q levento il p i -esimo jump di s i cade in I Sia Q levento il p i -esimo jump di s i cade in I Sia R levento il (p i +1)-esimo jump di s i cade in I Sia R levento il (p i +1)-esimo jump di s i cade in I Siamo interessati a calcolare la Pr[Q R]=Pr[Q]+Pr[R]-Pr[Q R] st d 2pi2pi 2 p i +1 I sisi didididi d-d 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p d i d, d i d, p i p AB QR Q R

Neighbor of Neighbor routing(NON) Claim Per ogni nodo s i S, la probabilità che un vicino di s i I è almeno d/2 p. P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p Prova 2.d-d<2 p i Caso 2.a |B|>2 p i -1 Valutimo solo Pr[R] Pr[Q R] Pr[R]=|B|/2 p i >1/2>d/2 p st d 2pi2pi 2 p i +1 I sisi didididi d-d 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p d i d, d i d, p i p AB QR Q R

Neighbor of Neighbor routing(NON) Claim Per ogni nodo s i S, la probabilità che un vicino di s i I è almeno d/2 p. P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p Prova 2.d-d<2 p i Caso 2.b |B|2 p i -1 Pr[Q R]= Pr[Q]+Pr[R]-Pr[Q R] = st d 2pi2pi 2 p i +1 I sisi didididi d-d 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p d i d, d i d, p i p AB QR Q R |B|2 p i -1

Neighbor of Neighbor routing(NON) Dove eravamo rimasti? Il nostro obiettivo è calcolare la probabilità che almeno uno dei vicini dei vicini di s abbia un jump in I. P=Pr[ J k (s i ) I per qualche 1 i p e 0 k < b ] 2 p d < 2 p+1 p > (log n) / log (log n) I = (d-d, d] d=|S|=p P=Pr[ J k (s i ) I per qualche 0 k < b ] d/2 p s d 2p2p 2 p+1 I P = 1-e -1 Pd/2 p d2 p p > (log n) / log (log n) (1-1/x) x e -1

Neighbor of Neighbor routing(NON) Con probabilità P= Con probabilità P=1-e -1 in due hop riduciamo lintrvallo da d a d * (log log n) / log n Poichè Poichè 1-e -1 > 0.5 funziona in media almeno una volta su due; In media con 2*2= 4 hop riduciamo lintrvallo da d a d * (log log n) / log n. Quanti hop ci servono 4 log log n / (log log n) d + O(log n / (log log n)) d al massimo n-1 4 log log n / (log log n) n-1 + O(log n / (log log n)) Il nostro obiettivo è calcolare la probabilità che almeno uno dei vicini dei vicini di s abbia un jump in I. P=Pr[ J k (s i ) I per qualche 1 i p e 0 k < b ] p (log n) / log (log n) O(log n / (log log n))

Neighbor of Neighbor routing(NON) Nel caso in cui il ring non è pieno? Ridurre la distanza da 2 b -1 a 2 b /n impiega O(log n / log log n) passi. Quanti nodi ci sono in 2 b /n identificatori? Utilizzando il Chernoff bound si può dimostrare che in 2 b /n identificatori ci sono al più O(log n / log log n) nodi WHP. Quindi anche usando solo i successori in totale si effettuano O(log n / log log n) passi.

Neighbor of Neighbor routing(NON) Cost of Neighbor of Neighbor lists: Memory: O(log 2 n) Maintenance: O(log n) must be updated Neighbor lists should be maintained (open connection, pinging, etc.) In practice, a Chord ring will never be in a stable state; instead, joins and departures will occur continuously, interleaved with the stabilization algorithm. The ring will not have time to stabilize before new changes happen. [Chord]

Neighbor of Neighbor routing(NON) Vantaggi: Algoritmo di routing locale Algoritmo di routing semplice Efficiente Non è necessaria la stima di log n Svantaggi Come mantenere la lista dei vicini dei vicini? No fast bootstrap