MathFlow licensing

MathFlow requires access to a license file in order to function. There are 3 types of MathFlow licenses: Evaluation, Fixed and Concurrent (or Floating). Depending on the type of license, the license file may be located on the same machine where MathFlow is running, or it may be accessed via a central license server on a network.

Evaluation license

A MathFlow Evaluation license expires on a specific date determined when we generate the license. This type of license is most commonly used for demonstrations and evaluations of the product. Further information on evaluation licenses, including how to obtain one, can be found below.

Fixed license (Windows only)

A Fixed license is one of two permanent license types that can be used with MathFlow. The fixed license is tied to a specific computer. You send in a "hostid" from the machine, and Design Science will send back a license that will only work on that machine. Further details on Fixed licenses, including how to locate your hostid, can be found below in the permanent licenses section.

Concurrent license

A MathFlow Concurrent (or floating) license uses a license server machine. You send in an IP address and "hostid" for the server, and Design Science sends back a license tied to that IP address. You then place copies of the license on all the client machines (these copies tell the client where the server is) and on the license server. When a client machine needs a license, it contacts the server and "checks out" the license. When the license is no longer required, it is checked back in. With this approach, several people can share a single license, provided they don't use it at the same time. Further details on Concurrent licenses can be found in the permanent licenses section below.

To request a MathFlow evaluation license, contact our sales staff. You will need to provide the operating system (version of Windows) of the machine where you intend to run the evaluation. Once you have obtained the license file, place it in

<custom-path>/lib/mathflow

in your MathFlow installation. You will then be able to try MathFlow for a period of 30 days. To check on the expiration of this evaluation license, use the About MathFlow Editor entry on the Help menu in the MathFlow Editor or the About MathFlow entry on the MathFlow menu in the Arbortext Editor.

As we noted previously, MathFlow supports two kinds of permanent licenses: Fixed and Concurrent. In both cases, MathFlow uses a special identifier called a 'hostid' to associate a license file to a particular machine. Each hostid is unique to a particular computer, and can only be determined by either running a special utility program distributed with MathFlow (see below) or by checking the About MathFlow box from the Arbortext MathFlow menu.

Obtaining a permanent license, either fixed or concurrent, is therefore a two-step process. First, you install MathFlow without a license. Though MathFlow Editor itself won't run, you can check the About Box and/or run the host id utility to determine the hostid for your computer. You then report the hostid to us, and we'll issue your permanent license files.

MathFlow uses FlexNet™ license management software from Flexera. See the FlexNet License Server Files for documentation concerning the use of its hostid utilities and license server. These Server Files, documentation, and License Server Manager are included in the appropriate ZIP:

Fixed license (Windows only)

To obtain and install a Fixed license, follow these steps:

  1. Install MathFlow as described in the installation page.
  2. Decide on the features you want to license. As noted previously, these are the available features:
    MathFlow Editor and Import/Export: Edit MathML in your XML documents a WYSIWYG editor, and Import/Export Microsoft Word documents with MathType equations.
    MathFlow Composer: This will translate your XML pages including MathML into a variety of HTML formats, for viewing on any browser, and PDF files.
  3. Obtain the hostid of the machine that will use MathFlow. You can do this either by opening the About MathFlow box from the Arbortext MathFlow menu, or by running the lmhostid utility. The lmhostid utility is located at <custom-path>\lib\mathflow\resources\windows\lmhostid.exe and must be run from a command (DOS) shell. Regardless of whether you use the About Box or lmhostid utility, we recommend you copy and paste the hostid returned in order to minimize transcription errors. If more than one hostid is reported by lmhostid, just use the first one.
  4. Contact our sales staff with the hostid.
  5. We will then issue a fixed license file which should be renamed to dessci.lic, if it's not already so-named when you receive it. This license file should be placed in <custom-path>\lib\mathflow on the machine where you want to use MathFlow.
  6. If you are using a 64-bit Java JRE, you need to replace the file <custom-dir>/lib/dll/lmgr11.dll with the DLL located in the directory <custom-dir>/lib/mathflow/resources/windows/64bitDLL/.

Concurrent license

To obtain and install a Concurrent license, follow these steps:

  1. Install MathFlow as described on the installation page on the client machines where MathFlow will run.
  2. Obtain the hostid of the machine that will run the license server program. Note this does not have to be a machine where MathFlow is installed. To obtain the hostid of the license server, copy the lmhostid utility from a machine where MathFlow is installed to the server machine. The lmhostid utility is located at the following path and must be run from a command (DOS) shell: <custom‑path>\lib\mathflow\resources\windows\lmhostid.exe We recommend you copy and paste the hostid returned in order to minimize transcription errors.
  3. Determine the IP address of the license server.
  4. Record the operating system of the license server.
  5. Contact our sales staff with the information collected in the steps above.
  6. We will issue a master concurrent license file which should be renamed to dessci.lic, if it's not already so-named when you receive it. Place a copy of this file on each client machine in the <custom‑path>\lib\mathflow directory. On the client, this file merely instructs MathFlow how to contact the license server.
  7. In addition, the master license file must be installed on the license server machine along with the server software. For details about installing and running the license server, consult the next section.

This section describes the process for installing and running a MathFlow SDK License Server. The subject is relevant only if you are using concurrent licensing.

Install the license manager daemon

Follow the steps below to set up the License Server.

  1. Follow the instructions for obtaining your concurrent license as described in Permanent license above.
  2. These executables for our License Daemon and FlexNet's License Manager Daemon software are included in the ZIP file you downloaded above:
    • MathFlow's License Daemon, named dessci.exe
    • FlexNet's License Manager Daemon, named lmgrd.exe
  3. Install your License Manager software into a directory of your choice on the appropriate machine.
  4. Place our License Daemon (dessci.exe), the FlexNet License Manager Daemon (lmgrd.exe), and a copy of the license file (dessci.lic) in the same directory.

If you are already using a FlexNet license server on the machine you got the License File for, you could keep using it for MathFlow licenses. Note, however, the License Manager Daemon should be of a newer version than the FlexNet version MathFlow uses. This is v11.10, so if your FlexNet License Manager is older than that you would still need to install the newer version. Flexera recommends you always use the latest version of their License Manager.

Start the license manager daemon

The precise command for actually starting the Daemon depends on your platform. Below is a brief outline, and more details on the License Server Manager can be found in the License Administration Guide, available in the ZIP you downloaded from the link above.

Windows Platform

Manually from a command line

Start lmgrd as an application from a Windows command shell using the following syntax:

C:\flexnet> lmgrd -c dessci.lic -L [+]debug_log_path

NOTE: dessci.lic is the license file you obtained from our Sales department, and debug_log_path is the full path to the debug log file. Pre-pending debug_log_path with the + character appends logging entries. Spaces in pathnames require double quotes around the path.

As a Windows service

LMTOOLS, a license manager tools GUI, is part of the download linked above. Some of the functions LMTOOLS performs include the following:

  • Starting, stopping, and configuring FlexNet license servers.
  • Getting system information, including hostids.
  • Getting server status.

In order to control the operation of lmgrd from the LMTOOLS user interface, you first must configure it as a license manager service. To configure a license server as a service, you must have Administrator privileges.

  1. Run LMTOOLS (see below).
  2. Click the Configuration using Services radio button, then click the Config Services tab.
  3. In the Service Name, type the name of the service you want to define (e.g., the Design Science License Manager).
  4. In the Path to the lmgrd.exe file field, enter or browse to lmgrd.exe for this license server.
  5. In the Path to the license file field, enter or browse to the dessci.lic file.
  6. In the Path to the debug log file field, enter or browse to the debug log file this license server writes. Pre-pending the debug log file name with the + character appends logging entries.
  7. To save the new License Manager service, click the Save Service button.

Manually from LMTOOLS

Follow the procedure outlined above to configure FlexNet as a service before proceeding. Once the license manager service is configured, lmgrd is started by starting the service from the LMTOOLS interface.

  1. Start LMTOOLS.
  2. Click the Configuration using Services radio button.
  3. Select the service name from the list presented in the selection box. In this example, the service name is Design Science License Manager.
  4. Use the buttons on this panel to stop and start the Design Science License Manager.

Automatically at system startup

After configuring it as a license manager service as described above, perform these steps:

  1. Start LMTOOLS.
  2. Click the Configuration using Services radio button.
  3. Make this license manager a Windows service: check the Use Services check box.
  4. Configure it to start at system startup time by checking the Start Server at Power Up check box. From this point forward, this License Manager will start as a Windows Service at system start up.

Unix platforms

The FlexNet License Manager Daemon, lmgrd, is started either manually from a terminal or automatically at system startup.

Manually from a terminal

Start lmgrd, by a user other than root, from a UNIX terminal using the following syntax:

lmgrd -c dessci.lic -L [+]debug_log_path

NOTE: dessci.lic is the license file you obtained from our Sales department, and debug_log_path is the full path to the debug log file. Pre-pending debug_log_path with the + character appends logging entries.

If lmgrd must be started by the root user, use the su command to run lmgrd as a non-privileged user:

su username -c "lmgrd -c license_file_list -l debug_log_path"

NOTE: username is a non-privileged user. Ensure the Design Science License Daemon (dessci) has execute permissions for username.

Automatically

Edit the appropriate boot script (/etc/rc.boot, /etc/rc.local, /etc/rc2.d/Sxxx, /sbin/rc2.d/Sxxxx, etc.) and add the following line:

su username -c "umask 022; lmgrd -c license-path -l log"

  • username: is a normal, non-root, non-privileged user
  • lmgrd is the complete path and file name to the lmgrd binary
  • license-path is the complete path and file name (dessci.lic) to the license file
  • log is the complete path and file name to the debug log file

NOTE: This does not start the daemon until you reboot your license server machine.

License Server Failover

If you use concurrent licensing, then you may employ a simple mechanism for license server failover. If your primary server machine is unreachable, or the license manager software is down, a redundant backup server will continue to administer your license. To take advantage of the license server failover mechanism, you must request it from Tech Support (support@wiris.com). We will provide you with two license files: one pointing to the main server and the other pointing to the failover server. These two files need to be copied onto each client machine, as well as distributed to their corresponding servers. The name (and path) of the second license file should be identical to the first license file, except it should have "-failover" appended before the file name extension.

Example:

First license file - "c:\licenses\dessci.lic"
Second license file - "c:\licenses\dessci-failover.lic"

You have the option of changing the license file names and paths, however please contact Tech Support for instructions before doing so.

Checking the license out

A MathFlow Editor license is checked out when you use the MathFlow Editor in a document. This allows you to view an XML document containing MathML without checking out a license. This is most important when using concurrent licensing. For more information on concurrent licensing, see Overview and License server.

If the license has not been checked out, the equation will appear with a gray background.
This equation has a gray background, indicating there is not a MathFlow license checked out.

There are three actions that will cause the MathFlow Editor to check out a license:

  • Insert MathML (Insert Equation)
  • Edit an existing equation
  • Reload MathML Images

Once a license has been checked out, the gray background will disappear.
This equation does not have gray background, indicating a MathFlow license is checked out.

If a license has been checked out, it is checked out for all documents open in Arbortext which contain MathML. Some documents may show gray equation images, but that will change if the view is refreshed. Therefore a document having gray equation images will not be a true indicator of whether or not a license is indeed checked out.

A MathFlow Editor license is also checked out when MathFlow Import/Export and Composer are used.

Checking the license iIn

There are two ways to check in a license, releasing it for others to use:

  • Close all documents open in Arbortext which contain MathML
  • Close Arbortext