The Object Management Group (OMG) Data Distribution Service (DDS) is an open international middleware standard that supports data-centric paradigm and publish-subscribe communication.
DDS aims to enable real-time, dependable, high-performance and interoperable data exchanges for large-scale distributed systems.
MilSOFT DDS is a data sharing infrastructure that implements both the OMG DDS programming interface and DDS-RTPS wire protocol.
It complies with the following specifications:
DDS for Real-time Systems (Version 1.2)
DDS Interoperability Wire Protocol (Version 2.1)
TCP/IP PSM for DDS-RTPS Protocol (Version 1.0)
DDS Security (Version 1.0)
Web-Enabled DDS (Version 1.0)
Extensible and Dynamic Topic Types for DDS (Version 1.1)
MilSOFT DDS documents
What is DDS?
DDS can be characterized with
Why would I favor MilSOFT DDS?
- data-centricity (middleware is aware of the data)
- publish-subscribe architecture (loose coupling, scalability)
- decentralized structure (no brokers or servers, peer-to-peer)
- low latency (real-time)
- dynamic discovery (plug and play)
- highly tunable interface (rich set of QoS policies)
- asynchronous data sharing
- redundancy, fault-tolerance mechanisms
Because you can
What does MilSOFT DDS ship?
- speed up design, development, integration, test and deployment of complex distributed systems
- have location transparency against dynamic configuration changes
- tailor your data via QoS policies and filtering, write less code and have less bugs
- build highly available systems with no single point of failure
- have low latency / high throughput (see the benchmark)
- utilize reliable multicast, have great fan-out
- build hardware, operating system and programming language independent systems
- share data asynchronously among multiple readers/writers
- extend and evolve your systems without modifying existing ones
- generate DDS related code and isolate developers from DDS details
- listen and inject DDS data to your systems
- benefit high-performance, zero-copy and no dynamic resource allocation after initialization
- enjoy a well-documented middleware and support
- delegate to a rich set of QoS policies, let the middleware do the job for you:
- durability (DurabilityService enables transient and persistent durability)
- content filter
- time-based filter
MilSOFT DDS provides
Is MilSOFT DDS applicable for IoT/IIoT?
- DDS Compliance
- Minimum Profile (mandatory features)
- Content-subscription Profile (ContentFilteredTopic, QueryCondition classes)
- Persistence Profile (transient and persistent durability kinds)
- Ownership Profile (exclusive ownership kind, ownership strength and history depth > 1)
- DDS-RTPS Compliance
- Compliant with the protocol specification
- Routing Service
- bridge your distributed systems over WAN
- route data securely via TCP
- go through firewalls and NAT
- filter data
- Recording Service
- record and replay real-time data
- analyze, simulate, test, debug your system
- take notes, mark events
- filter data
- persist data in MongoDB
- WebDDS Service
- integrate your systems with web
- access DDS global data space via web technologies
- utilize a simple, reduced DDS model
- DDS Security
- authentication of domain participants
- access control of operations
- cryptography of exchanged data
- logging of events
- DDS Extensible Types
Yes, it certainly is.
MilSOFT DDS is the right choice for systems with diverse communication needs.
DDS is the proven data connectivity standard for IoT and the unique paradigm to cover the requirements of device-to-device, device-to-cloud and cloud-to-cloud communication patterns.
Check out this comparison of DDS and other IoT protocols including MQTT, AMQP and CoAP:
How Does DDS Compare to other IoT Technologies?
Do you have any benchmarks?
Yes, MilSOFT DDS is benchmarked in terms of latency and throughput.
Here is the benchmarking environment:
- 2 x Intel Xeon E5-2620v3 Processor
2.40 GHz clock speed, 15MB cache, 6 cores/CPU
- 32 GB Memory
- HP 1Gb 331i Ethernet Adapter, MTU 1500B
- Cisco C891F Integrated Services Router
8-port 10/100/1000 Mbps managed switch, 1-port GE, 1-port FE
- CentOS Linux release 7.2.1511 (Core)
Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
and the benchmark configuration:
What are the application areas of MilSOFT DDS?
- C++ API
- keyed type
- single topic
- reliable reliability
- keep-all history
- volatile durability
- sample size varies from 64B to 63KB
- 2 hosts, 1 publisher / 1 subscriber
Latency benchmark illustrates one-way latency in microseconds (RTT with sample size reply / 2).
Throughput benchmark illustrates network bandwidth utilization in Megabits per second.
MilSOFT DDS is a proven technology that provides critical support to high value projects from extreme real-time to near real-time among both Turkish national and international defense and enterprise markets.
Some of these projects are:
Can I try MilSOFT DDS? / I have more questions.
- Command and Control Systems (Turkish Cost Guard SAR Ship Command Control System)
- Tactical Data Links (GENESIS Tactical Data Link System Link 11/16, MILGEM Link 11/16 Multilink system, Turkish New Type Submarine Program Link 11/22 System)
- ICT Solutions (TURKUAZ Network Centric Infrastructure)
- UAV-TIES-RVT (Turkish UAV Image Exploitation System)
- Aselsan has been using MilSOFT DDS on its real time and mission critical systems on Turkish national and international markets
Yes, you can. Just send an e-mail to
Feel free to ask anything regarding DDS or MilSOFT DDS.