EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support
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.
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.
- •
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 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...
- 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...
- et al.
The semantic web
(2001) - Caseau, Y., 1993. Efficient handling of multiple inheritance hierarchies. In: Proceedings of the Eighth Annual...
- 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...