Skip to main content

Calculation Service procedure

Calculation Service is a Windows service developed by Snow Software for the calculation of license compliance. Compliance calculation is a vital function in Snow License Manager and SAM Core on Snow Atlas and the Calculation Service executes the computation on a regular basis.

The Calculation Service calculates compliance according to schedule, without any user intervention. Normally the calculation is performed every hour, during the active time, the default setting is from 8 am to 16 pm. Both the rate of recurrence and the active time are configurable.

In addition to the automated calculations, the Calculation Service also starts execution on request. The user can invoke the compliance calculation from Snow License Manager or SAM Core on Snow Atlas.

For accurate calculation of compliance, a substantial amount of information about applications, licenses, and agreements is required; information that many organizations consider business-critical. The Calculation Service runs in your own IT environment and no sensitive data is sent to Snow Software. In case Snow License Manager or SAM Core on Snow Atlas are part of a hosting service, the compliance calculation is performed for one client at a time with full separation of data. You can feel confident that no outsider will be able to access your business-critical information, including the compliance result.

The Calculation Service computes the compliance in the following order:

  1. Retrieve general information.

  2. Retrieve license specific data.

  3. Calculate compliance.

  4. Manage results.

The details are described in the following sections.

Retrieve general information

The first step is to establish the current state of licenses. The Calculation Service retrieves general information about all available licenses from Snow License Manager or SAM Core on Snow Atlas, counts the licenses, and arranges them in groups. The grouping of licenses is made based on:

  • Application

  • Legal organization

  • Maximum version (highest allowed version based on license date)

  • Execution order

Hence, a license group consists of all licenses that apply to the same application and legal organization, with the same maximal version and execution order. The calculation service will only retrieve information about licenses that are available to cover a metric. For example, an unassigned license is not included in the compliance calculation as it needs an assignment to be included.

Execution order

The execution order determines the order in which the licenses are examined when compliance is calculated. The execution order is designed to maximize coverage and to achieve the most economical deployment of the licenses.

The execution order for each license is based on assignment types and metrics in combination with available use rights. The execution is applied in the following order:

  1. Site license

  2. Assigned computer, Number of processors/cores

  3. Assigned user

  4. Datacenter/Cluster

  5. Installation, User, Device, and other metrics

  6. Custom compare values

Within each metric, the execution order depends on available use rights:

  1. Upgrade rights

  2. Downgrade rights

  3. Cross edition rights

  4. Cross platform rights

  5. VM use rights

Retrieve license specific data

The available licenses are grouped and placed in a queue following the execution order. The next step is to retrieve relevant license-specific data, which is needed to establish the licensing requirements as well as any limits and conditions associated with the license. Calculation Service also needs to know which applications are installed and how these are used.

For each license in the queue, the Calculation Service retrieves data related to the assigned metric from Snow License Manager or SAM Core on Snow Atlas, taking into account restrictions such as assignments or use rights.

Furthermore, the Calculation Service retrieves information on the usage for each installed application; that is, how often and how many uses the application. The retrieved Usage is a comparative figure, with different significance depending on the metric associated with the application:

  • Installations - The number of installations of the application.

  • Number of users/devices - The total number of users/devices utilizing the application (current month or previous month).

  • Concurrent users/devices - The maximum number of concurrent users/devices (within one hour or the same day).

While the Usage figure is summed up, special licensing conditions such as Multiple version, Multiple edition, and Secondary use rights are also taken into consideration. When determining the execution order, the Calculation Service retrieves information on whether use rights were allowed.

Finally, license allocation data is retrieved. The Calculation Service initiates the Automatic Allocation feature and as a result receives information on the available licenses per organization node. In addition to the automatically allocated licenses, there may also be licenses that have been allocated manually to the organization nodes.

Calculate compliance

When the license specific data is retrieved, all the necessary information for compliance calculation is on hand. The Calculation Service knows exactly what applications are installed, how they are used, and the license conditions that apply to them. The stock of valid licenses is also well defined, including which organization node they have been allocated to. The task now is to match the available licenses in an intelligent way, to cover all the licensing needs as favorably as possible.

The Calculation Service examines the licenses one by one, in the order defined by the execution order. To find the best coverage, the license queue is examined in two phases:

  1. The Calculation Service concludes which application each license is intended to cover; that is, which application the license was purchased for. In case automatic upgrade applies, the highest (and often most expensive) version of the application is regarded.

  2. If licenses remain after phase 1, the Calculation Service takes any allowed use rights into account and establishes which other versions of the application that the license may cover.

The matching of licenses and applications requires an advanced optimization operation, which includes processing all the information and data previously retrieved from Snow License Manager or SAM Core on Snow Atlas. The goal is to find the most advantageous and economic distribution of the available licenses across where they are needed.

Manage results

The main result of the Calculation Service is a compliance statement, which also indicates if there is a shortage or an excess of licenses. In addition, the compliance calculation generates different types of detailed information related to compliance:

  • Compliance - The license status, totally and per application.

  • Transfers - Details on any transfers made between applications and organizations.

  • License tracking - Specifics on each computer, user or device concerning coverage and also whether or not they are covered by a license.

  • License entitlements - Details on the installations of a software application.

  • List of identified licenses - All identified licenses, including the unassigned licenses and invalid license assignments.

  • Financial information for applications - Details on for example application cost and license cost.

The Calculation Service updates Snow License Manager and SAM Core on Snow Atlas with the new compliance information and other related information. The information provides customers with an up-to-date and optimized compliance calculation to ensure that customers leverage their use rights to their fullest extent.