Federated semantic nodes to scale search process in the IoT
© Christophe; licensee Springer. 2012
Received: 9 August 2012
Accepted: 13 August 2012
Published: 3 October 2012
The Internet of Things (IoT) refers to extending the Internet to heterogeneous components such as actuators, sensors or other smart devices. In this vision, the IoT foresees novel usage of such devices through applications enabling new device-device or device-people associations. Recent interest in providing digital extensions for these things has led to billions of connected devices offering their services or data through different platforms, some of them wrapped with semantic descriptions to realize aforementioned associations through accurate search processes. However, the ubiquitous aspect of the IoT and the potential mobility of the devices that compose it, prevent from adopting a centralized approach to search and manage these associations for scalability reasons. As devices composing the IoT are geolocalized, we believe that designing a framework composed of geographically distributed and cooperating nodes with local reasoning capabilities is a much more scalable approach to realize the IoT vision. We describe our approach of such vision by creating a federated network composed of such nodes that declare their location, process semantic descriptions of devices and share deduced associations with other peers that are selected based on their location nearness.
The Internet of Things (IoT) is a recent paradigm that gained momentum by proposing to extend the Internet to a variety of things – such as Radio Frequency IDentification (RFID) tags, sensors, actuators or other smart technological components (e.g. smartphones) – which allows to foresee novel usages and applications where these things cooperate together with people, to achieve a common goal . Similar vision in Ubiquitous computing led early thinkers  to propose the use of Semantic Web technologies in order to automate this process by enhancing interoperability between these things. Hence few projects revolved around this idea. In particular, Chen et al.  as well as Katasonov et al.  coupled the use of ontologies with agents to allow heterogeneous devices to cooperate. Singh et al.  proposed a framework enabling the collaboration of different pervasive computing environments (called AS, standing for Autonomous Systems) by using Semantic Web technologies. More recently Pfisterer et al.  proposed an architecture aiming to open the access to sensors, allowing enhancing integration of data and services of heterogeneous sensors and facilitating novel applications. However, the recent interest in providing digital extensions for these things has led to billions of connected devices offering their services or data through different platforms such as Cosma, Nimbitsb, ThinkSpeakc or Thingworxd. Considering that such connected devices may be mobile or may become unavailable, the underlying huge amount of heterogeneous and continuously changing data or services offered by these distributed connected devices, bring scalability issues.
We believe that the use of Semantic Web technologies must be thought with deployment considerations in mind i.e. integrating the distributed and ubiquitous aspect of the IoT, in particular when involved things are dispatched in an indoor environment. In this paper, we propose the vision of a distributed framework composed of nodes capable of processing Semantic Web descriptions of connected devices and organized in a federated architecture. We also propose that knowledge acquired by each node, be shared with geographically nearby peers, considering location as a very important criterion when searching or associating devices. Our expectation is that finding devices or their associations in the context of the IoT will refer highly to a given location that distributed nodes of our framework will better manage. The remainder of the paper presents the overall approach of federated semantic-enabled nodes sharing their knowledge in an indoor environment, a first implementation leading to early results assessing our approach and concludes on future works.
Federation of semantically described nodes
The federation as we envision it relies on creating geographically distributed nodes managing a pool of semantically described entities (connected devices or personse) in an indoor environment. Each node composing such federation is mapped on a place e.g. room, corridor, etc. which it processes the description to efficiently share knowledge with “nearby” nodes.
Describing indoor location node
OWL Properties interlinking Places
Allows a Place to contains other places (e.g. a floor containing some rooms)
Models that two places are separated by some boudaries
Refinement of isAdjacentTo
Premise and not House
Premise and not House
Means that someone can go from one place to the other
Building or House
Buidling or House
Means that a Building or House can have annexes
Building or Premise
Allows to attach a postal address to some places
Means that places can include other places
Allows to know if a place can be searched or not
Merging location of all nodes
Sharing knowledge between federated nodes
Customized Semantic Web rules
To share knowledge about a set of managed devices or their associations, processable rules are triggered on each node. Role of such rules is to determine a set of peers interested by the knowledge of a given node in order to initiate a mechanism throwing messages that will convey the knowledge between the node and its determined peers. Rules can be added, removed and may depend on the strategy chosen to share knowledge between nodes. An example of such rule could be to notify all the places accessible from a given place P about a device having reached P. Some messages would then be generated between P and the places found by the execution of the rule.
Upon the execution of a rule, a node has to send a message containing 1) a body composed of the results to share and 2) a header composed of the appropriate route to follow in order to reach a selected peer.
As results to convey are RDF triples, the body is simply composed of these triples.
Determining the path between two nodes is obtained by processing the gathered and inferred location of all nodes. It involves the anonymous property “inverse of contains” (with contains – a defined property – and its inverse provided by a semantic engine) to find the ancestors of both the issuer and the recipient nodes. Hence, with this property two sub-graphs are built, compared and merged if a common node is found. Applying Djikstra  algorithm on this merged graph gives the shortest – and only – path between both nodes. Due to the particular nature of our federated infrastructure (Directed Acyclic Graph with no undirected cycles), we are sure that this process converges to a unique solution.
Implemented framework and early results
We have implemented the concept of a semantic node using different Semantic Web technologies. To store and retrieve RDF descriptions of connected devices (or persons), we used OWLDB  together with the OWL API . We used Pellet  coupled with customized SWRLg built-ins, to execute OWL-based rules enabling knowledge sharing process. We fed both Pellet and OWLDB with semantic profiles of entities respecting models detailed in . To determine the path between two nodes willing to share knowledge, we used the JGraphT open source library, providing features to build and process graphs. Built-ins allowing messages to be generated and sent between nodes were developed in Java, and registered in Pellet. Messages generated by these built-ins were composed of one customized HTTP Request header (X-nodes) containing the ordered list of nodes retrieved by the aforementioned algorithm and a set of triples to push in the triple store of the recipient of such information. All mentioned components were wrapped in a Web application allowing the concept of semantic node to be deployed on a servlet container such as Tomcath.
Measuring time to exchange knowledge
Number of triples
Time taken to update
store (in seconds)
less than 1
Knowledge of 1 connected device exchanged
less than 1
Knowledge of 10 connected devices exchanged
Knowledge of 100 connected devices exchanged
Knowledge of 1000 connected devices exchanged
Knowledge of 10000 connected devices exchanged
Measuring time to discover a connected device
Number of triples contained in the store
Time required to query the store (in seconds)
We propose a distributed framework composed of nodes capable of processing Semantic Web descriptions and organized in a federated architecture, in order to allow scalable search and management mechanisms for the IoT. We consider a particular deployment infrastructure, where each node of such infrastructure is mapped to a physical environment (e.g. buildings, rooms, etc.). Knowledge acquired by nodes is then shared through a notification message mechanism, based on the execution of rules. A first prototype of semantic node and an experimentation based on a simulated building have been realized to assess our concept. Future works include analyzing how the federated architecture behaves when nodes are dynamically added or removed as well as the number of requests that can be processed in parallel, compared to a centralized approach.
aCosm platform. https://cosm.com/bNimbits is a service you can use to record and share data on the cloud, http://www.nimbits.com/index.htmlcThinkSpeak an open application platform designed to enable meaningful connections between things and people, https://www.thingspeak.com/dThingWorx enables businesses to rapidly develop applications that connect people, systems, and the intelligent devices, http://www.thingworx.comeAssuming that persons have an associated profile such as FOAF, http://www.foaf-project.org/fOWL2 Web Ontology language overview, http://www.w3.org/TR/owl2-overview/gSWRL A Semantic Web Rule Language combining OWL and RuleML, http://www.w3.org/Submission/SWRL/hTomcat server, http://tomcat.apache.org/
This work was carried out within the Seventh Framework Programme under the IoT-a: Internet of Things Architecture ()http://www.iota.eu/public Integrated Project (IP), and is partly supported by the European Union under contract number: 257521.
- Atzori L, Iera A, Morabito G: The Internet of Things: A survey. Comput Netw. 2010, 54 (15): 2787-2805. 10.1016/j.comnet.2010.05.010.View ArticleMATHGoogle Scholar
- Lassila O: Applying Semantic Web in Mobile and Ubiquitous Computing: Will Policy-Awareness Help. in the proceedings of the Semantic Web and Policy Workshop, 4th International Semantic Web Conference. 2005Google Scholar
- Chen H: An Intelligent Broker for Context-Aware Systems. Adjunct Proceedings of . 2003, Ubicomp pp 183–184Google Scholar
- Katasonov A, Kaykova O, Khriyenko O, Nikitin S, Terziyan VY: Smart Semantic Middleware for the Internet of Things. Filipe J, Andrade-Cetto J, Ferrier JL (eds) ICINCO-ICSO. 2008, INSTICC Press, pp 169–178Google Scholar
- Singh S, Puradkar S, Lee Y: Ubiquitous computing: connecting Pervasive computing through Semantic Web. Inf Syst. E-Business Management. 2006, 4 (4): 421-439. 10.1007/s10257-005-0003-8.View ArticleGoogle Scholar
- Pfisterer D, Römer K, Bimschas D, Kleine O, Mietz R, Truong C, Hasemann H, Kröller A, Pagel M, Hauswirth M, Karnstedt M, Leggieri M, Passant A, Richardson R: SPITFIRE: toward a semantic web of things. IEEE Commun Mag. 2011, 49 (11): 40-48.View ArticleGoogle Scholar
- Dijkstra EW: A short introduction to the art of programming. 1971, [http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD316.PDF]Google Scholar
- Henß J, Kleb J, Grimm S, Bock J: A Database Backend for OWL. Hoekstra R, Patel-Schneider PF, http://ceur-ws.org: CEUR Workshop Proceedings 2009 (eds) Proceedings of the 6th International Workshop on OWL: Experiences and Directions (OWLED 2009), Volume 529. 2009, http://www.webont.org/owled/2009/papers/owled2009_submission_3.pdf,Google Scholar
- Horridge M, Bechhofer S: The OWL API: A Java API for Working with OWL 2 Ontologies. Hoekstra R, Patel-Schneider PF, CEUR-WS.org 2009 (eds) OWLED, Volume 529 of CEUR Workshop Proceedings . 2009, http://ceur-ws.org/Vol-529/owled2009_submission_29.pdf,Google Scholar
- Sirin E, Parsia B, Grau B, Kalyanpur A, Katz Y: Pellet: A practical OWL-DL reasoner. Web Semantics: Science, Services and Agents on the World Wide Web. 2007, 5 (2): 51-53. 10.1016/j.websem.2007.03.004.View ArticleGoogle Scholar
- De S, Barnaghi P, Bauer M, Meissner S: Service modelling for the Internet of Things. Computer Science and Information Systems (FedCSIS), 2011 Federated Conference. 2011, on, pp 949–955Google Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.