Standardized RPC protocol and APIs built on the powerful features of DDS

CoreDX DDS RPC over DDS is offers the capabilities of remote procedure calls to complement the data-centric publish subscribe architecture of DDS. In large systems there are needs for both Publish-Subscribe and RPC communication patterns. A single middleware, CoreDX DDS, offers both. CoreDX DDS simplifies all aspects of system logistics and utilizes the fundamental engineering principle of using the right tool for the right job.


The CoreDX DDS remote procedure call (RPC) functionality leverages existing DDS protocols, providing all the additional benefits of dynamic discovery of endpoints, and configurable communications behavior through QoS policies that are not available in typical RPC protocols. Each service is based on a DataReader / DataWriter pair for receiving requests and sending replies. Conversely, each client has a DataWriter / DataReader pair for sending requests and receiving replies.

RPC Diagram

The specifics of the applications interface to the RPC architecture is dependent on the selected language binding. The application can choose a Function-Call API, a Request-Reply API, or interact directly with the RPC DataReader[s] and DataWriter[s].

Because the RPC communication takes place over standard DDS DataReaders and DataWriters, all of the DDS communication facilities are available. For example, it is possible to invoke a single request that reaches multiple services; as such, a client can receive replies from all available Servers. Alternatively, a client could receive a stream of replies from one or more servers. These configurations are challenging to accomplish in more traditional RPC implementations.

The user defines interfaces and the data types involved in the communications using IDL or XML, and these interface definitions may be mixed with the publish-subscribe data types in the same file(s). Synchronous and Asynchronous invocations are available, allowing for maximum application architecture flexibility. along with the communication behaviors: reliability, durability, etc.

Additional Information

CoreDX RPC Programmer's Guide

Contact Twin Oaks Computing for a personalized tutorial or in person CoreDX DDS RPC over DDS workshop

OMG RPC over DDS Standard