Appendix A - FlexNet Licenses Explained
Let us suppose you have received a 4-user license for a OpendTect Pro and the DipSteering plugin. You will have received a floating license, meaning that these features can be used from any machine that can access the license server, by a maximum of four simultaneous users.
Server side: The License Manager Daemon
To be able to enforce the license, there must be a piece of software somewhere that keeps track of who is using the module. That is the License Manager Daemon (lmgrd). The lmgrd can run on any machine, also on machines that you will never use the module itself on. Good candidates are stable UNIX servers.
When the lmgrd is started, it looks at a file containing the information about what should be supported. This file is called the License File. Actually, the lmgrd can only be started on the machine indicated in the license file. The license file could look similar to this:
SERVER licserv 000347e8b845
VENDOR dgbld /apps/opendtect/6.6.0/bin/lux64/lm.dgb/dgbld
FEATURE dTectPRO dgbld 2024.03 31-mar-2024 4 DUP_GROUP=UHD SIGN="0077...
FEATURE dTectDS dgbld 2024.03 31-mar-2024 4 DUP_GROUP=UHD SIGN="0023...
The first line tells us that the lmgrd must be started on the machine licserv, with FlexNet ID 000347e8b845. The second line is interesting for the lmgrd only (it tells the lmgrd where to find the vendor daemon, in this case the dGB vendor daemon, dgbld). Below you then see two actual license FEATURE lines (dTectPRO and dTectDS). The features shown are valid until 31-mar-2024, for 4 users, and may be updated to the latest available version of this feature until the end of the month 2024.03 (31-mar-2024).
The Client side: Your program
Now let's look at the machine that you run your software on. The program will at some point in time need to check whether there is a license for what you are trying to do. For this, the program looks at the same license file. It sees that it has to contact the machine 'licserv' to ask for permission. The combination of lmgrd & dgbld keep track of the number of users already using the license feature. If a license is granted, your program will go on, otherwise you'll get an error message.
Non-floating licenses
In some cases the software will never be used other than on a certain machine. In that case a node-locked license can be issued. For such a license you do not need to start a license manager daemon - the license is tied to, and installed on, only that specific machine, through its HostID. A special case is the unlimited DEMO license, which grants unlimited access for any number of users on any machine. It goes without saying that this kind of license is always for short periods.
Host identification
For the above schemes to work, the license server or the machine using the node-locked license must be uniquely identified. Therefore, you will be asked to provide a unique HostID and a hostname when you want to obtain a license. The preferred method to identify the HostID is via OpendTect itself using the 'Show HostID' option (see: Licensing and Host IDs). From this option, you may use the 'copy' icon to copy the information to your clipboard before sending it through to us.
- Windows-only: On Windows, there is also a FlexNet utility that does the same job as described above. It is delivered together with the Windows Pro version of OpendTect and the Windows FlexNet Vendor Package, so you need to install one of those first. From the Start menu, select OpendTect > License Manager Tools and via Utilities> Installation>Licenses>Open License Manager Tools. Select the tab 'System Settings'. Then push the 'Save HOSTID Info to a File' button. You will need (local) admin rights to access this tool.
If you need to obtain the host ID before OpendTect is installed:
- Windows: Open a 'command prompt' (For example, by running
cmd) and issue a command like:ipconfig /all > c:\Temp\ipcfg.txtYou can send ipcfg.txt or look for the 'Physical address'. - Linux and Mac OS X: Run
ifconfigin a terminal. Or if ifconfig is not installed runip a. Look for HWAddr or ether. You want the MAC address, looking like xx:xx:xx:xx:xx:xx - that's 6 groups of 2 hex numbers. Example: 00:1C:C0:38:22:F1. Usually you would want to provide the one that is reported with devicename eth0 or eno1. In doubt you can provide all.
If for some reason one of these commands does not work: we need the MAC address of the main network card. Sending the IP address of a machine is never helpful.
Conclusion (Manager's summary)
The FlexNet license system is based upon internet technology. Therefore you can run your software on any machine, using any operating system, to get licenses from any other machine regardless of operating system or physical location. Thus, a Linux license server in Houston can manage the licenses for Windows, Linux and Mac OS X machines in Houston, Caracas and Paris. The only restriction is the number of users actually using the 'feature' at a certain time, but that is what you pay for.
For more information, see the FlexNet Licensing End User Guide.