contents.gifindex.gifprev1.gifnext1.gif

2.12.1 UNIX network license management

The acushare utility program is an important component of any UNIX network that is executing the ACUCOBOL-GT runtime system. It monitors two limits on ACUCOBOL-GT runtime usage, as established in the site's license agreement. These two limits are: the maximum number of users who can execute the runtime simultaneously, and the maximum number of runtime processes that all users of the network may be executing simultaneously.

The maximum number of processes is at least double the number of licensed users. This allows users to have more than one active runtime process at a time, including background processes such as reports.

Acushare keeps a list of active users of the runtime system and ensures that the number of users who are executing the runtime simultaneously, and the number of active runtime processes, do not exceed the limits of the site's network license.

Acushare keeps track of these maximums for each distinct runtime serial number. For example, if runtime 0005 is licensed for 10 users, and runtime 0006 is licensed for 20 users, then a total of 30 users could be executing applications on the network simultaneously, if both runtimes are executing. This ensures that distinct software applications are monitored separately. License management for UNIX networks includes these four steps:

Step one

When the runtime first starts up, it checks to make sure that acushare is running on the network. If it's not currently running, the runtime attempts to start it. Acushare must be located in the runtime's search path in order for the runtime to find it.

If the runtime cannot start acushare, it exits with this message:

Shared memory and license manager (acushare) is not running

For details about starting acushare, see section 2.12.3 below.

Step two

If acushare is running on the network, the runtime attempts to register itself with acushare. If neither the user limit nor the process limit has already been reached, the registration occurs. Acushare places the user's name on the list of active runtime users (unless it's already there), and increments the active process count by one.

If the user limit specified in the site's license would be exceeded by the addition of this user, or if the process limit would be exceeded, the runtime checks the runtime configuration file (and then checks the environment), to determine if it should retry the registration process in a few seconds. The variable A_LICENSE_RETRIES specifies the number of retries desired. If this variable has been set to a positive integer value, the runtime waits "n" seconds and tries again to register itself. The value "n" (the number of seconds to wait between retries) is set in the variable A_RETRY_DELAY. If no retries are desired, or all retries have been performed and the limit is still exceeded, the runtime exits with a message.

Step three

Each active runtime checks periodically to determine if acushare is still running. If the runtime detects that acushare has stopped and has not been restarted, it tries to restart it. If unsuccessful, it issues this warning message:

License manager (acushare) is not running

This warning message appears at the line specified in the configuration variable SCREEN ERROR-LINE (or, if that's not set, at the bottom of the screen).

If acushare has not been restarted by the time the runtime makes another periodic check, the runtime exits.

Step four

When an active user on the network terminates an ACUCOBOL-GT runtime process, the acushare process count is decremented by one. If the user has no other active runtime processes, the username is removed from acushare's list of active users.

Instructions for starting and stopping the acushare utility are given in section 2.12.3.