Why is IoT Interoperability Hard(er)?
We have become accustomed to the benefits of modularity and interoperability that the Internet and www provide. It seemed reasonable to expect that the application of their architectural blueprint would bring the same benefits to data and control exchanges in IoT systems. Yet, IoT interoperability remains elusive in practice with no quick fix on the horizon. Why is that so?
It turns out that IoT interoperability is inherently a more difficult problem to solve. One of the primary reasons is that IoT imposes a stricter requirement of machine-level semantic interoperability, which is not a part of the general requirements or practice on the Internet and the world-wide web today. We briefly illustrate that www commonly does not require and (for the most part) provide machine-level semantic interoperability, followed by an outline of why IoT systems need to and how the problem is approached.
Internet Interoperability – M2M Semantics Optional
Modularity and interoperability generally imply that servers and clients can be built and acquired independently, on different platforms and by different vendors, and are expected to be able to connect and exchange data with each other provided they correctly implement the applicable standards. The Internet provides methods and protocols to exchange data between servers and clients. This is primarily accomplished by implementing the Internet protocol stack for networking, transport and application layers. Data can be posted almost anywhere on the Internet and be read by compliant www clients anywhere – voila interoperability on the global scale. The data, predominantly destined for consumption by humans, are annotated for the intended manner of presentation using tools such as HTML. Rendering at the receiving end implies displaying of the text with the author-specified appearance, such as the font type, and proper placement of images and other types of media. But beyond the essentially mechanical rendering, there is no semantic interpretation of the data by the receiving client machine. Semantic interoperability is between the content authors and their human consumers, not between the communicating machines. The semantics and meaning of the data are defined by the natural language in which the text is authored. If you cannot read or understand that language, no semantic interoperability is achieved. As a quick check, just pull up a web site in an unfamiliar language, e.g. Asahi Shimbun in Japanese in my case.
As an aside, one of the IoT data standards in progress, W3C Web of Things, was early on positioned as aiming to become the “HTML of things”. Even if it had succeeded at that, it would have fallen short of providing the machine-level semantic interoperability required by IoT systems.
IoT Interoperability – M2M Semantics Required
In IoT systems, data exchanged between machines at endpoints are sensor readings and actuator commands. These are typically device- and domain-specific numbers such as temperature readings, with annotations such as the nature of measurements and units of measure, and control strings that do things like change a set point. Applications (not humans) at the receiving end need to be able to “understand” and interpret messages in the payload in order to process them appropriately. For this to work, there has to be some common understanding between the sending and the receiving machines on what the data means and how to encode and annotate them for transmission and to correspondingly decode them upon reception.
The problem here is that there is no commonly accepted convention for representing data in IoT systems. A number of standardization efforts are under way to address the problem of semantic IoT interoperability.
Addressing the Problem: IoT Standards
Standards specifications generally approach the task by defining abstract models of the physical IoT things, commonly using variants of an object-oriented approach. This often starts by defining the corresponding classes or object types, such as a temperature sensor. Since objects are modeling real-world things, there is some implied semantics defined by the intrinsic nature of the thing that is being modeled. For example, a temperature sensor is commonly understood to measure the temperature of something based on its characteristics and placement, such as ambient air temperature or water temperature in a pipe. Real things can have a variety of properties that need to be modeled, such as reported data values and types of engineering units used. To complicate things further, IoT things can have specific behaviors and interact with their environment through actions, typically modeled as methods and API calls. Often it is useful to convey the context in which things operate, which requires addition of metadata. More complex things, such as thermostat with a programmable schedule, a temperature sensor, and an HVAC actuation – may be modeled as compositions of the constituent basic thing types. Other components of IoT standards may include definition of the environment in which the things operate, such as protocols that they support, naming and discovery conventions, and security and authentication requirements. And until arrival of useful IoT ontologies, these need to be specified for each and every conceivable type of IoT thing available now and in the future.
All of these complexities make the work of IoT information-model standardization demanding and painstaking. Even when completed, a specification can only guarantee interoperability among the endpoints that implement it, sometimes referred to as intra-domain or inter-specification interoperability. True interoperability should be among all IoT devices, which requires creation of meta-models to which other models may be mapped. There is work under way on several of those too.
And the Future Is?
The task may be arduous, but the reward is big. When IoT interoperability is achieved, it will be possible for IoT system components to be developed independently, built on different platforms by different vendors, and be expected to interoperate when installed and connected. That accomplishment will likely accelerate the growth and adoption of IoT on a path and scale precedented by the Internet. An earlier influential McKinsey report estimated that achieving interoperability would unlock an additional 40% of IoT market value.
The bad news is that the problem is hard, the existing standard efforts are not compatible, and (for the most part) are not coordinated which results in splinters and overlaps. The good news is that the problem is now much better understood, an outline of the characteristics of the common solution is beginning to emerge across the landscape, and the need for cross-specification interoperability is recognized and being worked on. We’ll get there, it’s just that what initially looked like a clear shortcut turned out to be a longer and more meandering way around.