Tree-Structured Software Matching for Scalable Asset Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software asset management systems require excessive computational resources due to the need to test each instance of software inventory data against an entire database of known software, leading to inefficiencies as the number of devices and software variations increase.

Innovation Solution

A tree-structured pattern matching system is employed to divide the database into subsets based on software properties, allowing software inventory data to be tested against a subset of rules, reducing the number of comparisons needed and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If software inventory data is tested against the entire database of known software, then software identification accuracy is maintained, but computational resources and processing time increase exponentially

Engineering Contradiction:
Improvesoftware identification accuracyVSAvoidcomputational resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments the database of known software into multiple subsets based on different properties (e.g., software type, version range, platform). Instead of testing against the entire database, the system divides the search space into manageable segments and tests inventory data against relevant subsets only, significantly reducing computational resources while maintaining identification accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by selecting and testing only the specific subsets of software rules that are relevant to the given inventory data. The system determines which subsets to test based on the properties of the inventory data (such as operating system, software category), thereby focusing computational effort only where necessary rather than exhaustively searching the entire database.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If the database of known software is expanded to cover more software variations, then software identification completeness improves, but the time required for identification increases

Engineering Contradiction:
Improvesoftware identification completenessVSAvoididentification time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the expanded database into multiple property-based subsets. Even though the database covers comprehensive software variations, the segmentation allows the system to quickly navigate to relevant subsets based on inventory data properties, reducing search time despite the larger overall database size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-organizing the database into subsets based on software properties before actual identification occurs. This pre-structuring allows the system to quickly determine which subsets to test without having to search through the entire database, thus maintaining fast identification times even with comprehensive software coverage.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If more devices are managed with different software utilizations, then software asset management coverage increases, but the complexity of software inventory processing increases

Engineering Contradiction:
Improvedevice coverageVSAvoidinventory processing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the software inventory processing into separate stages: first grouping inventory data by device properties (operating system, hardware architecture), then testing against corresponding software subsets. This segmentation allows the system to handle multiple devices with different software utilizations by processing them through standardized segmented stages rather than as a monolithic complex process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal processing framework that can handle diverse device types and software configurations through the same segmented approach. The system uses a multi-functional rule-testing mechanism that works across different device platforms by selecting appropriate subsets, thereby managing complexity through a unified universal process rather than device-specific procedures.

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

Data Source

PatentUS12399708B2Software recognition using tree-structured pattern matching rules for software asset management
Publication Date: 2025.08.26 FLEXERA SOFTWARE LLC
  • US12399708B2 patent drawing
  • US12399708B2 patent drawing
  • US12399708B2 patent drawing

AI summary

A method of software identification in a software asset management system is provided. The method comprises receiving software inventory data from a user terminal and processing the software inventory data, wherein processing the software inventory data comprise identifying software information based on the software inventory data. Thereby the software characteristics are identified.