9. Floating Licenses

Floating Licenses are used when the system that is enabled for running solvers needs to frequently change or is a virtualized environment (such as Docker or Virtualbox). The licensing works by getting a temporary local lease from the floating license server in order to be able to run a solver in a machine.

9.1. System Requirements

The requirements for enabling solvers with floating licenses are:

  • A x86/x86_64 Linux platform
  • An internet connection on the running platform
  • Correct system clock settings

9.2. Floating License Attributes

Floating licenses are defined by the following two fields:

  • Number of Licenses: The number of machines that can run solvers concurrently using a floating license for a FORCES Pro user.
  • Lease Time: The time for which a local lease is valid after it has been granted. Default lease time is 10 minutes. Please contact support@embotech.com to change this.

9.3. Generating solvers

To enable floating licenses on a generated solver use the following codeoption

% Matlab
codeoptions.useFloatingLicense = 1;
# Python
codeoptions["useFloatingLicense"] = 1

And select the platform to use

% Matlab
codeoptions.platform = 'platform_name';
# Python
codeoptions["platform"] = "platform_name"

Available platform options are:

  • Gnu-x86
  • Gnu-x86_64
  • Docker-Gnu-x86
  • Docker-Gnu-x86_64

9.4. Running solvers

After generating a solver, you can move it to the running platform and build it with the rest of your project.

When running a solver:

  • The solver will communicate with the floating license server
  • If the number of enabled machines has not exceeded the license limits, a license lease will be returned
  • If a lease had already been granted for a machine (and is still valid) this will be the one returned to the solver instead of granting a new one
  • The solver will save the lease locally and run
  • If a valid local lease already exists the solver will run without communicating with the server