Data Distribution Service (DDS) for Real-time Systems is the communications standard for the Industrial Internet of Things (IIoT). DDS specifies a data-centric messaging system. It connects the components of an industrial system together with the physics speeds, extreme reliability, and scalable architecture that industrial systems need.

Conceptually, DDS is simple. Distributed systems must share information. Most middleware works by simply sending that information to others as messages. DDS does this too, of course. However, DDS conceptually has a local store of data, which looks to the application like a simple database table. When you write, it goes into your local store, and then the messages update the appropriate stores on remote nodes. When you read, you just read locally. The local stores together give the applications the illusion of a global data store. Importantly, this is only an illusion. There is no global place where all the data lives; that would be a database. With DDS, each application stores locally only what it needs and only for as long as it needs it. Thus, DDS deals with data in motion; the global data store is a virtual concept that in reality is only a collection of transient local stores. Of course, this is a simplistic view. For example, in a real system, not every other point needs every item in your local store. So DDS gets smart about sending just what it needs. Messages don’t always reach their destinations, so the middleware implements reliability. Systems change, so the middleware dynamically figures out where to send what, and (importantly) gets smart about telling participants when something has changed. The total data size is huge, so DDS intelligently filters and sends only the data each point really needs. Updates need to be fast, so DDS sends multicast messages to update many remote applications at once. Data formats evolve, so, DDS keeps track of the version used by various parts of the system and automatically translates. The true power comes from specifying all these things: what’s in a store, what “Quality of Service” guarantees there are between participants, and how the parts can track and cope with a very dynamic environment. The DDS specification defines API, wire protocol, etc….