Data Distribution Service (DDS) is another publish/subscribe protocol that is designed by the Object Management Group (OMG) for M2M communications [DDS].
The basic benefit of this protocol is the excellent quality of service levels and reliability guarantees as it relies on a broker-less architecture, which suits IoT and M2M communication.
It offers 23 quality-of-service levels which allow it to offer a variety of quality criteria including security, urgency, priority, durability, reliability, etc. It defines two sublayers: data-centric publish-subscribe and data-local reconstruction sublayers.
The first takes the responsibility of message delivery to the subscribers while the second is optional and allows simple integration of DDS in the application layer. The publisher layer is responsible for sensory data distribution.
The data writer interacts with the publishers to agree on the data and changes to be sent to the subscribers.
Subscribers are the receivers of sensory data to be delivered to the IoT application.
Data readers basically read the published data and deliver it to the subscribers and the topics are basically the data that is being published.
In others, words, data writers and data readers take the responsibilities of the broker in the broker-based architectures.