Service Selection with Uncertain Context Information

Service Selection with Uncertain Context Information

Yves Vanrompay (Katholieke Universiteit Leuven, Belgium), Manuele Kirsch-Pinheiro (Université Paris 1 Panthéon-Sorbonne, France) and Yolande Berbers (Katholieke Universiteit Leuven, Belgium)
DOI: 10.4018/978-1-61350-432-1.ch009
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

The current evolution of Service-Oriented Computing in ubiquitous systems is leading to the development of context-aware services. Context-aware services are services of which the description is enriched with context information related to non-functional requirements, describing the service execution environment or its adaptation capabilities. This information is often used for discovery and adaptation purposes. However, in real-life systems, context information is naturally dynamic, uncertain, and incomplete, which represents an important issue when comparing the service description with user requirements. Uncertainty of context information may lead to an inexact match between provided and required service capabilities, and consequently to the non-selection of services. In this chapter, we focus on how to handle uncertain and incomplete context information for service selection. We consider this issue by presenting a service ranking and selection algorithm, inspired by graph-based matching algorithms. This graph-based service selection algorithm compares contextual service descriptions using similarity measures that allow inexact matching. The service description and non-functional requirements are compared using two kinds of similarity measures: local measures, which compare individually required and provided properties, and global measures, which take into account the context description as a whole.
Chapter Preview
Top

Introduction

The term Ubiquitous Computing, introduced by Weiser (Weiser, 1991), refers to the seamless integration of devices into users’ everyday life (Baldauf, Dustdar, & Rosenberg, 2007). This term represents an emerging trend towards environments composed by numerous computing devices that are frequently mobile or embedded and that are connected to a network infrastructure composed of a wired core and wireless edges (Moran & Dourish, 2001). In pervasive scenarios foreseen by Ubiquitous Computing, context awareness plays a central role. Context can be defined as any information that can be used to characterize the situation of an entity (a person, place, or object considered as relevant to the interaction between a user and an application) (Dey, 2001). Context-aware systems are able to adapt their operations to the current context, aiming at increasing usability and effectiveness by taking environmental context into account (Baldauf, Dustdar, & Rosenberg, 2007).

The dynamic nature of pervasive environments encourages the adoption of a Service Oriented Architecture (SOA). Service-Oriented Computing (SOC) is the computing paradigm that utilizes services as fundamental elements for developing applications (Papazoglou & Georgakopoulos, 2003). The key feature of SOA is that services are independent entities, with well-defined interfaces, that can be invoked in a standard way, without requiring the client to have knowledge about how the service actually performs its tasks (Issarny, Caporuscio, & Georgantas, 2007). Such loose coupling fits the requirements of highly dynamic pervasive environments, in which entities are often mobile, entering and leaving the environment at any moment.

The adoption of SOA in pervasive environments is leading to the development of “context-aware” services. Context-awareness becomes a key feature necessary to provide adaptable services, for instance when selecting the best-suited service according to the relevant context information or when adapting the service during its execution according to context changes (Eikerling, Mazzoleni, Plaza, Yankelevich, & Wallet, 2007). As pointed out by Maamar et al. (2006), multiple aspects related to the users (level of expertise, location, etc.) and to the computing resources (on fixed and mobile devices), among others aspects, can be considered in the development of context-aware services. Thus, context-aware services can be defined as services of which the description is associated with contextual (notably non-functional) properties, i.e., services whose description is enriched with context information indicating the situations to which the service is adapted to.

According to Suraci et al. (2007), in order to provide context-aware services, one has to consider context inputs and outputs, besides functional ones. Several authors, such as (Suraci, Mignanti, & Aiuto, 2007), (Toninelli, Corradi, & Montanari, 2008) and (Mokhtar, Kaul, Georgantas, & Issarny, 2006), propose to increase the service description with context information. This information is normally used for adaptation purposes: for indicating service adaptation capabilities, for adapting service composition, execution and output. This context information needs to be compared to the real user’s or execution context before starting to use the service.

Key Terms in this Chapter

Context Models: Informational models representing context information in a well-defined structure.

Similarity Measures: Measures used to compare the degree of similarity (or dissimilarity) between two concepts on a domain.

Context-aware services: Services of which description is enriched with context information related to non-functional requirements, describing the service execution environment or its adaptation capabilities.

Service Selection: The process allowing the identification of all services, among the available ones, that match functional and non-functional requirements.

Context: Sny information that can be used to characterize the situation of an entity (a person, place, or object considered as relevant to the interaction between a user and an application).

Context-aware systems: Systems that are able to adapt their operations to the current context, aiming at increasing usability and effectiveness by taking into account environmental context

Services: Independent entities, with well-defined interfaces, that can be invoked in a standard way, without requiring the client to have knowledge about how the service actually performs its tasks

Complete Chapter List

Search this Book:
Reset