Previous Installation and Licensing Guide: Licensing IDL and ENVI Next

Using License Files

The license file controls:

The following is an example of an IDL license file. This example is built for the license server "hal," which has the LMHostid "0000c09a23f0" and the designated port number "1700." This license has five floating licenses for UNIX machines. The last line in the license file is the FEATURESET line, which ties all the FEATURE and INCREMENT lines together:

SERVER hal 0000c09a23f0 1700  
USE_SERVER  
DAEMON idl_lmgrd  
INCREMENT idl idl_lmgrd x.x00 1-jan-0000 50 5BC6A081FA3009FA5673 \  
   VENDOR_STRING="1234-1Acme Datawack Corp" ck=16  
FEATURESET idl_lmgrd 96C31B1FB71BCAE9  

The FEATURE or INCREMENT lines of the license file determine which products are available. The x.x refers to the IDL version. The SERVER lines define which machines the products run on. The number of copies of the product that can run concurrently is controlled by the number of license units available, as specified by either the FEATURE or INCREMENT lines.

The FEATURE or INCREMENT line for the floating license shows 50 license units. This is not an error. Each idl or idl_rt counted license requires 10 license units (6 for Windows, Linux, or Mac OS X) on the FEATURE or INCREMENT line. The number of license units is a platform-dependent scale factor times the number of licenses you own. For example, if you have 3 UNIX floating licenses, this field is set to 30.

Viewing License Files

To access the text of your license file through the license wizard, open the license wizard. See Using the License Wizard for details. You must be logged in as root or have write permissions on the licensing directory, to modify the license file.

Modifying License Files

You can modify only the following four data items in the license file:

On Windows, you normally should not include a path on the DAEMON line of your server-based license file. However, if your lmgrd.exe file and your vendor daemon file (idl_lmgrd.exe) are moved to separate directories, then you will need to edit the DAEMON line of your license file to reflect the actual location of your vendor daemon or vendor daemon directory. For example:

Windows:

DAEMON idl_lmgrd "C:\Otherdir\idlxx\bin\bin.<platform>\idl_lmgrd.exe"  

UNIX:

DAEMON idl_lmgrd /otherdir/itt/idlxx/bin  

Macintosh:

DAEMON idl_lmgrd /otherdir/itt/idlxx/bin  

 


Note
Changing license file lines other than those discussed above will invalidate your license file, causing your installation to run only in demonstration mode (IDL only). Individually altering any FEATURE or INCREMENT lines destroys the file.

If you have multiple vendors using FLEXlm license management software, see Using the Same License Manager for Different Applications for more detailed information on customizing your license file.

Changes to a modified license file will not take effect until the license manager is restarted using that license file.

License Sources

FLEXlm stores the latest successful IDL or ENVI license information on UNIX and Mac OS X in a FLEXlm resource file called .flexlmrc in the user's home directory. This file defines a variable named IDL_LMGRD_LICENSE_FILE to indicate the license source. For example, the definition in the file might read as follows:

IDL_LMGRD_LICENSE_FILE=/usr/local/itt/license/license.dat  

IDL continues to use this information until the IDL_LMGRD_LICENSE_FILE value is redefined, the .flexlmrc file is removed, or a system environment variable called IDL_LMGRD_LICENSE_FILE is defined in the shell environment used to start IDL.

Note that even if a system environment variable named IDL_LMGRD_LICENSE_FILE is defined, the IDL_LMGRD_LICENSE_FILE setting in the .flexlmrc file will continue to be referenced, but as a secondary license source if the IDL_LMGRD_LICENSE_FILE system environment variable does not supply a viable license source for the IDL session.

A license source defined by IDL_LMGRD_LICENSE_FILE in your .flexlmrc file or as a system variable will always hold precedence over any LM_LICENSE_FILE environment variable's definition. Only if IDL cannot successfully access a license source defined by IDL_LMGRD_LICENSE_FILE will it attempt to access a license defined by LM_LICENSE_FILE. Here is the order of license source precedence:

  1. The IDL_LMGRD_LICENSE_FILE environment variable (ITT Visual Information Solutions product-specific)
  2.  

  3. The IDL_LMGRD_LICENSE_FILE definition in .flexlmrc (ITT Visual Information Solutions product-specific)
  4.  

  5. The LM_LICENSE_FILE environment variable (seen by all products using FLEXlm)
  6.  

  7. The license.dat file in the default location (ITT_DIR\license\license.dat)
  8.  

  9. The evaluation license (ITT_DIR\license\*.lic)

To override the .flexlmrc license source definition, define an IDL_LMGRD_LICENSE_FILE system environment variable that points to the desired license file. For example, for a C shell:

setenv IDL_LMGRD_LICENSE_FILE /usr/local/itt/license/license.dat  

For a Korn or Bash shell:

export IDL_LMGRD_LICENSE_FILE=/usr/local/itt/license/license.dat  

Customizing Floating Licenses

You can customize license management by creating a license manager options file. This file lets you:

To customize the license manager, create an options file in a text editor as described in the following section. See Sample Options Files: Reserving Licenses for a Group for examples.

Creating an Options File

Use a text editor to create an options file. For IDL and ENVI, the options file must be named idl_lmgrd.opt and must be saved in the same directory as license.dat. The default location in which to save the options file is the ITT_DIR/license directory.


Note
Whenever you modify the options file, you must stop and restart the license manager before the changes will take effect.

Use the following conventions when creating an options file:

Options File Keywords

The following table describes the keywords available for creating an options file:

Table 6-2: Options File Keywords 

Table 6-2: Options File Keywords 
Keyword
Example
Description
EXCLUDE
EXCLUDE feature type type_name
EXCLUDE idl USER bob  
EXCLUDE envi USER bob  
Excludes user "bob" from using IDL or ENVI.
Can exclude user, group, host, or host_group from using IDL or ENVI. EXCLUDE takes precedence over INCLUDE statements.
EXCLUDEALL
EXCLUDEALL type type_name
EXCLUDEALL GROUP misfit  
Prevents the group "misfit" from using any of the features served by this vendor daemon.
Implicitly allows members of all groups except "misfit" to access all features served by this vendor daemon.
GROUP
GROUP group user_list
GROUP visitor sam kate  
Defines users "sam" and "kate" as comprising the group "visitor".
Defines a list of users to use as a group with other keywords such as INCLUDE or EXCLUDE.
HOST_GROUP
HOST_GROUP group host_list
HOST_GROUP main hal sam  
Defines hosts "hal" and "sam" as the group "main".
Defines a list of hosts to use as a group with other keywords such as INCLUDE or EXCLUDE.
INCLUDE
INCLUDE feature type type_name
INCLUDE idl GROUP visitor  
INCLUDE envi GROUP visitor  
Allows only users in the group "visitor" to use IDL or ENVI.
Includes only specifically identified users or groups. All others are implicitly outside of this group, and denied access.
INCLUDEALL
INCLUDEALL type type_name
INLCUDEALL GROUP research  
Allows all users listed in the group "research" to use all features served by this vendor daemon.
Specifies users or groups allowed use of all features served by this vendor daemon.
LINGER
LINGER feature seconds
LINGER idl 20  
LINGER envi 20  
The license manager holds on to a license for an additional 20 seconds after it is checked in.
Causes licenses to be held by the license manager for a specific amount of time after a user exits IDL or ENVI. Rarely used.
MAX
MAX #lic feature type type_name
MAX 10 idl_rt GROUP research  
MAX 10 envi_rt GROUP research  
Allows users in the "research" group to use at most 10 units of the "idl_rt" or "envi_rt" feature at one time.
Limits usage of a feature among users or groups.
NOLOG
NOLOG event_type
NOLOG DENIED  
NOLOG QUEUED  
A separate NOLOG line is needed to turn off logging of events including IN, OUT, DENIED, and QUEUED.
REPORTLOG
REPORTLOG report_log _path
REPORTLOG +itt\license  
Specifies the reportlog file path.
The "+" indicates to append the file instead of overwriting it each time the manager is started.
RESERVE
RESERVE #lic feature type type_name
RESERVE 10 idl USER sam  
RESERVE 10 envi USER sam  
Reserves a single license for the user "sam".
Ensures that a license will always be available to a specified user or group.

Sample Options Files: Reserving Licenses for a Group

The following example shows how to define and reserve a number of licenses for a group of users, and tells the license manager not to log denied requests. Each copy of IDL or ENVI requires 10 license units on a UNIX workstation-class machine. Comment lines begin with #.

# reserve 5 IDL licenses for the research group  
RESERVE 50 idl GROUP research  
# define the users in the research group  
GROUP research josh hal bob kate beth  
# exclude anyone on a computer with the name main  
EXCLUDE idl HOST main  
# do not log license denials  
NOLOG DENIED  

Or,

# reserve 5 ENVI licenses for the research group  
RESERVE 5 envi GROUP research  
# define the users in the research group  
GROUP research josh hal bob kate beth  
# exclude anyone on a computer with the name main  
EXCLUDE envi HOST main  
# do not log license denials  
NOLOG DENIED  

When using INCLUDE or EXCLUDE, anyone not specifically mentioned on a list is implicitly excluded or included. For example, in the above file, everyone who is not working on a computer named "main" would be allowed to access IDL or ENVI. An EXCLUDE statement takes precedence over an INCLUDE statement. If the user "josh" were working on a computer named "main," he will not be able to access IDL or ENVI even though there is a license reserved for him.

Sample Options Files: Reserving Licenses for Individuals

The following options file reserves licenses for individuals from the "research" group defined above. If you have a group of 10 people, you can specify that a license or licenses will always be available to certain users within that group by using the RESERVE keyword in an options file. The NOLOG line pertains to the IDL QUEUE command, which allows a user to wait for an IDL license instead of entering demonstration mode when a counted license is unavailable. It tells the log file not to record any queue events.

# reserve one license for "kate"  
RESERVE 10 idl USER kate  
# reserve one license for "josh"  
RESERVE 10 idl USER josh  
# reserve 3 licenses for "hal"  
RESERVE 30 idl USER hal  
# do not log queue events  
NOLOG QUEUED  

Or,

# reserve one license for "kate"  
RESERVE 1 envi USER kate  
# reserve one license for "josh"  
RESERVE 1 envi USER josh  
# reserve 3 licenses for "hal"  
RESERVE 3 envi USER hal  
# do not log queue events  
NOLOG QUEUED  

  IDL Online Help (March 06, 2007)