Print This Post

IoT – Seeing The Forest In spite of the Trees

Originally published on LinkedIn:

IoT – Seeing The Forest In spite of the Trees

The Internet of Things (IoT) has a long history and some of the earliest nodes on the Internet were devices rather than people. In the past few years, the idea of using the Internet to connect all manner of devices (including sensors, smart phones, wearables, and even home appliances) has entered the early hype phase, and there are projections of a multi-trillion dollar market in less than a decade. More and more devices are sprouting up, like trees growing in a forest, but what about the ecosystem in which these trees are expected to thrive? Who is thinking about the forest itself?

Most of the hype around IoT has focused on the devices themselves (the trees), rather than the software infrastructure required to register, discover, connect to, access and utilize these devices (the forest). An effective IoT will demand this infrastructure as much as it will demand the devices themselves. So far, the conversation has not focused on what such an infrastructure should provide or on how it is to be deployed. Imagine the Internet if there were no name servers (DNS), and no protocol (HTTP) for messaging between the standard internet servers. There would be no Internet.

Since the IoT is the Internet of “Things”, the Internet’s existing resources can be leveraged as part of its infrastructure. Devices can be expected to have IP addresses. Restful architectural styles can be used to get data from, and send commands to, IoT devices. This is all well and good at the low level. However, these resources alone will not provide the specialized capabilities for registration and discovery that IoT applications will require.

IoT applications will require specialized information about IoT devices. For example, the device type (e.g. oil pressure sensor), and the characteristics of the device (e.g. measurement range, accuracy, precision). Many applications will also need to know the location of the device, both in geographic terms and in relation to other components with which the active IoT device interacts. Useful knowledge of the location of an oil pressure sensor, for example, means knowing something about the piping network in which the sensor is located. It will also be necessary to understand something about the function and purpose of the piping system itself. All of this means that useful IoT applications will need to be able to access a significant amount of information about devices and their context.

Meeting these requirements will necessitate the wide deployment of IoT registries, which we believe should be based on the OGC/OASIS CSW-ebRIM open standard. There are two key reasons for such a choice.

Firstly, such registries are web services that support an open standard interface for queries and transactions that can make use of XML, JSON, or even binary encoded XML data streams using the Efficient XML Interchange (EXI) format. Through a registry, IoT devices or supporting applications can easily register themselves and provide their crucial descriptive and performance information. Equally, the same web service registry interface can support discovery of a device based on its location, its classification by type, or its relationship to other devices and physical infrastructure (e.g. room in a building).

Secondly, such registries provide a powerful, intuitive NoSQL data model that supports data and device semantics and device location. Device semantics can include classification of a device under multiple taxonomies, as well as the expression of relationships between a device and other devices or between a device and other infrastructure components. Devices can also be grouped into arbitrary logical collections, represented in a registry by a data model. This data model can then be used to model devices and provide device-specific information, as well as for describing the context of the device, something that will be required for many, if not all, IoT applications.

With such registries deployed on the Internet (much like DNS servers only specific to IoT), the ability to quickly build, operate, and evolve IoT applications will be achievable. Device manufacturers and installers will be able to register devices. Application developers will be able to quickly discover devices, along with their properties and context, making application development faster, less expensive, and less error prone.

IoT devices are emerging on a daily basis, with optimistic projections of a vast IoT market to come. With the right software infrastructure that includes, in particular, a network of open standard IoT registries, such projections can be realized. We all just need to see the forest and not focus exclusively on the trees.