Server Redundancy

The Redundancy Settings can be configured by means of using the 'Redundancy' resource which is available in the ”I/O Data Server” group settings. However, some of the Redundancy's advanced setting parameters are only available in the Properties Window in the 'Redundancy' group.

 

The Server's Redundancy functionality is based on the UDP Multicase protocol for which it is necessary to set the Gateway's IP address in the network form.  

Whn the project is run on PCs without internet access, and therefore the use of the Gateway is irrelevant, you will need to set the Gateway's IP address in the network form with the IP address of the same subnetwork.

 

The Server's Redundancy functionality is only supported for PCs that belong to the same subnetwork (those with the IP addess of the same subnet mask).

Therefore, It is not permitted to use this functionality if the PCs are connected to each other by means of a router.

 

 

The parameters available are:

 

Redundancy Settings

 

 

Startup TimeOut

Maximum time out used for searching for other servers in the network using the udp protocol.

When the redundancy starts up, it searches the network for those endpoints which satisfy the redundancy requirements and whose host name is on the list configured in the project currently running.

 

Synchronize TimeOut

Maximum time used to wait for messages that the inactive server exchanges with the active server to maintain synchronization.

These messages travel through the tcp channel and include the request for the initial tag and alarm values as well as the list of historical logs to keep synchronized.  

 

In addition, this timeout is also used as a ping interval by the inactive server to check whether the active user is still active.

 

Working Timeout

This is the Timeout used for messages that the active server sends to other servers through the udp channel (for instance when a tag or alarm changes).

This timeout is also used at the redundancy startup as the maximum time between the time the redundancy starts and the time notification is given that the redundancy has started.  If not completely initialized within this time, an error message is displayed.

 

Full Synch. Start Time

This is the start time for the entire database.  Full synchronizaation will realign databased if data misalignment occurs between the various servers during the startup and shutdown phases of several drivers.  When the "Full Synchronization Time Span" is set with another value that is not zero, this property will be ignored and the "Full Synchronization Time Span" will be used only.

 

Full Synch. Time Span:

This setting is used to define how often each full database synchronization is to be performed.  

 

Transport Port

This is the Port used for transporting the redundancy functions.

 

Keep Active Latest Server Active

This option has effect only when there are two servers on the list and is used for keeping the server which has control active until the other server re-enters into operation after a fault has occurred.  

 

 

In cases when enabling the 'Keep Server Active' option, and only two Servers are listed, a switch over to the active server can be done using the "RedundancySwitchActiveServer" command.

 

Disable Historical Data Synchronization

This setting is used to deactivate the historical data synchronization (database) between the Servers that are on the redundancy list.

This function is handy when the databases reside on a machine in net instead of on each machine running the I/O Data Server and, therefore, centralized instead of distributed.  In this condition, it is the job of the developer to ensure that historical data are always accessible (e.g. by using a redundant SQL Server database).

 

Redundancy Server List

This is the list of Servers participating in the redundancy, therefore the Host Names of the machines in question, are to be inserted here.

Caution: You must insert the machine's Host Name and not its IP address.  This is because each machine often has more than one IP address and that the Redundancy manager always refers to the machine's name.

 

The order in which the servers are inserted also determines the priority of which Server will act as the system's Active Server.

The first server on the top of the list of those started up and available will be the Active one which will have complete control of the system.

 

Attention! The hostname must be inserted in the Server list and NOT the IP address.

In cases where the project is run on a PC in a network where a DNS Server is not available, you will need to set "<P_Address> <PC_Name>" aliases in the Windows 'Host' file to resolve the names of each PC participating in the Redundancy.

 

 

Redundancy Server Properties

 

For further information please see the chapter on: "Advanced Server Settings"

 

Transport Security Mode

This is the security level used for transporting data.  The options are:

 

 

Max. No. of Historical Threads (Advanced)

This is the number of threads used for managing historical synchronization.  The “-1” value means that there will be as many threads created as there are CPUs or CPU Cores. Increasing the number of threads will increase the historical data synchronization performance and, therefore, other functions such as comunications, animations etc., will be compromised.

 

Max. Sync. Entities: (Advanced)

This parameter involves the synchronization of the historicals and corresponds to the maximum number of records that are read by the active server for each synchronization job done by the other servers.

 

Transport Port (Advanced)

This is used to set the port number for the network redundancy connection.

 

Max Received Message Size (bytes) (Advanced)

This is the maximum packet size that can be exchanged for synchronizing tags.

 

Max Retransmit Count (Advanced)

Number of retransmissions of udp packets sent by the active server to send tag and alarm updates to the other servers.

The udp protocol does not control whether the packet has arrived at its destination to eventually re-send it if it hasn't.  This parameter however allows the packet to be sent several times to reduce any eventual problems of recipients not receiving it; contrary to this, setting this parameter with a value other than zero will compromise the redundancies performances in sending information.

 

Max Pending Transmit Message (Advanced)

Maximum number of pending messages. When the number of messages to be sent to Inactive Servers exceeds this limit, those exceeding this limit will be discarded. This is used only for updating tags in realtime and concerns the maximum number of changes managed for each tag.  If the number of changes to be sent exceeds the one set in this parameter for a tag, the oldest changes will be removed leaving the most recent ones.

 

UDP Service IP Address (Advanced)

The "Listening" Area for UDP packets. The 224.0.0.1 value indicates the group with all the LAN network Hosts.  

 

UDP Client IP Address (Advanced)

Defines the area for sending the UDP packets.  The 224.0.0.1 indicates the group with all the LAN network Hosts.