Chapter 7

Resource and Service Discovery

PAOLO BELLAVISTA, ANTONIO CORRADI, and CARLO GIANNELLI

DEIS—University of Bologna, Bologna, Italy

7.1 INTRODUCTION

The dynamic discovery of resource and service components at run time is a crucial functionality in any execution environment where it is not feasible to assume that (i) all interacting entities have full static knowledge about each other and (ii) this mutual knowledge does not change over time. Therefore, given that almost all modern execution environments permit some forms of dynamicity (change in the set/characteristics of available resources and service components, client mobility, resource/service mobility, etc.), discovery has become a necessary element of any distributed systems nowadays.

The discovery process consists of several substeps, as extensively described in Section 7.2: Resources/service components willing to be discovered should advertise their availability; clients should be able to perform queries on the set of resources/service components available in the client discovery scope; once retrieved, that discovered entity should be bound to the client for the whole duration of the interaction by possibly maintaining the session state in the case of multiple successive client requests.

The support of all these steps, available in any traditional discovery solution, is significantly complicated when dealing with mobile computing environments. Mobile clients can change their discovery scope due to their movements ...

Get Mobile Agents in Networking and Distributed Computing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.