This documentation supports the 20.02 version of BMC CMDB.

To view an earlier version, select the version from the Product version menu.

Normalization process


This topic describes in detail the process that the Normalization Engine follows to normalize CIs in CMDB.

The Normalization Engine performs the following tasks:

  • Normalizes the CIs that have a status of Not NormalizedNormalization Failed, or Modified After Last Normalization.
  • Normalizes all the CIs if you enable Normalize all the instances option. This configuration setting is useful when you make changes to product aliases or change the categories of the products in Product Catalog. However, note that using this option normalizes once again, even the normalized CIs and this may be time consuming depending on the volume of data. If you use this setting, ensure to turn it off after using it, else it may lead to performance issues.

The Normalization Engine normalizes the non-normalized and modified CIs by using the following Product Catalog details:

  • Product attributes — The ModelManufacturerName, and (if available in the CI) the MarketVersion, VersionNumber and PatchNumber attributes of the CI.
    The Normalization Engine currently uses only the product attributes for normalization.

  • Signature ID — Stored in the Product Catalog and created by the discovery tools for identifying products.  
  • File name and size — The name and size of the file.
    The Signature ID and File name and size are used only with the Normalization Engine Java API. For more information, see BMC CMDB 9.1.00 Java doc, available at PDFs and videos.


Every time a CI is created or updated, the Normalization Engine checks that the CI class is configured for normalization and performs the following tasks:

  • If the class is configured for normalization, the Normalization Engine continues the process based on the data set configuration for the Inline or Continuous normalization modes.
  • If the class is not configured for normalization, the Normalization Engine updates the NormalizationStatus attribute to Normalization Not Applicable and ends the normalization process for the CI.


The following graph illustrates the Normalization process:

Normalization-001


The detailed normalization process is as follows:

  1. The Normalization Engine checks the Normalization Alias form for aliases for the ManufacturerName and Model attributes.
  2. The Normalization Engine applies the Version Rollup rules and sets the MarketVersion attribute using the Version Rollup rules. For information about Version Rollup, see Managing software licenses in your organization using normalization and Creating a Version Rollup rule
  3. The Normalization Engine searches the Product Catalog for a product and its version attributes based on the Model and ManufacturerName attributes.
    If the product is not found, it checks if the Allow New Product Catalog Entry option is enabled.
    • If the option is enabled, the Normalization Engine creates a new product entry, sets the NormalizationStatus attribute, and ends the normalization process for the CI.
    • If the option is not enabled, the Normalization Engine updates the CI's NormalizationStatus attribute as Normalization Failed, and ends the normalization process for the CI.
  4. The Normalization Engine checks the product association with the Company name populated in the CI.
    If there is no association, the Normalization Engine updates the CI's NormalizationStatus attribute as Normalization Failed, and ends the normalization process for the CI.
  5. If the MarketVersion attribute is populated for a CI, the Normalization Engine searches the Product Catalog for a product that matches the CI using the ManufacturerNameModel, and MarketVersion attributes.
    • If the Normalization Engine finds the ManufacturerNameModel, and MarketVersion attributes, the Normalization Engine substitutes the CategoryType, and Item attribute values from the Product Catalog entry in to the corresponding CI attributes.
    • The Normalization Engine updates the NormalizationStatus attribute to Normalized and Approved or Normalized and Unapproved, and then ends the normalization process for the CI. Normalization of unapproved products depends on whether the Allow Unapproved CI option is disabled. By default, the option is enabled.
    • The Normalization Engine checks the IsApproved flag for the entry.
    • The Normalization Engine applies all the normalization features enabled for the data set.
  6. If Normalization Engine does not find a match in the Product Catalog with the ManufacturerNameModel, and MarketVersion attributes, and if the VersionNumber is populated for a CI, the Normalization Engine searches the Product Catalog for a product that matches the CI using the ManufacturerNameModel, and VersionNumber attributes.
    • If it finds a ManufacturerNameModel, and VersionNumber, the Normalization Engine substitutes the CategoryType, and Item attribute values from the Product Catalog entry in to the corresponding CI attributes.
    • The Normalization Engine updates the NormalizationStatus attribute to Normalized and Approved or Normalized and Unapproved, and then ends the normalization process for the CI. Normalization of unapproved products depends on whether the Allow Unapproved CI option is enabled or disabled. By default, the option is enabled.
    • The Normalization Engine checks the IsApproved flag for the entry.
    • The Normalization Engine applies all the normalization features enabled for the data set.
  7. If both, MarketVersion and VersionNumber are not populated for a CI, the Normalization Engine checks for a match with ManufacturerName and Model.
    • If the Normalization Engine finds a match, it checks if the versions are listed. Because the MarketVersion and VersionNumber are not populated for a CI, the Normalization Engine expects that either no versions are listed, or the version is listed in the Product Catalog as Unknown and the version of the CI is NULL. In this case, the Normalization Engine substitutes CategoryType, and Item attribute values from the Product Catalog entry into the corresponding CI attributes.
    • If the Normalization Engine does not find a match, the Normalization Engine updates the CI's NormalizationStatus attribute as Normalization Failed and ends the normalization process for the CI.
  8. If the Normalization Engine does not find a Product Catalog entry with a matching version, it checks if the Allow New Product Catalog Entry option is enabled.
    • If the option is enabled, the Normalization Engine creates a new product entry, sets the NormalizationStatus value, and ends the normalization process for the CI.
    • If the option is not enabled, the Normalization Engine updates the CI's NormalizationStatus attribute as Normalization Failed and ends the normalization process for the CI.

After the Normalization Engine normalizes the data, it can be reconciled to the BMC CMDB production data set.

You can use the Product Catalog Mapping Alias with data sets configured for normalization to control the automatic expansion of the Product Catalog. For example, a Product Catalog Mapping Alias might map all the data provider's default categorizations to preferred categorization in the Product Catalog. The Allow New Product Catalog Entry option is selected for the data provider's data set in the Configurations > Dataset Configurations console. So, every time a new product name and manufacturer combination is discovered, a new product catalog entry is created, using the preferred three categorization tiers and the discovered product name and manufacturer.


Scenario when Model and ManufacturerName attributes have null values

If you have a CI with blank (null) values for either model or manufacturer name, we recommend you to first manually create the Product with model name as BMC_UNKNOWN or manufacturer name as BMC_UNKNOWN in the Product Catalog, and then perform normalization.

If the CI has no values (null), or any of the special keywords “Unknown” or “BMC_UNKNOWN” for either Model or ManufacturerName attributes,  the Normalization Engine replaces null or any of these special keywords with BMC_UNKNOWN and then searches the product catalog for a match. If it finds a product, it normalizes the CI (product) according to the process described above.

Note

In case you have Model or ManufacturerName as either null, “Unknown” or “BMC_UNKNOWN” the Normalization Engine will NOT create a product catalog entry automatically, even if Allow New Product Catalog Entry option is enabled.



The normalization process can be summarized in the following table.

Note

In each of these scenarios, we assume the following:

  • Manufacturer is always defined, and its value matches with the value in the Product Catalog.
  • Company is defined, and its value matches with the value in the Product Catalog.
    If the value of Company is not defined, then the product is defined as a Global product.

Sr no

ADDM

PC (Product Catalog)

Is the CI normalized?

 

Model

Version

Patch

Model

Version

Patch


1

A

Null

Null

A

B*

*version normalization will happen only if no version information is available at all in the product catalog

-

No

2

A

Null

Null

A

Unknown

-

Yes

3

A

Yes

Null

A

-

-

No

4

A

Yes

Null

A

Unknown

-

No

5

A

--

A

Yes (same as ADDM)

-

No

6

A

Yes

No

A

Yes (same as ADDM)

*Patch normalization will work only if no patch value is defined for the particular version in the Product Catalog


Unknown

Yes

7

---

A

Yes (same as ADDM)

-

No

 8

Yes

Null

A

A

Yes (same as ADDM)

Yes (same as ADDM)

Yes

Was this page helpful? Yes No Submitting... Thank you

Comments

  1. Petar Petrov

    In the table you have the column 'Model' twice. Also it will be very helpful to add an example how to normalize a product without a manufacturer.

    Sep 01, 2021 07:00
    1. Maithili Deshpande

      Hi Petar, 

      In the table, 1st instance of 'Model' shows the model name in the ADDM dataset, and the 2nd instance is the model name in the Product Catalog.

      Model and Manufacturer fields are mandatory for normalization. However, if the Manufacturer name is not available, we recommend that you create a product catalog entry for the Manufacturer name as Unknown, and then run normalization. To create a product catalog entry, see Adding custom Product Catalog entries manually.

      If you want to contact Customer Support to log a formal ticket on this issue, click here.

      Regards,
      Maithili

      Oct 08, 2021 05:24