ML Classifier for Unclassified Software Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual discovery and mapping of configuration items in computer networks is time-consuming, and existing automated processes face delays and inefficiencies when dealing with numerous and frequently updated software applications, leading to temporary classification failures.

Innovation Solution

The implementation of machine learning classifiers as a backup or redundant system to classify software applications based on characteristic files, which can quickly provide classifications without additional delay, even when discovery patterns fail, and can be used in conjunction with rule-based discovery patterns for redundancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated software processes are used to discover and map configuration items, then productivity is improved, but device complexity increases and the system requires periodic updates to maintain reliability

Engineering Contradiction:
Improvediscovery and mapping speedVSAvoidsoftware process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the discovery process into distinct components: discovery patterns for structured detection, machine learning classifiers for categorization, and modular software agents. Each component handles specific tasks independently, improving maintainability and reducing overall system complexity while maintaining high productivity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Discovery patterns are pre-configured with detection rules, file path templates, and classification criteria before deployment. This preliminary preparation enables the automated processes to immediately begin discovery operations without requiring complex real-time decision-making, thereby improving productivity while keeping the runtime system simpler

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If discovery patterns are updated to match new software applications, then measurement precision is improved, but loss of time increases due to the update process

Engineering Contradiction:
Improveapplication classification accuracyVSAvoidpattern update time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service through machine learning classifiers that automatically learn and adapt to new application types without requiring manual pattern updates. The ML models are trained on characteristic files and application behaviors, automatically generating classification rules that maintain measurement precision while eliminating the time loss associated with manual pattern development

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of structurally modifying discovery patterns to accommodate new applications, the system changes parameters by training ML classifiers with new data samples. This parameter-based adaptation approach maintains the existing pattern framework while improving classification accuracy for new applications, significantly reducing update time

Inventive Principle:
Principle #35Parameter changes

3Reliability

If machine learning classifiers are used as a backup to discovery patterns, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveclassification availabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary layer between discovery patterns and classification output: machine learning classifiers serve as mediators that receive discovery data and produce classifications. This intermediary approach improves reliability by providing alternative classification paths while managing complexity through a clear layered architecture where each layer has defined responsibilities

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If manual discovery and mapping is performed, then ease of operation is maintained, but productivity decreases significantly

Engineering Contradiction:
Improvemanual control flexibilityVSAvoiddiscovery speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The automated discovery system is designed with universal components that can handle multiple application types and scenarios through configurable patterns and trained ML models. This multi-functionality allows the system to perform complex automated discovery tasks while maintaining operational flexibility similar to manual processes, achieving high productivity without sacrificing ease of operation

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3955136B1Identifying applications with machine learning
Publication Date: 2024.04.10 SERVICENOW INC
  • EP3955136B1 patent drawingFigure 1
  • EP3955136B1 patent drawingFigure 2
  • EP3955136B1 patent drawingFigure 3

AI summary

A computing system includes a database and a discovery application that initiates discovery of software applications within a managed network by probing the computing devices for applications in stalled thereon. The discovery application executes discovery patterns in an attempt to classify a discovered application and determines that the discovered application is unclassified after executing the discovery patterns. In response to determining that the discovered application is unclassified, the discovery application (i) generates a configuration item representing the discovered application without classification and (ii) selects a characteristic file containing attributes of the discovered application. The discovery application provides the characteristic file to a machine learning (ML) classifier trained using a plurality of characteristic files. The discovery application receives, from the ML classifier, a classification of the discovered application, modifies the configuration item to include the classification of the discovered application, and stores, in the database, the configuration item as modified.