Chapter 9. Licensing

Silicon Graphics products are licensed by the FLEXlm application. To set up and maintain the licensing scheme for these products at your site, use the FLEXlm End User Manual (available online through IRIS InSight) as your primary source of license administration information. The InSight version of the FLEXlm guide contains icons that identify information that either does not apply to the Silicon Graphics implementation of FLEXlm or requires additional explanation. This chapter of IRIX Admin: Software Installation and Maintenance provides the alternative and additional information that is marked by the icons.

This chapter contains these sections:

About License Manager

Users license their applications with License Manager, a graphical tool that can be accessed from the System toolchest. See the LicenseManager(1M) reference page for information on the user interface to licensing.

The License Request Process Illustrated

Figure 9-1 illustrates the events in the license request process.

Figure 9-1. License Request Process


The license request process consists of this sequence of events:

  1. When it starts, the master license daemon (lmgrd) reads the server copy of the license file and starts the vendor daemons listed in the file.

  2. When it starts, the user application searches the client copy of the license file for the address of the license server, which includes the port number for lmgrd.

  3. The user application requests the vendor daemon's address from the master daemon.

  4. The master daemon sends the address of the vendor daemon to the user application.

  5. The user application requests a license from the vendor daemon, using the address it received.

  6. The vendor daemon checks its memory for available licenses and grants or denies a license.

FLEXlm File and Utilities on Silicon Graphics Systems

When you install FLEXlm software on Silicon Graphics systems, licensing files and programs are stored in these locations:

/usr/etc/lmgrd  

license manager daemon

/usr/etc/sgifd  

Silicon Graphics vendor daemon

/var/flexlm/licensefile.db  


database of license files for Silicon Graphics applications

/var/flexlm/license.dat  


license file for node-locked licenses

/var/flexlm/license_<hostname>.dat  


license file for floating licenses on the hostname server

/usr/sbin (lmdiag, lmdown, and so on)  


FLEXlm license administration tools

/etc/init.d/flexlm  


Startup script for the FLEXlm license daemon

/etc/config/lmgrd.options  


Configuration file containing arguments to the lmgrd command

/etc/config/flexlm  


Text file for enabling or disabling automatic startup of the FLEXlm daemon

The License File Database for Silicon Graphics Applications

To locate their licenses, Silicon Graphics applications search the /var/flexlm/licensefile.db file, which is located on the client system and contains a list of license files and directories. These applications search each file listed in licensefile.db whose name ends in .dat; they also search all .dat files stored in licensefile.db directories. The contents of /var/flexlm/licensefile.db are illustrated in Example 9-1, which contains one license directory and two license files:

/var/flexlm
/var/flexlm/license.dat
/usr/lib/SoftWindows/FLEXlm/license.dat

Example 9-1. Database of License Locations

A license file in /var/flexlm/licensefile.db might direct the application to a license server to continue its search for a license (see “The USE_SERVER Feature” for details). If you plan to store licenses in a directory or filename that is different from those specified in /var/flexlm/licensefile.db, or if you create new locations for license files, you must modify /var/flexlm/licensefile.db to reflect your changes.


Note: The license daemon does not search /var/flexlm/licensefile.db to determine license file locations; licensefile.db is used only by Silicon Graphics applications. See “Additional License File Locations,” which follows.


Additional License File Locations

Neither the license manager daemon (lmgrd) nor the vendor daemons use /var/flexlm/licensefile.db to determine license file locations. These daemons locate license files by other methods:

  • On Silicon graphics servers, the master license daemon is started with parameters specified in the /etc/config/lmgrd.options file. The -c argument in this file specifies the location of the license file. If you change the location of the license file, you must modify /etc/config/lmgrd.options to specify the new license file location.

  • Applications whose license files are not listed in /var/flexlm/licensefile.db locate license files by means of the LM_LICENSE_FILE environment variable (also see “The port@host Feature”). To specify the location of license files, enter a line like the sample below in the .cshrc file (.profile or .kcshrc for Bourne or Korn shells) on the client system:

    LM_LICENSE_FILE=<licensefile_path1>:<licensefile_path2>...
    

New FLEXlm Features

The FLEXlm application contains two new features that can be implemented with applications using FLEXlm version 5 (or later): USE_SERVER and an enhancement to the port@host feature.

The USE_SERVER Feature

Version 5 of the FLEXlm application offers USE_SERVER, which eliminates the need to copy and maintain the server's license file on client systems. With this feature, only two lines are required in the client's license file: a SERVER line and the USE_SERVER line. When an application reads the USE_SERVER line, it reads the license file on the specified server instead of reading the local file.

Example 9-2 illustrates a client license file that implements the USE_SERVER feature. In this example, the application is directed to server sparkplug to read its license file:

SERVER sparkplug 023456 1701
USE_SERVER

Example 9-2. Client License File With the USE_SERVER Feature



Note: The USE_SERVER feature is valid only for applications built with FLEXlm
version 5.


The port@host Feature

The version 5 enhancement to the port@host specification provides the same function as the USE_SERVER feature: it directs applications to read their license file from a remote server instead of reading it locally. Like earlier versions of port@host, the enhanced port@host uses the LM_LICENSE_FILE environment variable to specify the server. For example, the specification in Example 9-3 directs applications to read the license from sparkplug by means of a connection to port 1701.

Example 9-3. Specification for the Enhanced port@host Feature

LM_LICENSE_FILE=1701@sparkplug

It is possible to specify unenhanced port@host processing (FLEXlm version 4) for applications built with FLEXlm version 5. To specify unenhanced port@host processing, prepend a minus sign (\xc5 \xc5 –) to the LM_LICENSE specifications (shown in Example 9-4).

Example 9-4. Specification for Unenhanced Processing of port@host

LM_LICENSE_FILE=-1701@sparkplug


Starting and Stopping the Licensing Daemon

The installation process installs a startup script, /etc/init.d/flexlm, that starts and stops the FLEXlm license daemon. This script executes the lmgrd command to start the license daemon, using the values in the configuration file /etc/config/lmgrd.options.

To determine whether to start the license daemon, reads the file /etc/config/flexlm. By default, /etc/config/flexlm contains the value off, which prevents the master license daemon from starting. To enable lmgrd, change the value in /etc/config/flexlm to on using this command:

# /etc/chkconfig flexlm on

To start the FLEXlm license daemon, enter this command as superuser:

# /etc/init.d/flexlm start

To stop the FLEXlm license daemon when it is running, enter this command:

# /etc/init.d/flexlm stop

If the flexlm configuration file contains the value on, the FLEXlm daemon will be started automatically during the system startup sequence.