DDS Zero-Copy Data Distribution for Low-Latency Same-Node Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Data Distribution Service (DDS) systems for real-time applications, the overhead of multiple copies during data sample transmission leads to high latency and memory usage, particularly for large data samples like radar images, causing application failures and non-deterministic behavior.

Innovation Solution

Implementing zero-copy data distribution by allowing a DataWriter to send a reference to a data sample instead of its full content when both the DataWriter and DataReader are on the same node, using shared memory and a new EncapsulationId type, enabling transparent zero-copy transfer without requiring applications to know which DataReaders are co-located.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data samples are serialized and transmitted using standard DDS protocols, then data can be delivered to remote applications, but the CPU overhead for marshalling and multiple copies causes high latency and memory usage

Engineering Contradiction:
Improvedata delivery reliabilityVSAvoidcommunication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the essential identification information (EncapsulationId) from the full data sample and transmits this compact representation instead of the complete serialized data. This allows the system to maintain reliable data delivery while dramatically reducing the transmission overhead and CPU processing requirements, thereby lowering communication latency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent eliminates unnecessary copying of large data samples by using a reference-based approach. Instead of creating multiple copies of the full data sample during marshalling and transmission, the system transmits a compact EncapsulationId that references the original data, reducing memory usage and processing overhead while maintaining data delivery reliability.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If data samples are serialized into network representation, then data can be transmitted over the network, but the marshalling process creates multiple copies leading to high memory usage

Engineering Contradiction:
Improvenetwork compatibilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the critical EncapsulationId field from the full data sample representation. This extracted identifier contains sufficient information to reconstruct or locate the original data sample, enabling network transmission with minimal memory overhead while maintaining compatibility with existing DDS network protocols and infrastructure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a lightweight, temporary EncapsulationId structure that serves its purpose during transmission and then can be discarded. This disposable reference object replaces the need to maintain multiple expensive copies of large data samples in memory, significantly reducing memory usage while preserving network compatibility.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If multiple copies of data samples are created during transmission, then data can be delivered to multiple DataReaders, but the CPU overhead causes application failures for large data samples

Engineering Contradiction:
Improvedata distribution throughputVSAvoidapplication stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent replaces expensive full data sample copying with cheap EncapsulationId reference copying. Multiple DataReaders can receive references to the same underlying data sample without requiring actual data duplication, thereby maintaining data distribution throughput while eliminating the CPU overhead that causes application failures with large samples.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent fundamentally changes the parameter being transmitted from the full data sample (large size, high processing cost) to a compact EncapsulationId (small size, low processing cost). This parameter transformation maintains the ability to deliver data to multiple readers while reducing CPU overhead to levels that prevent application failures even with very large data samples.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11711411B2Method for transparent zero-copy distribution of data to DDS applications
Publication Date: 2023.07.25 REAL TIME INNOVATIONS
  • US11711411B2 patent drawing
  • US11711411B2 patent drawing
  • US11711411B2 patent drawing

AI summary

A method is provided for performing zero-copy distribution of data samples between applications running on the same node in a system using an Object Management Group (OMG) Data Distribution Service (DDS) and/or a Real-Time Publish Subscribe (RTPS) protocol. Further provided is a method for selecting the network representation to communicate with a DataReader in a system using an Object Management Group (OMG) Real-Time Publish Subscribe (RTPS) protocol. Still further provided is the combination of these two methods to communicate transparently using zero-copy within the same node and not using zero-copy for different nodes. Embodiments of this invention lead to a relatively small communication latency that is constant and independent of the data size for applications running within a single node.