Share This:

Welcome back everyone and Happy New Year! I hope everybody is ready for the third and final installment of Getting Started with Software License Management (SWLM). I started off this series by saying SWLM is really about knowing what you’ve paid for, what you’ve installed, and eliminating any difference between the two. Back in September we discussed contracts and licenses or what you’ve paid for, and in October we talked about software or what you’ve installed. Now our focus turns to identifying and then eliminating the difference between those two. To do this in Remedy Asset Management (this blog addresses 8.1 specifically, but much of this applies to earlier versions as well), you need to create and manage License Jobs.


What is a License Job?


A license job uses criteria you configure to identify CIs and certificates and then establishes relationships between the two. With those relationships established, the job then calculates compliance and updates the license certificate with the number of deployed instances and the compliance status. To get started creating and managing license jobs, you’ll need to access the License Job Console.


License Job Console


The console is accessed through the SAM Console by clicking “Manage License Jobs” under Functions in the left menu.


There’s already a considerable amount of documentation regarding this console and I would highly recommend reviewing this in addition to the information I present here. When you click the “Manage License Jobs” function, this console should appear:




At the top of the console, you have a table that lists all your configured License Jobs. Below that table you have four buttons: View, Create, Delete, and Run.




These are all actions you can perform on the License Jobs listed in this table (except for “Create”) by highlighting the desired job and clicking the button. Below those buttons you have a set of radio buttons that control what you see in the bottom half of the console:




  • Schedules – Displays Time-Based and Reconciliation-Based Schedules previously configured and gives users access to view, create, and delete schedules
  • History – Displays information on past License Job runs. This includes the status, start, and end time of each run. For each run, a run summary is displayed with CI and compliance information
  • Running Jobs – Displays information on License Jobs currently running


We get into the details of each of these functions below. For now, let’s create a new license job.


Creating a License Job


To create a new job, click the “Create” button on the console. The “Create License Job” form will appear:



BMC Documentation describes these fields and their purpose in detail, however there are a few things I would like to highlight:


  • The ‘Job Type’ field has two options: “ALL” and “COMPLIANCE.” I mentioned earlier that one of the steps of the License Job is to establish relationships between CIs and certificates. In the uncommon instance where you would prefer to establish these relationships manually, you can skip this step in the job by selecting “COMPLIANCE” here. The License Job will only use existing connections to calculate compliance. For all other cases, use “ALL”. “ALL” will not break manually created relationships.
  • Even though a CI may have a manually-created relationship with a certificate, if it doesn’t meet the criteria designated by the License Type or by the related Product Catalog entries, the job will not count the certificate in the “Number deployed’ field.
  • Be careful selecting ‘License Type’. If you select a ‘License Type’ different than what you designated in any of your license certificates, your license job will run but it will not succeed in establishing relationships or calculating compliance because it will not find any matching certificates. Please make sure when selecting ‘License Type’ that you make the proper selection
  • The more granular you define the Product Categorization fields, the narrower the search the License Job conducts in the CMDB.


I would like to expand on this last bullet point: keep the scope of your License Job as narrow as possible. For instance, let’s say you have one license that covers all Microsoft products. You could create one license job with a Manufacturer of “Microsoft” to link all your Microsoft software CIs to the overarching license. This is simple and straightforward, but not always the best practice. If you manage an environment where every computing device has 10 or 15 Microsoft products installed, this puts a lot processing on one job, especially in environments with thousands (or millions!) of devices. By keeping the search at the Manufacturer level, you may also be including products in your job that you may not need to manage licenses for, such as Microsoft Internet Explorer.


Instead of one large job, my recommendation would be to create multiple jobs each with a narrowly defined Product Categorization. You don’t necessarily have to define your categorizations down to the Product Name as your software CIs may not be defined down to this level, but defining even down to Tier 1 will help. This allows you to narrow the focus of your job and exclude unnecessary CIs when calculating compliance. This also allows you to stagger your job runs so that everything isn’t processing all at one time (more on Time Based Schedules later).


When creating these jobs you may find that you want your job’s search to be more specific than the available fields on the Create License Job form. This is where the Advanced Search Criteria can come in handy. At the bottom of the Create License Job form, you have the option to define criteria for Certificates, CIs (specifically the software CI), and Products (the Product Catalog). For more detail on configuring the Advanced Search Criteria, click here for certificates and CIs and here for Products.


Running the Job


Now that you have a License Job created, let’s run the job. You can do this manually by clicking the “Run” button underneath the Jobs table. This is great for when you need to run a job immediately, such as when you’re testing a configuration or you need to update your compliance calculations without delay. However, this is less than ideal for everyday management of your software lifecycle. Ideally, you would want to use either Time Based or Reconciliation Schedules.


Time Based Schedules (review BMC Documentation here) allow the License Job to run on a specific day of the week at a specific time. Below are the steps to creating a Time Based Schedule:


  1. Access the Manage License Jobs console
  2. Select the License Job to schedule
  3. Select “Schedules” in the ‘Show Related’ field (this is the default setting)
  4. Select the “Time Based Schedules” panel
  5. Click “Create”
  6. Fill in the Schedule Days and Schedule Time in the pop-up form
  7. Click “Save”



Once this is configured, your License Job will kick off at the time designated in the configuration. When building these Time Based Schedules be aware to stagger the timing of your jobs where possible in order to prevent too many jobs from running at one time. Also be aware to avoid scheduling jobs during peak hours as these jobs can cause a performance hit on your environment depending on the size of your CMDB and the scope of your License Job.


You may also consider linking your License Job to a Reconciliation Job in addition to the Time Based Schedule. You do this by creating a Reconciliation Based Schedule (review BMC Documentation here). This would mean for every time a specific Reconciliation Job runs, the License Job you designate would also run. Below are the steps to creating a Reconciliation Based Schedule:


  1. Access the Manage License Jobs console
  2. Select the License Job to schedule
  3. Select “Schedules” in the ‘Show Related’ field (this is the default setting)
  4. Select the “Reconciliation Based Schedules” panel
  5. Select the Reconciliation Job to Relate at the top of the panel
  6. Click “Relate”
  7. Click “Save”



By linking the License Job with the Reconciliation Job, changes to your CIs would cause a recalculation of compliancy and would help ensure your license counts are as up to date as possible. Keep in mind, however, there are activities that affect your license calculations outside of the scope of a Reconciliation Job, such as changes to certificates and updates to CI relationships. If you use Reconciliation Based Schedules, it is still recommended to run the License Job regularly through a Time Based Schedule.


If you want to view Jobs that are currently running, you can click “Running Jobs” on the ‘Show Related’ field in the console to view the jobs, when they started, and the status of the job. This information can be valuable for monitoring long-running jobs and troubleshooting.




Viewing the Results


Once the Job has run, you’ll want to view the results. Click the “History” radio button in the ‘Show Related’ field.




On the left you see a list of previous run jobs. In this table you can see the Run ID, Status, and Start and End Time of the Run Job.


Note: The “Completed With Warnings” status does not indicate an error with the job, it simply means the job completed with some corresponding action. “Completed With Errors” indicates the job failed in some way.


When you highlight one of these jobs, information about the job appears in “Run Summary” on the right. The below table is a description of the Status values in the Summary table (this was taken from BMC Documentation, which can be found here:


CIs connected to certificates
CIs successfully connected to certificates during the compliance job
CIs with multiple certificates
CIs that are connected to multiple certificates. A master certificate should be considered for these CIs.
CIs without a certificate
Related certificates that are out of compliance as a result of the detected CIs that could not be allocated to certificates
Certificates out of compliance
Software product CIs that could not be allocated certificates


In the screenshot above the table, you can see the job was able to identify two software CIs and connect those to an existing license. If it had found had more than one license that match the criteria in the job, you would see results in “CIs with multiple certificates” In these cases you might consider grouping these like certificates into one Master certificate. If there had been no certificates found but software CIs identified, you would see results in “CIs without a certificate”.  If there had been more software CIs connected to license than the amount of licenses purchased, then you would see results under “Certificates out of compliance”.


For more details on the results of the Run Summary, you can highlight a status with a count and click “More Details”.




This form will show the certificate or certificates identified in this run in the “CIs Connected to Certificates” table along with the Total Number of CIs connected (both from this run and previous runs) and Number Connected during the Run. The table below lists details of the CIs connected during the run. To quickly view the certificate affected during the run, you can highlight the certificate in the top table and click “View” for more details.  This would not be the typical method for viewing certificate details and job results as most end users would view the end result of the jobs and the certificates affected in the SAM Console and the certificates themselves, but since this blog post is about creating License Jobs, we are running through the steps sequentially.




This is a dialog view of the certificate. There are four areas on the certificate I would like to point out for your review after a job has completed:


Number purchasedConfigured when completing the Compliance Questions when creating the license. The value of this field is not affected by the job, but it is an integral part in calculating compliance.
Number reservedThis is also configured elsewhere (see BMC Documentation here additional details) but will subtract from the number of available licenses and, therefore, will have an impact in calculating compliance.
Number purchasedThis is a count of Product CIs that have been associated to this certificate. This value is updated by the license job.
Compliance Status and Compliance Indicator (This is the white check in a green box at the top left corner of the form in the above screenshot)Indicates if you have enough licenses to cover the number of Product CIs discovered in your CMDB. This value is updated by the license job.


Note: Although the License Job will link other software CIs to the Certificate, the job only considers the Product CI when calculating ‘Number deployed’. In order to run compliance on other software CIs, such as Operating System, you would need to create custom License Types. There is an existing Request for Enhancement to include the other software CIs in this calculation and this functionality is targeted for a future release.


In the above example I had 50 purchased licenses and discovered 2 software CIs, so I was “In Compliance.” For demonstration purposes, let’s rerun the License Job after I drop the number of purchased licenses down to 1. What happens?



In the Run Summary, you see “Certificates out of Compliance” now shows 1. If you look at the certificate you’ll see a few things have changed:




The Compliance Indicator in the top right corner is now a white x in a red circle and you see the ‘Compliance Status’ is now “Out of Compliance.” If you go back to the SAM Console, you’ll also see updates have been made to the “Certificates” panel in the top left.




It now shows you have one certificate “Out of Compliance.”


Again for demonstration purposes if I push the number of licenses purchased up to 2 but set my Breach Warning Levels to 1 and rerun the job, you then see the following updates:




You see the “Compliance Status” is back to “In Compliance” but the Indicator in the top left is now a white x with an orange circle. This indicates that one of your Breach Levels has been surpassed and you are close to being “Out of Compliance”. You will also see this change reflected in the SAM Console:




Now, all your certificates are “In Compliance” but one is “Approaching Breach.”  The “Approaching Breach” is a good indicator to revisit the licenses for the product, to determine if products which are infrequently used should be uninstalled, or if new licenses should be purchased.  The Breach warning allows this process to occur before it impacts any users.




In this post, I illustrated the process of creating and running license jobs to determine the software license management compliance. I plan to cover Troubleshooting suggestions with SWLM in greater depth in next month’s blog is troubleshooting. There is already good documentation for troubleshooting SWLM in general here and information about SWLM logs in particular here. Please review this documentation and revisit the steps outlined in this blog if you get stuck somewhere in the process.


There are several different items above that can be their own blog. Unfortunately I need to keep within scope and the focus here is simply “Getting Started” and providing you with the high level steps necessary to get going on creating License Jobs. Please feel free to put any questions or comments below on your experiences with License Jobs. I hope everyone has an enjoyable New Year and I’ll talk to you all again next month!