Define the Connection Addresses

Use the VTScada Thin Client/Server Setup dialog / Connection Addresses tab to identify the connection information that thin clients will use to connect to the servers in your system.

The instructions to configure a server are the same for all client connection methods. It is the presence of the word "/mobile" or "/anywhere" in the connection address that distinguishes mobile device and Anywhere client connections from VIC connections.

Localhost addresses are not permitted. ("Localhost", "127.0.0.1", and variants.) These are ambiguous when there is more than one VTScada server.

Connection Addresses - Procedure

Refer to the notes that follow these instructions before configuring your connection addresses.

There will always be a Default Address List. This list and its associated connection parameters will be provided to a thin client if the server it is connecting to does not have a custom address list.

In very rare instances, you might select a server from the "Address list for server" droplist and deselect the "Use default list" option to configure a custom address list and associated connection parameters. This list and its associated connection parameters will be provided to thin clients connecting to that particular server. This is an uncommon configuration. Do this only if you are sure that you need custom connection parameters for different servers.

  1. In the VAM, click on the VTScada Thin Client/Server Setup button.

 

The VTScada Thin Client/Server Setup dialog opens.

  1. Select the Connection Address tab.

  1. In most cases, leave "Address list for server" set to "Default Address List".
    In very rare cases, you might select an alternate server and then deselect the "Use default list" option. Connections to that server would then be made via an alternative connection address.
    In either case, the remaining steps are the same.
  2. Click Add. The Add Connection Address dialog opens.

  1. Enter the connection address.

The name must be one to which clients can connect. In general, it is better to use a name than an IP address.
For local connections, you can provide the name of the server. External connections must use the canonical name that you have configured. (for example: scada.mycompany.com)
If you are using secure connections, this must be a valid name listed in your certificate.

  1. Enter the port number on which you wish this server to listen in the Port Number field.

The default port number is 443, the secure Hypertext Transfer Protocol (HTTPS) port.
Ensure that the port is not already in use by other processes on the server.

If you are creating a local connection, the standard port number is 80 but watch for other software using that port.

  1. Select the "Secure" check box if you wish to use Transport Layer Security to secure data that is transferred across the connection.

If this check box is not enabled, refer to discussion and instructions in the "Secure Your Application" topic, Internet Security (TLS, X.509, SSL)

The completed Add Server dialog for a remote server (not the local PC) should appear similar to the one displayed here.

  1. Click OK. The Add Connection Address dialog closes, and you are returned to the Connection Addresses tab, where the connection has been added.
  2. Repeat steps 2 through to 8 to add any other addresses that should be part of this set of Connection Addresses.
  1. Click OK to save the address list and close the VTScada Thin Client/Server Setup dialog.

Notes:

Connection Addresses - Discussion

The connection addresses list provides the ordered list of servers that the thin clients will use to communicate with a server.
Under redundant operation, when the connection is lost to the current server, the thin client will attempt to use the next available server in the order given.

Port:

Set the port number to use on the selected server.

When configuring your server, ensure that you select a port that is not in use by any other process on your server. Port 80, the default HTTP port, is often used by other programs. You can check your server by opening a command prompt as an administrator, then running "netstat -ao". You can then check the process ID value in the Windows task manager. For example:

C:\WINDOWS\system32>NETSTAT -AO

Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 MYSTATION-PC:0 LISTENING 4
TCP 0.0.0.0:81 MYSTATION-PC:0 LISTENING 10916

This example shows that port 80 is in use by process id #4, which belongs to Windows. Port 81 is in use by process #10916, which happens to be a configured VTScada server in this example.

Fully Qualified Domain Names


* Computer names (aka NetBIOS names) or IPs can be used in a server list only if all machines, including your VTScada Internet Servers and thin clients, are on an internal network.

* If some machines, clients or servers, are in different domains, then the list should include only fully-qualified domain names (FQDNs).

* If the names used by external clients to connect to your servers, (that is, names that are resolvable by an external DNS) are different from the internal machine names (those that are resolvable by your internal DNS or other methods) then your server list should include the external FQDNs. Your internal name resolution mechanism (DNS or other) should be configured to resolve those names to the internal IPs of the servers.

* Do not attempt to provide both internal and external names for the same server. Doing so will only cause slower overall performance.

Secure

Select if this server uses transport layer security, as described in Internet Security (TLS, X.509, SSL).

Connection Parameters: Read Timeout, Session Timeout and Mode

These parameters are used to control whether VIC and Anywhere Client sessions will switch servers in the event that a higher-order connection that was lost becomes available again.

Detecting a Lost Connection - Read Timeout

Under normal operation, thin clients work by sending requests to a VTScada Thin Client Server. The server will respond with data if there is any to send, or with an empty response if there is none.

If no response is sent to the thin client by the end of the read timeout period, then the client detects that a server has not responded. A loss of connection is assumed.

Therefore:

  • A shorter read timeout results in more rapid detection of loss of the server, at the expense of increased network traffic.
  • Too short a timeout may result in false detection of server failure.
  • There is no increase in the update rate of data displayed by the thin client by having a shorter timeout.

If the client detects that the server has not responded, it closes its connection to that server and makes one attempt at re-establishing the connection. If this fails, the client will attempt to connect to the next highest-ranked server available, according to the order of the server list.

A read timeout of 15 seconds is recommended as the maximum setting for a LAN, and the minimum setting for a WAN. If your network serves both LAN and WAN connections then 15 seconds is recommended. Otherwise, adjust the value up or down as needed.

Because there is always one attempt to reconnect after a timeout, the time required for the VIC detect irrecoverable loss of communication with its server is twice the read timeout value.

Orphaned Sessions - Session Timeout

Loss of a connection between a client and the server will result in an orphaned session taking up resources on the server. The session timeout exists to let the server know when it should recover those resources and clean up such orphaned sessions.

When the server detects that there has been no communication from the client for the period of time specified in the Session Timeout, it destroys all resources used by the orphaned session.

The minimum session timeout that you can specify is four times the read timeout value. An orphaned session will remain visible in the Thin Client Monitor display until the server destroys it at the end of the session timeout.

For the Anywhere Client, Session Timeout has no effect on the length of time that the Stay Signed In option is effective. See: RememberLoginDuration

Mode of Operation

The Mode of Operation determines how a client will behave when a higher-ranked server than the one currently connected to becomes available.

There are two choices for the Mode: Priority or Sticky.

Priority Mode:

When the client detects that a server of higher priority than the one it is connected to becomes available, it will connect to that server and terminate the older connection.

Sticky Mode:

The client will not switch connections if it detects that a server of higher priority than the one it is connected to becomes available.

Note that the timeouts and Mode are transmitted to the client at the start of each session, therefore the client will operate with whatever is configured on the server when it connects to it.

When the client makes its initial connection, it simultaneously attempts to connect to each server in the list and uses the server nearest the top of the list that it can successfully establish a session with. The client waits for an initial period of time, or until the highest-order server responds - whichever is shorter - then it selects and connects to a server. This initial timeout is left up to the TCP subsystem of the client computer and is normally around 20 seconds.

If there are no servers available, the client will continue to try to connect to each server.

Load Balancing

This box is selected by default, but relevant only if you have more than one VTScada Thin Client Server for an application. When selected, new connections will automatically go to whichever server in a cluster has the fewest connections.

Prefer Local Server

Enabled only for Sticky mode. Checking this option puts the server that the thin client initially connects to at the top of the Connection Address list that is supplied to the thin client on initial connection, making the client prefer to use the server it obtained the Connection Address list from.. Load balancing cannot be used in this case.

Troubleshooting:

  • Port conflicts.

You may configure a realm or a VTScada Thin Client Server on any port you desire. However, if connecting from a public network (e.g. the Internet), you will likely have to traverse firewalls and other security mechanisms. Configuring a realm or VTScada Thin Client Server to operate on other than the standard ports (port 80 for plain text HTTP, or port 443 for secured HTTPS), will likely require special configuration. It is therefore advisable to operate on the standard ports whenever possible.