What is dds
Last updated: April 1, 2026
Key Facts
- DDS is a real-time distributed data communication middleware managed by the Object Management Group (OMG)
- It uses a publish-subscribe model where applications exchange data through topics without direct point-to-point connections
- DDS includes Quality of Service (QoS) features that allow applications to specify reliability, latency, and delivery requirements
- ROS (Robot Operating System) version 2 uses DDS as its communication middleware, making it essential for modern robotics
- DDS is decoupled and scalable, allowing hundreds of nodes to communicate efficiently without a central broker
Overview of DDS
DDS (Data Distribution Service) is a standards-based, real-time middleware platform designed to facilitate communication between distributed applications. It was standardized by the Object Management Group (OMG) in 2003 and has since become the foundation for real-time systems requiring low latency and high reliability. DDS enables decentralized communication architectures where applications can publish and subscribe to data streams without maintaining direct connections.
How DDS Works
DDS operates on a publish-subscribe model, a communication pattern where publishers produce data and subscribers consume it through named topics. When an application publishes data to a topic, all subscribed applications automatically receive that data without needing to know about each other. This decoupling makes systems more flexible and scalable. Unlike client-server models, DDS does not require a central broker or coordinator, allowing it to function efficiently even with hundreds of interconnected nodes.
Quality of Service (QoS)
One of DDS's most powerful features is its comprehensive Quality of Service (QoS) framework. QoS policies allow applications to specify requirements such as reliability (best-effort vs. reliable delivery), latency budgets, bandwidth limitations, and data durability. This flexibility enables DDS to serve both applications requiring absolute guarantees (like safety-critical systems) and those tolerating occasional data loss for speed (like video streaming). QoS negotiation ensures that publishers and subscribers operate compatibly.
Applications in Robotics
DDS is particularly prominent in robotics and autonomous systems. ROS 2 (Robot Operating System version 2) adopted DDS as its primary communication middleware, making it essential knowledge for roboticists. In autonomous vehicles, for instance, different subsystems—perception, planning, control, and diagnostics—use DDS to exchange sensor data and commands in real time with guaranteed latency. The middleware's ability to handle complex, multi-node systems makes it ideal for complex robotic platforms.
Advantages Over Alternatives
Compared to other middleware solutions like RabbitMQ or Kafka, DDS excels at real-time determinism. It offers no single point of failure since there is no central broker, improving reliability for mission-critical systems. DDS also provides language and platform independence, supporting C++, Python, Java, and other languages across different operating systems. Its standardized nature ensures interoperability between implementations from different vendors.
Industries and Use Cases
Beyond robotics, DDS is used in autonomous vehicles, aerospace, defense systems, industrial automation, and IoT networks. In autonomous vehicles, DDS coordinates communication between LiDAR sensors, cameras, processing units, and actuators. In aerospace, it manages communication in avionics systems where reliability is non-negotiable. The military uses DDS for command and control systems where real-time performance is critical.
Related Questions
Is DDS the same as ROS?
No, DDS is middleware for real-time communication, while ROS (Robot Operating System) is a complete robotics framework. ROS 2 uses DDS as its underlying communication layer, but DDS can be used independently in non-robotics applications requiring distributed real-time systems.
What is the publish-subscribe model in DDS?
In the publish-subscribe model, applications publish data to named topics and other applications subscribe to those topics. Publishers and subscribers are decoupled and don't need to know about each other, making the system more flexible and scalable than direct point-to-point communication.
How does DDS differ from message queuing systems like RabbitMQ?
DDS is optimized for real-time determinism with no central broker, making it ideal for low-latency systems. Message queuing systems like RabbitMQ use a broker model and prioritize durability over latency, making them better for non-time-critical distributed systems.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- Wikipedia - Data Distribution ServiceCC-BY-SA-4.0
- OMG - Data Distribution Service SpecificationOMG Standard