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 Normalized, Normalization 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
Model
,ManufacturerName
, and (if available in the CI) theMarketVersion,
VersionNumber
andPatchNumber
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:
The detailed normalization process is as follows:
- The Normalization Engine checks the Normalization Alias form for aliases for the
ManufacturerName
andModel
attributes. - 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. - The Normalization Engine searches the Product Catalog for a product and its version attributes based on the
Model
andManufacturerName
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.
- If the option is enabled, the Normalization Engine creates a new product entry, sets the
- 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'sNormalizationStatus
attribute as Normalization Failed, and ends the normalization process for the CI. - If the
MarketVersion
attribute is populated for a CI, the Normalization Engine searches the Product Catalog for a product that matches the CI using theManufacturerName
,Model
, andMarketVersion
attributes.- If the Normalization Engine finds the
ManufacturerName
,Model
, andMarketVersion
attributes, the Normalization Engine substitutes theCategory
,Type
, andItem
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.
- If the Normalization Engine finds the
- If Normalization Engine does not find a match in the Product Catalog with the
ManufacturerName
,Model
, andMarketVersion
attributes, and if theVersionNumber
is populated for a CI, the Normalization Engine searches the Product Catalog for a product that matches the CI using theManufacturerName
,Model
, and VersionNumber attributes.- If it finds a
ManufacturerName
,Model
, andVersionNumber
, the Normalization Engine substitutes theCategory
,Type
, andItem
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.
- If it finds a
- If both,
MarketVersion
andVersionNumber
are not populated for a CI, the Normalization Engine checks for a match withManufacturerName
andModel
.- If the Normalization Engine finds a match, it checks if the versions are listed. Because the
MarketVersion
andVersionNumber
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 substitutesCategory
,Type
, andItem
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.
- If the Normalization Engine finds a match, it checks if the versions are listed. Because the
- 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.
- If the option is enabled, the Normalization Engine creates a new product entry, sets the
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
Comments
Log in or register to comment.