1. INTRODUCTION
With the unprecedented growth of network technologies and development of advanced devices, Internet-of-Things (IoT), coined by Kevin Ashton [1], becomes one of the most promising future visions. IoT is a paradigm that foresees enormous amounts of interoperable things and heterogenous services in the environment [2-5]. Such an environment, from the perspective of the businesses, will provide tremendous opportunities in many fields, like household [4] and industries [5]. From the point of view of end-users, it will bring both a great deal of information as well as many troubles. People have to face the increasing complexity of the surrounding environment and master a growing number of interactive abilities, which may cause cognitive load or detrimental to their productivity [6]. Therefore, it is a necessity to establish intelligent mechanisms to assist people in achieving their intention in a simple and effective manner. Although, a growing number of service providers dedicate to developing intelligent hardware or software in a specific domain to admit the majority’s need. However, a dynamic choreography of a variety of services across domains is often necessary. Service composition, a concept of enabling the combination of multiple services span-ning multiple service providers to achieve a common task, is expected to provide dynamic service solutions with little or no human intervention. In this context, quite a few researchers propose composition mechanisms for well-defined web services, which differ from real-world services [7,8]. Some of researches do propose mechanisms focusing on real-world services, such as the studies in [9-11]. However, these works do not consider contextual information and limited resources.
This paper proposed a service composition mechanism using a hierarchical model in multiple services environment, like IoT environment. This service composition mechanism uses contextual information as input, and the output is the combination of a set of predicated relevant services and corresponding optimal actuating devices. More specifically, the hierarchical model is generated according to the historical usage records and composed of four layers: Context Layer, Event Layer, Service Layer, and Device Layer. With the relations in this hierarchical model, service composition is achieved by the iteration of layer by layer. The contributions of this paper are two-fold: 1) formulate the service composition in the multiple service environment 2) propose a graph-based model for service composition mechanism with considerations of context and constrained devices.
The remainder of this paper is organized as follows: some related works are reviewed and discussed in Section 2. In Section 3, some assumptions are made and the service composition problem is formulated. Following, in Section 4. The proposed Service Composition Method is illustrated. Then, relevant evaluation is shown in Section 5. Lastly, in Section 6, the conclusion of this work is drawn.
2. RELATED WORKS
In this section, some related backgrounds and studies are reviewed and discussed.
The term of IoT, coined by Kevin Ashton [1], has been identified as a most promising future version and a great opportunity to many fields [12]. The basic idea of IoT is able to offer connectivity of heterogeneous devices, services and systems and enable their interactions and cooperations to reach common goals. There are three major components in IoT, hardware, middleware and presentation [13]. Hardware includes a variety of physical things like sensors, actuators and so on. Middleware refers to the mechanisms handling data storage, computing and analysis. Moreover, presentation provides the visual or interactive interfaces for different applications. There are many researches conducted with respect to each component. As space is limited, this paper does not discuss them individually except service oriented architecture.
Service oriented architecture is one of the popular middleware architectures proposed for IoT era [2]. In SOA, services act as the fundamental elements that have features of self-describing, discoverable, manageable and composable. A common SOA-based architecture is proposed in [2], where Object layer refers to the real-world physical things. Object Abstraction layer provides the capability that accessing to the different devices with a common descriptive language. Service management layer is to create and manage services. Service Composition layer provides the composited services by combing multiple services to pursuit a common specific goal. Application layer consists all the system’s functionalities which directly interact with the end-users. This paper is a mechanism in Service Composition layer.
A number of researches concentrated on building self-adaptive and self-adaptive services in the last few years. Service composition is a concept achieving these ideas by enabling the combination of multiple services on demand, which can overcome the isolation of services and lack of connections between them. With the swift growth of the web, service composition on web attracts tremendous attentions, such the study in [14]. However, web services differ from services in real-world [7,8]. The former are generally well-defined and relative static, which are usually deployed in resource-rich environment, in contrast, the latter refers to the real-world service which is always operated in highly dynamic environment and limited to constrained resource, such as limited device computing capability, network bandwidth, battery and storage capability. Some researchers did propose service composition mechanisms for real life, such ambient environments, pervasive environments, and ubiquitous environments. For instance, Amigo [9] is a mechanism allows users to perform tasks by composing services at a specific time and place, meanwhile it guarantees tasks to meet the request Quality-of-service (QoS). Aura proposed in [10,11] is a user preference based self-optimization and self-healing system for daily tasks, which devotes to finding the best match between a user’s preferences and demands for a specific task and environment capabilities. However, these works don’t consider constantly changing environment and resources-constrained devices.
3. ASSUMPTIONS AND FORMULATION
Before narrating the hierarchical model-based service composition mechanism, there are some assumptions are made. In the first place, events happened in the environment can be automatically obtained and described by a set of related context. Meanwhile, every event corresponds to a set of services running on different devices. Thus, an event can be associated with these services on devices. In the second place, services’ descriptions such as properties, operations, should be readily acquired and maintained by the Service Repository. Similarly, there is a Device Repository keeps aware of all devices related information, such as capabilities, resources, functionalities and status and so on. Moreover, a User Repository masters all the information and history usage data. In the end, if an event is specified, there is at least one executable solution of service composition. The service composition problem is to find the ideal service composition solution which is the most closest to the user’s service needs.
Based on before-mentioned assumptions, this service composition can be formulated. Let S = {s1, s2,...,sns} (ns > 0) denotes all the services in the Service Repository. D = {d1, d2,...,dnd} (nd > 0) is the set of all available devices, which is dynamically update and kept in the Device Repository. E = {e1, e2,...,ene} (ne > 0)represents all the set of possible events in this environment. For each event, it is described using a set of relevant contextual information, that is e = {c1, c2,...,cnc} (nc > 0). For each user, there is a history storage includes all the service usage in the past, which is expressed by , where is an event instance, is the corresponding service set, is the perform device set and records the correspondence between service set and device set.
Hence, in general, this service composition problem can be formulated as follows a four-tuple < S,D,H, >, where is the input event captured in this environment. Supposing the realistic demanded service set is (S′), device set is (D′), and their relations set M′, the objective of this study is to automatically determine the optimal services , devices and their mapping relations set , which are closest to S′, D′, M′ respectively.
4. SERVICE COMPOSITION METHOD
In this paper, the service composition process is achieved using a hierarchical model. This model is based on a four-layer graph which containing Context Layer, Event Layer, Service Layer and Device Layer(Shown in Fig. 1.) More specifically, each layer is an weighted undirected graph which describes internal relations between the same element type. There are links across different layers, which represents the association strengths between different elements types. This hierarchical model is built utilizing the historical usage records.
Fig. 1.Proposed hierarchical model.
Specifically, in Context Layer, each context item is presented as one node, and the edge (edgeC(ci,cj)) between two contextual item reflects their co-occurrence relations are calculate as equation (1), where the function count(•) is the frequency of occurrence of variable.
Nodes in the Event layer refers to events, and edges (edgeE(ei,ej)) between them are used to describe the similarity between two events. Edges are measured using equation (2), where |•| represents the number of elements of a finite set.
Each service is expressed as one node in Service Layer, and edges (edgeS(si,sj)) between services reflects the co-occurrence relations between services. The weights of edges are assigned as equation (3).
As Device Layer, each node represents one individual device. And edges between any devices embodies their co-operation relations, which is measured using equation (4).
After generating these four layers, links between them can be attached. ∀ci ∈ C,ej ∈ E, the link between them is measured using equation(5).
Similarly, the links between Event Layer and Service Layer can be generated(Shown in equation (6)).
The links between Service Layer and Device Layer not just reflect their association relations, but also reflect their independence relationships, which is calculated as equation (7).
So far, the hierarchical model is constructed, and a service composition process can be achieved as an iterative selection process layer by layer. For example, as shown in Fig. 2, if edgeE(ein,e1) = 0.9 and edgeE(ein,e2) = 0.8 can be calculated as equation (2). Moreover, the linkES(e1,s1) = 0.5, linkES(e1,s2) = 0.5, linkES(e2,s2) = 0.9 and linkES(e2,s4) = 0.1. It is possible to compute that association strength between ein and s1 is linkES(ein,s1) = 0.9 × 0.5 = 0.45. Similarity, linkES(ein,s4) = 0.08. For s2, as there are two links exist linkES(e1,s2) = 0.45 and linkES(e2,s2) = 0.72, and linkES(ein,s2) get the maximum values among them, that is linkES(ein,s2) = 0.72. So, the associated serv-ices are s2,s1,s4 with association strengths of 0.72,0.45,0.08. Finally, the selection of optimal services can be depended on the predefined number of selection. For instance, if selecting the two most relevant services. Then, according to the optimal services set , the optimal devices set can be generated and links between them becomes the mapping relation .
Fig. 2.An example between Event Layer and Service Layer.
5. EVALUATION
To evaluate the effectiveness of this proposed hierarchical model, a real-life emergency response dataset is applied. This database contains 817 valid emergency events, 1348 contextual items and 384 services, which is crawled from “Chinese case knowledge Base of Public Crisis Management” constructed by PCIM (Public Crisis Information Management) research team [15]. PCIM research team collects crisis events from 2007 to the end of 2014 in China and describes each event using abstract, description, response, related URL, basic data and relevant video. In this study, abstracts are treated as events and IK-Analyzer [16], a Chinese Word Segmenter tool, is applied to generate linguistic segmentations as context. The organizations in rescue are treated as services. To measure the performance, three evaluation indicators are applied (Table 1).
Table 1.Evaluation indicators
In the experiment, three-quarter of database (613 records) are randomly selected and used to generate the hierarchical model. The remainder quarter of dataset (204 records) is applied to evaluate the performance of this proposed system. Setting the number of selection to 1 and average precision, average recall and average F1-score of 204 records are calculated and used to evaluate the performance of this model. At the same time, a probability model depends on the conditional probability is constructed and considered as the baseline. The results are shown in Table 2. It shows that the precision, recall and F1-score of baseline is 0.532, 0.337 and 0.352 respectively, and the proposed hierarchical model is 0.650, 0.980 and 0.754. The proposed model exceeded the baseline, which because probability model is much influenced by the context noise.
Table 2.Comparison with Probability Model
Besides the comparison with probability model, the influence of selection number is evaluated and the results are shown in Fig. 3. From the results, the performance is in decline with the selection number increases, which because that the bigger the number is, the more likely select the irrelevant services, thus the precious falls. For recall, the more services selected, it is more likely to contain the services really need.
Fig. 3.he influence of selected number.
6. CONCLUSION
This paper formulates the service composition problem in the multiple service environment and proposes a service composition mechanism with a hierarchical model to support a context-based proactive service composition mechanism. With this model, a service composition problem becomes an iterative graph search problem. This model is not based on well-defined web services but the real world services which limited to limited resource. The performance of this method is compared with a general probabilistic method using a real-life emergency response dataset. The performances of the hierarchical model exceeds the probabilistic model. The experimental results indicates that this proposed hierarchical model is help for compositing multiple services. In the near future, more varying dataset will be collected and further evaluation will be undertaken.
References
- K. Ashton, “That ‘Internet of Things’ Thing,” RFID Journal, Vol. 22, No. 7, pp. 97-114, 2009.
- L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: A Survey,” Computer Networks, Vol. 54, No. 15, pp. 2787-2805, 2010. https://doi.org/10.1016/j.comnet.2010.05.010
- D. Lee, and D. Choi, “Implementation of Zigbee-based Publish/Subscribe System for M2M/IoT Services,” Journal of Korea Multimedia Society, Vol. 17, No.12, pp. 1461-1472, 2014. https://doi.org/10.9717/kmms.2014.17.12.1461
- M. Darianian and M.P. Michael, “Smart Home Mobile RFID-based Internet-of-Things Systems and Services,” Proceedings of International Conference on Advanced Computer Theory and Engineering, pp. 116-120, 2008.
- L. Nixon, G. Hench, D. Lambert, A. Filipowska, and E. Simperl, “Future of the Internet of Services for Industry: the ServiceWeb 3.0 Roadmap,” Proceedings of Future Internet Assembly, pp. 23-24, 2009.
- S. De, P. Barnaghi, M. Bauer, and S. Meissner, “Service Modelling for the Internet of Things,” Proceedings of Federated Conference on Computer Science and Information Systems, pp. 949-955, 2011.
- Q. Wei and Z. Jin, “Service Discovery for Internet of Things: a Context-awareness Perspective,” Proceedings of the Fourth Asia-Pacific Symposium on Internetware, ACM, Article No.25, 2012.
- J. Bronsted, K.M. Hansen, and M. Ingstrup, “Service Composition Issues in Pervasive Computing,“ IEEE Pervasive Computing, Vol. 9, No. 1, pp. 62-70, 2010. https://doi.org/10.1109/MPRV.2010.11
- S.B. Mokhtar, J. Liu, Ni. Georgantas, and V. Issarny, “QoS-aware Dynamic Service Composition in Ambient Intelligence Environments,” Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 317-320, 2005.
- J.P. Sousa, V. Poladian, D. Garlan, B. Schmerl, and M. Shaw, “Task-based Adaptation for Ubiquitous Computing,” IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, Vol. 36, No. 3, pp. 328-340, 2006. https://doi.org/10.1109/TSMCC.2006.871588
- D. Garlan, D.P. Siewiorek, A. Smailagic, and P. Steenkiste, “Project Aura: Toward Distraction-free Pervasive Computing,” IEEE Pervasive Computing, Vol. 1, No. 2, pp. 22-31, 2002. https://doi.org/10.1109/MPRV.2002.1012334
- The 2014 Gartner Hype Cycle Special Report, http://www.gartner.com/technology/research/hype-cycles/ (accessed June, 18, 2015)
- D. Giusto, A. Iera, G. Morabito, and L. Atzori, The Internet of Things: 20th Tyrrhenian Workshop on Digital Communication, Springer Science + Business Media, New York, USA, 2010.
- J. Rao and X. Su, “A Survey of Automated Web Service Composition Methods,” Semantic Web Services and Web Process Composition, Vol. 3387, pp. 43-54, 2005. https://doi.org/10.1007/978-3-540-30581-1_5
- Chinese Case knowledge Base of Public Crisis Management, http://ccm.lzu.edu.cn/index.jsp (accessed June, 20, 2015)
- IK-Analyzer, https://code.google.com/p/ikanalyzer/(accessed July, 15, 2015)