Software Title Discovery via Multi-Source Reconciliation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Identifying installed software applications on a Microsoft Windows platform is challenging due to the lack of a standard installation approach, with applications' information scattered across multiple locations and standard tools often misidentifying components or providing excessive or insufficient data, leading to a low signal-to-noise ratio and resource-intensive scans.
Innovation Solution
A method involving multiple searches using operating system-defined interfaces and data sources such as WMI, the registry, and Program Files folders, with filtration and reconciliation techniques to merge and filter results, excluding non-application entries and system components, to create a comprehensive list of installed software applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple search methods are used to discover software applications, then the completeness of application identification is improved, but the complexity of the discovery process increases
Solution Approach 1:
The discovery process is divided into multiple independent search methods, each targeting specific locations or data sources (e.g., registry, WMI, startup folders). Each method can be executed separately and their results aggregated, allowing the system to achieve comprehensive coverage while maintaining manageable complexity through modular design.
Solution Approach 2:
Results from multiple search methods are merged into a unified list of discovered applications. The system combines data from different sources (registry entries, WMI queries, startup folder scans) and reconciles duplicates to produce a complete application inventory, thereby improving identification completeness.
2Ease of operation
If standard tools are used to identify applications, then the ease of operation is improved, but the accuracy of application identification deteriorates due to misidentification of non-application entries
Solution Approach 1:
The system extracts and removes non-application entries from the list of discovered software. By filtering out drivers, updates, patches, and other non-application items that appear in standard tool results, the system maintains ease of operation while improving identification accuracy through post-processing filtration.
Solution Approach 2:
The system incorporates feedback mechanisms to validate and refine application identification. By comparing results across multiple data sources and using heuristics to distinguish true applications from false positives, the system continuously improves accuracy while maintaining user-friendly operation.
3Measurement precision
If complete disk scan methods are used to discover applications, then the completeness of application discovery is improved, but the resource consumption increases significantly
Solution Approach 1:
The system performs preliminary actions by scanning specific high-probability locations for applications (registry, WMI, startup folders) before resorting to more resource-intensive methods. This staged approach ensures comprehensive discovery while minimizing overall resource consumption by avoiding unnecessary full disk scans.
Solution Approach 2:
The system uses partial scanning of specific directories and data sources rather than complete disk scans. By focusing on likely locations (Program Files, startup folders, registry keys) and using multiple targeted queries instead of one exhaustive search, the system achieves sufficient completeness with reduced resource consumption.
Data Source
AI summary
In a computer system that has no single place to discover all installed software applications, a software title discovery technique uses a combination of techniques to discover installed software. One of the combined techniques is an operating system predefined interface for obtaining information about installed software application; other techniques that may be employed include searching a repository of uninstall information, searching for executable files in a portion of a filesystem for the computer, and searching for executable files pointed to by other files in the filesystem of the computer system. A client/server configuration may be employed to allow collection of the software application information across a network of computers in an enterprise by a server computer system, allowing the server system to provide reports regard installed software applications.


