Distributed and Adaptive Service Discovery Using Preference

Distributed and Adaptive Service Discovery Using Preference

Ryota Egashira (University of California, Irvine, USA), Akihiro Enomoto (University of California, Irvine, USA) and Tatsuya Suda (University of California, Irvine, USA)
DOI: 10.4018/978-1-61520-686-5.ch017

Abstract

In Service-Oriented Computing, service providers publish their services by deploying service components which implement those services into a network. Since such services are distributed around the network, Service-Oriented Computing requires the functionality to discover the services that meet certain criteria specified by an end user. In order to overcome the scalability issue that the current centralized discovery mechanism inherently has, distributed discovery mechanisms that the P2P research community has developed may be promising alternatives. This chapter outlines existing distributed mechanisms and proposes a novel discovery mechanism that utilizes end users’ preferences. The proposed mechanism allows end users to return their feedback that describes the degree of the preference for discovered services. The returned preference information is stored at nodes and utilized to decide where to forward subsequent queries. The extensive simulation demonstrates that the proposed mechanism meets key requirements such as selectivity, efficiency and adaptability.
Chapter Preview
Top

Introduction

Service-Oriented Computing allows service providers to publish their services based on open standards so that end users can access and utilize the published services. In Service-Oriented Computing, service providers publish their services by deploying software components (called services in the rest of this chapter) which implement those services into a network. End users can combine a set of services to produce new and complex services. Since such services are distributed around the network, Service-Oriented Computing requires the functionality to discover the services that meet certain criteria specified by an end user. As Service-Oriented Computing becomes widely used in future networks, a large number of services will become available and services will be continuously deployed or removed. Existing centralized mechanisms (e.g., using a centralized UDDI registry) to discover services inherently have the scalability issue in supporting a large number of services and keeping track of services frequently being deployed or removed. Therefore decentralized mechanisms to discover services have been developed to overcome the issue. The P2P research community has made significant efforts to design various distributed mechanisms to discover shared resources (e.g., music/video files, documents) dispersed in constructed overlay networks. It has been actively discussed and investigated how to apply these P2P discovery mechanisms to the context of Service-Oriented Computing.

A distributed discovery mechanism needs to satisfy the key requirements such as the selectivity, efficiency and adaptability. A distributed discovery mechanism needs to be selective and discover only services that are preferred by end users. This is because an end user may have different preference for different services that match the same search criteria. For instance, when an end user searches for a location information service (e.g., by inputting search keywords “location information service”), the end user may prefer a location information service with a high resolution map to a location information service with a low resolution map even though the same type of service is offered to the end user. Another end user may prefer a location information service that has nice user interface regardless of the resolution of a map. Networks contain a large number of services that match given search criteria (e.g., search keywords). It is, thus, necessary to discover services that end users prefer among potentially a large number of services that meet the same criteria.

A distributed discovery mechanism needs to be efficient since servers (called nodes in the rest of this chapter) hosting services in Service-Oriented Computing may have limited capability in communication and processing. A distributed discovery inherently requires message exchange between nodes, each of which has only local information regarding services that it hosts. The operation of a distributed discovery should not overload nodes in exchanging and processing such messages.

A distributed discovery mechanism needs to be adaptive to the dynamics of end users and services. End users may change their preferences for services over time. For instance, an end user that formerly liked one location information service may become fond of another location information service with new features added. In Service-Oriented Computing, a node hosting a service will be dynamically deployed or removed, and existing services may become unavailable due to failures of nodes hosting them. Thus, it will become necessary to discover services by adapting to dynamically changing end users' preferences and availability of nodes and services.

This chapter outlines existing distributed discovery mechanisms that have been developed in the P2P research community, including unstructured mechanisms and structured mechanisms. Pros and cons of these mechanisms are discussed. This chapter then presents a novel discovery mechanism that meets the key requirements mentioned earlier.

In the proposed mechanism, it is assumed that a node (i.e., a web server) hosting services establishes a logical link (such as TCP connection) to several other nodes (called neighboring nodes), forming an overlay network. Discovery is performed on the overlay network, where queries are forwarded along logical links in a distributed manner to locate services. It is also assumed that a service is represented by metadata describing contents of the service. A query originator (i.e., an end user) specifies a keyword(s) in a query to search for a service. When a node receives a query and the node is hosting a service matching a query, the node returns back a query hit to the query originator.

Key Terms in this Chapter

Adaptive: A capability of a discovery mechanism that discovers services that end users prefer even when users’ preferences and networks dynamically change.

Preference: A measure that indicates how much an end user likes a certain service.

Discovery: A task or mechanism to identify location of (i.e., a node hosting) services that an end user is searching for in a network.

Distributed: Nodes in a network or system making local decisions to perform tasks without using a centralized infrastructure.

Selective: A capability of a discovery mechanism that identifies location of services that end users prefer.

Peer-to-Peer: A network or system where peers (e.g., users, hosts) communicate with each other to collectively perform tasks (e.g., discovery) without using a centralized infrastructure.

Efficient: A capability of a discovery mechanism that generates less traffic overhead in the operation of discovery.

Complete Chapter List

Search this Book:
Reset