MQTT, a popular protocol for the Industrial IoT, offers three levels for Quality of Service (QoS). This approach to data quality met the original design goal of MQTT, which was to move data from remote devices and applications to a central location in a single hop.
But none of the three QoS options is truly adequate across a large, sophisticated IIoT system.
A higher standard is needed for a robust IIoT backbone protocol. A new white paper from Skkynet discusses a more stringent yet flexible standard, guaranteed consistency of data, something altogether different from MQTT QoS.
The Issues
- The MQTT QoS level 0 is unacceptable for Industrial IoT because messages can be lost.
- QoS levels 1 and 2 can produce long message queues that can lead to catastrophic failures when data values change quickly.
- The choice of QoS level drives difficult compromises regarding performance and message order.
- QoS levels 1 and 2 don’t propagate well past the MQTT broker. The QoS promise cannot necessarily be kept among multiple clients.
- Consistency of data can and must be guaranteed by managing message queues for each point, preserving event order, and notifying clients of data quality changes.
Guaranteed Consistency Criteria
The following four criteria must be met to guarantee consistency of data across an Industrial IoT system:
- The server must know what it is managing.
- Message queues must be managed for each data point and client.
- Event order must be preserved.
- The client must be notified when a value is no longer current.

Meeting these criteria will guarantee data consistency at each and every point, through the many connections found in today’s sophisticated IIoT systems. Guaranteed consistency is crucial for enabling each client application to maintain a true and timely view of the system.
This article is sponsored by Skkynet.
Photo courtesy of Skkynet