Software discovery and normalization

ServiceNow Discovery is used to automatically populate the Software Installations table so the software can be normalized and reconciled.

Discovery

The discovery process consists of automatically discovering software used at your organization, which can be done either using ServiceNow Discovery, or using SCCM integration.

For more information, see Collect software data with either SCCM or Discovery and Discovery with Software Asset Management.
Note: To use Discovery, the Discovery plugin must be activated.

Discovery uses patterns in the discovery process that can be created or customized. The base system contains a wide range of patterns that cover most industry standard network devices and applications. Software Asset Management automatically leverages SQL Server, Exchange Server, and Oracle Database Server specifically, but other patterns can be customized for use by Software Asset Management, if needed.

Discovered software is stored in the Software Installations [cmdb_sam_sw_install] table.

Note: If you are already running Discovery but have not used a version of Software Asset Management previously, run the Migrate software installations script to copy records from the [cmdb_ci_spkg] table to the [cmdb_sam_sw_install] table, so that any previously discovered software installs are utilized by the Software Asset Management application.
When software install records are written to the Software Installations table, a business rule verifies whether the unique combination of the discovered publisher, discovered product, and discovered version already exist in the Discovery Model table.
  • If so, the reference to the discovery model is set in the Software Installations table.
  • If not, a new record is created in the Discovery Model table, and that discovery model reference is set in the Software Installations table.

After discovery, normalization is run.

Normalization

The normalization process compares the discovered publisher, discovered product, and discovered version values against the ServiceNow repository of normalized equivalents. Matches are added to the corresponding normalized fields (publisher, product, and version) of the Discovery Model table. The normalized fields are then used to match up entitlements purchased, and to compute license positions.

For example, the discovered publisher Microsoft Corp could be normalized to Microsoft for the normalized publisher field.

The second part of the normalization process looks for pattern matches between discovered fields and normalized values, and updates the normalized fields accordingly. This scheduled job runs daily by default but the frequency can be changed.

Both normalization processes must be completed for normalization be to be effective. Since the scheduled job for normalization does not run in conjunction with additions to the Software Installations table, View job results to verify that the job ran successfully if normalization results do not look accurate.

The scheduled job for the normalization process is daily but it can be changed. Whenever a new discovery model is created, the normalization process is run.

Normalization status can have six different results:
Table 1. Normalization status
Status Description
Normalized A discovery model was fully normalized based on publisher, product, version fields. No fields are editable.
Partially Normalized A discovery model was partially normalized based on publisher and product fields only. In this case, the version field is editable and once that information is added the normalization status is changed to Manually Normalized.
Publisher Normalized A discovery model partially normalized based on publisher field alone. In this case, the version and product fields are editable, and once that information is added the normalization process is changed to Manually Normalized.
Match Not Found The normalization process could not match any of the three key fields of the discovery model with a rule in the Software Library. In this case, all of the key fields are editable and once the information is added the normalization status is changed to Manually Normalized.

Match Not Found status could occur if a normalization rule for the software does not exist.

For example, if the organization created custom software specific to their organization.

Manually Normalized A discovery model was partially or publisher normalized and other key fields were filled in manually.
New The software discovery model has not yet run through the normalization process.

You can opt in to the Software Asset Management Content Service that enables you to provide missed and not fully normalized software discovery models to ServiceNow for research. New content and rules created are provided back to customers to continually improve software normalization.