Module 03 demonstrates remote teleoperation across the Wide Area Network (WAN) using the RTI Real-Time WAN Transport. This transport plugin enables DDS communication across the WAN using UDP as the underlying transport-layer protocol.
This module shows how the ArmController from Module 01: Digital Operating Room can be located anywhere in the world and continue to communicate with the rest of the system. Be sure you are able to run the operating room application from Module 01 before trying out this module's demo.
All run commands in this README are launched from the repository root. The project-level launch.py script is the runtime entrypoint; there is no module-local launcher in this folder.
This module extends the Digital Operating Room from Module 01 to demonstrate WAN communication capabilities. The RTI Real-Time WAN Transport enables secure, reliable communication across geographical distances, allowing medical professionals to operate remotely while maintaining real-time control and monitoring.
RTI Connext abstracts the underlying transport, such that the api usage and much of the configuration can remain consistent regardless of which transport is used. This is true for the Real-Time WAN Transport, and this module shows that the same applications communicating locally can be extended to work over a remote connection without modification to code, QoS, or security configuration.
WAN communication can be deployed in 3 different scenarios:
- Scenario 1: Direct Peer-to-Peer Communication with Public IP Address.
- Scenario 2: Direct Peer-to-Peer Communication Using RTI Cloud Discovery Service.
- Scenario 3: Relayed Communication Using RTI Routing Service.
The RTI Real-Time WAN Transport extends Connext's UDP-based communication to support Network Address Translation (NAT) traversal scenarios - a foundational piece to the scalability and security of the Wide Area Network. The Real-Time WAN Transport enables direct peer-to-peer DDS communication across the WAN, leveraging UDP as an underlying transport for lower latency and higher throughput.
Together, the RTI Real-Time WAN Transport, RTI Security Plugins, and RTI Cloud Discovery Service, offer a robust solution that provides:
- Low-latency communication across WAN connections
- Automatic NAT traversal capabilities
- Secure data transmission with built-in authentication, encryption and access control
- Bandwidth optimization for efficient data transfer (when compared to TCP-based communication)
- Connection resilience with automatic reconnection
Complete the shared setup in the root Quick Start section. This module adds WAN-specific prerequisites that the scenario pages cover in detail.
Important: The commands below are run from the repository root using the project-level
launch.pyscript.
For this module, you will need the following:
- Two machines connected to the WAN (not on the same LAN) that can run the operating room applications from Module 01.
- Conditionally, a cloud instance that is publicly reachable by both machines noted above. This is required for Scenarios 2 and 3 described below.
Refer to the following decision tree to understand which scenario best suits your environment:
To determine your NAT type, use the NAT type checker script on each remote machine:
python3 resource/nat_type_checker/nat_type_checker.pySelect the appropriate scenario based on your network configuration:
-
Use if either machine is directly reachable at a public IP address.
Follow the detailed instructions in Scenario1.md to set up peer-to-peer communication with a public IP address.
-
Use if either machine is reachable behind a Cone NAT.
Follow the detailed instructions in Scenario2.md to set up communication using RTI Cloud Discovery Service for NAT traversal.
-
Use if none of the scenarios above apply or you are unsure of your setup.
Follow the detailed instructions in Scenario3.md to set up relayed communication using RTI Routing Service.
Here is a hands-on exercise to explore WAN communication features and demonstrate RTI Connext capabilities across distributed networks.
Test how the system handles network interruptions.
-
Run your chosen scenario and establish WAN communication.
-
Temporarily disconnect the network connection (e.g., disable WiFi).
-
Reconnect after 10-30 seconds.
Observe: DDS discovery across the WAN using the Real-Time WAN Transport should allow automatic reconnection and resume data flow without application-level intervention.
Check out Module 04: Security Threat Demonstration, which demonstrates what happens when a malicious application attempts to tamper with surgical arm commands or steal patient vital signs — and how DDS Security blocks these attacks.
Head back to the main README and pick up with the Hands-On: Architecture section to learn more about the system architecture.