Table of Contents * Index * Previous Chapter * Next Chapter
Since more than 1500 vendors have chosen FLEXlm as their license manager, chances are good that you will have to administer licenses from more than one vendor or multiple products from the same vendor.
When you are running FLEXlm-licensed products from multiple vendors, you may need to take steps to prevent licensing conflicts during installation. There are three ways you can accomplish this:
Note that before version 6, each lmgrd could read only a single license file. In the first option mentioned above, you will have more license servers to monitor; in the third option you have only one server but multiple lmgrds to administer.
If all applications and vendor daemons are FLEXlm v6 (or later), lmgrd can process multiple license files, even when the hostids are different, so long as they refer to the same node.
Your product's license file(s) define the license server(s) by hostname and hostid in the SERVER line(s) in the license file. If the license files for two or more products contain identical hostids on the SERVER line(s), then these files can be combined. If the license files for two products contain different hostids on a SERVER line, then the license servers for those products will be running on different nodes and the license files cannot be combined.
If you have two or more products whose license servers run on the same node (as specified by the SERVER lines in the license files), you may be able to combine the license files into a single license file. If the SERVER lines in those files have identical hostids, then you can combine the files into a single file. If the SERVER lines have different hostids, then you must keep the license files separate.
More precisely, you can combine two license files under the following conditions:
Some possible reasons license files may not be compatible are:
If your license files are compatible as described above, then you have the option of combining license files and running a single lmgrd, as described below in Section 3.1.1, `Combining License Files from Multiple Vendors,' on page 22. If the license files are not compatible, then you must keep the license files separate and run separate copies of lmgrd for each license file, as described in Section 3.1.3, `Using Separate License Files on the Same Server Node,' on page 23.
Note that you are not required to combine compatible license files; you always have the option of running separate lmgrds, and there is virtually no performance or system-load penalty for running separate lmgrd processes.
If your license files are compatible, you can combine them with any text editor. To combine license files, read all of the compatible license files into one file, then edit out the extra SERVER lines so that only one set of SERVER lines remains. Write out this data, and you have your combined license file. If you combine license files from multiple vendors, it is a good idea to keep a copy of the combined license file in each vendor's default license file location. This way, your users can avoid having to set LM_LICENSE_FILE, because each package finds it's license information in the default place. On UNIX, you can do this with a symbolic link from each default location to the location of the combined license file.
When you combine license files for two different FLEXlm-licensed products, it may be the case that those products do not use the same version of FLEXlm. FLEXlm is designed to handle this situation. There are two basic compatibility rules for FLEXlm:
From these two compatibility rules come the simple rules for selecting which version of administration tools to use:
For specific application programs, you can use either the new or the old version (of course the vendor daemon for that application must be at least as new as the application itself).
You must run a separate copy of lmgrd for each license file. When you run multiple copies of lmgrd, there are two details to remember:
When running client programs (such as a licensed application), you can set the LM_LICENSE_FILE environment variable to point to multiple license files. For example, you may have a license file from vendor ABC and a license file from vendor XYZ with incompatible servers. You can place the license file from vendor ABC into:
/usr/flexlm/abc.dat
and the license file from vendor XYZ into:
/usr/flexlm/xyz.dat
then set the LM_LICENSE_FILE environment variable to point to both of them. Each name in LM_LICENSE_FILE should be separated by a colon (`:') on Unix systems, a semicolon (`;') on Windows and Windows/NT systems (in FLEXlm v4.1, a comma was used on Windows and NT), and a space ("") on VMS systems. In the C shell:
% setenv LM_LICENSE_FILE /usr/flexlm/abc.dat:/usr/flexlm/xyz.dat
In the Korn and Bourne shells:
# LM_LICENSE_FILE=/usr/flexlm/abc.dat:/usr/flexlm/xyz.dat # export LM_LICENSE_FILE
If products use different license server nodes, each set of license servers requires separate license files. (When multiple software vendors use the same set of license server nodes, the technique described above in Section 3.1, `Overview of Combining License Files,' on page 21 can be used to combine license files.) The resulting (multiple) license files can be installed in convenient locations. On Unix you would set the LM_LICENSE_FILE environment variable as follows:
% setenv LM_LICENSE_FILE lfpath1:lfpath2:....:lfpathN
Use a colon (":") to separate the license file names on Unix, on Windows and Windows/NT use a semicolon (";"), and on VMS use a space ("").
.
.
.
Each application queries each license file in the order it is listed in the LM_LICENSE_FILE path. If the license server serving the license file listed in lfpath1 is unreachable, the other files listed in LM_LICENSE_FILE allow a user to obtain a license from another server. lfpath can also be"port@host", using the port-number and hostname from the SERVER line in the license file.
For more information about LM_LICENSE_FILE and setting the location of the license file, see Section 2.1, `Specifying Location of the License File,' on page 7.
Table of Contents * Index * Previous Chapter * Next Chapter