Personal tools
chap3.htm
Table of Contents * Index * Previous Chapter * Next Chapter
Chapter 3 Multiple License Files
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.
3.1 Overview of Combining License Files
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:
- Multiple license server nodes; each running one lmgrd and one license file
- One license server node running one lmgrd and several license files
- One license server node running multiple lmgrds and multiple license files
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:
- The number of SERVER lines in each file is the same.
- The hostid field of each SERVER line in one file exactly matches the hostid field of each SERVER line in the other file.
Some possible reasons license files may not be compatible are:
- License files are set up to run on different server nodes, so hostids are different.
- One file is set up for single server (has only one SERVER line), the other is set up for redundant servers (has multiple SERVER lines).
- One vendor uses a custom hostid algorithm, so the hostids on the SERVER lines are different even though the files are for the same machine.
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</a>. If the
license files are not compatible, then you must keep the license files separate and run
separate copies of
lmgrd<I></I> for each license file, as described in
<a href="chap3.htm#15425: 2head: 3.1.2 Using Separate License Files on the Same Server Node">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.
3.1.1 Combining License Files from Multiple Vendors
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.
3.1.2 FLEXlm Version Component Compatibility
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:
- A newer lmgrd can be used with an older vendor daemon, but a newer vendor daemon might not work properly with an older lmgrd.
- A newer vendor daemon (or lmgrd) can be used with an older client program, but a newer client program might not work properly with an older vendor daemon.
From these two compatibility rules come the simple rules for selecting which version of administration tools to use:
- Always use the newest version of lmgrd and the newest version of each vendor daemon.
- Use the newest FLEXlm utilities.
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).
3.1.3 Using Separate License Files on the Same Server Node
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:
- The port number on the SERVER line of each license file must be unique. You can use a standard text editor to change the port number in each license file so that they are all different.
- You must make sure that you are using a compatible version of lmgrd when you start it up for a particular license file. This can be done by using an explicit path to lmgrd.
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
3.2 Using LM_LICENSE_FILE License File List
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</a> 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<TT></TT> environment variable as follows:<p>
<pre>% setenv LM_LICENSE_FILE<TT></TT> <I>lfpath1</I>:<I>lfpath2</I>:....:<I>lfpathN</I></pre>
</ol></ul><p>
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 ("").<p>
<p>
<p>
<dl><dt>lfpath1<dd>path to the first license file
<dd><dd><dd><dt>lfpath2<dd>path to the second license file.</dl><pre>.</pre>
<pre>.</pre>
<pre>.</pre>
<dl><dt>lfpathN<dd>path to the last (Nth) license file
<dd><dd><dd></dl><p>
Each application queries each license file in the order it is listed in the
LM_LICENSE_FILE<TT></TT> path. If the license server serving the license file listed in
<TT>lfpath1</TT> is unreachable, the other files listed in
LM_LICENSE_FILE<TT></TT> allow a user
to obtain a license from another server.
<I>lfpath</I> can also be"<I>port@host"</I>, using the port-number and hostname from the SERVER line in the license file.<p>
<p>
For more information about
LM_LICENSE_FILE<TT></TT> and setting the location of the
license file, see
<a href="chap2.htm#32236: 1head: 2.1 Location of the License File">Section 2.1, `Specifying Location of the License File,
on page 7.
Table of Contents * Index * Previous Chapter * Next Chapter