Dynamic Software Fingerprinting for Rich Inventory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software inventory applications provide only a list of installed applications without correlating them to additional information needed for categorization and management, making it time-consuming for users to collect and correlate this data manually.

Innovation Solution

Dynamic software fingerprinting techniques create relationships between enumerated software installations and supplemental categories, forming an enhanced 'fingerprint' inventory that includes information on application locations, installation sources, functions, reputation, and attributes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If traditional software inventory techniques (drivescraping or ARP list) are used, then software installations can be listed by executable name, but additional information for categorization and management cannot be correlated automatically

Engineering Contradiction:
Improvesoftware installation informationVSAvoidtime to collect and correlate data
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent combines multiple data sources (drivescraping results, ARP list, and supplemental categories) into a unified software inventory system. The fingerprinting module merges executable information with category relationships, installation sources, and supplemental data into a single comprehensive inventory structure, eliminating the need for separate manual data collection processes.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary action by pre-establishing supplemental categories and their relationships with software installations. The fingerprinting module proactively collects and correlates additional information (category relationships, installation sources, reputations) alongside the basic software list, so that categorization and management data are already prepared when needed, rather than requiring subsequent manual collection.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If manual data collection and correlation is performed, then additional information can be obtained, but the process becomes time-consuming and frustrating for users

Engineering Contradiction:
Improvesoftware categorization informationVSAvoiduser efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The software inventory system performs self-service by automatically collecting, correlating, and organizing software installation data without requiring user intervention. The fingerprinting module autonomously queries multiple data sources, establishes category relationships, and generates the comprehensive inventory, freeing users from manual data collection tasks and significantly improving productivity.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If only executable names are recorded, then the inventory is simple to generate, but the inventory lacks the richness needed for effective software management

Engineering Contradiction:
Improveinventory generation simplicityVSAvoidsoftware attributes and relationships
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent implements multi-functionality by designing the software inventory to serve multiple purposes simultaneously. The inventory structure accommodates not only basic executable listing but also categorization, relationship mapping, installation source tracking, reputation data, and management operations. This universal inventory structure enables both simple generation and rich information content, supporting diverse software management needs.

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

Data Source

PatentUS8161473B2Dynamic software fingerprinting
Publication Date: 2012.04.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8161473B2 patent drawing
  • US8161473B2 patent drawing
  • US8161473B2 patent drawing

AI summary

Embodiments of dynamic software fingerprinting techniques are presented herein. In an implementation, an inventory of applications installed on a client is performed by examination of one or more inventory categories. Relationships are then created between the installed applications from the inventory and one or more supplemental categories. Based on the relationships created, a fingerprint inventory corresponding to the client is produced which describes: the relationships; the installed applications of the client; categories including the applications; and attributes corresponding to the applications.