Appendix F: License Server

As of release 2.3, Ce is sometimes delivered with a license server. This is LicenseServ by Viman software. Ce uses a floating license scheme with license sharing based on X display. Thus, you can have any number of Ce windows open on your node and still be using one license. This includes Ce sessions running on other nodes which are displayed on your workstation. The license server is not supplied on all platforms! If the installation for a given machine type does not include the lserv and lsmon executables, they are not used.

Client (Ce) Processing

When Ce starts up, it contacts the license server by making a call (using UDP/IP for network communication) to request permission from the server to commence execution. To obtain the hostname of the machine on which the server is running, Ce first checks the environment variable "LSHOST". If "LSHOST" is not set, it looks for a file named "lshost" in the current working directory. On the RS6000, the file name "LShostname" is used. If the server name is not specified through these two methods, an automatic broadcast detects any license servers on the subnet. This automatic detection keeps the network licensing of Ce transparent to users.

As an alternative to having the environment variable "LSHOST" set on each users node, Ce allow the specification of the "LSHOST" value in the "app-defaults" file using resource name "LSHOST". The normal location for the application defaults resource file for Ce is "/usr/lib/X11/app-defaults/Ce". By setting the "LSHOST" resource in this file to the node the license server resides on, the users environment does not have to be modified. If the "LSHOST" variable is specified in the users environment it will take precedence over the value in the application defaults file.

SERVER (lserv)

The installation process puts the license server program in the directory requested at installation time. It has the name "lserv", it may be moved to the machine the license server will run on. Also included in the distribution is a program called "lsmon". It can be used to check on license usage.

The license server program is tied to a specific machine on the network. It can be started up automatically when the machine boots up, or it can be started manually. On start up, the server process reads an encrypted initialization file, which gives it information about all features licensed by LicenseServ on this network. The file path name can be specified as a command-line argument to the server start-up command. If the file is not found, it is an error. A single encrypted text string (licensing code) is contained in this file for each license feature, and each feature is treated independently of the others handled by the server process. Each encrypted licensing code includes the name of the feature Ce and the number of authorized concurrent copies of the feature. This licensing code is obtained from ETG Inc. Customer Service at the following location.

PHONE: 770-64-ARPUS (404-642-7787)
FAX: 770-993-4667
EMAIL: arpus@etginc.com
ADDRESS: ARPUS Customer Service
Enabling Technologies Group, Inc.
8601 Dunwoody Place
Suite 300, Atlanta, GA. 30350

The server always listens to the network traffic on port number 5093. All applications licensed by LicenseServ use this port number to communicate with the server. Site administrators should ensure that this port is not used by other applications. The following line should be added to the "/etc/services" file to indicate that this port is being used by LicenseServ.

LicenseServ 5093/udp

NOTE: You cannot change the port number used by LicenseServ by changing the entry in "/etc/services".

Starting the License Server

The license server can be started at boot time or manually. It is expected that the full path name will be specified. You do not have to be root to run the server, but you must have read permission on the <LicenseCodeFile>. The license server command structure is shown below:

./lserv [-s/Licenserc] [-l/logfile] [-q]

"-sLicenserc" is the name of the file containing license to be used by this server. Note that licenses (other than demo licenses) lock the server to a certain IP address which you supply to ETG Inc. when you request the license key. The default name is Licenserc in the current working directory. The installation script puts the key file in the same directory as the lserv binary with the name License_key. For example, "/etc/lserv -s/etc/License_key -l/usr/spool/lserv.log", might be put in an rc.local startup script for the license server machine. This assumes the installation script was instructed to put the license server in "/etc".

"-l/logfile" specifies where the license server will put its log file. If the "-l" argument is not supplied, the license server checks the environment variable "LICENSESTAT" to obtain the name of the file. The default is not to create a log file.

The argument "-q" suppresses message generation.

The log file message format is shown in figure F-1.

The code 0 is used for Issues, 1 for Denials, and 2 for Returns. Key-life is the total time the application used its key, and is recorded only for Returns.

Figure E-1. Log Message Format

Suggestion

Get a separate license key set from ETG for each subnet and start one copy of the license server on each subnet.

Monitoring License Usage

The lsmon utility is used to retrieve information about all features currently licensed by the LicenseServ server, and information about clients active on the network.

To run lsmon, use the following command at your Unix prompt:

% lsmon [hostname]

If hostname is omitted, lsmon tries to use the environment variable "LSHOST" to obtain the name of the LicenseServ server . If that fails, lsmon looks at the contents of the "lshost" file in the current directory. If that also fails, an automatic broadcast detects any license servers on the subnet.