FairPeers Progettazione ed implementazione di un servizio di file management tramite Pastry
Indice Obiettivi DHT e Overlay network (Pastry) Architettura di FairPeers File Management Area Implementazione Sviluppi futuri
Obiettivi
FairPeers Sistema p2p per il file sharing che fornisce un meccanismo equo (fair) per il commercio legale di contenuti protetti da copyright (canzoni, film…) Giusto compenso per gli autori dei contenuti commercializzati Giusto compenso per i peer che mettono a disposizione del sistema le proprie risorse di macchina (banda, spazio su disco…)
Problemi da affrontare Scalabilità DHT Free riding schema micropagamenti Rispetto del copyright procedura di download basata su certificati firmati
Ricerca e implementazione Studio sulle DHT (Pastry) Sviluppo e analisi di schemi per la ricerca, la pubblicazione e il download dei contenuti Costruzione di un prototipo di un’applicazione di file sharing FairPeers
DHT e Overlay Network L’esempio di Pastry
Proprietà Substrato per la costruzione di qualunque tipo di applicazione p2p Scalabilità –Dilazione logaritmica nel numero dei nodi Tolleranza ai guasti –Schemi di auto-mantenimento anche in presenza di un elevato churn rate
PAST Applicazione di storage distribuito che utilizza il substrato Pastry Insert - permette di memorizzare il contenuto dei messaggi, inviati tramite overlay network, sul nodo responsabile per quel messaggio e su k nodi vicini (nodi replica) Lookup - permette di ricercare, a partire da una chiave, un contenuto memorizzato sulla DHT presso il nodo responsabile o uno dei nodi replica
Architettura
File Management Area Inserimento e ricerca
Inserimento Operazione richiamata da un nodo che intende condividere un contenuto Tramite la insert di PAST vengono diffusi nella DHT dei riferimenti al contenuto Un riferimento contiene tutte le informazioni relative al contenuto e alle sue fonti (metadati, indirizzi IP delle fonti e dell’autore del file…)
Inserimento Per un contenuto viene originato un numero di riferimenti pari alla cardinalità dell’insieme delle parti del nome (opportunamente formattato) del file È possibile (e necessario) introdurre un limite superiore al numero di messaggi di inserimento per contenuto condiviso
Storage dei riferimenti I riferimenti vengono memorizzati nel file system dei nodi responsabili secondo una struttura a due livelli
Ricerca Tramite la lookup di PAST vengono ricercati tutti i riferimenti corrispondenti ad un determinato identificatore Viene prodotto un solo messaggio di lookup con chiave pari all’hash della query string (opportunamente formattata)
Prestazioni Procedura di ricerca lightweight e flessibile Gestione rapida delle richieste di lookup Procedura di inserimento più onerosa resa però sostenibile da: –buona scalabilità dell’overlay network –introduzione di un limite superiore al numero di messaggi inviati –sporadicità delle operazioni di inserimento rispetto a quelle di ricerca
File Management Area Pubblicazione e download
Pubblicazione Un autore che voglia commercializzare un contenuto lo sottopone ad un Copyright Grantor (CG) che produce un certificato che lega l’autore al file
Download Un peer che intenda scaricare un contenuto deve ottenere dall’autore un’autorizzazione al download (costruita sulla base del certificato rilasciato dal CG) Una fonte concede il download di un file solo se il richiedente mostra una valida autorizzazione
Implementazione
Il prototipo Implementato in Java Basato sull’implementazione di Pastry/PAST della Rice University (FreePastry) Server centrale (Copyright Grantor, Certification Authority) Numero arbitrario di nodi su una macchina (adatto per la sperimentazione) Funzionalità di pubblicazione, inserimento, ricerca, download, gestione dei nodi
Sviluppi futuri
Multidownload (sul modello eMule) Ottimizzazioni (e.g. index-side filtering) Integrazione del prototipo sviluppato con il prototipo della Coin Management Area Test su più larga scala
Domande?