Viz Artist User Guide

Version 3.13 | Published March 28, 2019 ©

Synchronization

If a Viz Engine is restarted or added to the cluster of Viz Engines for playback, the VizCommunication.Map data is not available on this Viz Engine. The local map on a new or restarted Viz Engine can be synchronized with the local map on another running Viz Engine in the same cluster.

Example: If Viz Engine 1 restarts it look tos, for example, Viz Engine 3 to update its local VizCommunication.Map.

images/download/attachments/50614464/scripting_shm_synch.png
A startup Viz Engine can be synchronized through:

  • TCP

  • UDP

  • An External Control Application

  • Commands

This section contains information on the following topics:

TCP and UDP Synchronization

Use the procedure detailed below to synchronize a restarted or added Viz Engines, in a cluster, with the TCP or UDP protocol:

  • TCP: The recommended communication protocol to synchronize maps on startup because it is reliable and efficient (see TCP Protocol).

  • UDP: For fast communication, but has drawbacks. For instance, packets can get lost (see UDP Protocol).

To Synchronize a Viz Engine with TCP or UDP

images/download/attachments/50614464/scripting_shm_properties_tcp.png

  1. Open Viz Configuration.

  2. Click on Communication.

  3. Click on the Shared Memory Properties tab.

  4. Enter the port number for either UDP or TCP Port.

  5. In Master Engine IP Address, type the IP address of a running Viz Engine to synchronize with. This be the IP address of a running Viz Engine in the same cluster system.

  6. In Master Engine Port, type the port number to be used (default 6100).This port sends the single startup synchronization command to start synchronizing. It should be the same as the general communication port of the Viz Engine set in Master Engine IP Address.

  7. In Master Poll, select either UDP or TCP, corresponding to the set port.

  8. Click Save.

Note: No specific port number is recommended. Always make sure that the selected port number is not in use by any other program on the same subnet.

External Control Synchronization

Synchronization can also be done from an External Control Application. The following command has to be sent to the Viz Engine which has the memory map populated:

From a Command Interface

VIZ_COMMUNICATION SYNCHRONIZE_TO <engine port>

where the Viz Engine is the engine which receives the data through the Command Interface. The port is usually 6100 (standard command interface port).

Note: This is not recommended as a method for synchronization.

Through TCP Communication

VIZ_COMMUNICATION SYNCHRONIZE_SMMTCP <engine port>

where the Viz Engine is the engine which receives the data, and the port is the one that was specified for incoming TCP key|value pairs on the Viz Engine which is to receive the data (see TCP Protocol).

Through UDP Communication

VIZ_COMMUNICATION SYNCHRONIZE_UDP <engine port>

where the Viz Engine is the engine which receives the data, and the port is the one that was specified for incoming UDP key|value pairs on the Viz Engine which is to receive the data (see UDP Protocol).

Command Synchronization

Another communication option is by Commands. Here each map entry is synchronized through commands. It is reliable, but very slow and blocks the engine for quite an amount of time, if the map is large.

Note: This is not recommended as a method for synchronization.

To Synchronize a Startup Viz Engine with Commands

  1. Open Viz Configuration.

  2. Click on Communication.

  3. Click on the Shared Memory Properties tab.

  4. In the Shared Memory panel set these parameters:

    • Master Engine Port: Enter the communication port of the Master engine (default is 6100).

    • Master Poll: Click on Commands.

  5. Click Save.