RTgms Overview


The role of the RTgms process is to manage multicast groups and route multicast messages accordingly. The RTgms process works together with the RTserver to route messages. The RTgms process is similar to an RTserver and is configured in similar ways. You can start and stop the RTgms with the rtgms command, similar to the rtserver command, and RTgms can be installed as a service on Windows just as an RTserver can. The RTgms process connects to an RTserver in the same way that any RTserver connects to another RTserver, using the logical connection names specified in its Server_Names option.

When an RTgms process connects to an RTserver, two types of channel connections are established:

The group channel is the connection for sending messages to RTgms that are to be multicast to RTclients. There is a group channel for each multicast group that the RTgms manages.

The control channel is used for sending control messages from the RTserver to the RTgms. This enables the RTserver to treat the RTgms as an RTclient, and control messages can be used to monitor, stop, and dynamically reconfigure the RTgms process as if it were any other RTclient.

Figure 47 illustrates the message flow and connections in multicast messaging. Note that the connections on the left, between the publishing RTclients and the RTserver, are normal RTclient to RTserver connections. These are established using the logical connection name format protocol:node:address, such as tcp:nodea. The connections between the RTserver and RTgms, the control and group channels, are also normal RTserver to RTserver connections, using protocol:node:address, such as tcp:nodea. The connections between the subscribing RTclients and the RTgms use logical connection names that specify the PGM protocol. For example, they might use a logical connection name of pgm:nodeb.

Figure 47 Multicast Messaging

RTclients connect to an RTserver or an RTgms process. If an RTclient is connected to an RTserver and publishes a message for multicast, this is the message flow:

  1. RTclient sends the message to the RTserver.
  1. RTserver passes the message to the RTgms process.
  2. RTgms checks the number of subscribing RTclients in each group connected to the RTgms.
  3. If the number of subscribing RTclients in a group exceeds the Group_Threshold option, the RTgms process multicasts the message to those subscribing RTclients.
  4. If the number of subscribing RTclients in a group is less than or equal to the Group_Threshold option, the RTgms process unicasts the message to those subscribing RTclients, using TCP/IP or local.

If the original publishing RTclient is connected to an RTgms process instead of an RTserver, the message passes through the RTgms process to the RTserver for routing. The RTserver always handles all routing. The RTserver then routes the message back to the RTgms process for multicasting.

The primary function of an RTclient, publish or subscribe, determines whether it should connect to an RTserver or an RTgms process. In general, RTclients that frequently publish messages for multicast should connect to an RTserver that is connected to the RTgms process. RTclients that frequently receive, or are subscribed to, multicast messages should connect to the RTgms process. This results in the most efficient message routing.


TIBCO SmartSockets™ User’s Guide
Software Release 6.8, July 2006
Copyright © TIBCO Software Inc. All rights reserved
www.tibco.com