LM-X consists of a client library you use together with your application and a license generator you use to create license files. A license file contains text that defines the license agreement between you (the software vendor) and the end user. For example, the license defines whether the application is node-locked or floating, can run on any computer or only on a specific one, whether the license will expire on a specific date, and so on.

When you integrate the LM-X client library, it checks for a valid license. LM-X will automatically do all the checks for you, including available features, date and version, and checks against usage on unauthorized machines or users.

A node-locked licensing scheme is illustrated below.
 
 
 
For network licensing, LM-X additionally requires an external license server. The license server is software that is typically set up as a service (on Windows systems) or a daemon (on Unix systems) on the end user's network. The license server handles requests from users on a network to use the application, keeps track of floating licenses, and ensures there is no license overuse.

LM-X will check for a valid license file on the license server before granting permission to run the application. Periodic heartbeats occur between the license server and protected applications in the manner you specify (see Heartbeats). LM-X handles all the communication, based on TCP/IP protocol, which is transparent in the end users' network.


To help you determine what you need to put in place for the most common licensing strategies, see the following section, See Application licensing strategies.