Governed Content Distribution on DHT Based Networks

2 downloads 11517 Views 208KB Size Report
each content with a set of metadata describing the content itself and the related .... Application Format [10], targeting the distribution of governed content over ...
Governed Content Distribution on DHT Based Networks Walter Allasia, Francesco Gallo

Marco Milanesio, Rossano Schifanella

EURIX Group Torino {allasia, gallo}@eurixgroup.com

Dipartimento di Informatica Universit`a di Torino {milane, schifane}@di.unito.it

Abstract—Peer-to-Peer (P2P) systems are widely used for sharing digital items without structured metadata and in absence of any kind of digital rights management applied to the distributed contents. In this paper we propose the implementation of a prototype application that makes use of a structured P2P system enabling the indexing of complex metadata, used to express digital rights. In this way the media contents are exchanged and played according to the expressed grants. The creation and the consumption of the shared contents can be performed through any MPEG-21 REL compliant software and the application allows indexing and search for both governed and ungoverned contents. The information about the license can be included in the queries and the P2P network can be used to share governed contents (both free and with fee) in a legitimate way. In particular the proposed approach represents a suitable solution for indexing and querying rights complex structures on DHT based networks.

Our aim is therefore to present a totally distributed system capable of indexing digital rights metadata, structured in a complex way on a flat identifier space, thus enhancing the expressiveness of the key-based query mechanism on the DHTs. To the best of our knowledge, this is the first attempt to index the structure of rights metadata on a structured P2P network, where media contents can be exchanged and shared according to the expressed grants. In Section II we introduce the state-of-the-art of the MPEG7 and MPEG-21 standards and of the DHTs, then Section III describes the system, while in Section IV more details of our implementation are pointed out. Section V presents a possible usage of the application and finally, while in Section VI conclusions and on going activities are presented.

I. I NTRODUCTION Nowadays, providers and broadcasters are facing the problem of managing a huge number of digital items on the Web, coming from heterogeneous archives (e.g., 8mm, tapes, films, digital contents). Each content can be associated with a specific license, so it is necessary to manage the expressed rights to avoid violating (for example) copyright laws. A solution has been set up with the introduction of the MPEG-7 [1] and MPEG-21 [2] standards, which associate each content with a set of metadata describing the content itself and the related license. In this paper we present the implementation of a software solution for managing metadata expressing digital rights on a structured overlay network, allowing users to perform complex queries on (un)governed contents. Since the underlying network is a Distributed Hash Table [3], the proposed application can easily handle the growth in system size and is suitable for dealing with multimedia contents distributed on an Internet environment. With respect to the commonly used P2P systems, where digital items are shared without structured metadata and without controls, the proposed application makes use of a structured P2P system to index complex metadata and to exchange digital contents in a controlled environment. In our prototype implementation, the creation and the consumption of the digital media is performed with the Chillout [4] reference software, which has been extended in the implemented application in order to fulfill the content government. Moreover, our system is unbound from a specific MPEG-21 compliant solution.

II. R ELATED W ORKS The proposed application makes use of MPEG-7 and MPEG-21 for metadata representation and Distributed Hash Tables for network topology. In the following we provide a brief description of the used standards and we present the reference software we adopted to implement our system. A. MPEG-7 and MPEG-21 MPEG-7 standard [1], formally named Multimedia Content Description Interface, provides a rich set of standardized tools to describe multimedia contents. It mainly focuses on the description of the digital items, without considering how and where this information is used. MPEG-7 standard has been included in several metadata languages such as ODRL (from W3C) and has also been coupled with other important TV ontologies (e.g., TVAnytime [5]). Concerning digital rights, MPEG-7 provides a standard XML schema and the metadata to define conditions for accessing the content (including links to a registry with intellectual property rights data and price) and additional information about the content (copyright pointers, usage history, broadcast schedule). An MPEG-7 Query Format has recently reached the Final Committee Draft, in October 2007 MPEG meeting. Moreover several query frameworks based on MPEG-7 are still under investigation [6]. MPEG-21 [2] differs from MPEG-7 because its aim is the definition of a normative open framework to be used by all the players in the delivery and consumption chain. This open framework will provide content creators, producers,

distributors and service providers with equal opportunities in the MPEG-21 enabled open market . The goal of MPEG-21 is the definition of a standard technology needed to support users to exchange, access, consume, trade and otherwise manipulate digital items in an efficient, transparent and interoperable way. In particular part 5 of MPEG-21 defines a Rights Expression Language (REL) to be used in the description of customized rights applied to any digital item, since it is seen as a machinereadable language that can declare rights and permissions using the terms as defined in the Rights Data Dictionary (also standardized by MPEG-21). Rights metadata are expressed by means of MPEG-21 REL [7], which describes the license associated to a specific resource, as along with several available grants (play, copy, modify, print, etc.). According to the schema shown in Figure 1, we can imagine the license as made up of an issuer (with 0 or 1 multiplicity), an undefined number of grants (0 or more multiplicity), and a principal (0 or 1 multiplicity) [8]. In widely used CreativeCommons licenses the principal is missing because this kind of licenses is intended for everyone, therefore the grant is not addressed to a specific logical actor.

Fig. 1.

Simplified class diagram of a REL license

Chillout [4] is the reference software of the Digital Media Project (DMP) [9]. DMP is a no profit organization that has recently approved a version 3.0 of its specification, called Interoperable DRM Platform (IDP-3.0). Chillout is also the reference implementation of ISO/IEC 23000-5 Media Streaming Application Format [10], targeting the distribution of governed content over streaming channels. The most important technologies adopted by Chillout are: (a) a data structure capable of hosting different data types accompanying a resource (e.g., audio, video, image, text, etc.), (b) a content identification system, (c) a set of technologies for content protection, (d) the Rights Expression Language, (e) a file format for storing digital items and resources and (f) a technology to transmit digital items in streaming mode. Two file formats for managing digital contents are used: DCI (DMP Content Information) and DCF (the DMP Content File) [11]. DCI format is used to specify the metadata for content description and the rights (the modalities according to which other users will be able to use the resource) and if necessary also the protection information for the resource. The DCF is the wrapper of the DCI and of the resources described by the DCI. The resources can be stored within the DCF file or can be referred to by means of pointers.

B. Distributed Hash Tables Distributed Hash Tables (DHT) [3] are a class of decentralized distributed systems that partition the ownership of a set of keys among participating nodes. They efficiently route messages to the unique owner of any given key. The nodes in a DHT based system are organized in a well-defined topology (e.g., a ring topology in Pastry [12]). Each node is analogous to an array slot in a hash table. DHTs are conceived to scale to large numbers of nodes and to handle continual node arrivals and failures. A DHT provides functions (primitives) to build a mapping between the resources (e.g., files and nodes) and the keys, using a list of < key, value > pairs. The core of all primitives is based on the insert(key,value) and lookup(key) functions. Random unambiguous identifiers are assigned to both nodes (node IDs) and objects (keys). Keys are computed from a large ID space (e.g, 128 bits) and usually hashing algorithms are applied for representing them. Given a message and a key, the DHT routes the message to the node with the node ID that 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., distributed cooperative storage [13], application level multicast [14], and streaming [15]). Several levels of abstraction have been proposed in literature, simply forwarding the DHT layer to a routing infrastructure to deploy more complex systems. Examples are the self organized metadata overlay network described in [16], and the abstraction for resource discovery (i.e., finding any resource above a given size) of CONE [17]. In a structured P2P network, nodes and resources are assigned with unique identifiers, while messages are exchanged through keys. This key based routing is an issue because it is simple when keys are known in advance, but this cannot be always assumed at the application level. Therefore distributed applications based on structured overlay networks have to set up an interface to communicate with the P2P network providing the keys used for both routing messages and searching resources. As a consequence, many solutions have been proposed, such as the insertion of meta-information and meta-keys and the parsing of the query string (used for example in eMule with Kademlia [18] support). The key based routing leads also to an impoverished query language, due to the impossibility to perform complex queries to the system, as discussed in [19], where authors give an entity-relational view to the P2P search mechanism. The query mechanism proposed in [20] relies on indexes, stored and distributed across the nodes of the network: given a broad query, a user can obtain

additional information about the data items that match the original query, by recursively querying the DHT layer. The whole system creates multiple hierarchical indexes, allowing users to access data in many different ways, distributing keyto-key (or query-to-query) mappings across the nodes of the network. Our work proposes a hierarchical indexing scheme on a flat identifier space similar to [21]. III. S YSTEM OVERVIEW Our system provides a method for inserting and sharing (un)governed resources by means of MPEG-7 and MPEG21 metadata. The whole architecture allows users to publish digital contents with DCF format, to execute complex queries and to download DCF files containing the appropriate license for that resource. After downloading the resource, the system recognizes which rights are guaranteed to the user, for example to use,play or distribute the resource. A user can search for resource related metadata (e.g., the title in MPEG-7), license related metadata (e.g., the issuer in MPEG-21 REL) or a combination of the two. The proposed application is composed of three main layers (see Figure 2). First of all, a DHT module, responsible for the management of the overlay network and the routing of messages. In our application we layered these core functionalities under a facade layer which is simply a bundle of interfaces commonly used by several DHT implementation. Then, the Transport module is responsible for exchanging/downloading the contents between peers and also for exchanging the full metadata available in the DCFs and, finally, an Application layer is in charge for extracting the information to be indexed and for communicating with the DHT layer in order to index the related keys. Briefly, the application layer has to (a) extract a defined subset of MPEG7 and MPEG-21 metadata from the DCF file associated to the governed resource (b) compute the identifiers associated with the extracted metadata, (c) insert the governed resource in a storage layer, (d) insert the relative mappings in the DHT. It should be noticed that we are not dealing here with security problems and malicious nodes. Trust and security concerns will be faced in future works.

Fig. 2.

System overview

In the following, the insertion and the query mechanisms are explained in detail. In the proposed scenario, a digital resource r is associated to a wide range of metadata, spanning from MPEG-7 multimedia content description to MPEG-21

REL rights management. Given the resource r and the set of metadata Mr = {m0 , m1 , ..., mi }, we computed the set of identifiers IMr = {idm0 , idm1 , ..., idmi }. Each one of these identifiers must reference r itself, in order to allow metadata based queries. Hence, we insert into the DHT a set of < key, value > pairs in the form < idmi , idr >, ∀ idmi ∈ IMr . To lighten the load of each node, we do not index all the MPEG-7 and MPEG-21 metadata and we have chosen a suitable subset of the overall tags. This subset is indexed and used for a first step of the query process. To refine the result set it is possible to query locally the retrieved resources against the complete schema through well-established approaches. This hybrid strategy can lead to a good trade-off between efficiency, scalability and query expressiveness. The main problem we are facing here comes from the flat identifier space of most of DHTs: the structured nature of metadata (e.g., a XML-based representation, such in the MPEG-7 and MPEG-21 standards) must be mapped in a flat set of < key, value > pairs. To solve this problem, we propose a hierarchical indexing scheme. The first operation is to gather the keywords for the content to be indexed. First of all we can contents can be governed or ungoverned. Ungoverned contents do not have licenses associated with them and the keywords to be indexed can just be MPEG-7 elements, such as name, author and resource description (size, creation date, and so on). Governed contents have an associated license and we propose the following structure to be indexed: for each right described in the license we index three MPEG-21 REL values: issuer, grant and principal (see Figure 1). The issuer is the owner of the rights related to a given content (it could be coincident with the creator or the distributor of the resource but this is not mandatory) and can assign a given grant (e.g., the authorization to copy or modify the content) to the principal. Since it is quite common that a typical license contains one or more grant, we adopted the following approach: assuming a single issuer and a single principal, for every grant expressed in the license we index the bundle of issuer, grant, principal, linking the associated DCF file. Hence in the DHT we have 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: < idi , idr > ; < idg , idr > ; < idp , idr > In order to allow more complex queries, we inserted on the DHT several mappings for each resource. First, we inserted the issuer, the grant and the principal (as well as typical MPEG-7 tags, e.g., title and author). Furthermore, we inserted all the

possible combinations of the three rights metadata mentioned above. We combined the previously calculated identifiers and combined them to achieve the following mappings: < (idi , idg ), idr > ; < (idg , idp ), idr > < (idi , idg , idp ), idr > where for example (idi , idg ) is a new identifier, computed through the hashing of the chaining of idi and idg . Rights metadata are indexed on the structured overlay network, allowing users to search governed resources looking for specific issuers, grants or principals (see Figure 1). A user querying the DHT for a resource can start looking for a specific issuer and the returned result set is made up of all the resources inserted by that issuer (if any). Our scheme allows more specific queries, simply combining previous identifiers and computing the new complex ones. As already mentioned, in our opinion three tags (combined together) for the rights associated to the resource could be enough: several identifiers point to the same resource, therefore a user can search for “all the digital items issued by someone”, or “all the media with a grant of copy”, beyond looking for titles and authors. Since the identifiers in IMr are built from MPEG-7 and MPEG-21 tags, it’s easy to combine them in order to build those complex identifiers. What a user has to do is simply compute the basic 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.

source implementation of the Pastry DHT [12] for our base layer, responsible for the routing infrastructure. However, we built our system exploiting the separation level between the FreePastry implementation and the applications, for having the possibility of using other DHTs. This level exports to upper modules the insertion of new mappings and the retrieval of the key’s root functionalities. In order to communicate with the DHT module (see Section III), we extended the Freepastry Continuations for non-blocking asincronous insertion and querying operations (for more details on Continuations see for example [22]). The ChilloutContinuation, shown in Figure 3, is responsible for receiving results from the DHT and forwarding them to the upper layers. We used a CollectorParameter pattern in order to collect results from the Continuations. The main reason is that the Continuation works asynchronously because it has to take into account the network latency and topology reconfiguration due to the join and leave of the peers. According to Section III, the Transport module is not put directly on top of the DHT, but it communicates with the DHT in order to get the information about the two (or more, e.g., for multisource download) endpoints of the direct connection established for downloading the DCF. This module is composed by a component responsible for transferring the resources (multimedia files) and an other one responsible for the related metadata, actually a Java object wrapping the DCF.

IV. P ROTOTYPE I MPLEMENTATION 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 elements) and the related licenses (MPEG-21 REL elements). All the metadata are stored inside the DCF. We use appropriate DCF parsers/writers for reading and storing metadata and this can be considered as a crucial element in our architecture, since we are indexing a meaningful subset of the metadata available in the DCF and indexing the DCF as well. The user will be able to search for the subset and at the same time the whole DCF can be accessed in a completely distributed way, by means of a DCFMetadataService protocol, implemented for building the mapping between the subset of indexed keys, inserted in a structured way, and the DCF it refers to. Following the description in Section III the implementation is made up of three modules: the DHT, the Transport and the Application (see Figure 3). We used FreePastry [22], an open

Fig. 3.

High level component diagram of the presented application

Finally, the Application module exports a set of high level functionalities and has an explicit dependency to the ChilloutCore package [4]. Through this module it is possible to join/leave the system and to insert/retrieve the DCFs. It makes use of a DCI and DCF wrapper, extended from the Chillout implementation, in order to parse the digital content files, exctracting the metadata to be indexed. The insertion of a content proceeds as follows: the Chillout CCD is responsible for creating the DCI and the DCF. Once the DCF (or simply the DCI) is created, it can be shared on the structured P2P network. We have implemented a DCF wrapper and, according to the rules introduced in Section III, 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 lookup operation on the DHT could be done by simple keywords or structured bundle of MPEG-21 REL tags, resulting, at low level, in the index of the Content whose DCF (DCI) is fulfilling the request. The Application module contacts then the publishing sources asking for more information on the content. The DCFMetadataService component communicates on a separate channel, by means of a specific protocol which is able to exchange the wrapper of the DCF. In this way we provide to the user all the available metadata related to the searched keywords and grants. The results of the query are collected by means of the CollectorResults, which generates a separate thread looking for the asynchronous return messages provided by the Continuations. The user can select the specific content from the result list and the Application module will contact the specific owner source (the pair ), through the FileTransportation component which communicates in a separate channel, with a specific protocol for exchanging files. Our first approach was a simple file transportation but we are looking for making use of more sophisticated solutions enabling the multisource download, as the BitTorrent exchange protocol. Figure 5 shows the low level implementation of the DHT module, specifically the classes responsible for coupling FreePastry. We have defined a Facade pattern class, the CoreLayer, used by the CoreApplication class, which could be identified as the most important element of interaction between the DHT and the Application module. Finally, we have created a generic implementation of the exchanged content, responsible for DCI wrapper management. V. U SE C ASES In order to underline the features of the proposed system, in this Section we describe an example of usage applied to typical use cases. The application is built as a plugin of the Chillout framework (see Figure 4), which provides the necessary functionalities to join the system, to insert the governed content and to search for other ones.

songs are published using a CreativeCommons license, so that the intellectual property of her songs can be acknowledged, although the songs are made freely available for everyone and (b) the most valuable songs are available only under payment and a more restrictive license could also be applied. In order to exploit the solution proposed in this paper, the composer should proceed in the following way: each song in the compilation is associated to a single resource (e.g. an mp3 file). The musician can choose which songs will be freely available and which ones will require to be paid by the consumers. Therefore she can apply a different license to each resource: a CreativeCommons like license is applied to the free songs, just to guarantee the intellectual property (and eventually apply other restrictions) and a custom license (based on MPEG-21 REL) is associated to the songs with a fee (this license could contain temporal or geographical limitations, specify the cost and other grants, etc.). According to what described in the previous Sections, the digital contents (e.g. the single resources and the relative licenses) can be bundled together into a DCF file. This wrapper therefore contains both MPEG-7 and MPEG-21 information: for example it keeps the information about the author, the date of creation, the owner, the rights (e.g., play) and the license (e.g., CreativeCommons) for each song. It should be noted that although a user of the P2P network can download the whole DCF file, she will be able to consume only those contents she has a grant for. In this case the consumer will be simply notified that a CreativeCommons license is applied to the free songs before playing them while the payment of a fee could be required before consuming the other songs. All the information mentioned above, which is relevant to correctly identify a digital content in the network, is stored into the DHT layer as shown in Section III. Every node in the system will be able to search for new songs with a particular grant and, using an MPEG-21 compliant player, will be notified of the ownership of the song and of the rights applied to the content to be downloaded. VI. C ONCLUSIONS AND O N G OING W ORKS

Fig. 4.

The P2P menu list

Suppose a musician wants to promote her compilation and decides to distribute her new songs using a P2P network in two different ways: (a) for promotional purposes a few

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 and the number of inserted keys. It is worthwhile noticing that we do not need to consider the routing efficiency of the DHT in use, since we want to be completely disjoint from a specific implementation, delegating the DHT to a simple routing infrastructure.

Fig. 5.

Class Diagram of the DHT Layer

VII. ACKNOWLEDGEMENTS This work was partially supported by the SAPIR project [23], funded by the European Commission under IST FP6 (Sixth Framework Programme, Contract no. 45128), and by the Ministero Italiano per l’Universit`a e la Ricerca (MIUR) within the framework of the “PROFILES” project [24](PRIN). R EFERENCES [1] “MPEG-7 - ISO/IEC 15938 - Information Technology Multimedia Content Description Interfaces,” http://www.chiariglione.org/mpeg/ standards/mpeg-7/mpeg-7.htm, last visited on Mar 15th 2008. [2] “MPEG-21 - ISO/IEC 21000 - Information Technology Multimedia Framework,” http://www.chiariglione.org/mpeg/standards/mpeg-21/ mpeg-21.htm, last visited on Mar 15th 2008. [3] K. Wehrle, S. G¨otz, and S. Rieche, “Distributed Hash Tables,” in Peer-toPeer Systems and Applications, ser. Lecture Notes in Computer Science, R. Steinmetz and K. Wehrle, Eds., vol. 3485. Springer, 2005, pp. 79–93. [4] Chillout, “The Reference Software for DMP Interoperable DRM Platform,” http://chillout.dmpf.org, last visited on Mar 15th 2008. [5] F. G. Kazasis, N. Moumoutzis, N. Pappas, A. Karanastasi, and S. Christodoulakis, “Designing Ubiquitous Personalized TV-Anytime Services,” in CAiSE ’03: Proceedings of the 15th Conference on Advanced Information Systems Engineering, Klagenfurt/Velden, Austria. CEUR-WS.org, 2003, pp. 136–149. [6] R. Tous and J. Delgado, “L7, An MPEG-7 Query Framework,” in AXMEDIS ’07: Proceedings of the 3rd International Conference on Automated Production of Cross Media Content for Multi-Channel Distribution, Barcelona, Spain. IEEE Computer Society, 2007, pp. 256–263. [7] MPEG, “MPEG-21 REL - ISO/IEC 21000-5 - Information Technology Multimedia Framework,” http://www.chiariglione.org/mpeg/ technologies/mp21-rel/index.htm, last visited on Mar 15th 2008. [8] W. Allasia, F. Gallo, F. Chiariglione, and F. Falchi, “An Innovative Approach for Indexing and Searching Digital Rights,” in AXMEDIS ’07: Proceedings of the 3rd International Conference on Automated Production of Cross Media Content for Multi-Channel Distribution, Barcelona, Spain. IEEE Computer Society, 2007, pp. 147–154. [9] DMP, http://www.dmpf.org, last visited on Mar 15th 2008. [10] “MPEG-A - ISO/IEC 23000-5 - Information Technology Multimedia Application Format, Part 5,” http://www.chiariglione.org/mpeg/ standards/mpeg-a/mpeg-a.htm, last visited on Mar 15 2008. [11] DMP, “Approved Document No. 3 - Technical Specification: Interoperable DRM Platform, Version 3.0 - 1003/GA15,” http://www.dmpf.org/ open/dmp1003.zip, last visited on Mar 15 2008

. [12] A. Rowstron and P. Druschel, “Pastry: Scalable, Decentralized Object Location and Routing for Large-scale Peer-to-Peer Systems,” in Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Heidelberg, Germany, 2001, pp. 329–350. [13] A. I. T. Rowstron and P. Druschel, “Storage Management and Caching in PAST, a Large-scale, Persistent Peer-to-Peer Storage Utility,” in SOSP ’01: Proceedings of the 18th ACM Symposium on Operating Systems Principles, Banff, Alberta, Canada, USA, 2001, pp. 188–201. [14] S. Ratnasamy, M. Handley, R. Karp, and S. Shenker, “ApplicationLevel Multicast Using Content-Addressable Networks,” in NGC ’01: Proceedings of the 3rd International Workshop on Networked Group Communication, London, UK, 2001, pp. 14–29. [15] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, and A. Singh, “Splitstream: High-bandwidth Content Distribution in a Cooperative Environment,” in IPTPS ’03: Proceedings of the 2nd International Workshop on Peer-to-Peer Systems, Berkeley, CA, USA, 2003, pp. 298–313. [16] Z. Zhang, S. Shi, and J. Zhu, “Somo: Self-Organized Metadata Overlay for Resource Management in P2P DHT,” in IPTPS ’03: Proceedings of the 2nd International Workshop on Peer-to-Peer Systems, Berkeley, CA, USA, 2003, pp. 170–182. [17] R. Bhagwan, G. Varghese, and G. Voelker, “Cone: Augmenting DHTs to Support Distributed Resource Discovery,” University of California, San Diego, CA, USA, Tech. Rep. No. CS2003-0755, July 2003. [18] P. Maymounkov and D. Mazieres, “Kademlia: A Peer-to-Peer Information System Based on the XOR Metric,” in IPTPS ’02: Proceedings of 1st International Workshop on Peer-to-Peer Systems, Cambridge, MA, USA, 2002, pp. 53–65. [19] M. Harren, J. M. Hellerstein, R. Huebsch, B. T. Loo, S. Shenker, and I. Stoica, “Complex Queries in DHT-based Peer-to-Peer Networks,” in IPTPS ’02: Proceedings of 1st International Workshop on Peer-to-Peer Systems, Cambridge, MA, USA, 2002, pp. 242–249. [20] P. Felber, E. Biersack, G. L. Erice, K. Ross, and U. G. Keller, “Data Indexing and Querying in DHT Peer-to-Peer Networks,” in ICDCS ’04: Proceedings of the 24th IEEE International Conference On Distributed Computing Systems, Tokyo, Japan. IEEE Computer Society, 2004, pp. 200–208. [21] M. Milanesio, G. Ruffo, and R. Schifanella, “A Totally Distributed Iterative Scheme for Web Services Addressing and Discovery,” in PDCS ’07: Proceedings of the 19th IASTED International Conference on Parallel and Distributed Computing Systems, Cambridge, MA, USA. ACTA Press, 2007, pp. 85–90. [22] FreePastry, http://freepastry.rice.edu, last visited on Mar 15th 2008. [23] SAPIR, http://www.sapir.eu, last visited on Mar 15th 2008. [24] PROFILES, http://dit.unitn.it/profiles, last visited on Mar 15th 2008.

Suggest Documents