Four Js License Manager (FLM) basics

When you should use the Four Js License Manager (FLM) and when you should use local licensing? To make this decision, you must have a basic understanding of license management.

What is the FLM?

The FLM centralizes the management of licenses for Genero products installed on the same machine, or on machines or docker containers in the same network as the FLM. A single license manager can manage licenses for various types and versions of Genero products. For example, FLM 6.00 can manage the licenses for Genero 4.00 and Genero 3.20.

The FLM gives you a centralized view of license usage across the network.

  • You can see the use of a license across your network in real time.
  • You can see license information (number of users, type, and so on) for a specific license, or for all licenses.
  • You can get an update of the active users list for a specific license, session, or all licenses.

The FLM works independently of local licensing. If the FLM fails, you can activate the product license on the local machine.

Once installed, you use the command line program flmprg to install and manage your licenses.

For each Genero product whose licensing is to be managed by the FLM, you provide the necessary details in its license controller configuration file. For example, for Genero BDL, you would update the $FGLDIR/etc/fgllicense file and specify the location and port of the FLM, as well as the license number to use.

Should I use the FLM, or should I license locally?

Use the FLM when you have multiple Genero products and/or have different versions of a Genero product.

The FLM is recommended for development environments, as it allows the sharing of licenses between multiple versions of a Genero product. If you were to license locally, you would need a separate license for each version.
Important:

Shared licenses are not supported in Genero installations prior to 3.21 running in compatibility mode with FLM 6. Trying to use a license share in compatibility mode will raise an error.

The FLM is required for these scenarios, as licensing locally is not supported:
  • Genero products on a Remote File Systems (such as NFS or Samba).
  • Genero products in a Docker container. For a Docker container, the FLM server must sit outside the Docker container. It cannot run inside a docker instance.

If you do not meet any of the criteria listed above, it is recommended that you license locally.

In a runtime environment, only use the FLM where there is a technical requirement to do so; this typically means when two or more Genero installations share a single Genero license. If you have a single Genero installation on a single server, the FLM is not required.

How FLM licensing works

The FLM runs a daemon process ( Linux® ) or service ( Windows® ) continuously in the background on the server where it is installed. It is designed to respond to requests for licenses from across the network, by Dynamic Virtual Machine (DVM) processes or Genero Report Writer processes.

With the FLM, you install all Genero licenses on one server, and license requests are routed to the FLM. For example, when a user starts a Genero application, a DVM process is started and a license request is sent to the FLM. The FLM determines if a license is available, based on the number of concurrent users. When a license is requested, the FLM processes the request in coordination with the license controller for the DVM. The license controller for the DVM is located on the same machine as the DVM process.

The FLM keeps a license count based on the list of the process ids using licenses on the host machines. The FLM keeps track of license use during the DVM process lifecycle, and increments or decrements the license count as and when users run or exit applications. When a process ends, the license is released. The FLM performs a regular check to manage available licenses and to free up the licenses of applications that may have terminated unexpectedly. You can configure the feature to check users in the user.check parameter of the license controller configuration file. By default, the interval is every 10 requests; however, it can be changed in the DVM license configuration file.

On the server where the Genero product is installed, you must provide configuration details in the license controller configuration file ($FGLDIR/etc/fgllicense):
  1. The host name and port details of the license manager.
  2. The license number for the product.

FLM administrator responsibilities

As administrator of the FLM:
  • You are responsible for installing, renewing, activating, and deleting licenses on the server.
  • You can set access rules on a license-by-license basis to match changes in your organization's needs. For example, you might restrict the use of a license on a development or test machine, to allow for its use on a runtime host.
  • You can configure license tasks in batch or script files for use in license installation or recovery.

Once installed, administer the FLM using its command line program flmprg.

For example:
  • Use the flmprg -a up command to check if the server is accessible.
  • Use the flmprg -l command to install licenses.

How local licensing works

In the case of local licensing, you license each Genero installation directly. The FLM is not involved.

Each Genero product has a license controller (fglWrt or greWrt) that allows you to install and mange licensing locally.

The license controller responds to requests for licenses when a Dynamic Virtual Machine (DVM) process is started. It determines if a license is available, based on the number of users allowed by the license and the number of licenses actively in use (the active license count.) It increments the active license count when a user starts an application, and decrements that count when the user exits the application. When a DVM stops or terminates, the license controller releases the license.

For more information on licensing locally, see the Install and License your Genero Products