ISSN: 2252-8938, DOI: 10.11591/ijai.v8.i4.pp443-450 443
Towards a semantic web of things framework
Nadim Ismail1, El Ghayam Yassine2, Sadiq Abdelalim3
1,3MISC Laboratory, Ibn Toufail University, Kenitra, Morocco
2EMSI-HONORIS, Rabat, Morocco
Article Info ABSTRACT
Article history: Received Aug 19, 2019 Revised Nov 2, 2019 Accepted Nov 16, 2019
Information and communication teFchnologies (ICT) know a significant development especially in terms of hardware miniaturization, cost reduction and energy consumption optimization. This advancement enables the interconnection of a large number of physical objects namely using the Internet, forming what is called the Internet of Things (IoT). The IoT provides the opportunity to interact with these objects through sensors, actuators and smart applications which may help users in several areas such as transport, logistics, health care, agriculture, etc. However, building the IoT requires a strong interoperability between thousands of heterogeneous devices and services. In this context, the SWoT (Semantic Web of Things) uses semantic Web technologies to enrich these devices and services with semantic annotations which enables the semantic interoperability. However, the development of SWOT-based systems on a large scale faces many challenges especially due to the large number of devices and services, their geographical distribution as well as their mobility. These challenges-which may affect the system performance as a whole-require innovative industry and research efforts. The current paper proposes a SWoT framework architecture that take into account the main SWoT challenges.
Keywords: Internet of Things Semantic Web Web of Things
Copyright © 2019 Institute of Advanced Engineering and Science. All rights reserved.
Corresponding Author: Nadim Ismail,
MISC Laboratory, Ibn Toufail University, Kenitra, Morocco.
Email: [email protected]
1. INTRODUCTION
The world is building a promising digital world through the Internet of things (IoT) [1]. The IoT can be seen as a vision in which real objects are uniquely identified and are able to communicate to each other. However, these objects are generally manufactured by different constructors that do not necessarily respect the same standards. This fact results in heterogeneous devices that might not be able to communicate directly with each other, raising integration and interoperability issues [2]. More precisely, the desired interoperability is the ability for multiple IoT platforms from different vendors to work together [3]. Recently, this challenge was addressed leveraging the device as services approach (WoT) which enables the IoT devices to publish their capabilities as Web resources. Many research projects have tackled this issue from different angles. Since 2010, introduce the idea of Web of Things to connect physical things to the web using the RESTful architecture [4]. This idea has led to the W3C Web of Things model that is currently in the process of standardization [5]. While it defines a basic semantic for Things in the IoT, this data model should benefit from alignment with more detailed semantic vocabularies. Effectively, the WoT provides the interoperability at only the hardware and communication protocol level, and does not add intelligence to the things or facilitate unambiguous interpretation of their data [6]. In contrast, service description, common practices, standards and discovery mechanisms should be interoperable to allow interactions between different objects [2].
Semantic Web of Things (SWoT) is a recent research field aiming to integrate Semantic Web technologies to Internet of Things. It is considered as an evolution of the current Web of Things that focuses on providing semantic interoperability among ontologies and data [7]. The semantic Web of Things attempts to bring the semantic interoperability to the WoT using Web standards and semantic Web technologies. Highlight the need of semantics to: provide unambiguous IoT data descriptions to be interpreted by machines, combine data from different physical worlds, semantic reasoning, and sensor discovery [8]. The SPITFIRE project [9], introduced its vision of Semantic Web of Things, which consists in providing abstractions for things, fundamental services for search and annotation, as well as by integrating sensors and things into the LOD cloud [10].
The authors of [6] developed a taxonomy of ontologies in a two-layered approach: cross-domain that include models of WoT elements, such as device, entity, service, location and domain models that represent WoT application areas, classified into environmental and user-oriented areas. [11] reviewed and classified the state-of-the-art search methods for the Web of Things. The survey shed light on the importance of semantics for the semantic discovery of WoT resources. Besides, different SWoT frameworks have been designed to enrich real-world objects with semantic annotations and inference [12-13]. For instance, [14] proposed the semantic Web of Things framework for cyber physical systems (SwoT4CPS). This framework leveraged the SWoT ontology for describing intrinsic sensor and actuator properties and presented semi-automatic annotation, semantic interoperability, discovery and reasoning approaches. The Semantic Gateway as Service (SGS) [15] allows translation between messaging protocols such as XMPP,CoAP and MQTT via a multi-protocol proxy architecture which improves the technical interoperability between devices. Additionaly, the gateway offers a semantic annotation service using the SSN [16] vocabulary to enable the semantic interoperability. However, providing semantic descriptions alone does not solve all the WoT issues such as discovery, management of data, etc. Because the semantic description still needs to be shared, processed, and interpreted by various methods and services. This problem become more serious when the system is huge or mobile a shown in Figure 1.
Figure 1. Main challenges of IoT, WoT and SWoT
To illustrate this, the mobility [17] in IoT environments can impact negatively the performance of the IoT systems. Three types of mobility are worth to mention here: the mobility of sensing and actuating devices (e.g. a sensor failure due to a battery problem). The mobility of gateways (e.g. mobile phone or vehicle) and the mobility of data (when the value reported by the sensing device changes). While this phenomenon is mostly considred as a problem, it can be an effective solution for IoT data collection which contribute to extend network life. Besides, the context of a device or a is decisive during the discovery because ambiant systems have to look for devices being in a certain state or context for regulation or alarming purposes. Thus, the value reported by the device and the time when this value has been captured are important in the decision to be taken. Consequently, a bad management of the mobility phenomenon can harm the system performance, the network life or the quality of data. Self-management and distributed systems like peer-to-peer (P2P) networks are robust and can enable more scalable system without any central points of failure. While the ontology modeling efforts have largely concentrated on the WoT objects like sensors, other important elements like actuators, produced data, services, localization and domain ontologies require also a specific attention. Besides, the existence of several ontologies modelling the same knowledge
domain like units of measurement or localization require mapping techniques to determine the correspondences between concepts in these ontologies. Last but not least, to make the semantic annotation a straightforward operation, common and automatic semantic annotation frameworks are strongly required. In addition to that, the storage and search in a big semantic file could be very costly. Therefore, the partitioning of the semantic description of the IoT devices into several semantic repositories may increase the storage and the search performance. Designing and implementing repositories that enable publishing and accessing the semantic data in large distributed and dynamic environments, and providing efficient indexing, clustering, ranking and discovery mechanisms are important issues in IoT. As far as the security is concerned, outsider IoT objects need to be prevented from physical damage, unauthorized access in order to ensure its safety. Besides, devices transmit the information to the information processing system over wired or wireless transmission media. Consequently, devices should follow the encryption, authentication and authorization mechanisms to ensure data integrity at the information processing system. Thus, developing reliable and efficient solutions that can support and maintain security and privacy requirements in the IoT domain is required. In this paper, we propose a SWoT Framework architecture. Our design attemps to address the aforementioned challenges by combining different techniques. The main contribution of this paper is threefold:
a. The Web of Things vision is combined with semantic technologies to reach the semantic interoperability by the mean of an appropriate ontology SWOT-IIO. The SWOT-IIO is a combination of the SWOT ontology describing devices and IIO describing services and domain knowledge.
b. Independently of their constructors or communication protocols, heterogeneous devices can work together thanks to the semantic interoperability. And that supports the scalability of the system. In addition to this, distributed semantic repositories and distributed indexing are adopted to preserve the system performance.
c. The different gateways are linked through a P2P network which is scalable and more suitable for mobile nodes. Besides, mobile gateways can play the role of mobile nodes able to visit sensing devices, collect and send their data to static stations.
The remaining of this paper will be organized as follows: Section 2 explains the main components of the architecture. Section 3 summarizes and discusses the results and findings compared to the state of the art. And Section 4 concludes the paper.
2. THE FRAMEWORK ARCHITECTURE
The proposed SWoT framework architecture is composed of 6 main components illustrated as shown in Figure 2. These components are described more thoroughly in what follows:
Figure 2. System architecture overview
a. Devices: these devices are sensors and actuators which are responsible for collecting data and sending them to the gateways or acting on their environment.
b. Gateways: these devices need higher computing power and also some memory space to store all the data sent by devices. Two types of gateways are available: static gateways which are located at fixed places like rooms. This type is directly connected to the nearby devices. The second type is mobile gateways which are able to move from an area to another in order to gather data from far or low battery devices and send this data to the nearest static gateway.
c. DHT: Distributed Hash Tables are scalable, robust, and self-organizing peer-to-peer (P2P) systems that support exact match lookups. DHTs enable more scalable system without any central points of failure. d. Discovery server: the discovery server is composed of three modules:
The indexing module: The IoT static gateways are registered in the system by giving some information. The location information of these gateways are used in a Geo-spatial index in order to quickly locate the IoT gateways of a certain area. It’s worth to mention that the mobile gateways are not considered by this index.
The annotation module: For each registered IoT gateway, the user can add the devices monitored by this gateway. At this step, the discovery server deals with the semantic annotation of the device information based on the SWOT-IIO ontology. The semantic data is stored in one or several semantic repositories. Also, the device information is stored in a relational database for an easy discovery. The discovery module: Two type of discoveries are present here. The first discovery is when a user or
an application requests some objects of some criteria (type, location, time). The system finds the static IoT gateways using the Geo-spatial index. After that, a SPARQL query is sent to all the semantic repositories of the IoT gateways filtered by the index. At each semantic repository, a semantic discovery is performed and the identifiers of the obtained objects are returned to the discovery server which use them to list the objects from the relational database. The second discovery is performed by the mobile IoT gateways periodically. Effectively, each mobile gateway uses the indexing module to search for the nearest static IoT gateway. When found, the mobile gateway uses the distributed hash table to look for the references of the semantic repositories of this static gateway. After that, the semantic description of the devices is stored into these repositories. This discovery allows the objects discovery using only the indexed gateways (The static gateways).
e. Semantic repositories: Our system links each gateway to one or several semantic repositories and stores the semantic description in form of triples distributed over these repositories. When performing a semantic discovery, only the repositories of the discovered gateways will be queried.
f. End user: The end user through the web application and from his smartphone or PC could request information from the different devices as well as the statistics history.
3. RESULTS AND DISCUSSION
In order to evaluate the feasibility of our approach, we have implemented an early version of our SWoT framework. Through this implementation we attempt to evaluate only two aspects of the proposed framework. (1) The semantic interoperability and (2) The distributed indexing method. As far as the semantic interoperability is concerned, we show how different heterogeneous devices can interact through the same platform based on semantics rather than unified model. Secondly, we test the performance of the semantic discovery leveraging four geospatial indexing methods: centralized, PHT, R-Tree and Q-Tree.
3.1. Interoperability
In this section, we describe a simple smart irrigation implementation using the WoT approach. For this, three WoT devices are considered: (1) A capacitive soil moisture sensor augmented with an Arduino (to allow the wireless communication of the sensor data) to measure the soil humidity, (2) A LCD display to simulate the smart valve and the sprinkler used to irrigate the soil and (3) a weather web service to indicate if the day is rainy or not. The control of devices is managed by the Mozilla IoT gateway which is an IoT framework implemented by Mozilla and based on the Web of Things researches. It can manage and store the data collected from various IoT devices, provides capabilities for registration, management, and control of IoT devices. Moreover, the gateway also provides open APIs to monitor and control IoT devices through RESTful interfaces. The Mozilla Iot gateway enables both technical and syntactic interoperability. The semantic interoperability is allowed partially using a unified data model “The WoT model”. Our example implements the following scenario: the system should detect the soil need of water using the sensor data, check the weather state of a particular location and time using the web service and decide to irrigate the soil or not by displaying “Irrigation on/off” on the LCD.
To reach the interoperability between our devices (Soil Sensor, Weather Sensor, LCD Sprinkler) we have started by preparing the "webthings" which means publishing our devices capabilities using the WoT model. We do that by installing the webthing module into our Arduino Wemos D1 R1. The code
implemented in the arduino allows the publication of two webthings (http://192.168.1.8/things/MoistureSoilSensorDevice and http://192.168.1.8/things/SprinklerDevice). To connect our devices with the mozilla IoT gateway we just need to add the things by their URLs. In addition to this, a weather web service can be used easily using weather add-on thing. Figure 3 shows the different devices added to the Mozilla IoT gateway. Moreover, this gateway offers a nice and simple tool to make mashups and rules between the devices. Indeed, we use it to apply our irrigation rule. The result of this rule is shown by indicating "irrigation on/off" message on the LCD to simulate the smart sprinkler state.
Figure 3. Semantic interoperability using mozilla-IoT gateway
As mentioned before, the WoT approach requires a unified data model for all the devices (things) to reach semantic interoperability. The problem arises when the device doesn't follow the WoT data model. For example, we cannot use the LCD (http://devices.webofthings.io/pi/actuators/display/) in our prototype because it’s not considered as a “Thing” which means it doesn’t have the same representation model a shown in Figure 4.
Figure 4. Adding a new device with a different model to the WoT platform failed
Our SWoT solution requires only from the devices to publish their capabilities in form of web service regardless the data model they use. The semantic interoperability is reached by annotating the devices data and services with shared vocabulary using ontologies. For our example we use the SWOT-IIO ontology to describe our devices and their services. The SWoT-IIO is a combination of two ontologies: the SWOT [14] ontology which is a SSN-based ontology for describing intrinsic sensor and actuator properties. And the IIO [18] which is a top-level ontology to store and handle ontologies designed for different service domain of a smart city. After the semantic annotation of our devices a shown in Figure 5 and their relative services, the semantic interoperability can be tested by applying a simple SPARQL query to request specific services shown in Figure 6.
Figure 5. Registering gateways and devices through our SWoT platform.
3.2. Distributed indexing
The distributed indexing can increase the performance of the system because the number of indexed objects is reduced. For example, instead of indexing 10000 sensing devices, we index only 100 gateways which manage these devices. Furthermore, if there are 20 mobile gateways of this 100 gateways, the amount of index objects will be reduced to 80 static gateways only. Thus, the number of updates of the index will be reduced as well.
Figure 6. Requesting services through the SWoT platform (left), SWOT-IIO ontology in Protégé (right)
However, different indexing techniques exist [19-22]. To choose the best of them we performed a indexing simulation using a PHT implementation for the PeerSim simulator [23]. After the insertion of 10,000, 20,000, 30,000 up to 100,000 objects in the PHT index. We executed a set of queries to search for objects that are geographically close to a certain randomly generated object. After that, we have recorded for each insertion the response time of the queries, which is the total amount of time that the indexing scheme takes to answer queries. Finally, we made a comparaison between the PHT results and the Quad-tree and Centralized indexing methods performed by [24] and the GIGW + SR performed by [25]. This comparison shows Figure 7, on one hand, the three distributed methods are all more efficient than the centralized and require less time for all sets of different queries. On the other hand, the GIGW + SR seems to be slightly faster, however, this method is only tested for 10000 services which is not a very big number. This study, allowed us to use the R-Tree index for this early version of our SWoT framework.
Figure 7. Comparison between the PHT, Quad-Tree (QT), R-Tree and centralized approaches in term of response time.
4. CONCLUSION
The aim of this paper was-on one hand-to present the semantic web of things as a suitable solution for the WoT issues such as the semantic interoperability and discovery. And on the other hand to describe the key challenges which are facing the SWoT approach. Besides, the paper gives an early version of a SWoT framework in which we tried to address these challenges. To evaluate our approach, we provided a comparison between two main approaches the WoT approach through the Mozilla IoT gateway that suggests the use of a unified model to describe the IoT devices. And the SWoT approach that requires only the annotation of the IoT devices and services with semantic annotations using the SWOT-IIO ontology and regardless their data models. Finally, the indexing evaluation shows a trivial performance optimisation of our proposed method compared to the centralized indexing. Moreover, a simulation allowed as to compare three distributed indexing methods. For our future work, we will attempt to implement the other framework modules in order to evaluate the whole system performance namely the mobility module. For this end, we can consider a mobility scenario in which mobile gateways (e.g drones) move in order to gather irrigation data from distant devices.
REFERENCES
[1] L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: A survey,” Computer Networks, vol. 54, no. 15, pp. 2787–2805, Oct. 2010.
[2] M. Elkhodr, S. Shahrestani, and H. Cheung, “Internet of Things Research Challenges,” Advances in Information Security, Privacy, and Ethics, pp. 13–36, 2017.
[3] M. Noura, M. Atiquzzaman, and M. Gaedke, “Interoperability in Internet of Things: Taxonomies and Open Challenges,” Mobile Networks and Applications, vol. 24, no. 3, pp. 796–809, Jul. 2018.
[4] D. Guinard, V. Trifa, F. Mattern, and E. Wilde, “From the Internet of Things to the Web of Things: Resource-oriented Architecture and Best Practices,” Architecting the Internet of Things, pp. 97–129, 2011.
[5] https://www.w3.org/Submission/wot-model/
[6] S. De, Y. Zhou, and K. Moessner, “Ontologies and context modeling for the Web of Things,” Managing the Web of Things, pp. 3–36, 2017.
[7] R. Mehta, J. Sahni, and K. Khanna, “Internet of Things: Vision, Applications and Challenges,” Procedia Computer Science, vol. 132, pp. 1263–1269, 2018.
[8] D. Zeng, S. Guo, and Z. Cheng, “The Web of Things: A Survey (Invited Paper),” Journal of Communications, vol. 6, no. 6, Sep. 2011.
[9] D. Pfisterer, K. Romer, D. Bimschas, O. Kleine, R. Mietz, C. Truong, H. Hasemann, A. Kröller, M. Pagel, M. Hauswirth, M. Karnstedt, M. Leggieri, A. Passant, and R. Richardson, “SPITFIRE: toward a semantic web of things,” IEEE Communications Magazine, vol. 49, no. 11, pp. 40–48, Nov. 2011.
[10] https://lod-cloud.net/
[11] Y. Zhou, S. De, W. Wang, and K. Moessner, “Search Techniques for the Web of Things: A Taxonomy and Survey,” Sensors, vol. 16, no. 5, p. 600, Apr. 2016.
[12] M. Ruta, F. Scioscia, and E. Di Sciascio, “Enabling the Semantic Web of Things: Framework and Architecture,” 2012 IEEE Sixth International Conference on Semantic Computing, Sep. 2012.
[13] M. Ruta, F. Scioscia, and E. D. Sciascio, “A Mobile Matchmaker for Resource Discovery in the Ubiquitous Semantic Web,” 2015 IEEE International Conference on Mobile Services, Jun. 2015.
[14] Z. Wu, Y. Xu, Y. Yang, C. Zhang, X. Zhu, and Y. Ji, “Towards a Semantic Web of Things: A Hybrid Semantic Annotation, Extraction, and Reasoning Framework for Cyber-Physical System,” Sensors, vol. 17, no. 2, p. 403, Feb. 2017.
[15] P. Desai, A. Sheth, and P. Anantharam, “Semantic Gateway as a Service Architecture for IoT Interoperability,” 2015 IEEE International Conference on Mobile Services, Jun. 2015.
[16] M. Compton, P. Barnaghi, L. Bermudez, R. Garcca-Castro, O. Corcho, S. Cox, J. Graybeal, M. Hauswirth, C. Henson, A. Herzog, V. Huang, K. Janowicz, W. D. Kelsey, D. Le-Phuoc, L. Lefort, M. Leggieri, H. Neuhaus, A. Nikolov, K. Page, A. Passant, A. Sheth, and K. Taylor, “The SSN Ontology of the W3C Semantic Sensor Network Incubator Group,” SSRN Electronic Journal, 2012.
[17] I. Nadim, Y. El Ghayam, and A. Sadiq, “Mobility of Web of Things: A Distributed Semantic Discovery Architecture,” Big Data, Cloud and Applications, pp. 249–260, 2018.
[18] M. Ryu, J. Kim, and J. Yun, “Integrated Semantics Service Platform for the Internet of Things: A Case Study of a Smart Office,” Sensors, vol. 15, no. 1, pp. 2137–2160, Jan. 2015.
[19] M. Bauer and S. Longo, “Geographic Service Discovery for the Internet of Things,” Lecture Notes in Computer Science, pp. 424–431, 2014.
[20] S. Liang and C.-Y. Huang, “GeoCENS: A Geospatial Cyberinfrastructure for the World-Wide Sensor Web,” Sensors, vol. 13, no. 10, pp. 13402–13424, Oct. 2013.
[21] Z. Ding, Z. Chen, and Q. Yang, “IoT-SVKSearch: a real-time multimodal search engine mechanism for the internet of things,” International Journal of Communication Systems, vol. 27, no. 6, pp. 871–897, Sep. 2013.
[22] Y. Zhou, S. De, W. Wang, and K. Moessner, “Enabling Query of Frequently Updated Data from Mobile Sensing Sources,” 2014 IEEE 17th International Conference on Computational Science and Engineering, Dec. 2014. [23] https://github.com/nongbottom/Peersim-Pht
[24] Y. Fathy, P. Barnaghi, and R. Tafazolli, “Distributed spatial indexing for the Internet of Things data management,” 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), May 2017.
[25] W. Wang, S. De, G. Cassar, and K. Moessner, “An experimental study on geospatial indexing for sensor service discovery,” Expert Systems with Applications, vol. 42, no. 7, pp. 3528–3538, May 2015.
BIOGRAPHIES OF AUTHORS
Ismail Nadim obtained his Bachelor’s Degree on mathematical sciences in 2007. Then, he received his engineering degree in computer sciences in 2013 from ENIM of Rabat. The author is a professor of computer sciences in engineering school (EMSI-Rabat). He is a PhD student in MISC laboratory faculty of science Ibn Toufail Kenitra Morocco. His domain of study is Web semantic, Internet of Things and data sciences.
Yassine El Ghayam currently works at the SMARTiLab. Yassine did research in Software Engineering and Artificial Intelligence. He obtained a PhD degree in 2011. He is a professor of computer sciences in engineering school (EMSI-Rabat). His domain of study is Internet of Things, artificial intelligence and machine learning.
Abdelalim Sadiq is a Professor at the Faculty of Sciences Ibn Tofail Kenitra since 2015. He was an assistant professor at the same faculty since 2009. He obtained a PhD degree in Networks and Telecommunications. His field of study is Indexating, Internet of Things, Big data and artificial intelligence. He obtained his DESA in 2002 in the field of Video Search by Content. He obtained a degree in Software Engineering in 1999 and a DEUG in 1997.