VOV Protocol Summary

The Altair Accelerator VOV Communication Protocol is TCP-based and is a proprietary implementation that is built on a client-server model. It also uses proprietary encoding and has additional protection against snoop/replay attacks. This protocol has a default timeout of three seconds. To change the default timeout, the parameter, VOV_RELIABLE_TIMEOUT, can be configured.

Two parameters can affect buffers, maxBufferSize and maxNotifyBufferSize that can be configured in the policy.tcl file, which is located in the server working directory (SWD). Following is a summary of the acceptable values for these parameters:

Parameter Default Min. Max.
maxBufferSize 16M 1K 100M
maxNotifyBufferSize 1M 100K 40M

For more information about configurations, please refer to the Server Configuration page.

The primary mechanism that utilizes the VOV protocol is the vovsh utility. vovsh implements the VTK API and connects to the vovserver. The vovsh, and the job wrappers vw, vrt and vov can also be used with the VOV protocol.

About Port Numbers

Altair Accelerator products use distinct ports. Typically, one port is the default listener for the initial vovserver. To compute this port number, the project name is normally used to compute the number of the TCP port on which the vovserver listens for connections. This is done by hashing the project name into the default port range 6200-6455, using the function vtk_port_number. The port range can be changed by using the environment variable VOV_PORT_NUMBER
Note: The port range of 6200-6455 is the default range when the VOV_PORT_NUMBER variable is either unset or is set to automatic.

The following table shows examples of mapping product names to ports:

Product Default Port Use
Accelerator 6271 Authenticated
Accelerator 6272 Read-Only
Allocator 8787 -
Monitor 5555 Authenticated
Monitor 5556 Read-Only
FlowTracer 6200-6455 vovserver Ports
Clients can connect to the vovserver and interact using either the proprietary VOV protocol or HTTP.
Note: Additional information about the VOV protocol is proprietary and is not published. If additional information about the VOV protocol is needed, please contact Altair Engineering Support.

Getting the Port Number with vovsh

If writing a script using vovsh, finding the port number to which the script is connected can be located by using vtk_generic_get. The following example assumes the Altair Accelerator Monitor is owned by "cadmgr" and is using port 5555.
% vovproject enable -u cadmgr licmon
% vovsh -x 'vtk_generic_get project P; puts $P(port)'

Conflicts with the Port Number

If different names are mapped to the same port number, the corresponding servers cannot run on the same host at the same time. (This is an operating system restriction, in which only one process can listen on a host:port at a time.)

If this issue occurs, it can be resolved with one of the following actions: change host, change the project name, or explicitly choose the port number by using the environment variable VOV_PORT_NUMBER. This variable is defined in the setup.tcl file, which is located in the server configuration directory.