The Industrial Internet Consortium (IIC) recently released the Industrial Internet Connectivity Framework, the first technical publication providing a comprehensive guide for industrial internet of things (IIoT) communications. The framework results from a multiyear collaboration of IIC members.
The IICF defines the role of connectivity as the ability to exchange data among participants within a functional domain, across functional domains, within a system, and across systems. The data exchanged may include sensor updates, events, alarms, status changes, commands, and configuration updates.
The IICF also introduces a new IIoT connectivity stack model that is an evolution of the four-layer internet stack model (c.1989) and the seven-layer OSI stack model (c.1994) with IIoT considerations added in. The new IIoT connectivity stack model, shown in the figure below, is notable for clarifying the layers above the networking layer; specifically, it introduces a new framework layer and clarifies the transport layer.
Most notably, the IICF defines the minimum expectation: An IIoT connectivity stack provides syntactic interoperability between IIoT components and subsystems. Syntactic interoperability is the unambiguous exchange of structured data between participants. The IICF clarifies that syntactic interoperability is the essential building block for interoperable systems and thus is critical for unleashing the IIoT’s potential.
The framework layer in the IIoT connectivity stack is responsible for providing syntactic interoperability. The minimum expectation of this stack is that the connectivity infrastructure is able to handle sharing of structured data types among participants, regardless of the computing platform or the programming language that applications use.
So, what does syntactic interoperability mean in practice? Consider a scenario in which a participant wants to share a data type containing a string and two numbers. The other participants may be on different platforms that may have been built at different times by different people in different places using different programming languages.
Syntactic interoperability ensures that the data type is interpreted unambiguously by all parties. That requires the connectivity infrastructure to maintain sufficient context, including, for example, the string representation (e.g., ASCII or Unicode), the number representation (e.g., integer or floating point), and the field sizes and names. It also requires that the connectivity infrastructure encode the data on the wire in an unambiguous manner such that it is decoded correctly by the connectivity infrastructure independently of the implementation, computing platform, or programming language.
So, how does the new IIoT connectivity stack model juxtapose with current IIoT connectivity standards? A connectivity standard may span multiple layers of the IIoT connectivity stack; it may (or may not) provide all the functions of a layer; it may place different priorities on the typical considerations for each layer; and/or it may place different weights on various system architectural qualities.