Industrial Design System FAQ

Floating licenses

  1. How does the floating license system work ?
  2. What Windows versions are supported by the floating license system ?
  3. How can I get the system ID of the license server machine on Windows platforms ?
  4. How is the floating license installed on Windows platforms ?
  5. What Unix versions are supported by the floating license system ?
  6. How can I get the system ID of the license server machine on Unix platforms ?
  7. How is the floating license installed on Unix platforms ?
  8. What parts of the license file can be edited without invalidating the license ?
  9. Are there any tools available for testing the connection to the license server ?
  10. The license server cannot get the system ID for the server machine on Windows. Why ?


1. Question: How does the floating license system work ?
Answer:
In the floating license system the client programs are not tied to any specific machine, only the number of concurrently running programs is controlled. There is a separate license server program running on one machine in the network, controlling the use of the licenses.

At their startup the client programs contact the server and ask for a license to run. If the maximum number of concurrently running programs, defined in the license file, would be exceeded, the server denies the license from the client. Otherwise the license is permitted and the number of the running programs is incremented by one. When the client programs exit, they inform the server so that it can decrement the number of the running programs accordingly.

Because the license control is centralized to one license server machine in the floating license system, all the machines where the program is run, must be connected to the same network. For the FLEXlm floating license system, used by the DeskArtes IDS, there has to be TCP/IP connection between the machines where the license server and the client programs run.

2. Question: What Windows versions are supported by the floating license system ?
Answer:
The floating license system supports the same Windows versions as the IDS:
  • Windows NT4
  • Windows 2000
  • Windows XP Professional

3. Question: How can I get the system ID of the license server machine on Windows platforms ?
Answer:
To get the system ID number of the license server machine, you have to first copy two files "flexlm.cpl" and "lmgr325c.dll" from the IDS installation directory (default: "C:\DA\bin") to the Windows system directory (default: "C:\winnt\system32").

When those two files are copied, a new "FLEXlm License Manager"-tool appears in the Control Panel of Windows. You can get the system ID number for the machine by starting this tool, then selecting the "Advanced"-page and pressing the "Diagnostics"-button. There are actually three different system hostid numbers shown in last three lines of the diagnostics info window. The one normally used is the middle one of those three, the hardware ethernet address of the network adapter of the machine. The other two (INTERNET and DISK_SERIAL_NUM) are only used in special cases.

If you don't have the "flexlm.cpl" and "lmgr325c.dll" files available, it is still possible to find out the same three system ID numbers, using Windows Command Prompt commands. The hardware ethernet address and the IP-address (INTERNET) can be shown with command "ipconfig /all". In the command output these numbers are shown in lines: "Physical address" and "IP-address". The DISK_SERIAL_NUM is shown with command "dir c:". The number is found in the beginning of the command output in the line that starts with text "Volume serial number is".

4. Question: How is the floating license installed on Windows platforms ?
Answer:
When you receive a FLEXlm license for IDS from DeskArtes, you can install it in the server machine as follows:
  1. Start Windows Notepad editor and copy the license lines (SERVER, DAEMON, FEATURE) from the email message there.
  2. Check that the hostname in the SERVER line is correct, and change it if needed.
  3. Check that the dalicd path in the DAEMON line leads to the dalicd.exe at the installation directory of the IDS, and change it if needed.
  4. Save the license into a file, for example with name "flexlic.txt" in the installation directory of the IDS, using the "File->SaveAs"-command in the Notepad.
  5. Start the "FLEXlm License Manager"-tool in the Windows Control Panel and open the "Setup"-page.
  6. In the "Setup"-page set the correct paths to the lmgrd.exe in the installation directory of the IDS, the license file in the directory where you saved it in step 4 and the log file for example as FLEXLOG.txt in the installation directory of IDS.
After that you can try to start the license server in the "Control"-page of the "FLEXlm License Manager"-tool.

When the license server is successfully running you have to still add the following two environment variables with their respective values to all the client machines where IDS is supposed to run:
  LM_LICENSE_FILE 1700@licserver
  DA_LICTYPE flexlm
There the "licserver" is the hostname of the license server machine.

The environment variables can be changed in the following places on different Windows versions:

Windows NT4:
Start->Settings->Control Panel: System: Environment

Windows 2000:
Start->Settings->Control Panel: System: Advanced: Environment variables

Windows XP:
Start->Control Panel: System: Advanced: Environment variables

5. Question: What Unix versions are supported by the floating license system ?
Answer:
The floating license system for the IDS supports currently only the sgi Unix versions:
  • sgi Irix 5
  • sgi Irix 6

6. Question: How can I get the system ID of the license server machine on Unix platforms ?
Answer:
When you have installed the IDS programs, you can use the command "lmhostid" in the Unix shell to get the system ID for the server machine. If the IDS is not installed on the server machine, you can use command "sysinfo -s" instead. The same commands work on both sgi Irix versions: Irix5 and Irix6.

7. Question: How is the floating license installed on Unix platforms ?
Answer:
The installation of the floating license contains the following steps. You must login as root to be able to do the server side part of the installation. The example is for the Irix 5 platform.
  1. Create the file "/usr/local/flexlm/licenses/license.dat" and add the contents of DeskArtes floating license (SERVER, DAEMON and FEATURE lines) into that file.
  2. Correct the vendor daemon path in the dalicd DAEMON line. The dalicd vendor daemon binary is found in the bin/bin.irix5 directory under the DeskArtes installation directory so normally the path is something like "/usr/people/da/bin/bin.irix5/dalicd".
  3. Add the following two lines into your ".cshrc" or "System/DA.cshrc" file in the DeskArtes installation directory.

    setenv LM_LICENSE_FILE licfilepath
    setenv DA_LICTYPE flexlm

    where the licfilepath is the full path to the license file "/usr/local/flexlm/licenses/license.dat".
  4. Start the FLEXlm license server with command:

    lmgrd -c licfilepath >& logfilepath &

    where the licfilepath is the full path to the license file and logfilepath is the path to a file where you want lmgrd to write its log. For example

    lmgrd -c /usr/local/flexlm/licenses/license.dat >& /usr/local/flexlm/flexlog &
If you want to get the license server to be started automatically when booting the machine, type the following lines into file "/etc/init.d/flexlm".

#!/bin/sh
# start the FLEXlm license manager daemon
#
FLEXBIN=/usr/people/da/bin/bin.irix5

if test $1 = "start"; then
   if test -x $FLEXBIN/lmgrd; then
     nohup $FLEXBIN/lmgrd -c /usr/local/flexlm/licenses/license.dat > /usr/local/flexlm/flexlog 2>&1 &
   fi
fi

Then create a symbolic link of that file to the "/etc/rc2.d" directory with command

ln -s /etc/init.d/flexlm /etc/rc2.d/S91flexlm

If there already is a file with the same number (91) in /etc/rc2.d then select another free number for file S91flexlm.

When the license server is successfully running add the following two lines into your ".cshrc" or "System/DA.cshrc" file in the DeskArtes installation directory of all the client machines, where IDS is supposed to run.

setenv LM_LICENSE_FILE 1700@licserver
setenv DA_LICTYPE flexlm

There the licserver is the hostname of the license server machine.

8. Question: What parts of the license file can be edited without invalidating the license ?
Answer:
In the FLEXlm license file for the IDS you can edit the hostname and the IP port number on the SERVER line and the path of the dalicd program on the DAEMON line. The hostname and IP port number are the second and fourth fields on the SERVER line. The dalicd path is the third field on the DAEMON line. Editing those fields doesn't make the license invalid.

9. Question: Are there any tools available for testing the connection to the license server ?
Answer:
The IDS installation includes some tools for testing the license server connection. Those tool programs are found in the platform bin directory under the IDS installation directory. For example for the Irix5 platform the directory is "bin/bin.irix5". The most useful of those programs are "lmdiag" and "lmstat".

Lmstat shows status information about the license server and lmdiag connects to the server and tries to check out the licenses. In case of problem they usually show an error message with useful information about the problem.

In addition to the tool programs the license server log file is also useful in case there are problems in starting up the server. The license server usually prints some error message describing the problem in the log file. The license server log file path is given in the server startup command.

10. Question: The license server cannot get the system ID for the server machine on Windows. Why ?
Answer:
There is a known problem, appearing in some of the floating license installations on Windows 2000, where the license server cannot get the correct hardware ethernet address of the machine. Therefore the ID given in the SERVER line of the license file and the license received by the license server don't match and the server fails to start.

If this happens there is an error message, like the following, in the license server logfile:
"Wrong hostid, exiting (expected 00e08110e6ab, got 00000000)."

In these cases the INTERNET or DISK_SERIAL_NUM hostids can be used as the system ID. The INTERNET address is preferable of those two, but it can only be used if the server machine has a static IP-address. If the server machine asks dynamically the IP-address from a DHCP server for each session, the IP-address changes too often and cannot be used as system ID for the floating license server. In that case using the third type of system ID (DISK_SERIAL_NUM) can still be tried.


DESKARTES and the DA symbol are trademarks of DeskArtes Oy.
Copyright 1996-2008 DeskArtes Oy.