License Borrowing is a method of linking a specific workstation to a single license instance from within the license pool. This procedure marks a license as being perpetually used on the license manager (LM), enables users to borrow a product license for a designated time period, and to operate the licensed application without connecting to the license manager.
OpenLM monitors borrowing of licenses on several LM types. This document presents the borrowing methods on three of these LMs: FlexNet (FlexLM), IBM-LUM and DSLS, and the OpenLM advantages in monitoring borrowed licenses.
Borrowing licenses in FlexLM
In order to enable license borrowing, the software publisher should issue a floating license file with a FEATURE or INCREMENT line that contains the BORROW keyword, for example:
INCREMENT 3d_to_2d_flattener ugslmd 27.0 06-nov-2012 1 SUPERSEDE \
DUP_GROUP=UHD user_info=”NX 2D Exchange” ISSUED=06-sep-2012 \
BORROW=2880 ck=194 SIGN=”code”
In the example above, the BORROW time was restricted tp 2880 hours = 120 days. The maximal value for borrowing licenses in FlexLM is 180 days.
A user specifies the expiration date a borrowed license is to be returned, which should be equal to or smaller than the BORROW parameter above. This expiration date is set by applying a value to the LM_BORROW environment variable. This is done either directly, or by running the lmborrow utility, or by setting it in the application (when available).
The user then runs the application while connected to the network which writes borrowing information on the client computer. The license server keeps the borrowed license checked out. If enabled by the software publisher, borrowed licenses can be returned early, prior to the borrow period expiration.
When the expiration period has elapsed, or after having returned the borrowed license early, the local borrowing data no longer authorizes the license checkout, and the license server returns the borrowed license to the pool of available licenses.
More information on Borrowing Flexnet licenses can be found here.
DSLS Offline licenses
In DSLS, Borrowed licenses are referred to as “offline licenses”. The operation of extracting licenses for offline usage is done by the Application’s “Offline Management” tab on the “Local License Management” dialog box. There, a user needs to select a license for extraction and set the duration period for offline extraction. Maximal license offline extraction is 30 days.
When querying the usage of licenses with the DSLicSrv command’s getLicenseUsage -all , Offline licenses should be reported similarly to the following example:
internal Id: <Workstation> …
granted since: <Time and date> <workstation> <Username> <Application full path> …
targetId: <targetId> licenseId: <licenseId> …
granted since: <Time and date> hold until: <Time and date>
Here’s a good example for DSLS implementation of offline licensing.
IBM LUM Offline licenses
The IBM License Use Management (LUM) system also refers to borrowed licenses as “Concurrent Offline Licenses”. In order to implement license borrowing in LUM:
1. The user calls the application.
2. The application looks for an offline-nodelocked license in its nodelock directory.
If a license is found and is valid, the application runs.
3. If the application does not find a license in the nodelock directory and the
portable computer can reach a License Use Management network license server,
the application requests a concurrent-offline license from it.
4. The network license server checks if the license has an authorization for the
user, group, or for the target ID of the machine, and validates the password
provided by the user.
5. If the authorization is for a concurrent-offline license, the server creates an
offline-nodelocked license and copies it to the nodelock directory of the
portable computer. The license is marked as in use on the server.
6. The application checks that the nodelock directory contains a valid license and
the application starts. The application can now run without a connection to the
License Use Management network license server (that is, the application can
run on a portable computer).
Management of offline concurrent licenses is done in the IBM LUM windows UI:
- The product authorization must be set to “All Allowed” to enable concurrent offline usage
- The license offline extraction time is set. It is limited to 120 days.
- A password is set for the license instance.
Similar options are available by the lumblt command line.
Further information on IBM LUM concurrent offline licenses is found here.
The OpenLM advantage
Borrowing a license is typically not the preferable method for license deployment. It is both expensive and hard to track:
- As borrowed licenses are floating licenses that have been put to work perpetually, they can not be subject for license chargeback, and are more expensive than other concurrent license on the license pool.
- Borrowed licenses are also hard to keep track of. They are no longer marked as part of the license pool. License administrators need to manually revoke such licenses as soon as they are not needed.
OpenLM monitors the usage of license managers, providing insight regarding users’ identity and the efficient license allocation. It thus presents several advantages for such license administrators:
- Identify users who draw both borrowed and concurrent license from two different workstations, and alert upon such conditions.
- Mark specific used licenses as borrowed, clearly presenting the user and workstation it is linked to.
- Identify usage patterns, and advise an optimized license allocation policy.
Note: Please contact support at openlm.com for a list of supported license managers’ borrowed license monitoring.