5 License system basics

The MOSEK Optimization Suite is licensed software which means a valid license is required. A license is provided by a license file that specifies:

  • which features in MOSEK have been licensed (an example of a feature is the nonlinear extension PTON),

  • how many copies of a feature can be used simultaneously,

  • an expiration date of each feature,

  • for floating licenses, the identifier of the server the license is tied to.

5.1 License Types

The license is managed by the FLEXlm (http://www.flexerasoftware.com/) license manager included in MOSEK. FLEXlm has two types of licenses:

  • floating: license tied to a particular computer that acts as a token server. MOSEK can be used on any computer connected to the token server through the local area network (LAN). In particular MOSEK can be used on the token server itself. Setting up a floating license is described in Sec. 7 (Floating license setup).

  • server (also known as node-locked): license tied to a particular computer that allows unlimited use of the licensed features on that particular machine. Setting up a server license is described in Sec. 8 (Client setup).

Moreover, note that:

  • institutional academic licenses are floating licenses.

  • trial, group and personal academic licenses behave as server licenses, except that they are not tied to a specific computer but can be used on any machine where the license file is present.

For floating, server and institutional academic licenses some computer-dependent information must be provided:

  • hostname: the name that identifies the computer in the network,

  • hostid: a unique computer identifier (typically its MAC address).

Instructions for obtaining hostname and hostid can be found in Sec. 6 (Hostname and Hostid).

5.2 License File

A license file is a plain text file that can be opened for inspection using any plain text editor (such as vim or emacs on Linux, or notepad on Windows). It is sometimes useful to inspect the file to check the expiration date, the activated features and computer information.

5.2.1 Floating license file

Listing 5.1 An example of license file for a floating license.
#
# MOSEK License File (LIF-1234)
# https://www.mosek.com
#

SERVER hulk f4ed3061a731
USE_SERVER
VENDOR MOSEKLM
FEATURE PTS MOSEKLM 10 permanent 5 VENDOR_STRING=-1*-1*-1*0 \
	BORROW=744 SN=LIF-1234 SIGN="0123 4567 89AB CDEF 0123 4567 89AB \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB" \
	SIGN2="0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF"
FEATURE PTON MOSEKLM 10 permanent 5 VENDOR_STRING=-1*-1*-1*0 \
	BORROW=744 SN=LIF-1234 SIGN="0123 4567 89AB CDEF 0123 4567 89AB \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB" \
	SIGN2="0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB"

Listing 5.1 shows an extract of a license file for a floating license. Lines starting from # are comments. The syntax is (obligatory fields in <> and optional fields in []):

Listing 5.2 Syntax of a floating license file.
SERVER <hostname> <hostid> [lmgrd_port]
USE_SERVER
VENDOR MOSEKLM [vendor_options] [port=moseklm_port]
FEATURE <feature_name> MOSEKLM <mosek_version> <expiry_date> <number_of_tokens> VENDOR_STRING=-1*-1*-1*0 \
   ... private data ...
FEATURE <feature_name> MOSEKLM <mosek_version> <expiry_date> <number_of_tokens> VENDOR_STRING=-1*-1*-1*0 \
   ... private data ...

There is one feature entry per each feature the license file supports (PTS, PTON or others).

5.2.2 Server (node-locked) or unrestricted license file

Listing 5.3 An example of license file for a server (node-locked) license.
#
# MOSEK License File (LIF-1234)
# https://www.mosek.com
#

VENDOR MOSEKLM
FEATURE PTS MOSEKLM 10 permanent uncounted VENDOR_STRING=-1*-1*-1*0 \
	HOSTID=f4ed3061a731 BORROW=744 SN=LIF-1234 TS_OK SIGN="0123 \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123" SIGN2="0123 4567 89AB CDEF 0123 4567\
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF"
FEATURE PTON MOSEKLM 10 permanent uncounted VENDOR_STRING=-1*-1*-1*0 \
	HOSTID=f4ed3061a731 BORROW=744 SN=LIF-1234 TS_OK SIGN="0123 \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123" SIGN2="0123 4567 89AB CDEF 0123 4567\
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF \
	0123 4567 89AB CDEF 0123 4567 89AB CDEF 0123 4567 89AB CDEF"

Listing 5.3 shows an extract of a license file for a floating license. In case of unrestricted (trial, personal academic) licenses the <hostid> will be ANY. Lines starting from # are comments. The syntax is (obligatory fields in <> and optional fields in []):

Listing 5.4 Syntax of a node-locked license file.
VENDOR MOSEKLM
FEATURE <feature_name> MOSEKLM <mosek_version> <expiry_date> uncounted VENDOR_STRING=-1*-1*-1*0 \
   HOSTID=<hostid>    ... private data ...
FEATURE <feature_name> MOSEKLM <mosek_version> <expiry_date> uncounted VENDOR_STRING=-1*-1*-1*0 \
   HOSTID=<hostid>    ... private data ...

There is one feature entry per each feature the license file supports (PTS, PTON or others).

5.3 Versions

  • MOSEK version 10 requires a license file with version at least 10.

  • The license file for MOSEK version 10 will support all MOSEK clients with versions less than or equal to 10.

  • Only the major version matters.

  • For floating licenses, use the token server from the same, or newer MOSEK distribution as the one you are using in the client. Token server binaries should be as new as the newest client contacting the token server. When the FLEXlm version used by the token server falls too far behind the version used in the MOSEK client, they will no longer be able to communicate.

  • If you are using your own lmgrd for floating licenses then its version must be at least as new as that used by the newest MOSEK client contacting the server.

  • The FLEXlm version used by MOSEK can be found by running mosek -f in the command-line tool. The history of recent FLEXlm upgrades in MOSEK is as follows:

Mosek version

FlexLM version

from 10.2.0

11.19.6

from 10.0.0

11.18.3

from 9.3.0

11.18.1

from 9.1.5

11.16.4

from 8.0

11.14.1

5.4 Editing

The user may edit the sections lmgrd_port, port=moseklm_port and vendor_options in the license files. Other edits may invalidate the license file. Good reasons for such edits exist only for floating license files and include:

Otherwise it should not be necessary to edit the file.