Overview of Software License Management
SWLM helps you monitor software usage and check if any of the license certificates are out of compliance or nearing the license expiry. Viewing software usage helps you identify whether software is either over or under-utilized in your organization. Software usage information is populated by the BMC BladeLogic Configuration Automation.
After products have been discovered, normalized, and then reconciled, the SWLM includes the following processes for managing licenses:
- Identifying license model and data required
- Configuring new license models, if required
- Creating contracts and license certificates for products
- Configuring license jobs for products
- Scheduling and executing license jobs
- Monitoring license consumption and compliance
- Viewing software usage results
License engine
The license Engine is installed with BMC Helix ITSM: Asset Management. The license Engine performs the processing for the software license management feature to relate software configuration items (CIs) with license certificates and to calculate compliance. The License Engine runs as a plug-in. The License engine automatically relates CIs to license certificates, based on company, product information, and answers to connection questions.
You interact with the license engine by using license jobs (accessed from SAM Console). You can schedule license jobs to run as per the schedule. For example, a weekly license job can relate software CIs to the appropriate license certificates to calculate the compliance.
The following figure shows the license job and its results:
An interface in BMC Helix ITSM: Asset Management communicates between BMC Helix ITSM: Asset Management and the License engine. The License engine uses the CMDB API to query BMC Helix CMDB. The software license type specifies the queries that are used to create the connections and to determine compliance.
Implementing software license management
When you create a license certificate, the first thing you do is specify the license type (such as a per instance, site license, and so on) and enter the additional details required for the selected license type. Each license type provides a set of connection rules, which the license engine uses to query BMC Helix CMDB and select the appropriate CIs to relate to the license certificate.
You are not restricted to the license types that come with BMC Helix ITSM: Asset Management. An application administrator can create new license types, as described in Creating-custom-license-types. The application administrator can create sophisticated queries and calculations based on the data in BMC Helix CMDB. For example, the Per Copy license type, which comes with BMC Helix ITSM: Asset Management, calculates the number of users for a software product by looking at the number of users (stored as BMC_Person) with a dependency on the computer system of which the software CI is a component. For compliance calculations, you can get data from an Action Request System, in addition to data stored in BMC Helix CMDB
The software license management lifecycle, as described in The software lifecycle, is implemented as described in the following table. The contract manager and software asset manager create software contracts, add license certificates, and relate software CIs to license certificates. For a user example of how Calbro Services implements software license management, see Purchasing-software-and-assigning-a-license.
The following table describes the Software license management lifecycle:
Software license management and multi-tenancy
Each software contract and software license applies to the company that you specify on the software contract. The License Engine connects CIs only for that company to the software license. This means that you must specify the Company field in the CI, or configure your discovery product to specify the Company field.
Connection questions
Connection questions (in basic mode), customized connection forms (in advanced mode), and mappings define the criteria by which CIs are related to certificates.
A default set of connection behavior is used regardless of whether connection questions or forms are configured for a license type.
If the default behavior is sufficient, connection questions, or forms, do not have to be configured for a custom license type.
To determine which CIs should be connected to a license certificate, the license engine uses the answers supplied to connection questions or supplied in connection forms at the time a license certificate is created.
Compliance questions and actions
Compliance questions and actions work on the retrieved connection information to determine if licenses are compliant with their license contract. You use the license type wizard to configure compliance questions (for basic mode) or a compliance form (for advanced mode).
You also configure actions that test the compliance of CIs connected to licenses based on values entered at the time the license certificate is created. For example, you can determine if there are more deployed licenses than were purchased for a particular site.
Complex query
CIs are grouped in a hierarchy where one main class contains sub-classes, which are referred to as the CI grouping. You create a complex query, if you build connection questions from a main class and a sub-class or two separate sub-classes.
The CI Grouping field on the Connection Questions page of the license type wizard contains both the main class (which populates the CI Type field on the Map Connection Questions page of the license type wizard) as well as the sub-classes (which populate the Attribute field on the Map Connection Questions page of the license type wizard).