Table of Contents * Index * Next Chapter
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.
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.
The four main components of FLEXlm are:
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.
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).
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 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.
When you run a `counted' FLEXlm-licensed application the following occurs:
`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.
Most of the parameters of FLEXlm are configurable by the license administrator. The license administrator can set:
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.
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.
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:
These steps are discussed briefly below, with cross-references to the appropriate locations for more detail.
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.
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.
GLOBEtrotter Software supplies administration tools to your software vendor. The vendor usually includes them with their product. The recommended location for the tools is /usr/local/bin (Unix), C:\flexlm (Windows), or SYS$COMMON:[SYSMGR] (VMS), but you can install them in a different location (or not at all). See Chapter 6, `License Administration Tools' on page 41 for more information.
The options file controls various options such as reservations and timeouts of licenses. Most users run without an options file, but you may decide you want to use some options. For example, many administrators use an option to limit the quantity and content of logged messages. To set up an options file, see Chapter 5, `The Options File' on page 31.
As a user of a FLEXlm-licensed application, you may need to know a few things to use the system effectively. The main things you need to know are:
The license file determines what features are available to a program. It also contains information telling the application how to connect to the license server.
For information about the standard way of specifying a license file for an application, see Chapter 2, `The License File' on page 7.
To find out who is using a license run lmstat, described in Chapter 6, `License Administration Tools' on page 41.
Table of Contents * Index * Next Chapter