License Files and Fulfillment Records

The license model is defined primarily in the feature definition lines (FEATURE and INCREMENT) in a license file. There are the same feature definition lines inside fulfillment records in trusted storage. See the following diagram that shows a typical lmadmin display for a fulfillment record.

License server fulfillment record displayed by lmadmin

The fulfillment record PR-589df128 provides 10 activatable licenses for the product PRprofessional. Each activatable license licenses two features: PRbasic and PRadvanced. These two feature definition lines (in this example INCREMENT lines) are packaged together in a single fulfillment record.

Licenses held in trusted storage use all the mandatory fields and may contain most of the attributes described in Reading a License File. The following are the exceptions:

BORROW—Normally this feature definition line attribute is not used for licenses held in trusted storage, the publisher will provide this licensing model using the Distribution of Node-Locked Licenses to Networked Machines using trusted storage on the network machine.
HOSTID—Normally this feature definition line attribute is not required for licenses held in trusted storage, see Locking of Licenses Using Hostid or Trusted Storage for details of how licenses are locked to a host machine.
SUPERSEDE—This feature definition line attribute is not supported for licenses held in trusted storage. A combination of return and activation operations are used to remove the license for the old version of the application and replace it with a new license.

The following line types are not supported in trusted storage:

UPGRADE (a combination of returns and activations are used for an upgrade)
PACKAGE (a fulfillment record effectively packages multiple feature definition lines)

Note: When other functions for package suites are required, a license file with a PACKAGE line can be provided.

SERVER (not needed)
VENDOR (lmadmin provides direct vendor-daemon configuration)
VM_PLATFORMS (not needed)
USE_SERVER (not needed)