Table of contents
1.
Introduction
2.
Features
2.1.
Open Interface
2.2.
Advanced Integration Capabilities
3.
Architecture
3.1.
Model
3.2.
DDS PROTOCOL
3.3.
Working
4.
Applications
4.1.
Open Standardization Process
4.2.
Versatile Framework
5.
Frequently Asked Questions 
5.1.
Name the two layers in the DDS protocol stack.
5.2.
Name a programming language for which DDS is a standard messaging API?
6.
Conclusion
Last Updated: Mar 27, 2024

DDS Protocol

Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

DDS stands for Data Distribution Service, an open standard for real-time applications. The Object Management Group Data Distribution Service, is a middleware protocol and API standard that aims to enable high-performance, interoperable, scalable data exchanges using a publish-subscribe pattern.

Data Distribution Service (DDS) is the only open standard for messaging that supports the enterprise's unique needs and real-time systems. It addresses applications requiring real-time data exchange like aerospace, defense, air-traffic control, simulation, testing, etc. Its software connectivity standards enable secure real-time information exchange, modular application development, and rapid integration in industrial IoT systems.

Features

Open Interface

DDS supports the development of loosely coupled, modular, and open architecture systems. DDS eliminates the stovepipe, closed and proprietary architecture by supporting well-defined interfaces between components and subsystems. This helps in reducing the integration, maintenance, and upgrade costs while promoting ease of reuse and competition at the subsystem and middleware levels.

  • Portability
    It is designed and developed in such a way that it supports all the programming languages. It is the standard messaging API for some of the most popular languages like C/C++, and it also supports Java, Ada, C#, and REST/HTTP interfaces.
     
  • Wire Interoperability
    DDS Real-time Publish-Subscribe wire protocol provides seamless interoperability across platforms and programming languages.
     
  • Semantic InteroperabilityApplications communicate among themselves using discoverable data objects typically described by a standard data model that can be specified using the OMG Interface Definition Language.
     

Advanced Integration Capabilities

It standardizes powerful messaging semantics, which helps in reducing the overall development and integration costs while improving the system's robustness.

  • Data-centricity
    Data-centric publish/subscribe messaging provides loose coupling and reduces the application and integration logic. It helps in scaling to systems of systems.
     
  • Performance
    DDS meets the performance requirements from enterprise to high-performance real-time systems. Its implementation outperforms other standards by up to 3000 times.
     
  • Quality of Service
    DDS defines a set of QoS policies that help control the dynamic discovery, content-aware routing, fault tolerance, and deterministic real-time behavior.
    • Reliability: resends the lost messages
    • Presentation: It preserves the order in which it needs to deliver the data.
    • Durability: It keeps delivered data for late joiners.
    • Time-based filter: It controls how frequently it should receive data.
    • Content filtration: It controls what data should be received based on the content
    • Lifespan: It decided how long to keep the data.

Architecture

Model

It is a networking middleware that simplifies complex network programming. It uses a publish-subscribe pattern for sending and receiving data between the nodes. Nodes that produce information create topics and publish samples, DDS delivers the samples to subscribers that declare an interest in that topic. It handles transfer chores such as message addressing, delivery, and flow control. Each and every node can be a publisher or a subscriber, or both simultaneously.

DDS PROTOCOL

  • The protocol uses broker-less architecture in the Internet of Things, unlike MQTT and CoAP protocols.
  • It is an IoT protocol developed by Object Management Group for Machine to Machine Communication.
  • It uses a publish-subscribe methodology for exchanging data.
  • It uses multicasting to bring high-quality QoS to the applications.
  • In the DDS protocol, there are two layers named DCPS and DLRL.
  • The DCPS stands for Data-Centric Publish-Subscribe, it is a standard API for a data-centric, topic-based, and real-time publish/subscribe layer. The function of this layer is to deliver information to subscribers.  
  • The DLRL stands for Data Local Reconstruction Layer, it is a standard API for creating object views from the collection of topics. Its function is to provide an interface to DCPS functionalities. This enables sharing of distributed data among devices that are IoT enables.

Working

Data Distribution Service (or DDS) is a fully distributed Global Data Space, which makes it fully distributed to avoid introducing a single point of failure or bottleneck.

  • Applications can autonomously and asynchronously read as well as write data in the Global Data Space.
  • Since publishers and subscribers are dynamically discovered, they can join or leave the Global Data Space at any time.
  • Publishers and Subscribers show their intention to produce or consume a specific type of data, such as topics.
  • Subscriptions are matched by taking into account the topics with details like name, data type, etc.
  • All the subscriptions are dynamically matched, and the data flows from the publisher to the subscribers.

 

Applications

Open Standardization Process

DDS is an open standard. The Object Management Group is one of the largest computer industry associations of which organizations like IBM, Microsoft, Oracle, Red Hat, etc., are a part. Any organization can join and participate in the Object Management Group standardization process, the adopted standards are available on the OMG website for free.

Versatile Framework

DDS is a chosen and required connectivity standard for mission and safety-critical applications in many industries.

  • DDS and TSN converge two communications standards for deterministic, real-time, and end-to-end distribution.
  • DDS and FACE: It is used in the military avionics system.
  • DDS and ROS 2: production-grade deployment in robotics systems.

Also see, Difference Between Verilog and Vhdl

Frequently Asked Questions 

Name the two layers in the DDS protocol stack.

Data-Centric Publish-Subscribe (DCPS) and Data Local Reconstruction Layer (DLRL) are the two layers in the DDS protocol stack.
 

Name a programming language for which DDS is a standard messaging API?

DDS is a standard messaging API for the C++ programming language.

Read about - Lock based protocol in DBMS

Conclusion

In this article, we have extensively discussed about the DDS protocol: features, architecture, and application.

After reading about the DDS Protocol, are you not feeling excited to read/explore more articles on protocols? Don't worry; Coding Ninjas has you covered. To learn, see what is prims algorithm - MSTwhat is IoT, and network security using firewalls.

Recommended Read: 

What is arduino uno

Clean Architecture

If you wish to enhance your skills in Data Structures and AlgorithmsCompetitive ProgrammingJavaScript, and many more, then you should check out our Guided path column at Coding Ninjas Studio. We at Coding Ninjas Studio organize many contests in which you can participate. You can also prepare for the contests and test your coding skills by giving the mock test series available. In case you have just started the learning process, and your dream is to crack major tech giants like Amazon, Microsoft, etc., then you should check out the most frequently asked problems and the interview experiences of your seniors that will surely help you in landing a job in your dream company. 

Do upvote if you find the blogs helpful.

Happy learning!!

Live masterclass