This chapter describes a software-based architecture for mirroring data between two TSENTRY-based systems or between a TSENTRY-based system and a third-party box. This is available as a low cost optional add-in to the standard TSENTRY system. As opposed to a hardware-based reflective memory solution (e.g. VMIC® reflective memory cards), this design transfers data from one system to another via TCP/IP. While a hardware-base solution provides much lower latency in terms of the communications between systems, in many cases the high-speed data transfer is unnecessary and thus the lower overhead and simpler design of a software-based solution is more appealing.
Under this architecture a client process on one machine makes a connection to the server on a second machine. Upon connecting, the client sends a list of variable names and a requested refresh rate. The server parses this list and responds with the types and sizes of the variables that it found and can return together with the refresh rate at which it will send updates. After this point the server sends updates for each of the available variables at the specified interval. A single update consists of the current value of each of the variables packaged into a single telegram so that all variables are updated simultaneously. The updates continue indefinitely until one side or the other destroys the connection.
In this architecture data transfer is unidirectional. Data transfer in the reverse direction can be realized by starting a server process on the second machine and configuring a client to run on the first.