FlexLM installation and usage
General | Host identification | UNIX installation | Windows installation | License files | Upgrading to a new license file | Firewall issues

General

Commercial plugins for OpendTect are often protected by FlexLM licenses. The FlexLM system is based on text files with coded keys. Basically, before a certain action is done the plugin will request permission from the FlexLM system. FlexLM in turn consults the license file, and will contact a license manager daemon on a server if necessary.

The FlexLM licensing system allows a variety of licensing options. The most important license types are:

Demo and Node-locked licenses are the easiest to install but more difficult to maintain. Demo licenses because they are valid for a limited period of time, node-locked because they will only allow usage on one or more computers explicitly named in the license file. Node-locked licenses can be recognised by lines with the 'HOSTID=' in it, like:
FEATURE dTect lm_dgb 4.2000 1-jan-2012 uncounted 023E2CE466C7 \
        HOSTID="00146c37f273 00167600d558"

Floating licenses are managed by a license server. When the plugin needs a license, FlexLM will contact this server machine. You have a floating license if the first actual line of the license file contains 'SERVER', like:

SERVER houserv001 00146d37ec2a
A more extensive introduction can be found in the 'FlexLM licenses explained' page.

Host identification

For a licensing scheme to work, there must be a unique identifier for the server or (in case of a node-locked license) the working computer. In most cases, this identification will be tied to the address of your network card. How to obtain this 'FlexLM Host ID' is dependent on the operating system. The different ways to obtain it are described in the host ID section of the 'FlexLM licenses explained' page.

Note that the FlexLM host ID is never the IP address of the computer.

Installation

FlexLM offers a lot of mechanisms to make sure that the licenses are granted to the users that need them. In case you don't have the experience needed to handle this yourself, OpendTect plugin packages come with tools to install the license. How to go about depends largely on the Operating systems involved:

The license files

It is possible to use, for example, a Linux server to give out licenses on Windows systems. In general, it doesn't matter what Operating system you have on your license server. The OpendTect program will take a look at the local license file and try to contact the host denoted in the 'SERVER' line. For this to work, the computer running OpendTect must be able to 'see' the license file. This can be done by putting the license file on a shared network disk, or putting a copy of the file on each computer.

Sometimes the server host name, as found in the SERVER line is unknown to the client computer (the computer running OpendTect). In that case you can simply edit the copy of the license file to match something that the client computer does understand. For example:

SERVER houserv001 00146d37ec2a
can be changed in:
SERVER 133.44.22.11 00146d37ec2a
Note that you cannot change the host ID; that will invalidate the licenses.

Upgrading to a new license file

When you obtain an upgrade for your current license file, then you have to make sure that:

  1. All license files are replaced with the new version. So, the server's license file needs to be replaced, but also all copies that you may have made - local copies.
  2. The server(s) is/are re-started (if you have floating licenses). This can be done by using a 'reread' or just by stopping and starting. On Linux and Mac, the script that starts the daemon also stops it if you add 'stop' to the command line.

Quite annoying is the problem of FlexLM 'helping' you by remebering the location of old license files and using those rather than new ones that you have specified. Therefore, it is usually a good idea to remove all old license files that you can find, or at least renaming them just so FlexLM cannot find them.

Firewall issues

You can, at some point in time, be confronted with a firewall blocking communication between a client and the server computer. Before starting to change firewall settings, it may be interesting to know that you can specify the port that FlexLM uses to communicate through. This is done on the SERVER line, as follows:

SERVER houserv001 00146d37ec2a 54321
In the above case you specify that FlexLM needs to use port 54321, rather than the default 27000 (and up). Note that this needs to be done for both the server's and the client(s) license file(s).