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
Describing nodes mapped onto places of a given indoor environment requires to capture semantics associated to indoor location concepts as in this case, GPS coordinates of different rooms may not be obtained nor be sufficient to discriminate proximity between different nodes. We address such requirement by using the Web Ontology Languagef (OWL) to define a model representing structures of buildings, rooms or other premises. In this model (Figure 1), the Place concept represents a space delimited by physical boundaries (such as walls) and can be narrowed to Building, Floor, Premise or other kind of structures this model defines. Conjointly to the definition of a Place, some OWL properties (mentioned in Table 1) allow different places to be interlinked, resulting to Places being completely described and localized relatively to others.
Merging location of all nodes
Sharing knowledge between different nodes requires for a node to know its neighbors (i.e. the other nodes mapped onto Places near the Place represented by this one). Hence, assuming nodes have been described following aforementioned model, the federation uses a double cascading process to 1) merge and infer on all location data in the top-node of the federation and 2) spread such processed information back to all nodes (Figure 2). Result of this process is a global knowledge on nodes and their “neighbors”. As based on a set of nodes composing the federation at a given time, the process can be replayed to update such knowledge if nodes are added or removed from the federation.
Sharing knowledge between federated nodes
To share knowledge between nodes, we apply a two steps process displayed in Figure 3. First, we execute a set of rules against the aggregated location data in order to select a set of nearby peers. Then, for each fact a node has learned (new association, new semantic entity having joined or left a Place, etc.), a message is created from this node to all selected recipients that can update their respective triple stores (recall that we process semantic descriptions, composed of RDF triples usually pushed in a triple store) dedicated to storing both semantic descriptions and such shared fact.
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.
We tested our approach by generating a federated network composed of 26 nodes (Figure 4) with up to four management levels (i.e. the maximum number of nodes between a leaf of the federation and the top-node is equal to four). To assess our approach with a sufficient amount of semantic profiles to be shared and searched, we generated 100000 semantic profiles resulting in approximately 1 million of triples. We measured that the time to exchange one triple between two nodes of this federation was under a second (see Table 2), confirming process feasibility (assuming that only few triples would be exchanged upon the discovery of associations or devices). In parallel, we measured that the time required to discover a connected device was growing exponentially with the number of semantic profiles inserted in the queried triple store (see Table 3). These assessments strengthened then our concept of smartly cooperating semantic nodes, to search for connected devices and their associations.
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.
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. 2005
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–178
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.
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.
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.
Authors and Affiliations
Bell Labs Research, Alcatel-Lucent, Route de Villejust, 91620, Nozay, France
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.