Digital Media in Italia

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


P2P iDrm, an example of how's objectives can be reached

Peer-to-Peer iDRM (P2P iDrm) is a project developed by a group of participants. It is a system completely decentralised and distribuited on the nodes of a structured peer-to-peer (P2P) network. through a Distributed Hash Table (DHT) MPRG-21 metadata are indexed to allow users a search modality based on licences linked to certain governed content, e.g. searching all content that have "misterX" as issuer and "play" as grant).

The P2P iDrm system is completely agnostic to the nature of the licence, in the sense that a creator may have published his content with a Creative Commons licence or with a licence that conains an encrypted key to decrypt resources.

Fig. 1 - Architecture of the P2P iDrm system

The figure shows the principal players of the Chillout® framework dof interest to P2P iDrm system:

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

These devices mutually interface as nodes of a P2P network, communicate through it and find resources abd content. To do that, each device includes a P2P component and an application component, as descrbed in Figure 2.

Fig. 2 - Software stack of a P2P iDRM device

For the P2P component the layers, common to alla devices, are

  1. DHT
  2. Transport
  3. Application.

The current solution employs FreePastry as DHT layer, but dependencies are such that interoperability with other DHT solutions such as Chord, Kademlia, etc.

In the future the transport component can be improved to handle the simultaneous download from multiple peers (multisource download), e.g. by using the BitTorrent transport layer, or by e.f.using GridFTP (Globus) to make the transport of files larger than 2 Gbytes more efficient.

Each device has its Ogni tipologia di dispositivo ha its own application layer, e.g. to create content, provide  content, search and consume content. Such layer is based on Chillout.

The initial effort to implement a structured Peer-to-Peer network instead of flooding and/or centralised, is compensated by the fact that this type of network naturally “scales” and a maximum number of hops equal to log2N is guaranteed to reach any peer that holds a certain content (where N is the total numbe of peers of the overlay).

This means the possibility to have reduced response times for all connected users and a large dynamicity in the  configuration of topology.

the first running chillout_p2p noce is at: IP: PORT: 9090. the current code utilises Freepastry libraries version 2.04 that do not allow NAT traversal. Therefore to connect to the ring it is necessary to specify as bootstrap node the IP:PORT pair given above , but it is necessary to start from a device on the public netwrok. If the device is behind an NAT, the current code does not allow connection to DHT.

The next Freepastry version (currently in beta) seems to have partly solved the problem, but is not backward compatible with the current version. As the node resides on an experimental machine used as a test bed at Dipartimento di Informatica of Università di Torino for different projects there is no guarantee that the service is always "up and running". In this experimental phase it is possible to use the machine as bootstrap node, however, when a higher level of reliability will be required, another machine shall be used.

By launching the installer of the Chillout P2P module found the Chillout repository at the application will be installed. During this a readme will be shown that illustrates the key steps to follow to launch and test the software.

Have participated in the development of the trial: 

Walter Allasia


Filippo Chiariglione

Francesco Gallo

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

Paper on P2P iDrm