Enhancing P2P File-Sharing
with an
Internet-Scale Query Processor
di Boon Thau Loo, Joseph M. Hellerstein, Ryan Huebsch,
Scott Shenker e Ion Stoica
(University of Berkeley)
Presentazione di:
Marco Andolfo
Claudio Campeggi (rel.)
Alessio Gaeta
Sistemi Informativi LS A.A. 2005-2006
Gruppo
Sommario
 Problema
del lookup
 Caratteristiche
della ricerca di
documenti nella rete gnutella
 Un
nuovo approccio di ricerca: DHT e
PIERSearch
 Soluzione
ibrida proposta: pro e contro
della scelta individuata
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
2
Problema del lookup
 Introduzione
e sviluppo dei sistemi di
condivisione dei file che utilizzano reti
Peer-to-Peer (P2P)
Problema del lookup:
Dato un oggetto memorizzato in un certo
insieme dinamico di nodi, trovarlo
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
3
Problema del lookup
Si possono applicare tecniche di query simili
a quelle dei DB distribuiti?

Principali cause
Dimensioni elevate della rete P2P
Alta scalabilità della rete ed eterogeneità
delle macchine coinvolte
Agli occhi dell’utilizzatore appare un unico
sistema di query
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
4
La rete gnutella
Architettura
Numero
Uso
Le
macchine
del flooding
elevatissimo
del
sono
sistema
per
connesse
effettuare
di nodi:
molto
in
rete
le
eterogenea
ricerche
una
semplice
rete ad hoc
di dimensioni
non strutturata
globali
Un utente può entrare ed uscire dalla
rete liberamente senza causarne la
caduta
I file memorizzati su un nodo sono
condivisi con gli altri
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
5
Come avviene la ricerca
1.
2.
3.
4.
5.
10/03/2006
Attraverso un’applicazione client (es. LimeWire)
l’utente si collega alla rete e specifica una
keyword per eseguire la ricerca
La ricerca avviene per flooding: partendo dai nodi
più vicini si propaga la query da nodo a nodo
Se un nodo risponde in modo affermativo riporta il
suo ID e i file che fanno match alla sorgente
Al termine della ricerca viene riportato il result set
complessivo
La ricerca non è esaustiva: viene fissato un timeto-live (TTL) che permette solo di esplorare una
frazione della rete!
Sistemi Informativi LS A.A. 2005-2006
6
Come avviene la ricerca: esempio
Ha inizio la ricerca!
Orizzonte di ricerca
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
7
Considerazioni

La rete utilizza una tecnica di ricerca semplice
La ricerca di un file che presenta molte copie (file
popolari) darà sempre ottimi risultati
E se sono presenti poche copie?
C’è il forte rischio che non sia presente nessuna
copia dentro la frazione di rete!
Una copia esiste ma purtroppo è presente in una
frazione non raggiungibile!
L’algoritmo di ricerca risulta essere
poco efficiente e occorre introdurre
dei miglioramenti
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
8
Alternative

Aumentare il valore di TTL
Questo comporta ampliare il numero di nodi che la
query dovrà visitare
Tuttavia si rischia di allungare (anche
drasticamente) il tempo di risposta (il protocollo
prevede che al max sia di 60 sec.)

Introdurre gli ultrapeers: gruppo di peer al
quale il client si lega per spedire i messaggi
Il flooding avviene tra ultrapeers
Indicizzare i contenuti?
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
9
PIERSearch
è un’applicazione che
consente di pubblicare e ricercare oggetti
nell’ambito di una rete P2P
 PIERSearch
 Il
suo motore di ricerca e il meccanismo
di pubblicazione si appoggiano ad una
rete strutturata basata su Distributed
Hash Table (DHT)
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
10
Distributed Hash Table
N1
Il lookup avviene per
Ogni nodo
è responsabile
di un
avvicinamenti
successivi
insieme di chiavi
“vicine” al suo ID
all’obiettivo
K54 N56
lookup(54)
N8
Ad ogni nodo viene assegnato un ID
N51
N14
La rete ha una struttura ad anello
N48
Ogni nodo conosce un certo numero
di suoi vicini
N21
Il nodo N8 cerca
l’oggetto con
chiave K54
N42
N38
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
11
Pubblicazione di un contenuto

Per fornire la possibilità di query testuali su un
overlay DHT PIERSearch fa uso di Inverted
Index
ITEM
fileID
Filename
filesize
ipAddress
port
INVERTED
Il fileID è generato mediante
una funzione di hash su tutti
gli altri campi
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
keyword
fileID
12
Ricerca con PIER
Risultati
Query sui termini
T1 e T2
fileID
fileID
Item(fileID,…)
fileID
10/03/2006
keyword = T1
keyword = T2
Inverted
Inverted
Sistemi Informativi LS A.A. 2005-2006
13
Ricerca
Risultati
Query ottimizzata
sui termini T1 e T2
(InvertedCache)
fileID
fileID
Item(fileID,…)
keyword = T2
keyword = T1
INVERTEDCACHE
keyword
fileID
fulltext
InvertedCache
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
14
DHT: utilizzabile?

PIERSearch, usando DHT, garantisce recall
deterministici
tuttavia…

La fase di pubblicazione è complessa e può
avere un overhead non trascurabile

La fase di ricerca può consumare notevoli
quantità di banda
Occorre trasferire tra i peers le intere tabelle
Inverted con tutti i risultati (parziali) della query
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
15
Infrastruttura ibrida di ricerca

Una soluzione possibile per limitare l’overhead è
creare un’infrastruttura ibrida gnutella-PIERSearch

In questo modo:
 Inizialmente si adotta il flooding (trovo i file “popolari”)
 Se il flooding fallisce (dopo un timeout prefissato) scatta la
ricerca con PIERSearch
Si costruisce un indice parziale per trovare i file rari
Nel DHT si tiene traccia solo dei nodi ultrapeer
Ma quali contenuti indicizzare?
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
16
Politiche di pubblicazione [1]

Query Result Size (QRS)
I file rari sono quelli presenti in result set piccoli
Si definisce il parametro Result Size Threshold
Oggetti rari non cercati non finiscono in cache

Term Frequency (TF)
Ogni nodo ibrido raccoglie statistiche temporali dal
traffico di ricerca per determinare la frequenza delle
keyword
Si definisce il parametro Term Frequency Threshold
Problema di file raro con keyword popolare
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
17
Politiche di pubblicazione [2]

Term Pair Frequency (TPF)
Analoga alla precedente, ma che considera coppie
di termini
Si definisce il parametro Term Pair Frequency Threshold

Sampling (SAM)
Si campionano i nodi vicini per stimare un limite
inferiore del numero di repliche di ogni file
Si definisce il parametro Sample Threshold
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
18
Test [1]
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
19
Test [2]
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
20
Problemi di modello
 Tutti
i nodi partecipano al query
processing
 Distribuzione
random delle repliche e dei
link tra i nodi. Repliche identiche non
risiedono sullo stesso nodo
 Costi
totali del sistema sono dominati
dall’overhead della comunicazione
(misurato in n° di messaggi scambiati)
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
21
Problemi di modello
 L’orizzonte
di ricerca è identico per tutte
le query, indipendentemente dal numero
di risultati ottenuti
 Flooding
“ideale”: broadcast efficiente che
necessita di n-1 messaggi per
raggiungere n nodi
 Rete
statica: non entrano né escono
nuovi nodi
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
22
Conclusioni



gnutella ottimizza la ricerca di file che hanno molte
copie
PIERSearch al contrario ottimizza la ricerca di file rari
Creazione di un sistema ibrido di ricerca
 Sfrutta le potenzialità migliori dei due sistemi
 I test eseguiti verificano la fattibilità dell’approccio introdotto

Possibili miglioramenti
 Rendere la rete strutturata
 Migliorare il flooding
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
23
Bibliografia

gnutella: http://gnutella.wego.com

Limewire: http://www9.limewire.com

PlanetLab: http://www.planet-lab.org/

OpenDHT: Fixing the Embarrassing Slowness of
OpenDHT on PlanetLab di Sean Rhea, Byung-Gon
Chun, John Kubiatowicz, and Scott Shenker

Funzionamento DHT: A Scalable ContentAddressable Network di Sylvia Ratnasamy, Paul
Francis, Mark Handley, Richard Karp and Scott
Shenker
10/03/2006
Sistemi Informativi LS A.A. 2005-2006
24

10/03/2006
Fai 13! Votaci!
Sistemi Informativi LS A.A. 2005-2006
25
Scarica

Presentazione PowerPoint