What is RTserver?


While connections allow two processes to send messages to each other, RTserver allows many RTclients to easily communicate with each other. An RTserver routes messages between RTclients. RTserver should be thought of as a message hub — a large software switch for messages.

A key feature of TIBCO SmartSockets is the ability to distribute RTservers and RTclients over a network. Different processes can be run on different computers, taking advantage of all the computing power a network has to offer. Processes can be dynamically started and stopped while the system is running.

The functions of RTserver and RTclient is layered on top of connections and messages, but adds greater functionality and ease of use. While connections provide a means for two processes to exchange messages, connections by themselves do not scale well to many processes. RTserver fills this void and expands the capabilities of connection-based message passing; RTserver is a message router that uses connections to make large-scale IPC easier.

In addition to routing messages between RTclients, multiple RTservers can route messages to each other. Multiple RTservers can distribute the load of message routing. If an application is partitioned so that most of the messages being sent are routed between processes on the same node, then the use of multiple RTservers can reduce the consumption of network bandwidth (processes on the same node can use the non-network local IPC protocol). See the multiple RTserver processes chapter in the TIBCO SmartSockets User’s Guide for more information about using multiple RTservers.

Figure 3 Process Connectivity with an RTserver Cloud

Each RTclient must have a global connection to either an RTserver or to an RTgms process. Unless your TIBCO SmartSockets product is licensed for multicasting, that connection is to a single RTserver. RTgms is only for RTclients multicasting their messages. Instead of using the global connection, an RTclient can connect to more than one RTserver using a special set of APIs designed to support multiple connections. Both multicasting and multiple connections are considered advanced uses of TIBCO SmartSockets and are not covered in these tutorials. The focus of the tutorials is on the basics, to give you a solid understanding before you pursue more advanced topics.

The RTclient and RTserver do not have to be on the same machine. An RTserver can run stand-alone or it may connect to other RTservers. A message goes through one or more RTservers to be delivered to an RTclient (or multiple RTclients). Messages are dynamically routed using a shortest path algorithm, where each message passes through the smallest number of RTservers possible.

In Figure 3 a message going from RTclient A to RTclient B would go through one RTserver. A message going from RTclient A to RTclient C would go through two RTservers. A message going from RTclient A to RTclient D would go through three RTservers. Routing is dynamic in that it can change at any time. Whenever a new RTserver becomes available or an existing RTserver goes down, routing tables in the RTservers are updated in real-time to reflect the new topology. For more on dynamic message routing, refer to the section on dynamic message routing in the publish-subscribe chapter of the TIBCO SmartSockets User’s Guide.


TIBCO SmartSockets™ Tutorial
Software Release 6.8, July 2006
Copyright © TIBCO Software Inc. All rights reserved
www.tibco.com