Tree-Structured Software Matching for Scalable Asset Identification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


