Snow License Manager 8 saw the introduction of a new feature that enabled licenses to be assigned to specific computers or datacenters. The purpose of this feature is to support the management of complex licensing scenarios, which high-end server software and engineering applications sometimes pose.
However, while the introduction of this feature solved one issue it created another. In this case, the license assignment feature proved to be cumbersome for environments with large numbers of servers, as manually sifting through the resulting list of computers to assign a license to was prohibitively time-consuming. And so, we created a support function: license assignment search.
The assignment feature and license assignment search are used when editing a license to assign it to a consumer – in this case, a computer, or a datacenter. Edit a license and then select the Add button under the Assignment Tab. A search field and a number of options are available to refine the search – as shown in Figure 1.
Figure 1 Search options
Unfortunately, the original search function wasn’t smart enough. For example, checking the Show only machines requiring a license box filtered just for the specific version and edition of the application of the license, ruling out additional possibilities enabled through, for example, upgrade and downgrade rights. And the capability to shortlist/filter the list of computers, to show just those machines to which the given license can be assigned was missing.
A smarter version of the license assignment search function was released in Snow License Manager version 8.2.2, and here is the story of what we did and how the new function works.
So, armed with the desired outcome, we needed to build a smart search function that would isolate computers and datacenters to which the available license could be applied. To do this, we first needed to determine the range of application versions to search for that are covered by up/downgrade use rights, and then find all computers and datacenters where this range of application versions is installed. This dataset then needs to be culled based on the options checked by the user.
Unfortunately, we quickly discovered that the steps required to search through the Snow License Manager database and narrow down the results was almost as complicated as performing a compliance calculation – a process that requires a dedicated service running on our server, which in some cases can take some time to complete. So, obviously this was not the right approach for building a useful search function.
So, after putting our heads together, we turned instead to the data provided by the most recent compliance calculation to give us the information we needed. For each computer connected to the network, compliance calculates the license requirements for every application installed, determining whether it needs a license, and whether it has a license assigned. Paring down the compliance calculation to just the dataset for the application the user wants to assign (plus up/downgrade versions) turned out to be a viable solution to meet the performance requirements of a search.
How does it work now?
By default, every search now filters the search results to only show the computers or datacenters that include an installation of the application that can be covered by the license you are trying to assign.
If, for example, downgrade rights are checked for the license, the search results will include the computers and datacenters where an install has been detected, for the version of the license or any version below it.
If upgrade rights are checked for the license, the search results will include the computers and datacenters where an install of higher versions has been detected, up to the highest version your agreement entitles you to – which Snow License Manager determines based on the maintenance period for the license.
When Show only machines requiring a license option is checked, the search results will show all computers and datacenters to which you can assign the license and which also require a license (according to the most recent compliance calculation).
But, what if, for some reason, you actually want to search for computers or datacenters that you cannot assign the current license to? You can still do this by checking the Ignore use rights option.
Figure 2: Search options with ignore use rights
Many of our customers have been requesting an enhancement to this search function since we launched Snow License Manager 8, so I sincerely hope the improvements we have made meet expectations.