EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support

https://doi.org/10.1016/j.jss.2007.07.030Get rights and content

Abstract

Pervasive computing environments are populated with networked software and hardware resources providing various functionalities that are abstracted, thanks to the Service Oriented Architecture paradigm, as services. Within these environments, service discovery enabled by service discovery protocols (SDPs) is a critical functionality for establishing ad hoc associations between service providers and service requesters. Furthermore, the dynamics, the openness and the user-centric vision aimed at by the pervasive computing paradigm call for solutions that enable rich, semantic, context- and QoS-aware service discovery. Although the semantic Web paradigm envisions to achieve such support, current solutions are hardly deployable in the pervasive environment due to the costly underlying semantic reasoning with ontologies. In this article, we present EASY to support efficient, semantic, context- and QoS-aware service discovery on top of existing SDPs. EASY provides EASY-L, a language for semantic specification of functional and non-functional service properties, as well as EASY-M, a corresponding set of conformance relations. Furthermore, EASY provides solutions to efficiently assess conformance between service capabilities. These solutions are based on an efficient encoding technique, as well as on an efficient organization of service repositories (caches), which enables both fast service advertising and discovery. Experimental results show that the deployment of EASY on top of an existing SDP, namely Ariadne, enhancing it only with slight changes to EASY-Ariadne, enables rich semantic, context- and QoS-aware service discovery, which furthermore performs better than the classical, rigid, syntactic matching, and improves the scalability of Ariadne.

Introduction

Pervasive computing (Satyanarayanan, 2001) envisions the unobtrusive diffusion of computing and networking resources in physical environments, enabling users to access information and computational resources anytime and anywhere, and this in a user-centric way, i.e., where user interaction with the system is intuitive, pleasant and natural. Mobile users take part in these pervasive environments by carrying around tiny personal devices that integrate seamlessly in the existing infrastructure. Such a setup is highly open and dynamic: pervasive computing systems should support ad hoc deployment and execution, integrating the available hardware and software resources at any given time and place. Incorporation in a larger system is facilitated by rendering such resources into autonomous, networked components.

A recent computing paradigm particularly appropriate for pervasive systems is Service-Oriented Architectures (SOA) (Papazoglou and Georgakopoulos, 2003). In this architectural style, networked devices and their hosted applications are abstracted as loosely coupled services. Service discovery is an essential function within SOA, as it enables the runtime association to networked services. Three basic roles are identified for service discovery in SOA: (1) Service provider is the role assumed by a software entity offering a networked service; (2) Service requester is the role of an entity seeking to consume a specific service; (3) Service repository is the role of an entity maintaining information on available services and a way to access them. A service description formalism or language to describe the capabilities and other non-functional properties (such as quality of service (QoS), security or transactional aspects) complemented with a service discovery protocol (SDP) let service providers, requesters and repositories interact with each other. In Zhu et al. (2005), a classification of academic and industry-supported SDPs, specifically for pervasive environments, is proposed. Service discovery becomes even critical in pervasive environments due to their openness and dynamics and the fact that pervasive software services and potential software clients (assuming the role of service requester) are designed, developed and deployed independently. These concerns raise the following requirements:

  • During service discovery, semantics underlying service descriptions and client requests should be matched. In classic service discovery, the matching is based on assessing the conformance of their syntactic interfaces. However, an agreement on a single common syntactic standard is hardly achievable in the open pervasive environment. Thus, higher-level abstractions, independent of the low-level syntactic realizations specific to the SOA technologies in use, should be employed for denoting service semantics.

  • Finding a service that exactly matches a client request is rather the exception than the rule in pervasive environments. Thus, matching should be able to identify the degree of conformance between services and clients, and rate services with respect to their suitability for a specific client request.

  • The user-centrism of pervasive environments calls for system’s awareness of context and QoS. Context (Dey and Abowd, 2001) is any information that can be used to characterize the situation of the user (location and current activity), the system (available resources) and their interaction. Both context and QoS play a decisive role in enhancing users’ experience of the pervasive environment. For establishing a common understanding of such non-functional properties and enabling their matching, semantic abstractions and associated relations assessing the degree of conformance are required – as in the case of functional properties.

A key requirement identified above for service discovery in pervasive environments concerns expressing the semantics of services. A promising approach addressing the semantic modeling of information and functionality comes from the semantic Web1 paradigm (Berners-Lee et al., 2001). Within the semantic Web, information is enriched with machine-interpretable semantics by referring to a structured vocabulary of terms (ontology) representing a specific area of knowledge. Ontology languages, such as the Web Ontology Language (OWL),2 support formal descriptions and machine reasoning. Building on the semantic Web, a number of efforts have been conducted in the area of automated semantic Web service discovery, invocation, composition and execution monitoring (The DAML Services Coalition, 2004, Sycara et al., 2003, Majithia et al., 2004, Trastour et al., 2001, Sirin et al., 2005). However, the employment of semantic technologies and related tools for service discovery in pervasive environments comes with a major handicap: the underlying semantic reasoning is particularly costly in terms of computational resources and not intended for use in highly dynamic and interactive environments. Hence, providing service discovery that is adequate for the demanding pervasive environment and that achieves satisfying performance at the same time for interactivity is still an open issue.

We present in this article our approach for Efficient semAntic Service discoverY (EASY) in pervasive environments, which extends the efforts presented in Ben Mokhtar et al., 2006, Mokhtar et al., 2006 with a number of attractive features. As already mentioned, a large number of SDPs already exist, deployed in various pervasive and mobile computing environments. Our objective is not to propose yet another SDP, but to elaborate a solution for efficient, semantic, context- and QoS-aware service discovery, which can flexibly be deployed on top of existing SDPs. EASY operates at a higher, semantic abstraction level, and is thus independent of the specific underlying SOA technology employed. As part of EASY, we introduce:

  • EASY-Language (EASY-L): a language for semantic service description covering both functional and non-functional service characteristics. EASY-L is a simple, generic representation for service functionalities, context properties and QoS properties; and extensible, allowing the addition of new context and QoS dimensions. EASY-L contains only the necessary information to enable service matching.

  • EASY-Matching (EASY-M): defines a set of conformance relations and prescribes the way for applying them in order to perform service matching. EASY-M identifies three levels of matching; it further enables assessing the degree of conformance between a service advertisement and a service request, and rating of services with respect to their suitability for a specific request. EASY-M takes into account both functional and non-functional service properties.

With EASY-L and EASY-M, service discovery can be carried out in a service repository to resolve a service request. To ensure efficient EASY service discovery we provide two optimizations:
  • By numerically encoding ontologies, we transform the costly semantic reasoning into a simple numeric comparison of codes. Our solution supports incremental conflict-free encoding, which allows the freely reuse and extending of existing ontologies; this is an essential requirement for the semantic representation of open pervasive environments and their services. Moreover, our solution proves satisfactory in terms of employed code lengths compared to existing encoding algorithms, which allows saving memory and computational resources.

  • We introduce an algorithm for organizing service advertisements in a service repository based on their semantic similarity in order to considerably reduce the number of matchings performed to resolve a service request. Our algorithm consists of two parts: the first concerns inserting a new service advertisement in the organized repository; the second concerns resolving a service request.

The two above optimizations move a great part of the complexity related to semantic service discovery offline, and also improve the performance of the online service registration and resolution of service requests. As such, EASY service discovery becomes highly efficient and applicable for highly interactive pervasive environments. To evaluate the flexibility and scalability of EASY, we elaborate its prototype implementation on top of Ariadne, a semi-distributed SDP for mobile ad hoc networks (MANETs) (Sailhan and Issarny, 2005). We thus enhance Ariadne, which supports syntactic discovery of Web services, into EASY-Ariadne, which inherits all features of EASY.

The remainder of this article is structured as follows. In Section 2, we provide a state-of-the-art survey on service discovery enhanced by semantic technologies. Having identified above the high computational cost of semantic technologies as a key issue, we complement this survey with our experimental assessment of this cost, which motivates our approach presented in the next sections. In Section 3, we elaborate on EASY-L and EASY-M, while in Section 4, we discuss our optimizations for efficient EASY service discovery. In Section 5, we present our implementation of EASY on top of Ariadne and our related performance evaluation. Finally, we conclude in Section 6.

Section snippets

Service discovery enhanced by semantic technologies: state of the art

In this section, we survey current efforts related to semantic service discovery. We first provide an overview of the semantic Web paradigm and resulting extensions to the semantic description of Web services (Section 2.1). We then discuss related work on service matching based on semantic service descriptions and its application in service discovery (Section 2.2). As pointed out in the previous section, semantic reasoning underlying the semantic Web paradigm involves a high computational cost.

EASY-Language

Service discovery in pervasive environments calls for a language enabling the semantic, context- and QoS-aware specification of services’ advertised capabilities as well as clients’ requested capabilities. We introduce EASY-Language (EASY-L), which supports the unambiguous specification of functional and non-functional properties of services and clients. EASY-L is specified using the Web Ontology Language (OWL). The main conceptual elements characterizing EASY-L are depicted in Fig. 3. In this

EASY: efficient semantic service discovery in pervasive computing environments

In this section, we present our solution for efficient semantic discovery of service capabilities. This solution decomposes into two parts. First, we focus on the optimization of semantic reasoning on ontologies in order to efficiently infer relations between ontology concepts. Our approach, described in Section 4.1, allows to quickly find whether two concepts are related to each other in an ontology or not, without performing the costly semantic reasoning online. Specifically, we propose to

EASY-Ariadne: deployment on top of Ariadne

EASY is intended to be deployed on top of existing SDPs in order to provide them with support for efficient semantic, context- and QoS-aware, service discovery, which are essential requirements for service discovery in pervasive environments. We have deployed EASY on top of Ariadne,15 a scalable semi-distributed service discovery protocol for MANETs (Sailhan and Issarny, 2005) according to the architecture presented in Section 4.2.

Conclusion

The pervasive computing vision is increasingly enabled by the large success of wireless networks and devices. In pervasive environments, heterogeneous software and hardware resources may be discovered and integrated transparently towards assisting the performance of users’ daily tasks. An essential requirement towards the realization of such a vision is the availability of mechanisms enabling the discovery of resources that best fit the client applications’ needs among the heterogeneous

Acknowledgement

This research is partially supported by the European IST AMIGO project22 (EU-IST-004182).

References (35)

  • Agrawal, R., Borgida, A., Jagadish, H.V., 1989. Efficient management of transitive relationships in large data and...
  • H. Ait-Kaci et al.

    Efficient implementation of lattice operations

    Programming Languages and Systems

    (1989)
  • Amigo Consortium, 2005. Detailed design of the amigo middleware core, Project Deliverable...
  • Ben Mokhtar, S., Kaul, A., Georgantas, N., Issarny, V., 2006. Efficient semantic service discovery in pervasive...
  • Ben Mokhtar, S., Kaul, A., Georgantas, N., Issarny, V., 2006. Towards efficient matching of semantic web service...
  • T. Berners-Lee et al.

    The semantic web

    (2001)
  • Caseau, Y., 1993. Efficient handling of multiple inheritance hierarchies. In: Proceedings of the Eighth Annual...
  • Y. Caseau et al.

    Encoding of multiple inheritance hierarchies and partial orders

    Computational Intelligence

    (1999)
  • Constantinescu, I., Faltings, B., 2003. Efficient matchmaking and directory services. In: Proceedings of the IEEE/WIC...
  • Dey, A.K., Abowd, G.D., 2001. Towards a better understanding of context and context-awareness. In: Workshop on The...
  • Filho, J.G.P., van Sinderen, M., 2003. Web service architectures – semantics and context-awareness issues in web...
  • Hellerstein, J.M., Naughton, J.F., Pfeffer, A., 1995. Generalized search trees for database systems. In: Proceedings of...
  • A. Krall et al.

    Near optimal hierarchical encoding of types

  • Liu, J., Issarry, V., 2004. QoS-aware service location in mobile ad-hoc networks. In: IEEE International Conference on...
  • Majithia, S., Walker, D.W., Gray, W.A., 2004. A framework for automated service composition in service-oriented...
  • Niles, I., Pease, A., 2001. Towards a standard upper ontology. In: Proceedings of the International Conference on...
  • Cited by (0)

    View full text