Skip to content. Skip to navigation

ICTP Portal

Sections
You are here: Home Manuals on-line PGI Compiler flexuser chap1.htm
Personal tools
Document Actions

chap1.htm

Table of Contents * Index * Next Chapter

FLEXlm End User Manual: Chapter 1 Introduction and Overview

Chapter 1 Introduction and Overview

This chapter explains the basics of floating (network) licensing, and gives a quick overview of the components of FLEXlm. It explains where license administrators have control and where end-users have control. A section called `Getting Started Checklist' on page 4 tells both license administrators and end-users how to start managing FLEXlm.

1.1 Introduction to FLEXlm

FLEXlm is the most popular license manager used in the software industry. FLEXlm is best known for its ability to allow software licenses to be available (or float) anywhere on a network, instead of being tied to specific machines. Floating licensing benefits both users and license administrators. Users can make more efficient use of fewer licenses by sharing them on the network. License administrators can control who uses the licensed application, and the node(s) where the licenses will be available. See Section 2.4, `Types of License Files,' on page 19 for details about the different licensing models supported by FLEXlm.

1.1.1 FLEXlm Components

The four main components of FLEXlm are:

  • license manager daemon
  • vendor daemon
  • license file
  • application program

The License Manager Daemon (lmgrd)

The license manager daemon (lmgrd) handles the initial contact with the client application programs, passing the connection on to the appropriate vendor daemon. It also starts and restarts the vendor daemons. FLEXlm permits multiple redundant license manager daemons on three server nodes, allowing you to make your license available if any two out of the three server nodes is running. Redundancy can be achieved with 3-server redundant servers, or by using a license file list with any number of servers.

lmgrd is not present on VMS or Netware systems.

The Vendor Daemon

In FLEXlm, licenses are granted by running processes (unless they're node locked, uncounted, in which case they need only read the license file to run). There is one process for each vendor who has a FLEXlm-licensed product on the network. This process is called the vendor daemon. The vendor daemon keeps track of how many licenses are checked out, and who has them. If the vendor daemon terminates for any reason, all users lose their licenses (though this does not mean the applications suddenly stop running). Users normally regain their license automatically when lmgrd restarts the vendor daemon, though they may exit if the vendor daemon remains unavailable.

Client programs communicate with the vendor daemon, usually through TCP/IP network communications. The client application and the daemon processes (the license server) can run on separate nodes on your network, across any size wide-area network. Also, the format of the traffic between the client and the vendor daemon is machine-independent, allowing for heterogenous networks. This means the license server and the computer running an application can be either different hardware platforms or even different operating systems (Windows and Unix, for example).

The License File

Licensing data is stored in a text file called the license file. The license file is created by the software vendor, and edited and installed by the license administrator. It contains information about the server nodes and vendor daemons, and at least one line of data (called FEATURE or INCREMENT lines) for each licensed product. Each FEATURE line contains a license key based on the data in that line, the hostids specified in the SERVER lines, and other vendor-specific data.

In some environments, the licensing information for several vendors may be combined into a single license file. The default location is:

   /usr/local/flexlm/licenses/license.dat (Unix)
   C:\flexlm\license.dat (Windows, Windows/NT, OS/2)
   SYS$COMMON:[SYSMGR]flexlm.dat (VMS)
   SYS:\SYSTEM\flexlm\license.dat (Netware)

End-users can usually override this location by setting the environment variable LM_LICENSE_FILE to point elsewhere, or by following instructions supplied with the licensed application. If your site has software from multiple vendors with incompatible license files (due to different sets of servers), you can keep the data in separate files and set the LM_LICENSE_FILE variable to reference multiple files.

The default location should be used with caution: setting LM_LICENSE_FILE may actually cause applications to fail if their license is located in the default location, but that location is not included in LM_LICENSE_FILE. This is because setting LM_LICENSE_FILE removes the default location from the license file list.

It's strongly recommended that you keep a copy or link (on Unix) of the license file in the vendor's `default' location, so that users will not need to set LM_LICENSE_FILE to run their applications. For details, see Chapter 2, `The License File' on page 7.

The Application Program

The application program using FLEXlm is linked with the program module (called the FLEXlm client library) that provides the communication with the license server. On Windows, this module is called LMGRxxx.DLL, where xxx indicates the FLEXlm version. During execution, the application program communicates with the vendor daemon to request a license.

1.1.2 The License Request Process

When you run a `counted' FLEXlm-licensed application the following occurs:

  1. The license module in the client application finds the license file, which includes the host name of the license server node and port number of the license manager daemon, lmgrd.
  2. The client establishes a connection with the license manager daemon (lmgrd) and tells it what vendor daemon it needs to talk to.
  3. lmgrd determines which machine and port correspond to the master vendor daemon and sends that information back to the client.
  4. The client establishes a connection with the specified vendor daemon and sends its request for a license.
  5. The vendor daemon checks in its memory to see if any licenses are available and sends a grant or denial back to the client.
  6. The license module in the application grants or denies use of the feature, as appropriate.

`Uncounted' features (where the number of licenses is 0) do not require a server, and the FLEXlm client library routines in the application grant or deny usage based solely upon the license contents.

1.1.3 Configuring FLEXlm

Most of the parameters of FLEXlm are configurable by the license administrator. The license administrator can set:

  • the location of the license file (though it's recommended that a copy or link of the license remains at the location where the application expects it)
  • the location of all executables
  • the location of all log files
  • the TCP/IP port number used by the license manager process, lmgrd.

In addition, the license administrator can reserve licenses for specific users, nodes, or groups, and control other license-related options. Changing parameters is discussed in Chapter 5, `The Options File' on page 31.

Refer to your vendor's documentation before attempting to change file names, locations, or contents.

1.2 Getting Started Checklist

The following sections provide a quick overview of how to set up and use licensing for FLEXlm-licensed products. By scanning the list, you should be able to quickly find the areas of interest. Cross-references point to more details in other parts of this manual.

1.2.1 Installing Licensed Software

As a license administrator you are responsible for setting up licensing on your system or network. This section tells you how to do that. If you are an end-user of the application and you will not be involved in installing it, then go to Section 1.2.2, `Notes for End-Users,' on page 5.

Remember that the installation guide for your application software is the final word on installing and configuring FLEXlm.Generally, however, installing FLEXlm licensing requires the following steps:

  1. Select your license server nodes and get their hostids. See Appendix A, `Hostids for FLEXlm-Supported Machines'.
  2. Give the hostids to your software vendor and get a license file (or the data to enter in the license file) in return.
  3. Consider combining the new license file with any existing license files. See Chapter 3, `Multiple License Files' on page 21.
  4. Determine if an options file is desired, and if so, set it up.
  5. Determine where to install the FLEXlm utility programs such as lmgrd, and lmutil (lmstat/lmdown/etc.) and install them unless the your vendor's installation script does so for you.
  6. Start lmgrd (the license daemon) manually; you may also want to set it up to start automatically at boot time. See Section 2.1.1, `Setting the Path to the License File at Start-Up (Unix),' on page 8.

These steps are discussed briefly below, with cross-references to the appropriate locations for more detail.

License Servers and Hostids

Before running any FLEXlm-licensed program using floating licenses, you will need

to set up your license server node (or nodes). You must select which node or nodes to run your license servers on, and provide the hostid of those machines to your software vendor. For pointers on selecting your server machine, see Chapter 4, `Selecting Server Nodes' on page 25.

You can get the hostid of the server machine by running FLEXlm's lmhostid utility on that machine. If you don't have lmhostid, you can get the hostid of your machine by using the appropriate command as described in Appendix A, `Hostids for FLEXlm-Supported Machines'.

Using the hostid of your server machines your vendor will send you a license file that enables their application software.

lmgrd and License Files

Once you have received a license file from your vendor, you must install it on your system and start up the license manager daemon, lmgrd.


Powered by Plone This site conforms to the following standards: