Print This Post

Registration, Discovery, & Health Monitoring (IoT)

Originally published on LinkedIn:

IoT Device Health

In the not-too-distant future, our everyday lives will be impacted by millions and millions of devices connected to the Internet of Things (IoT). These devices will include things like sensors that measure the environment or the behaviour of our bodies in response to it, actuators that control air flow or window opacity, and processes that compute the signals to be applied to the actuators or to visual display systems. Devices will be available in thousands or tens of thousands of types.

A functioning Internet of Things is going to require a reference framework of physical quantities and their associated units of measure. Every sensor that measures something, such as temperature or viscosity, will have to mean the same thing, otherwise we will have no ability to compare between sensors. This means, at very least, that there needs to be a global definition of these physical quantities, and a globally unique identifier for each one. Any sensor that measures a temperature will need to reference the global identifier for temperature.

There will be many qualified instances of these physical quantities (such as air temperature or wind speed), each with its own definition and global identifier. Since air temperature is also a type of temperature, we can expect that its definition will reference the identifier for temperature.

Every physical quantity will have associated units of measure, and the units associated with a given quantity type, for a particular system of units, should be discoverable from the physical quantity framework.

A functioning Internet of Things is also going to require that we can discover devices and determine their type (e.g. sensor, actuator, process block), their properties, and the context in which they are operating. To create IoT applications, we will need to know the role of a given device, and the function of the group of devices to which each particular device belongs, such as a thermostat that belongs to the group of devices that control room temperature. Moreover, we will also need to know to what other devices a given device is connected to.

For all this to happen, there must be simple, standard protocols and API’s for the discovery of information, and for its registration. This clearly needs to go beyond simply assigning the device an IP address. Moreover, it must also go beyond the assignment of an HTML page to the device. Information about devices, such as their connectivity, type, location, role, and the physical quantities that they measure, will need to be based on formal information models which can, themselves, be discovered, and which can be readily understood and processed by machines. Such structured data will be essential for the IoT.

The registration, discovery, and monitoring of the health of devices is as critical a function of an IoT infrastructure as the development of IP-addressable devices themselves.

Many devices may be capable of monitoring their health, and this should be part of the discovery process. Moreover, the supporting infrastructure should support both synchronous “on demand” requests for device health, as well as asynchronous monitoring of device health based on some interrupt-driven model.

Since new device types and new device paradigms are to be expected, it is essential that the information captured in registration be based on an information model that is not only discoverable, but also extensible. Within any given application domain, such as Digital Oil Fields, there may need to be regulators that control these information models.

Registration should be a simple and verifiable process. Devices may register themselves, or registration may be accomplished by a separate external application. Registration should result in the generation of a suitable token with the global identifier of the registered device, which should enable the addressing of the device and the determination of its health status.