What separates DDS from other publish-subscribe middleware?

3 posts / 0 new
Last post
Offline
Last seen: 2 weeks 1 day ago
Joined: 02/15/2019
Posts: 44
What separates DDS from other publish-subscribe middleware?

Hi!

Very quick question:

What separates DDS from other publish-subscribe middleware? What makes it unique from other publish-subscribe middleware?

Thanks,

Kaleem

Offline
Last seen: 1 week 5 days ago
Joined: 08/24/2017
Posts: 2

Hi Kaleem,

There are number of differentiators that provide DDS with advantages in certain situations:

  1. Scalability - DDS provides dynamic scalability through a feature called Dynamic Discovery (i.e. nodes or devices added to a DDS network will discovery other valid nodes and “transparently” connect themselves to appropriate DDS domains).
  2. Reliability - DDS includes a configurable reliability protocol that runs over even unreliable networks (for example, UDP/IP). Additionally, DDS does not use a central server so there is no single point of failure. This means that networks of DDS nodes are unaffected by the failure of other individual nodes.
  3. Performance - DDS will, where possible, create peer-to-peer connections meaning that performance is improved whenever possible.
  4. Through DDS’s Quality of Service settings, data flows (called Topics) can be configured for a variety of connection types. For example, QoS allows Alarm data, streamed video data, command/control data, etc to be treated in the most appropriate way.
  5. Possibly most importantly, DDS is data-centric. Databases are also data-centric but store and distribute “past” data whereas DDS distributes data-in-motion. 

Data-centricity in DDS means that applications use the data itself as an interface. The DDS “stack” (below the application) performs numerous other tasks on behalf of the application; for example, serialising, addressing, marshalling and securing of data can all be performed by DDS (as well as many others functions). 

This data-centricity provides advantages including, but not limited to, location transparency, application decoupling (in time), platform independence, faster development (due to less porting effort), lower cost of change and importantly data becomes a resource that is available outside of individual applications (i.e. data is not locked inside applications). 

I hope that is of help to you.

ptingeyuk

Offline
Last seen: 2 weeks 1 day ago
Joined: 02/15/2019
Posts: 44

Hi Paul,

Many thanks for the incredibly detailed and insightful response!

Thanks,

Kaleem