Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
459481 | Journal of Network and Computer Applications | 2010 | 13 Pages |
A common factor among all the existing distributed, peer-to-peer systems is their lack of genericity. Typically, information-centric services (such as range queries) are deployed ad-hoc onto a specific peer-to-peer overlay. These kinds of solutions make them probably efficient but non-portable to other peer-to-peer infrastructures, and so the services and applications constructed over them. We do believe, instead, that a peer-to-peer-generic solution is feasible. In this paper, we tackle the genericity and portability issue specifically on structured peer-to-peer networks (SPNs).To do so, we introduce a distributed 3-layer architecture, which abstracts applications (on top of the architecture) and the peer-to-peer network currently in use (in the bottom layer). Our middleware appears in the middle layer, which is responsible to address two major challenges: (i) supporting complex, multi-dimensional application data domains and (ii) performing efficiently for a wide variety of information-centric services in the large scale.Broadly speaking, information-centric services are classified as data management (such as range or spatial queries) and content distribution services (like publish/subscribe), and our middleware is an umbrella for all them. Notice that data management services are based on the pull mode (i.e., a user lookups information previously stored in the system), whilst content distribution services obey to a push mode (i.e., the system delivers the information timely to users).The benefits of our approach are clear: (i) Our middleware can be easily deployed over existing SPNs, guaranteeing the portability of a critical mass of services and end-user applications; (ii) Several services can be added to the middleware, which will facilitate the appearance of new synergies; and (iii) our middleware deals with the application data domain transparently to services and applications, including the necessary algorithms for services to be efficiently deployed into our middleware.