1

I was wondering if DDS could be used over the internet, and if it would be a good choice for online gaming.

I have seen on the RTI website that they support WAN, but does that mean I can subscribe to a topic from another participant that is on the other side of the world?

What would happen to the QoS guarantees if this was the case?

Thanks.

Blue7
  • 1,750
  • 4
  • 31
  • 55

2 Answers2

0

Disclaimer: I work on OpenDDS full time, but have no experience in networked games programming.

A internet-enabled DDS could be used for connecting game clients. Whether or not it's a good idea is something I can't answer at the moment with no specific information, but the QoS part is a good question. In OpenDDS, as far as I'm aware, we try to adhere to the QoS defined by the user as if it was a normal RTPS connection. This means using it over the Internet might require some tuning of the QoS depending on what QoS you want to use. For example if deadline QoS was being used on a local network, the time period might have to be relaxed given the greater latency of the Internet.

For OpenDDS, internet-enabled RTPS is described in Chapter 15 of the OpenDDS's Developer's Guide: http://download.objectcomputing.com/OpenDDS/OpenDDS-latest.pdf. In addition to using ICE to overcome NATs, we also have a feature called the RTPS Relay to enable connections when a client can't use ICE.

I'm not familiar with what specific capabilities RTI Connext here has but as far as I'm aware they are similar, in that they use ICE as well. Also it should be noted that internet-enabled RTPS is not standardized, so the Connext and OpenDDS wouldn't be able to be talk over WAN.

Fred Hornsey
  • 309
  • 1
  • 10
  • There is _no_ QoS on the public Internet, not even through a tunnel because the tunnel packets are still subject to the public Internet. Some ISP for businesses will contract for QoS for a fee, but beyond your directly connected network, the other Internet ISPs through which your traffic passes will not honor any QoS markings. – Ron Maupin Apr 29 '20 at 00:57
  • @RonMaupin I think there is some confusion over terminology. Since it is a DDS question I'm assuming they are meaning QoS in the DDS sense of the term. DDS has what is called "QoS" that is essentially independent from whatever QoS the lower layers of the network stack might have. I'm not sure whether or not it was right for the designers of DDS to call it QoS, as it encompasses ideas that are very different from the networking term, but there is some overlap, such as the reliability setting. – Fred Hornsey Apr 29 '20 at 21:19
0

OpenDDS would only be appropriate for games in very constrained environments because of the bandwidth requirements. If all users are on the same LAN then the UDP multicast approach that RTPS uses would be effective for a peer-to-peer game architecture. However, if remote users are added, then the requirement of every peer having to send every update directly to every other peer will very quickly explode the bandwidth requirements.

Given that the RTPS relay is already another application that needs to be run, a game server that collates updates from peers and sends world state would be far more effective for cases where users are not all on a single LAN segment.

Rj.
  • 1
  • 1