Normalization of discovery models using machine learning

  • Release version: Zurich
  • Updated July 31, 2025
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Normalization of discovery models using machine learning

    ServiceNow’s Software Asset Management (SAM) application leverages machine learning (ML) to enhance the normalization of discovery models by improving recognition of discovered software attributes like version, full version, and edition in real time. This capability increases normalization rates beyond traditional content service rules, facilitating more accurate and up-to-date software asset data.

    Show full answer Show less

    Activation and Configuration

    • Enable ML normalization by activating the Software Asset Management – Machine Learning Normalization plugin (com.snsammlnormalization).
    • Ensure the property Enable ML Normalization for discovered software (com.snc.samp.enable.mlnormalization) is selected to use ML-based normalization.
    • Disabling this property opts out of ML normalization, reverting normalization to use only content service rules.

    Normalization Process and Scheduled Jobs

    • The daily scheduled job SAM-Normalize discovery models using content library rules runs regardless of ML plugin activation and normalizes discovery models using content rules.
    • If ML normalization is enabled, this job triggers another job, SAM-Normalize discovery models using machine learning, which applies ML predictions to partially normalized models.
    • A weekly job re-applies content rules to discovery models normalized by ML, ensuring content service predictions override ML if discrepancies occur, as content rules take precedence.
    • The status of these jobs is tracked in the Software Asset Job Result [sampjoblog] table.

    Machine Learning Normalization Details

    • Normalized values and ML prediction details are stored in the Software Discovery Model [cmdbsamswdiscoverymodel] table, including:
      • ML prediction values: Predicted software attributes.
      • ML model version: Version of the ML model used.
      • ML normalization status: Status such as ML normalized, reverted by user, or overridden by content rules.
    • Users can manually revert ML or content normalization, which resets the discovery model status to Match not Found. Reverting ML normalization does not disable content rules, but reverting normalization done only by content rules does disable those rules.

    Normalization Rules

    Normalization status depends on which fields are normalized for licensed and non-licensed products:

    Licensed Products Normalization Rules
    Fields NormalizedStatus
    All fields (publisher, product, version, edition, full version)Normalized
    Only publisher normalizedPublisher normalized
    Only product and publisher normalizedPartially normalized
    None of the fields normalizedMatch not found
    Non-Licensed Products Normalization Rules
    Fields NormalizedStatus
    Publisher and product normalizedNormalized
    Only publisher normalizedPublisher normalized
    None of the fields normalizedMatch not found

    Use machine learning to improve your normalization rates in real time by normalizing your unrecognized discovered software.

    The Software Asset Management application uses machine learning to improve normalization of discovery models. The prediction values currently supported by machine learning are version, full version, and edition.

    Opt in for machine learning normalization by activating the Software Asset Management – Machine Learning Normalization (com.sn_sam_ml_normalization) plugin.

    Once the plugin is activated, ensure that the Enable ML Normalization for discovered software (com.snc.samp.enable.ml_normalization) property is selected. For more details on this property, see Software Asset Management properties. You can opt out of machine learning normalization by disabling this property. If you opt out, normalization of discovery models only takes place against the content service rules.

    The scheduled job, SAM-Normalize discovery models using content library rules, triggers on a daily basis and normalizes the discovery models based on the content rules. This scheduled job runs irrespective of whether the Software Asset Management – Machine Learning Normalization plugin is activated or not. If this plugin is activated, then the partially normalized discovery models are picked up by another scheduled job, SAM-Normalize discovery models using machine learning. The scheduled job, SAM-Normalize discovery models using content library rules is enhanced to invoke the on-demand scheduled job, SAM-Normalize discovery models using machine learning and also validates machine learning predictions.

    Once the scheduled job, SAM-Normalize discovery models using machine learning is complete, you can view the updated values in the following machine learning based columns in the Software Discovery Model [cmdb_sam_sw_discovery_model] table:
    • ML prediction values: Indicates the predicted values for the attributes.
    • ML model version: Indicates the model version that was used for predicting the attributes.
    • ML normalization status: Indicates the status of machine learning normalization. Values for this column include:
      • ML normalized: Discovery model is normalized by machine learning
      • Reverted: Discovery model is normalized by machine learning but the user reverted the normalized values
      • Content overridden: Machine learning predictions over-written by new content rules
    Note:
    The status of the scheduled job, SAM-Normalize discovery models using machine learning is tracked in the Software Asset Job Result [samp_job_log] table.
    As the content rules are always getting updated, the weekly scheduled job SAM-Normalize discovery models using content library rules picks up the discovery models normalized by machine learning and tries to normalize these models with the latest content rules. If the predicted values of machine learning differ from the predictive values of the content service, the machine learning predictions are overwritten with the content service values. The content service prediction values always get precedence over the machine learning prediction values.
    Note:
    For details on the normalization rules for the predictive values, refer to tables titled Normalization rules for licensed products andNormalization rules for non licensed products.
    You can manually normalize a discovery model by reverting the normalization values. When you revert normalizations in the Software Discovery Model form, all the normalized values, got from content and machine learning, are removed. The discovery model reverts to a status of Match not Found.
    Note:
    When you revert a discovery model normalized by machine learning, the content rules are not deactivated. However, if a discovery model is normalized only by content rules, then the content rules are deactivated.
    Table 1. Normalization rules for licensed products
    Fields Normalization status
    All fields are normalized
    Note:
    All the fields include publisher, product, version, edition, and full version.
    Normalized
    Only the publisher is normalized Publisher normalized
    If none of the fields are normalized: publisher, product, version, edition, full version Match not found
    Only product and publisher are normalized. Partially normalized
    Table 2. Normalization rules for non licensed products
    Fields Normalization status
    If only publisher and product are normalized Normalized
    Only the publisher is normalized Publisher normalized
    If none of the fields are normalized: publisher, product, version, edition, full version Match not found