The following sections describe the workings of the license manager in detail.
Client Server Model
The license manager uses a client-server model. Builder Xcessory requests a license from one of the license servers installed on the network. The license server may run on the same system as Builder Xcessory.
When Builder Xcessory starts running, it attempts to connect to one of the servers located in the license file (usually/usr/local/flexlm/licenses/license.dat
) and requests authorization to start. If it is unable to find a system with the license server ( lmgrd
) running (including the local system if configured as a server), then Builder Xcessory reports an error and gives you the option of starting in demo mode.
In the following discussions, there are three server systems ( boston
, chicago
, and newyork
) and one client system ( houston
). The servers are running the license manager ( lmgrd
) and the vendor daemon ICSBX, the clients are running Builder Xcessory. Typically, servers would also act as clients and run Builder Xcessory, but for the sake of the discussion, assume that they are separate systems.
The following sections describe files that must be on the client and server systems for the license manager to operate properly. Other files that may be used with the license manager for debugging (described in the previous section) are not required to get it started.
License Manager Software
The following files should be accessible to any system designated as a Builder Xcessory license server:
- The license manager that is common to any software that uses GLOBEtrotter Software's Flexible License Manager.
-
The file containing the information used by the license manager to determine the types of licenses available and which other systems act as servers on the network. This file is created by the Builder Xcessory installation, specifically the program
setup
, and should not be modified unless you fuller understand its contents.
Builder Xcessory Client Files
The following files should be accessible to any system that will run Builder Xcessory:
Contents of the License File
Example
The license.dat
file for our example would contain the following contents:
- SERVER newyork 69021311 1700
- SERVER chicago 08002b24d061 1700
- SERVER boston 54008d92 1700
- DAEMON ICSBX /usr/lib/X11/builderXcessory/bin/ICSBX
- FEATURE BuilderXcessory ICSBX 3.000 01-jan-00 30 BBC420913292BCCF637F "ICS Builder Xcessory"
The license
. dat
file contains the database of available servers (the SERVER lines) and licenses (the FEATURE lines). Every copy of the license.dat
file must be identical for each of the servers. Additionally, information is encrypted into the keys that reflect host ids, license information, and features. Editing the file manually most likely guarantees that the license manager will not grant a license.
SERVER line
The SERVER lines tell the names of each server that should be running the license manager daemons.
DAEMON line
The DAEMON line tells the name and the location of the vendor daemon (the actual program which communicates with Builder Xcessory running on the client systems).
FEATURE line
The FEATURE lines describe various licensed products, one of which is Builder Xcessory.
License manager daemon
When the servers boot, the license manager daemon, lmgrd
, is started, typically from system boot scripts. The daemon looks for the license.dat
file, and then starts all the vendor daemons listed in the license file. It also begins talking to other server systems on the network that are specified in the license.dat
file.
license.dat file
When a user starts a copy of Builder Xcessory on a client system (in our example, houston) it reads its copy of thelicense.dat
file and finds a feature line that corresponds to Builder Xcessory and finds a server to connect to. Then it looks for a server running the vendor daemon to get a valid license. A license will be granted only if a majority of the servers listed are actually running lmgrd
and ICSBX
. In our example, two out of the three network servers must be running. If a server cannot be found or the maximum number of licenses are currently in use, the license manager does not grant a license and gives you the option of starting in DEMO mode.