Semantic Interoperability in the Internet of Things

Posted by Kai Kreuzer on March 21, 2016
I had the honor to participate in a workshop on IoT Semantic Interoperability (IOTSI) organized by the Internet Architecture Board (IAB) and hosted by Ericsson in Santa Clara.
There is no doubt that interoperability is a huge issue today and the idea of the workshop was to analyze the situation, define potential ways forward and especially to bring relevant people and organisations together to ignite discussions and cooperations. A huge number of people applied for workshop and many had to be rejected in order to keep the workshop at a reasonable size.

As a result, there were representatives from many major organizations and corporations:
Allseen Alliance, ARM, Deutsche Telekom (me), Eclipse IoT (me as well), Ericsson, Google, Huawei, IETF, Microsoft, NIST, OMA, Open Connectivity Foundation (OCF), Open Geospatial Consortium (OGC), Oracle, SmartThings, ZigBee Alliance, and many more. A natural reflex when being confronted with the heterogeneity in IoT is to ask for establishing a standard. One of my favorite xkcd comics nicely illustrates this:

Interestingly, the reality is even worse. With IoT on the top of the Gardner's hype cycle, new consortiums are created at a speed never seen before - market consolidation has clearly not yet started.

Significant efforts already went into every single standard/consortium/product - clearly no one is willing to give up on this investment and nobody expects this from the others for the same reason. The discussion is therefore more about translation between the different ecosystems and this makes peer-to-peer communication schemes across systems very unlikely, since they have different data models, interaction models and different security mechanisms, which are simply incompatible. As detailed out in my IOTSI position paper, there is clearly a need for an intermediator like a home gateway.

Major parts of the discussion were in my opinion more on the technical interoperability (how to send an ON/OFF boolean value from one system to another) than on the semantics. I would claim that Eclipse SmartHome is quite a step ahead of many others as it offers technical interoperability of dozens of systems out of the box and it has an architecture that was designed to support exactly this. When briefly demoing the Tesla binding, I was asked how realistic this is as people seemed to believe that this is merely a marketing showcase. Being able to answer that it is productively used by people (e.g. for smoothly working with an EV charger) and that it addresses their real needs is something where Eclipse SmartHome clearly stands out from many research projects or consortium works.

Nonetheless, from my point of view we have so far only reached a technical interoperability, since the developer, system admin or end user is still the only one that knows the semantics of certain actions, like e.g. what a switch in the app REALLY does (no, it does not switch a smart plug, it switches e.g. the radio plugged into it) - this meaning is not formally available to algorithms, but exactly this is required to bring more advanced features, such as voice control, machine learning or artificial intelligence - and it is a prerequisite to achieve semantic interoperability.

One thing I have learned is that "ontology" is a word most people are afraid of and thus its use is avoided as much as possible. The reason for this is probably that it has many facets that make its concept fuzzy and difficult to grasp and that it feels that you need to be a scientist to deal with it. Interestingly, these are exactly the problems, an ontology tries to solve: It captures a commonly agreed vocabulary, which makes all the implicit assumptions, that are inherent to a natural language, explicit.

An ontology is therefore the foundation that is needed for semantic interoperability, since it makes sure that the meaning of words is the same across different systems. TNO did a major work in this regard on behalf of the European Commission in the domain of smart appliances by extracting the commonalities of more than 20 established systems and creating the SAREF ontology out of it. The ownership of SAREF is currently transferred to ETSI and it will play an important role in the semantic definitions within the global oneM2M specification. It therefore seems to be a promising candidate for introducing semantics in Eclipse SmartHome.

An interesting aspect of providing semantical information to applications is that the notion of a device becomes almost irrelevant. As argued in my position paper, on an application level we are rather talking about services and information - exactly the same way as you would regard any other web service on the Internet. The difference for IoT applications is the fact that the services have locality. The "where" is therefore vitally important and it must be an integral part of any IoT semantic.

Introducing semantical concepts is going to be an interesting way forward for Eclipse SmartHome and although there will be challenges, I am confident that something great will come out of it. If you are an expert in this field and want to help on reducing friction in IoT interoperability, please join me on the journey!