Emerging and future Internet-of-Things (IoT) systems will increasingly comprise mulitple heterogeneous internet connected objects (e.g., sensors), which will be operating across multiple layers (e.g., consider a camera providing a view of a large urban area and another focusing on a more specific location within the same area). Likewise, IoT applications will have to collect and analyze information from multiple heterogeneous objects, or even to compose services based on the interactions of multiple objects. Dealing with multiple sensors and internet connected objects, at multiple levels, requires:
- Uniform representation of IoT data and operations, preferrably including some standards-based representation for sensor data.
- Flexiblity in reallocating and sharing resources (including sensors, devices, datasets and services).
- Deploying and using resources (such as sensors) independently from a specific location, application or device.
These requirements are closely associated with the interoperability across IoT sensors and devices, which refers to the ability of two or more autonomous, heterogeneous, distributed digital entities to communicate and cooperate. In this definition of IoT nodes and elements interoperability, different entities are able to exchange and share both information and services, despite their major differences in programming platform, application context or data format. Furthermore, interoperability implies that their communication or collaboration does not require any extra or special effort from the human or machine leveraging the results of their collaboration.
The fulfillment of these interoperability requirements has been addressed by early sensor and WSN middlware frameworks, such as Global Sensor Networks and its X-GSN extensionwhich is part of our OpenIoT project. Furtheremore, standards-based implementations using Open Geospatial Consortium (OGC) standands have also emerged such as the Sensor Web project and the 52north project. OGC has introduced Sensor Web Enablement (SWE) as in aAn interoperability framework for accessing and utilizing sensors and sensor systems in a space-time context via Internet and Web protocols. OGC specifies a pool of web-based services, which can be used to maintain a registry/directory of available sensors and observation queries.
These services are built around the same web standards for describing the sensors’ outputs, platforms, locations, and control parameters, which are used across applications. Standards comprise specifications for interfaces, protocols, and encodings that enable the use of sensor data and services. The SWE standards are motivated by the following use cases:
- Quick discovery of sensors, which that can meet certain requirements and constraints in terms of location, observables, quality or even ability to perform certain tasks.
- Acquire multi-sensor information in standard formats, which can be readable and interpretable by both humans and software processes.
- Access sensor observations in a common manner, and in a form easily customizable to the needs of a given application.
- Management and handling of subscriptions in cases towards receiving alters upon the occurrance or measurement of specific phenomena.
Among the most prominent SWE standards-based modelling language are:
- Sensor Model Language (SensorML), which provides sandard models and XML Schemas for describing sensors systems and processes, while at the same time providing information needed for discovery of sensors. It also describes the location of sensor observations and the processing of low-level sensor observations.
- Transducer Model Language (TransducerML), which provides a conceptual model and XML Schema for describing transducers and supporting real-time streaming of data to and from sensor systems.
- Observations and Measurements (O&M), which provides Standard models and XML Schemas for encoding observations and measurements from a sensor, both archived and real-time.
Likewise, SWE prescribes the following web services:
- Sensor Observation Service (SOS), which provides interfaces for requesting, filtering, and retrieving observations, along with information about sensor system.
- Sensor Alert Service (SAS), which provides an interface for publishing and subscribing to alerts from sensors.
- Sensor Planning Service (SPS), which provides the interfaces for requesting user-driven acquisitions and observations.
- Web Notification Service (WNS), which provides a standard Web service interface for asynchronous delivery of messages or alerts from SAS and SPS web services and other elements of service workflows.
SWE provides a very good basis for the implementation of interoperable applications based on open standards. It’s also a very good basis for understanding several IoT concepts and common services, such as discovery, location-awareness, data acquisitions, subscriptions, sensor/IoT systems, as well as the merits of standards and interoperability when it comes to building non-trivial systems. At the same time, it provide fertile ground for understanding and implementing semantics towards the vision of semantic sensor web.
The Semantic Sensor Web is based on the enhancement of existing Sensor Web models with semantic annotations towards producing sematic descriptions and enabling enhanced access to sensor data. The X-GSN project (part of Openiot.eu) provides a good platform for analyzing this process, since it enriches sensor descriptions (data/metadata) with semantic annotations. This is a very popular concept, which is increasingly become part of all non-trivial IoT systems (e.g., the emerging one M2M standard is enhanced with support for semantic annotations, which has been demonstrated in the scope of the H2020 FIESTA project). Indeed, semantic annotation ensure model-references to ontology concepts, thus enabliing more expressive and interoperabilty descriptions of sensor concepts.
SWE and the projects that implement it are mostly focused on sensors, sensor networks and their interoperability, without adequately addressing other IoT devices and aspects. Indeed, the rising complexity of IoT systems are posing additional interoperability challenges, including interoperability across whole IoT ecosystems, including interoperability across different devices, security and privacy mechanisms, things & services directories and more.
An in-depth discussion of IoT interoperability issues are provided in the scope of semantic interoperability position paper of the Internet of Things Research Cluster of the Alliance for IoT Innovation (AIOTI), which EU’s H2020 programme has recently funded entire projects (such as InterIoT, symbIoTe, bigIoT) aimed at providing interoperability across IoT ecosystems. This is particularly important as IoT interoperability is (according to McKinsey in its “Unlocking the potential of the Internet-of-Things report“) expected to be the source of the 40% of IoT’s market value in coming years. We will thus revisit the interoperability discussion in future posts of this series, when discussing IoT/cloud integration and IoT ecosystems.