Section 1: What Is FLEXnet? Who Makes FLEXnet?
License Administration Guide FLEXnet Publisher Licensing Toolkit 11.6.1 FNP-1161-LA02. FlexNet Publisher is the de facto standard for software licensing, used by thousands of software suppliers to license and protect their applications. It supports a variety of monetization models, captures usage and offers advanced protection like tamper-resistance.
FLEXnet is a popular license management tool on the market today. It allows software to 'float' on a network and not be tied to one particular machine. This involves a server-client relationship that requires a client machine to first successfully check out a license from the server in order for an application to be used on that client machine. The criteria for checking out a license can vary according to how the license management is configured.
Flexera Software Inc. makes FLEXnet.
Section 2: How Does FLEXnet Work?
There are four main components to FLEXnet:
Disable Flexnet Licensing Service
- License manager daemon (lmgrd) - makes initial contact with client application (e.g., MATLAB) and starts and restarts vendor daemons
- Vendor daemon (MLM) - keeps track of the number of licenses checked out and who has each license by accessing memory and granting or denying license checkouts
- License file (license.dat) - contains licensing data within a text file. It is created by the software vendor (e.g., The MathWorks) and edited during installation
- Application program (e.g., MATLAB) - communicates with the vendor daemon to request a license for check out
Here is a breakdown of the license request process:
Flexnet Licensing Programming And Reference Guidelines
FLEXnet-licensed applications can either be counted or uncounted. Counted means that a license manager is needed to allow for license checkout. Uncounted licenses do not use a license manager; rather, license management depends solely on the contents of the license file.When you run a counted FLEXnet-licensed application, the following occurs:
- The license module in the client application (e.g., MATLAB) finds the license file, which includes the hostname of the license server node and port number of the server with which the license manager daemon, lmgrd, communicates.
- The client establishes a connection with the license manager daemon on the server (lmgrd) and tells it which vendor daemon it needs to talk to.
- lmgrd determines which machine and port correspond to the master vendor daemon and sends that information back to the client.
- The client establishes a connection with the specified vendor daemon and sends a request for a license.
- The vendor daemon checks to see if any licenses are available and sends a grant or denial message back to the client.
- The license module in the application (e.g., MATLAB) grants or denies usage of the feature, as appropriate.
Here is a flow chart view of the license request process with the above steps labeled: