Digital Media in Italia

Un'iniziativa per interrogarci sul ruolo dell'Italia
e per programmare il nostro futuro

 

Peer-to-Peer iDRM, un esempio di come si possano raggiungere gli obiettivi di dmin.it

Peer-to-Peer iDRM (P2P iDRM) è un progetto sviluppato da un gruppo di partecipanti a dmin.it. È un sistema completamente decentralizzato e distribuito sui nodi di una rete peer-to-peer (P2P) strutturata. Attraverso una Distributed Hash Table (DHT) si indicizzano metadati MPEG-21 per consentire ai fruitori una modalità di ricerca basata sulle licenze collegate a determinati contenuti governati, per esempio, ricercare tutti i DCF che hanno come issuer "misterX" e come grant "play").

Il sistema P2P iDRM è completamente agnostico alla natura della licenza, nel senso che un creatore può pubblicare i suoi contenuti ad esempio con una licenza Creative Commons oppure con una licenza che contiene una chiave cifrata per la decifratura delle risorse.

Fig. 1 - Architettura del sistema P2P iDRM

La figura mostra gli attori principali del framework Chillout di interesse per il sistema P2P iDRM:

  1. CCD – Content Creation Device
  2. CPD – Content Provider Device
  3. EUD – End User Device.

Questi dispositivi si interfacciano gli uni con gli altri come nodi in una rete P2P, comunicano attraverso di essa e reperiscono risorse e contenuti. Per fare ciò, ogni dispositivo ingloba una componente P2P ed una componente applicativa, come descritto in Figura 2.

Fig. 2 - Software stack di un dispositivo P2P iDRM

Per la componente P2P gli strati, comuni a tutti i dispositivi, sono

  1. Un layer DHT
  2. Un livello di trasporto
  3. Un livello applicativo.

Ad oggi la soluzione utilizza come strato DHT il software FreePastry, ma le dipendenze sono ad un livello sufficiente a garantire l'interoperabilita' con altri soluzioni DHT come Chord, Kademlia, etc.

Anche la componente di trasporto potrà nel futuro essere migliorata per gestire il download da più peers contemporaneamente (multisource download) usando per esempio lo strato di trasporto di BitTorrent, o ad esempio utilizzando GridFTP (Globus) per rendere più efficiente il trasporto di files più grandi di 2Gbyte.

Ogni tipologia di dispositivo ha il suo strato applicativo, ad esempio per la creazione di contenuti, la fornitura di contenuti, ricerca ed il consumo di contenuti. Tale strato è basato sulle librerie di Chillout.

Lo sforzo iniziale sostenuto per implementare una rete Peer-to-Peer strutturata anzichè flooding e/o centralizzata, viene ricompensato dal fatto che questo tipo di rete “scala” in modo naturale e viene garantito un massimo numero di salti pari a log2N per raggiungere un qualsiasi peer che possiede un determinato content (dove N è il numero complessivo di peers dell'overlay).

Questo significa avere tempi di risposta molto contenuti per tutti gli utenti connessi e una grande dinamicita' nella configurazione della topologia.

Per ulteriori informazioni leggere http://www.dmin.it//specifiche/proposta-completa.htm#_Toc185585459

I primo nodo con chillout_p2p running. si trova a: IP: 130.192.157.135 PORT: 9090. L'attuale codice utilizza le librerie di freepastry versione 2.04 che non permettono NAT traversal. Quindi per connettersi al ring bisogna specificare come bootstrap node la coppia IP:PORT che sopradetta, ma partire da una macchina su rete pubblica. Se siete dietro un NAT, cosi com'è, il codice non permette la connessione alla DHT.

La versione successiva di freepastry (ad oggi in beta) pare che abbia risolto in parte il problema, ma non è noto il grado di retrocompatibilità con la versione attuale. Per quanto riguarda il nodo appena attivato, esso risiede su una macchina sperimentale usata come banco di prova nel Dipartimento di Informatica dell'Università di Torino per differenti progetti, per cui non è garantito che il servizio sia "up and running" sempre. In questa fase di sperimentazione è possibile usarla come bootstrap node, ma quando l'affidabilità sarà un carattere importante, occorrerà trovare un'altra macchina.

Lanciando l'installer del modulo Chillout P2P che si trova sul repository di Chillout a http://wiki.dmpf.org/files/download/installers/P2P/chillout_p2p-1.0.0-all-20080807.jar si installa l'applicazionei durante la quale vene anche mostrato un readme che illustra i passi fondamentali da seguire per lanciare e testare il software.

Hanno partecipato alla realizzazione della sperimentazione: 

Walter Allasia

Eurix

Filippo Chiariglione

CEDEO.net

Francesco Gallo

Eurix
Marco Milanesio Università di Torino
Giancarlo Ruffo Università di Torino
Rossano Schifanella Università di Torino

Articoli su P2P iDRM

http://doi.ieeecomputersociety.org/10.1109/ICIW.2008.40
http://doi.ieeecomputersociety.org/10.1109/WIAMIS.2008.33