How to Load a Multiple Resilience Combined Client/Server

In the information on this page [] is used to delimit optional items on command lines, the [ and ] should not appear in actual commands. Similarly ... is used to indicate items that may be repeated.

Combined client/server machines will be both requesters and servers. In this case the network manager must be loaded and AUXDISTR must be informed of the number of the server which is running on its own machine. The instructions for loading DP4 networking are as follows:

Note the use of the -detach command tail on tcpmgr on Unix/Linux. In the multiple resilience configuration tcpmgr is currently not capable of displaying information about the connected machines, so the -detach option should be used.

The additional command tail -aux on the network manager is to notify it of the existence of the ADC program AUXDISTR and to ensure that it communicates directly with the database manager and not via AUXDISTR (which would lead to disaster as AUXDISTR would then possibly send the request back to the network manager or another requester!.

The −online command tail on TCPMGR is only used in Duplex configurations. It causes TCPMGR to notify AUXDISTR at commit time when a server that has been offline comes back online. AUXDISTR will reconnect to the server and start sending updates to it once again. However, any transactions posted while the server was offline need to be transferred to the newly restored server. This must either be done with a specially written application, or the DP4 ONLINE utility.

On all platforms the −use command tail is specified one or more times and specifies the default set of servers used to access DP4 databases. Note the use of −use servernr to specify the local machine as one of the servers to be used in the default set, assuming that it is to be so used.

This server list can be over-ridden on a per table or per database operation basis using the network resilience API. An alternative form of this option −mustuse n designates a server as a "vital" machine here.

The −server servernr command tail is optional on the network requester (e.g. tcp3). For certain operations on the local server AUXDISTR needs to go via the network manager rather than directly to the database manager (for example checking the local network manager is online). In the past it has sometimes appeared that using network communication between a network requester and a network manager running on the same machine is unreliable. If you specify the −server servernr command tail on the client, it may use, depending on the operating system and network protocol, a "backdoor" method of calling the network manager. This is usally faster than using real network calls. If you don't specify the −server servernr command tail on the client, it will communicate with its local network manager in exactly the same way as every other server. As far as we know there is no need to use the "backdoor" method on any current networks. In 4.621 tcpw will automatically detect which connections are local and avoid unecessary network calls, and the −server servernr is redundant.

Resilience Command Tails

There are a number of resilience command tails, which control behaviour in the event of a network error. These are supplied to AUXDISTR (not the database manager as in local resilience). They are explained in the section on Network Error Handling. Without one of these command tails, programs will terminate if there is a network problem.