RTI Cloud Discovery Service is a stand-alone application needed to deploy RTI Connext® DDS applications in dynamic environments where UDP/IP multicast is not available. This is typical of wide area networks or some cloud-based environments where the routers and switches may disable IP multicast forwarding.
DDS has a built-in discovery mechanism that allows all DDS applications to automatically detect the presence of other applications and discover the Topics they publish and subscribe along with the associated data types and Quality of Service (QoS).
The built-in discovery mechanism primarily relies on UDP/IP multicast to bootstrap the detection of other DDS applications and learn their network addresses. The use of UDP/IP multicast allows DDS discovery to be completely peer-to-peer – that is, operate without requiring any additional servers or brokers. The applications themselves can discover each other directly.
However, if Connext DDS applications run in environments where UDP/IP multicast is not available then the built-in (peer-to-peer) discovery is not sufficient. Connext DDS offers two mechanisms to help with those scenarios:
Figure 1. Cloud Discovery Service Overview
Figure 1 shows a simple representation of the operation of Cloud Discovery Service. It acts as a “relay” service that forwards the bootstrap (participant announcement) messages that allow DomainParticipants to learn about the presence of other DomainParticipants.
Cloud Discovery Service operates using the standard Simple Discovery Protocol (SDP) . In SDP, DomainParticipants initially announce their presence to all of the specified Initial Peers. These participant announcements contain the necessary information for other DomainParticipants to discover their presence and bootstrap communications. These messages are also used to maintain participant liveliness.
Figure 2. Cloud Discovery Service Forwards Participant Announcement Messages
Cloud Discovery Service listens for participant announcements to dynamically learn about the current list of DomainParticipants, their DDS domain IDs and their network addresses.
Figure 2 illustrates that each DomainParticipant includes a Cloud Discovery Service instance in its Initial Peers. Hence, the DomainParticipant will send participant announcements to Cloud Discovery Service, which will forward those announcements to the list of DomainParticipants it knows about, enabling them to initiate the discovery process among them.
Figure 3. DomainParticipants Exchange Participant Announcement Messages
Figure 3 illustrates that once a DomainParticipant discovers the presence of another one (via the forwarded message from Cloud Discovery Service) it sends its Participant Announcement messages directly. This step is the same as if the DomainParticipant had included the other DomainParticipant in its Initial Peers or was using multicast to announce its presence. These messages are also used to maintain participant liveliness.
Figure 3 shows that once a DomainParticipant receives an announcement from another one forwarded by Cloud Discovery Service, it can directly send participant announcements. This step is the same as if the DomainParticipant included the other DomainParticipant in its Initial Peers or used multicast to announce its presence.
Figure 4. Domain Participants Exchange Endpoint Discovery Messages
Figure 4 illustrates that once DomainParticipants know about each other, they exchange Endpoint discovery information. That is, information on the DataWriters and DataReaders each has. This step is unaltered by the presence of Cloud Discovery Service.
For a deeper understanding of discovery, refer to the What is Discovery? section in the RTI Connext DDS Users Manual.
RTI Labs Project Type: Application
Maturity level: Experimental
Support. Cloud Discovery Service is an experimental product. As such, it is not officially supported, however, we do offer support through the RTI Community Forum where fellow users and RTI engineers can help you.
Intent. Cloud Discovery Service is slated for continued development.
Feedback.We'd love your feedback! Please visit the RTI Community Forum to provide feedback on Cloud Discovery Service.
Which platform(s) is it available on? For information regarding supported platforms and compatibility, please see the Release Notes.
Product compatibility. Backwards compatibility with RTI products (pre 5.3) is not guaranteed. Please see the Release Notes for details.
License. Cloud Discovery Service is governed by Section 3e (Evaluation License) of the Software License Agreement.
Cloud Discovery Service is available via RTI Connext DDS Professional 5.3.0. A free 30-day trial is available here.
Cloud Discovery Service is supported with full documentation.
The Cloud Discovery Service User's Manual contains detailed instructions to help you with:
In addition to this, the Cloud Discovery Service User's Manual boasts the following five examples:
There is also an XSD Schema available.
If you're interested in using Cloud Discovery Service, we think you'll also enjoy the following content:
Post your questions, search through our Knowledge Base and get the most from your DDS experience by joining the RTI Community!