Governed Content Distribution on DHT Based Networks

Walter Allasia, Francesco Gallo Marco Milanesio, Rossano Schifanella EURIX Group Dipartimento di Informatica Torino UniversitadiTorino` {allasia, gallo}@eurixgroup.com {milane, schifane}@di.unito.it

Abstract—Peer-to-Peer (P2P) systems are widely used for sha- Our aim is therefore to present a totally distributed system ring digital items without structured metadata and in absence of capable of indexing digital rights metadata, structured in a any kind of digital rights management applied to the distributed complex way on a flat identifier space, thus enhancing the contents. In this paper we propose the implementation of a prototype application that makes use of a structured P2P system expressiveness of the key-based query mechanism on the enabling the indexing of complex metadata, used to express DHTs. To the best of our knowledge, this is the first attempt digital rights. In this way the media contents are exchanged and to index the structure of rights metadata on a structured P2P played according to the expressed grants. The creation and the network, where media contents can be exchanged and shared consumption of the shared contents can be performed through according to the expressed grants. any MPEG-21 REL compliant software and the application allows indexing and search for both governed and ungoverned In Section II we introduce the state-of-the-art of the MPEG- contents. The information about the license can be included in 7 and MPEG-21 standards and of the DHTs, then Section III the queries and the P2P network can be used to share governed describes the system, while in Section IV more details of our contents (both free and with fee) in a legitimate way. In particular implementation are pointed out. Section V presents a possible the proposed approach represents a suitable solution for indexing usage of the application and finally, while in Section VI and querying rights complex structures on DHT based networks. conclusions and on going activities are presented.

I. INTRODUCTION II. RELATED WORKS Nowadays, providers and broadcasters are facing the prob- The proposed application makes use of MPEG-7 and lem of managing a huge number of digital items on the MPEG-21 for metadata representation and Distributed Hash Web, coming from heterogeneous archives (e.g., 8mm, tapes, Tables for network topology. In the following we provide a films, digital contents). Each content can be associated with brief description of the used standards and we present the a specific license, so it is necessary to manage the expressed reference software we adopted to implement our system. rights to avoid violating (for example) copyright laws. A solution has been set up with the introduction of the A. MPEG-7 and MPEG-21 MPEG-7 [1] and MPEG-21 [2] standards, which associate MPEG-7 standard [1], formally named Multimedia Content each content with a set of metadata describing the content itself Description Interface, provides a rich set of standardized tools and the related license. In this paper we present the implemen- to describe multimedia contents. It mainly focuses on the tation of a software solution for managing metadata expressing description of the digital items, without considering how and digital rights on a structured overlay network, allowing users where this information is used. MPEG-7 standard has been to perform complex queries on (un)governed contents. Since included in several metadata languages such as ODRL (from the underlying network is a Distributed Hash Table [3], the W3C) and has also been coupled with other important TV proposed application can easily handle the growth in system ontologies (e.g., TVAnytime [5]). Concerning digital rights, size and is suitable for dealing with multimedia contents MPEG-7 provides a standard XML schema and the meta- distributed on an Internet environment. data to define conditions for accessing the content (including With respect to the commonly used P2P systems, where dig- links to a registry with intellectual property rights data and ital items are shared without structured metadata and without price) and additional information about the content (copyright controls, the proposed application makes use of a structured pointers, usage history, broadcast schedule). An MPEG-7 P2P system to index complex metadata and to exchange digital Query Format has recently reached the Final Committee Draft, contents in a controlled environment. In our prototype im- in October 2007 MPEG meeting. Moreover several query plementation, the creation and the consumption of the digital frameworks based on MPEG-7 are still under investigation [6]. media is performed with the Chillout [4] reference software, MPEG-21 [2] differs from MPEG-7 because its aim is which has been extended in the implemented application in the definition of a normative open framework to be used order to fulfill the content government. Moreover, our system by all the players in the delivery and consumption chain. is unbound from a specific MPEG-21 compliant solution. This open framework will provide content creators, producers, distributors and service providers with equal opportunities in B. Distributed Hash Tables the MPEG-21 enabled open market . The goal of MPEG-21 is the definition of a standard technology needed to support users Distributed Hash Tables (DHT) [3] are a class of decen- to exchange, access, consume, trade and otherwise manipulate tralized distributed systems that partition the ownership of a digital items in an efficient, transparent and interoperable way. set of keys among participating nodes. They efficiently route In particular part 5 of MPEG-21 defines a Rights Expression messages to the unique owner of any given key. The nodes in Language (REL) to be used in the description of customized a DHT based system are organized in a well-defined topology rights applied to any digital item, since it is seen as a machine- (e.g., a ring topology in Pastry [12]). Each node is analogous readable language that can declare rights and permissions to an array slot in a hash table. DHTs are conceived to scale to using the terms as defined in the Rights Data Dictionary (also large numbers of nodes and to handle continual node arrivals standardized by MPEG-21). Rights metadata are expressed and failures. by means of MPEG-21 REL [7], which describes the license A DHT provides functions (primitives) to build a mapping associated to a specific resource, as along with several avai- between the resources (e.g., files and nodes) and the keys, lable grants (play, copy, modify, print, etc.). According to the using a list of pairs. The core of all primitives schema shown in Figure 1, we can imagine the license as is based on the insert(key,value) and lookup(key) functions. made up of an issuer (with 0 or 1 multiplicity), an undefined Random unambiguous identifiers are assigned to both nodes number of grants (0 or more multiplicity), and a principal (node IDs) and objects (keys). Keys are computed from a large (0 or 1 multiplicity) [8]. In widely used CreativeCommons ID space (e.g, 128 bits) and usually hashing algorithms are licenses the principal is missing because this kind of licenses applied for representing them. Given a message and a key, the is intended for everyone, therefore the grant is not addressed DHT routes the message to the node with the node ID that to a specific logical actor. is numerically closest to the key (usually known as the key’s root in Pastry, or the key’s successor in Chord). In order to route a message each node maintains a local routing table organized in some way. The message routing has a cost that is logarithmic in the size of the network: each node maintains a routing table that contains information on a logarithmic subset of the entire system, and each message is forwarded through a logarithmic number of hops to its destination, granting high scalability to the system. DHTs have grown in popularity and a lot of effort has been devoted to investigate different domains of application (e.g., Fig. 1. Simplified class diagram of a REL license distributed cooperative storage [13], application level multicast [14], and streaming [15]). Several levels of abstraction have Chillout [4] is the reference software of the Digital Media been proposed in literature, simply forwarding the DHT layer Project (DMP) [9]. DMP is a no profit organization that has to a routing infrastructure to deploy more complex systems. recently approved a version 3.0 of its specification, called In- Examples are the self organized metadata overlay network teroperable DRM Platform (IDP-3.0). Chillout is also the ref- described in [16], and the abstraction for resource discovery erence implementation of ISO/IEC 23000-5 Media Streaming (i.e., finding any resource above a given size) of CONE [17]. Application Format [10], targeting the distribution of governed In a structured P2P network, nodes and resources are as- content over streaming channels. The most important technolo- signed with unique identifiers, while messages are exchanged gies adopted by Chillout are: (a) a data structure capable of through keys. This key based routing is an issue because it hosting different data types accompanying a resource (e.g., is simple when keys are known in advance, but this can- audio, video, image, text, etc.), (b) a content identification not be always assumed at the application level. Therefore system, (c) a set of technologies for content protection, (d) distributed applications based on structured overlay networks the Rights Expression Language, (e) a file format for storing have to set up an interface to communicate with the P2P digital items and resources and (f) a technology to transmit network providing the keys used for both routing messages digital items in streaming mode. and searching resources. As a consequence, many solutions Two file formats for managing digital contents are used: have been proposed, such as the insertion of meta-information DCI (DMP Content Information) and DCF (the DMP Content and meta-keys and the parsing of the query string (used for File) [11]. DCI format is used to specify the metadata for example in eMule with Kademlia [18] support). The key based content description and the rights (the modalities according routing leads also to an impoverished query language, due to to which other users will be able to use the resource) and if the impossibility to perform complex queries to the system, as necessary also the protection information for the resource. The discussed in [19], where authors give an entity-relational view DCF is the wrapper of the DCI and of the resources described to the P2P search mechanism. The query mechanism proposed by the DCI. The resources can be stored within the DCF file in [20] relies on indexes, stored and distributed across the or can be referred to by means of pointers. nodes of the network: given a broad query, a user can obtain additional information about the data items that match the REL rights management. Given the resource r and the set original query, by recursively querying the DHT layer. The of metadata Mr = {m0,m1, ..., mi}, we computed the set I = {id ,id , ..., id } whole system creates multiple hierarchical indexes, allowing of identifiers Mr m0 m1 mi . Each one of users to access data in many different ways, distributing key- these identifiers must reference r itself, in order to allow to-key (or query-to-query) mappings across the nodes of the metadata based queries. Hence, we insert into the DHT a set , ∀ id ∈ network. Our work proposes a hierarchical indexing scheme of pairs in the form mi r mi I on a flat identifier space similar to [21]. Mr . To lighten the load of each node, we do not index all the MPEG-7 and MPEG-21 metadata and we have chosen a III. SYSTEM OVERVIEW suitable subset of the overall tags. This subset is indexed and Our system provides a method for inserting and sharing used for a first step of the query process. To refine the result set (un)governed resources by means of MPEG-7 and MPEG- it is possible to query locally the retrieved resources against the 21 metadata. The whole architecture allows users to publish complete schema through well-established approaches. This digital contents with DCF format, to execute complex queries hybrid strategy can lead to a good trade-off between efficiency, and to download DCF files containing the appropriate license scalability and query expressiveness. for that resource. After downloading the resource, the system The main problem we are facing here comes from the flat recognizes which rights are guaranteed to the user, for example identifier space of most of DHTs: the structured nature of to use,play or distribute the resource. A user can search metadata (e.g., a XML-based representation, such in the for resource related metadata (e.g., the title in MPEG-7), MPEG-7 and MPEG-21 standards) must be mapped in a flat license related metadata (e.g., the issuer in MPEG-21 REL) set of pairs. To solve this problem, we propose or a combination of the two. The proposed application is a hierarchical indexing scheme. The first operation is to gather composed of three main layers (see Figure 2). First of all, a the keywords for the content to be indexed. First of all we can DHT module, responsible for the management of the overlay contents can be governed or ungoverned. Ungoverned contents network and the routing of messages. In our application we do not have licenses associated with them and the keywords layered these core functionalities under a facade layer which is to be indexed can just be MPEG-7 elements, such as name, simply a bundle of interfaces commonly used by several DHT author and resource description (size, creation date, and so implementation. Then, the Transport module is responsible for on). Governed contents have an associated license and we exchanging/downloading the contents between peers and also propose the following structure to be indexed: for each right for exchanging the full metadata available in the DCFs and, described in the license we index three MPEG-21 REL values: finally, an Application layer is in charge for extracting the issuer, grant and principal (see Figure 1). The issuer is the information to be indexed and for communicating with the owner of the rights related to a given content (it could be DHT layer in order to index the related keys. Briefly, the coincident with the creator or the distributor of the resource but application layer has to (a) extract a defined subset of MPEG- this is not mandatory) and can assign a given grant (e.g., the 7 and MPEG-21 metadata from the DCF file associated to the authorization to copy or modify the content) to the principal. governed resource (b) compute the identifiers associated with Since it is quite common that a typical license contains one the extracted metadata, (c) insert the governed resource in a or more grant, we adopted the following approach: assuming a storage layer, (d) insert the relative mappings in the DHT. single issuer and a single principal, for every grant expressed It should be noticed that we are not dealing here with in the license we index the bundle of issuer, grant, principal, security problems and malicious nodes. Trust and security linking the associated DCF file. Hence in the DHT we have concerns will be faced in future works. the indexes of the general purpose metadata and in addition for governed resources, we have the bundle of grants linking the content. Although it could be argued that three values are not so many, we believe that the three tags mentioned so far, combined with the usual MPEG-7 tags, are able to provide a good balance of expressiveness to the query mechanism. After building the resource r and calculating its identifier idr (for example by the hash of the file), for the issuer, grant, and principal metadata a key is calculated (respectively idi, idg and idp), and the following pairs are inserted on the storage layer of the DHT:

Fig. 2. System overview ; ;

In the following, the insertion and the query mechanisms In order to allow more complex queries, we inserted on the are explained in detail. In the proposed scenario, a digital DHT several mappings for each resource. First, we inserted the resource r is associated to a wide range of metadata, spanning issuer, the grant and the principal (as well as typical MPEG-7 from MPEG-7 multimedia content description to MPEG-21 tags, e.g., title and author). Furthermore, we inserted all the possible combinations of the three rights metadata mentioned source implementation of the Pastry DHT [12] for our base above. We combined the previously calculated identifiers and layer, responsible for the routing infrastructure. However, we combined them to achieve the following mappings: built our system exploiting the separation level between the FreePastry implementation and the applications, for having the < (id ,id ),id > ; < (id ,id ),id > i g r g p r possibility of using other DHTs. This level exports to upper modules the insertion of new mappings and the retrieval of < (idi,idg,idp),idr > the key’s root functionalities. In order to communicate with where for example (idi,idg) is a new identifier, computed the DHT module (see Section III), we extended the Freepas- through the hashing of the chaining of idi and idg. try Continuations for non-blocking asincronous insertion and Rights metadata are indexed on the structured overlay querying operations (for more details on Continuations see for network, allowing users to search governed resources looking example [22]). The ChilloutContinuation, shown in Figure 3, for specific issuers, grants or principals (see Figure 1). A is responsible for receiving results from the DHT and forward- user querying the DHT for a resource can start looking for a ing them to the upper layers. We used a CollectorParameter specific issuer and the returned result set is made up of all the pattern in order to collect results from the Continuations. The resources inserted by that issuer (if any). Our scheme allows main reason is that the Continuation works asynchronously more specific queries, simply combining previous identifiers because it has to take into account the network latency and and the new complex ones. As already mentioned, topology reconfiguration due to the join and leave of the peers. in our opinion three tags (combined together) for the rights According to Section III, the Transport module is not associated to the resource could be enough: several identifiers put directly on top of the DHT, but it communicates with point to the same resource, therefore a user can search for “all the DHT in order to get the information about the two (or the digital items issued by someone”, or “all the media with more, e.g., for multisource download) endpoints of the direct a grant of copy”, beyond looking for titles and authors. Since connection established for downloading the DCF. This module I the identifiers in Mr are built from MPEG-7 and MPEG-21 is composed by a component responsible for transferring the tags, it’s easy to combine them in order to build those complex resources (multimedia files) and an other one responsible for identifiers. What a user has to do is simply compute the basic the related metadata, actually a Java object wrapping the DCF. keys (from the simple strings/tags, e.g., the title or the issuer) or use a combination of those tags. Once obtained a pointer to the requested resource, the user can download directly the content through the Transport layer and use it as provided in the associated license.

IV. PROTOTYPE IMPLEMENTATION The involved actors interact with the system according to the general schema shown in Figure 2: in the proposed application, based on Chillout, the actors are the CCD (Content Creation Device), the SAV (Stationary Audio-Visual Device, i.e. the player) and the CPD (Content Provider Device). According to Chillout reference implementation, we make use of the DCI and DCF formats for managing contents, as already mentioned in Section III: we can image the DCF file as a container of the DCI and the resources as well, and the DCI file as made up of the descriptions of the contents (MPEG-7 Fig. 3. High level component diagram of the presented application elements) and the related licenses (MPEG-21 REL elements). All the metadata are stored inside the DCF. We use appropri- Finally, the Application module exports a set of high level ate DCF parsers/writers for reading and storing metadata and functionalities and has an explicit dependency to the Chill- this can be considered as a crucial element in our architecture, outCore package [4]. Through this module it is possible to since we are indexing a meaningful subset of the metadata join/leave the system and to insert/retrieve the DCFs. It makes available in the DCF and indexing the DCF as well. The user use of a DCI and DCF wrapper, extended from the Chillout will be able to search for the subset and at the same time the implementation, in order to parse the digital content files, whole DCF can be accessed in a completely distributed way, exctracting the metadata to be indexed. by means of a DCFMetadataService protocol, implemented The insertion of a content proceeds as follows: the Chillout for building the mapping between the subset of indexed keys, CCD is responsible for creating the DCI and the DCF. Once inserted in a structured way, and the DCF it refers to. the DCF (or simply the DCI) is created, it can be shared Following the description in Section III the implementation on the structured P2P network. We have implemented a DCF is made up of three modules: the DHT, the Transport and the wrapper and, according to the rules introduced in Section III, Application (see Figure 3). We used FreePastry [22], an open we create the indexes of the content (i.e., all the mappings) and store them into the DHT. On the other hand (the retrieval), the songs are published using a CreativeCommons license, so that lookup operation on the DHT could be done by simple key- the intellectual property of her songs can be acknowledged, words or structured bundle of MPEG-21 REL tags, resulting, although the songs are made freely available for everyone and at low level, in the index of the Content whose DCF (DCI) (b) the most valuable songs are available only under payment is fulfilling the request. The Application module contacts then and a more restrictive license could also be applied. the publishing sources asking for more information on the In order to exploit the solution proposed in this paper, the content. The DCFMetadataService component communicates composer should proceed in the following way: each song on a separate channel, by means of a specific protocol which in the compilation is associated to a single resource (e.g. is able to exchange the wrapper of the DCF. In this way we an mp3 file). The musician can choose which songs will be provide to the user all the available metadata related to the freely available and which ones will require to be paid by searched keywords and grants. The results of the query are the consumers. Therefore she can apply a different license to collected by means of the CollectorResults, which generates a each resource: a CreativeCommons like license is applied to separate thread looking for the asynchronous return messages the free songs, just to guarantee the intellectual property (and provided by the Continuations. eventually apply other restrictions) and a custom license (based The user can select the specific content from the result list on MPEG-21 REL) is associated to the songs with a fee (this and the Application module will contact the specific owner license could contain temporal or geographical limitations, source (the pair ), through the FileTrans- specify the cost and other grants, etc.). According to what portation component which communicates in a separate chan- described in the previous Sections, the digital contents (e.g. nel, with a specific protocol for exchanging files. Our first ap- the single resources and the relative licenses) can be bundled proach was a simple file transportation but we are looking for together into a DCF file. This wrapper therefore contains both making use of more sophisticated solutions enabling the multi- MPEG-7 and MPEG-21 information: for example it keeps the source download, as the BitTorrent exchange protocol. Figure information about the author, the date of creation, the owner, 5 shows the low level implementation of the DHT module, the rights (e.g., play) and the license (e.g., CreativeCommons) specifically the classes responsible for coupling FreePastry. for each song. It should be noted that although a user of the We have defined a Facade pattern class, the CoreLayer,used P2P network can download the whole DCF file, she will be by the CoreApplication class, which could be identified as the able to consume only those contents she has a grant for. In this most important element of interaction between the DHT and case the consumer will be simply notified that a CreativeCom- the Application module. Finally, we have created a generic mons license is applied to the free songs before playing them implementation of the exchanged content, responsible for DCI while the payment of a fee could be required before consuming wrapper management. the other songs. All the information mentioned above, which is V. U SE CASES relevant to correctly identify a digital content in the network, is stored into the DHT layer as shown in Section III. Every In order to underline the features of the proposed system, node in the system will be able to search for new songs with in this Section we describe an example of usage applied a particular grant and, using an MPEG-21 compliant player, to typical use cases. The application is built as a plugin will be notified of the ownership of the song and of the rights of the Chillout framework (see Figure 4), which provides applied to the content to be downloaded. the necessary functionalities to join the system, to insert the governed content and to search for other ones. VI. CONCLUSIONS AND ON GOING WORKS

In this paper we presented a complete decentralized system able to index the data structures expressed by MPEG-7 and MPEG-21 metadata, allowing users to do complex queries to the system. The overall architecture is based on a structured P2P network, where media content can be exchanged and shared according to the relative license. We have limited the dependencies for the application components to a common layer in the FreePastry API (i.e., the separation level), in order to use different DHT implementations in the future. We are currently evaluating the overall performance of our system, with particular emphasis on the state of the node Fig. 4. The P2P menu list and the number of inserted keys. It is worthwhile noticing that we do not need to consider the routing efficiency of the Suppose a musician wants to promote her compilation and DHT in use, since we want to be completely disjoint from decides to distribute her new songs using a P2P network a specific implementation, delegating the DHT to a simple in two different ways: (a) for promotional purposes a few routing infrastructure. Fig. 5. Class Diagram of the DHT Layer

VII. ACKNOWLEDGEMENTS . [12] A. Rowstron and P. Druschel, “Pastry: Scalable, Decentralized Object This work was partially supported by the SAPIR project Location and Routing for Large-scale Peer-to-Peer Systems,” in Proceed- [23], funded by the European Commission under IST FP6 ings of the IFIP/ACM International Conference on Distributed Systems (Sixth Framework Programme, Contract no. 45128), and by Platforms (Middleware), Heidelberg, Germany, 2001, pp. 329–350. [13] A. I. T. Rowstron and P. Druschel, “Storage Management and Caching in the Ministero Italiano per l’UniversitaelaRicerca(MIUR)` PAST, a Large-scale, Persistent Peer-to-Peer Storage Utility,” in SOSP within the framework of the “PROFILES” project [24](PRIN). ’01: Proceedings of the 18th ACM Symposium on Operating Systems Principles, Banff, Alberta, Canada, USA, 2001, pp. 188–201. REFERENCES [14] S. Ratnasamy, M. Handley, R. Karp, and S. Shenker, “Application- Level Multicast Using Content-Addressable Networks,” in NGC ’01: [1] “MPEG-7 - ISO/IEC 15938 - Information Technology Multime- Proceedings of the 3rd International Workshop on Networked Group dia Content Description Interfaces,” http://www.chiariglione.org/mpeg/ Communication, London, UK, 2001, pp. 14–29. standards/mpeg-7/mpeg-7.htm, last visited on Mar 15th 2008. [15] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, [2] “MPEG-21 - ISO/IEC 21000 - Information Technology Multime- and A. Singh, “Splitstream: High-bandwidth Content Distribution in dia Framework,” http://www.chiariglione.org/mpeg/standards/mpeg-21/ a Cooperative Environment,” in IPTPS ’03: Proceedings of the 2nd mpeg-21.htm, last visited on Mar 15th 2008. International Workshop on Peer-to-Peer Systems, Berkeley, CA, USA, [3] K. Wehrle, S. Gotz,¨ and S. Rieche, “Distributed Hash Tables,” in Peer-to- 2003, pp. 298–313. Peer Systems and Applications, ser. Lecture Notes in Computer Science, [16] Z. Zhang, S. Shi, and J. Zhu, “Somo: Self-Organized Metadata Overlay R. Steinmetz and K. Wehrle, Eds., vol. 3485. Springer, 2005, pp. 79–93. for Resource Management in P2P DHT,” in IPTPS ’03: Proceedings of [4] Chillout, “The Reference Software for DMP Interoperable DRM Plat- the 2nd International Workshop on Peer-to-Peer Systems, Berkeley, CA, form,” http://chillout.dmpf.org, last visited on Mar 15th 2008. USA, 2003, pp. 170–182. [5] F. G. Kazasis, N. Moumoutzis, N. Pappas, A. Karanastasi, and [17] R. Bhagwan, G. Varghese, and G. Voelker, “Cone: Augmenting DHTs S. Christodoulakis, “Designing Ubiquitous Personalized TV-Anytime to Support Distributed Resource Discovery,” University of California, Services,” in CAiSE ’03: Proceedings of the 15th Conference on San Diego, CA, USA, Tech. Rep. No. CS2003-0755, July 2003. Advanced Information Systems Engineering, Klagenfurt/Velden, Austria. [18] P. Maymounkov and D. Mazieres, “Kademlia: A Peer-to-Peer Informa- CEUR-WS.org, 2003, pp. 136–149. tion System Based on the XOR Metric,” in IPTPS ’02: Proceedings of [6] R. Tous and J. Delgado, “L7, An MPEG-7 Query Framework,” in 1st International Workshop on Peer-to-Peer Systems, Cambridge, MA, AXMEDIS ’07: Proceedings of the 3rd International Conference on USA, 2002, pp. 53–65. Automated Production of Cross Media Content for Multi-Channel Distri- [19] M. Harren, J. M. Hellerstein, R. Huebsch, B. T. Loo, S. Shenker, and bution, Barcelona, Spain. IEEE Computer Society, 2007, pp. 256–263. I. Stoica, “Complex Queries in DHT-based Peer-to-Peer Networks,” in [7] MPEG, “MPEG-21 REL - ISO/IEC 21000-5 - Information Tech- IPTPS ’02: Proceedings of 1st International Workshop on Peer-to-Peer nology Multimedia Framework,” http://www.chiariglione.org/mpeg/ Systems, Cambridge, MA, USA, 2002, pp. 242–249. technologies/mp21-rel/index.htm, last visited on Mar 15th 2008. [20] P. Felber, E. Biersack, G. L. Erice, K. Ross, and U. G. Keller, “Data [8] W. Allasia, F. Gallo, F. Chiariglione, and F. Falchi, “An Innovative Indexing and Querying in DHT Peer-to-Peer Networks,” in ICDCS ’04: Approach for Indexing and Searching Digital Rights,” in AXMEDIS Proceedings of the 24th IEEE International Conference On Distributed ’07: Proceedings of the 3rd International Conference on Automated Computing Systems, Tokyo, Japan. IEEE Computer Society, 2004, pp. Production of Cross Media Content for Multi-Channel Distribution, 200–208. Barcelona, Spain. IEEE Computer Society, 2007, pp. 147–154. [21] M. Milanesio, G. Ruffo, and R. Schifanella, “A Totally Distributed [9] DMP, http://www.dmpf.org, last visited on Mar 15th 2008. Iterative Scheme for Web Services Addressing and Discovery,” in PDCS [10] “MPEG-A - ISO/IEC 23000-5 - Information Technology Multime- ’07: Proceedings of the 19th IASTED International Conference on dia Application Format, Part 5,” http://www.chiariglione.org/mpeg/ Parallel and Distributed Computing Systems, Cambridge, MA, USA. standards/mpeg-a/mpeg-a.htm, last visited on Mar 15 2008. ACTA Press, 2007, pp. 85–90. [11] DMP, “Approved Document No. 3 - Technical Specification: Interoper- [22] FreePastry, http://freepastry.rice.edu, last visited on Mar 15th 2008. able DRM Platform, Version 3.0 - 1003/GA15,” http://www.dmpf.org/ [23] SAPIR, http://www.sapir.eu, last visited on Mar 15th 2008. open/dmp1003.zip, last visited on Mar 15 2008 [24] PROFILES, http://dit.unitn.it/profiles, last visited on Mar 15th 2008.