Software License Management Guide


This document describes the Inuvika Software License Management functionality provided as part of Inuvika OVD Enterprise.


Version Date Comments
1.2 2017-07-18 Update for OVD 2.4; Reformatting
1.1 2015-07-15 Published the Software License Management Guide


This document describes how to use the Inuvika Software License Management functionality provided as part of Inuvika OVD Enterprise.


Inuvika OVD Enterprise together with a valid subscription key is required to use this feature.


The Software License Management component within the Inuvika OVD Enterprise provides the following capabilities:

  • Asset Management: It tracks data related to the software licenses for an application
  • License Allocation: OVD Enterprise automatically allocates a license to a user who is authorized to access the application as defined by application publications
  • Application and License Usage: OVD Enterprise collects and stores application usage data
  • Notifications: It provides the ability to send alert emails when certain conditions exist such as license expiry
  • License Reporting: OVD Enterprise provides a number of reports on software license allocation and application usage

The Software License Management component can be used to monitor application usage so that actual software license needs can be assessed. OVD Enterprise will not enforce license compliance for an application so that users are still able to run an application that has been published for them even if insufficient licenses are available within OVD.

The sections below explain how to manage software licenses within an OVD Enterprise, how OVD will allocate licenses and how the system administrator can gain visibility into how applications and licenses are used in practice.

Managing Software Licenses


The OVD Administration Console in OVD Enterprise provides a user interface to add, modify and delete licenses for regular and static applications. The main page is reached via Applications->Software Licenses.

The following details are captured for a license:

  • Vendor
  • Cost
  • License Type
  • Start Date (YYYY-mm-dd format)
  • Expiry Date (YYYY-mm-dd format)
  • Key/Key File
  • Number of Licenses

In the Administration Console, the administrator can filter the display of licenses by Application Name, License Type, and Expiry Date. The Expiry Date filter refers to the maximum number of days left before a license expires, for example, display data for licenses expiring within the number of days specified. The Administration Console also provides the ability to export all the data matching the current filter to a CSV file.

Multiple licenses can be created for a single application reflecting different validity dates. In this case, each license must be of the same license type.

License Types

A License type must be assigned to a software license. OVD Enterprise does not differentiate between license types in terms of any associated business logic. The license type is used for asset management purposes only. The default set of license types cannot be modified through the Administration Console but it is possible to add a license type and remove license types that have been added that are no longer in use.

OVD has seven default license types:

  • Concurrent User License
  • Installed User License
  • Named User License
  • Pay Per Use
  • Open Source License
  • Demo License
  • Processor License

Key Files

OVD Enterprise offers the option to add a license key file to a software license. The key file can be uploaded to OVD and is stored together with the license data. A key file can be uploaded when creating a license or later when modifying a license. Key files can also be downloaded using the Administration Console interface.

If a key file is not available then the key value may be saved as an attribute of the license.


A license can have either a key or a key file, not both.

Example Using API

You can retrieve the components (file_name and file_data) using the keyfile_info API operation and create the license key file as follows:

$keyfile = $SESSION['service']->keyfile_info($id);
$filename = $keyfile['file_name'];
$data = base64_decode($keyfile['file_data']);
header("Content-type: text/csv");
header("Cache-Control: no-store, no-cache");
header('Content-Disposition: attachment; filename="' . $filename . '"');
$file = fopen('php://output', 'w');
fputs($file, $data);

License Allocation

OVD Enterprise allocates software licenses automatically to users that have access to licensed applications as defined by the set of application publications.

Changes that could affect license allocation include:

  • Adding a user to a user group, removing a user from a user group
  • Creating a new user, deleting a user
  • Creating a publication, deleting a publication
  • Adding an application to an application group, removing an application from an application group
  • Creating a license, modifying a license, license expiry and deleting a license

Internal Database VS LDAP

If users and user groups are managed using the Internal OVD Database, then the allocation or de-allocation of a license to a user occurs whenever a change is made that will affect the allocation of license. If users are being managed in an LDAP or Active Directory data store, then the allocation algorithm will run in the background at periodic intervals and retrieve data from the directory to analyze any changes that might have been made.

Allocation Details

OVD Enterprise provides a display showing how many licenses have been allocated, how many remain and also indicates if a license has expired on the Software Licenses page in the Administration Console.

More specific allocation details (on a per-user, per-application basis) can be retrieved using the Licenses Report (see Reports).

Expired Licenses

Licenses will automatically be de-allocated from users when they expire. Those users will be allocated available licenses for the same application and you can choose to be notified if there are not enough available licenses to allocate one to each user (see Application Usage).

Application Usage

OVD tracks application usage for all users and all applications (whether they are licensed or not). This data is available in the Application Usage Report and Application Usage by User Group Report (see section 8).

The usage tracking is performed on each Application Server in the OVD farm and sent to the OVD Session Manager as regular intervals, currently set to every 30 seconds. This means that if an application is run for less than 30 seconds, the time will be logged as usual if the data was sent to the OVD Session Manager. If the application was closed before the Application Server could send the data to the Session Manager, then the Session Manager will log a usage time of 31 seconds.


It is recommended that a user does not have access to an application through multiple channels (for example, the user belongs to two user groups that both have the same application published, or the same application belongs to two application groups that are both published to the same user group).

OVD Enterprise will store only one user group associated with the user when tracking data about application usage.

License Notifications

The Notifications section within the Administration Console provide the ability to configure OVD to send emails when certain alert conditions are met as described below. Note that all alerts will be printed to the main log whether email notifications are configured or not.

Set Up

  1. OVD must be configured to use an SMTP service. Go to System Settings on the Configuration page and fill in the details for Email Settings (see the Administration Guide for details).
  2. Go to Notifications on the Configuration page and add the email addresses of those administrators who should receive alerts via email.


License Breach

A License Breach alert will be sent there are not have enough licenses defined for an application to be able to assign one to each user that has access to that application.

License Expiry

A License Expiry alert will be sent in two cases:

  • When a license has expired.
  • When a license is going to expire in "Days to License Expiry" or less days. The "Days to License Expiry" is a setting in System Settings that is set to 10 days by default. This warning alert will only be sent once per license (unless the license's expiry date is modified).

License Threshold Reached

A License Threshold Reached alert will be sent when the user defined license threshold for an application is reached.

The threshold refers to the number of licenses remaining that are unallocated. This value can be set for each application by going to the application details page in the Administration Console.

When the number of licenses allocated is greater than or equal to the threshold, an alert will be sent.


Licenses Currently Consumed Report

The Licenses Currently Consumed Report reached via the Licenses Report tab, reports on current license allocation details. A row of data is available for each license allocated. The details include:

  • User
  • Application Name
  • Date of Allocation
  • Expiry Date
  • Server

This data presented in the Administration Console can be filtered by an Application, User, and Time. The time specifies a time period that the allocation date must lie within. The Administration Console allows the full set of result data to be exported as a CSV report for further analysis.

Application Usage Report

The Application Usage Report provides detailed information about each application that was executed on the OVD farm. A row of data is available for each application run by each user. The details include:

  • User
  • User Group
  • Application Name
  • License Type (set to 'No Licenses' if the application is not licensed for that user)
  • Start Time
  • End Time
  • Duration
  • Server

The data presented in the Administration Console can be filtered by Application, User, User Group, License Type, and Time. The time in this case specifies the time period that the Start Time must lie within. The Administration Console allows the full set of result data to be exported as a CSV report for further analysis.


Usage is tracked for all regular and static applications, whether they have licenses or not.

Application Usage by User Group Report

The Application Usage by User Group Report provides aggregate usage information for each application used on a user group basis. A row of data is available for each application run by any of the users in a user group. The total duration is calculated for all the users. The details include:

  • User Group
  • Application Name
  • Duration
  • Server

This data can be filtered by an Application, User Group, and Time. The time in this case specifies the time period that the Start Time must lie within. The Administration Console allows the full set of the result data to be exported as a CSV report for further analysis.


The Session Manager API has been extended to incorporate APIs for software license management. APIs are available for all the functionality described above except for downloading a set of data as a CSV file.

For full details please refer to the Session Manager Admin API document.