Essentials in Software License Management

24/10/2016 Terry Gaul

A flexible software license management system is critical for enabling ISVs to keep pace with end user expectations, not only in the way the software is licensed, but also in the manner by which end users can manage licenses internally once purchased. The ability for an end user to easily borrow a license when necessary is an essential requirement of a software license management system.

When a license is borrowed in a network scenario, it is transferred by a sender to a receiver for a defined period of time. When that time has elapsed, the license automatically becomes invalid for the receiver and reverts back to the original sender.

For example, a licensed user may have need to work outside the network for an extended period but still require access to the software. A flexible license management system enables the user to “check out” the network license from the license server for a predetermined period of time and then “check in” the license to the server pool when they are done with it. The borrowed license is locked to the user’s computer and does not require any communication with the license server during the borrowing period.

Our customers use CodeMeter License Central to create licenses. End users activate those licenses on a networked server, and it is up to the software vendor to define whether these licenses can be deactivated again. On the network, the user can either use the license directly on the server, or the license can be borrowed locally by being transferred into a local container (CmContainer). When a license is borrowed, it is flagged as used for a period of time and can be used locally offline without any need for a standing connection with the server. After the prescribed borrowing period has elapsed, the license automatically reverts back to its original state: It has expired locally, but is available again on the server. The user also has the option to return a license earlier. The software vendor defines the maximum period of time a license can be borrowed. Licenses can also be nested within each other to make it easier to borrow multiple licenses in a single step. Nested licenses inherit the attributes of their parent licenses. If a time limit is set for the parent license, it applies to all licenses nested in it.

While licenses are usually not transferrable, there are times when users require the flexibility to borrow a license. CodeMeter License Central enables the software vendor to allow borrowing of a license. The vendor determines which types of CmContainers can receive the license.

The ease in which end users can borrow licenses with CodeMeter License Central is made possible by the development of a new Universal Firm Code that provides identical cryptographic capabilities for both hardware and software containers. The licenses of the CodeMeter Universal Firm Code are produced as certificates modeled after the X.509 standard. All keys are stored with asymmetrical cryptographic keys in the certificate so that they can only be decrypted by the right CmContainer.

You can read more about CodeMeter License Central and the ability to transfer licenses in the most recent edition of our KEYnote magazine.