Normalization of discovery models using machine learning

  • Release version: Xanadu
  • Updated August 1, 2024
  • 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

    This feature in the Software Asset Management (SAM) application leverages machine learning (ML) to enhance the normalization of discovered software models in real time. Normalization refers to the process of standardizing discovered software data, including version, full version, and edition attributes, to improve accuracy and consistency in software asset tracking.

    Show full answer Show less

    To enable ML normalization, ServiceNow customers must activate the Software Asset Management – Machine Learning Normalization plugin and enable the Enable ML Normalization for discovered software property. Disabling this property opts out of ML normalization, reverting normalization to rely solely on content service rules.

    How ML Normalization Works

    • A daily scheduled job named SAM-Normalize discovery models using content library rules runs to normalize discovery models using predefined content rules regardless of ML plugin activation.
    • If the ML plugin is activated, another scheduled job called SAM-Normalize discovery models using machine learning processes discovery models partially normalized by content rules, applying ML predictions for improved normalization.
    • The content library rules scheduled job also triggers the ML normalization job on demand and validates ML predictions.

    Key Features and Data Tracking

    • ML prediction results are stored and visible in the Software Discovery Model [cmdbsamswdiscoverymodel] table, including:
      • Predicted attribute values (version, full version, edition)
      • ML model version used
      • Normalization status (e.g., ML normalized, reverted, content overridden)
    • Normalization status helps track if ML predictions were applied, reverted by the user, or overridden by updated content rules.
    • The Software Asset Job Result [sampjoblog] table logs the status of the ML normalization scheduled job.

    Interaction Between ML and Content Rules

    Weekly content library rule updates can override ML normalization if discrepancies exist between ML predictions and content service predictions. The content service values take precedence, ensuring normalization aligns with the most current content knowledge.

    Manual Normalization and Reversion

    • Users can manually revert normalization values on a discovery model, removing both ML and content rule normalizations and reverting the status to "Match not Found."
    • Reverting ML normalization does not deactivate content rules, but reverting content-only normalization does deactivate content rules.

    Normalization Rules Summary

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

    • Licensed products:
      • Normalized: All fields (publisher, product, version, edition, full version) normalized
      • Publisher normalized: Only publisher normalized
      • Partially normalized: Only product and publisher normalized
      • Match not found: None of the fields normalized
    • Non-licensed products:
      • Normalized: Publisher and product normalized
      • Publisher normalized: Only publisher normalized
      • Match not found: None of the fields normalized

    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