Software Usage Detection via Component Segmentation and Thresholding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software application usage detection techniques are unreliable and inaccurate due to their failure to account for the diversity of usage patterns and the correlation of application components with active user interaction, often misidentifying frequently used applications or missing their usage altogether.

Innovation Solution

A usage detection system that categorizes application components based on their mode of interaction and correlation with active use, employing a background service to track usage metrics such as frequency of launches and duration of use, and applying these metrics against predefined thresholds to accurately determine application usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing techniques track program launches from start menu using simple heuristics, then the detection method is easy to implement, but the measurement precision of application usage is poor

Engineering Contradiction:
Improveapplication usage detection accuracyVSAvoiddetection system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the application usage detection into multiple independent components: a usage manifest that categorizes application components by interaction mode, a background service that monitors specific components, and a usage manager that processes metrics. This segmentation allows precise tracking of relevant components without monitoring all system activities, improving accuracy while managing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a usage manifest as an intermediary data structure that maps application components to their interaction modes and usage correlation levels. This manifest acts as a mediator between the complex application ecosystem and the simplified monitoring logic, enabling accurate detection without requiring complex analysis of each application's behavior patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the system monitors all application components equally, then the detection method is simple and consistent, but the measurement precision deteriorates due to including irrelevant components like pre-loaders and auto-updaters

Engineering Contradiction:
Improveactive application usage accuracyVSAvoiddetection method simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent applies local quality by assigning different monitoring priorities to different application components based on their interaction modes. Components with high correlation to active usage (such as main processes and UI windows) are monitored intensively, while components with low correlation (such as pre-loaders and auto-updaters) are excluded from monitoring. This differentiated approach improves measurement precision without significantly increasing operational complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of component relevance by introducing a usage correlation metric that evaluates how strongly each component correlates with active application usage. This parameter transformation allows the system to dynamically determine which components to monitor based on their measured correlation with actual usage, rather than using a fixed monitoring rule for all components.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the system applies a single detection technique for all applications, then the device complexity is low, but the adaptability to diverse usage patterns is poor

Engineering Contradiction:
Improveusage pattern diversity coverageVSAvoiddetection technique complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal detection framework that handles diverse application usage patterns through a single multi-functional system. The usage manifest defines multiple interaction modes (UI window, system tray, background service, browser plug-in) that can accommodate different application types, while the background service and usage manager provide unified monitoring and analysis logic. This universal approach enables the system to adapt to various usage patterns without requiring separate detection techniques for each application type.

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

Solution Approach 2:

The patent introduces dynamics by making the monitoring focus adaptive rather than static. The system dynamically adjusts which components are monitored based on their real-time correlation with active usage, as determined by the usage manifest and usage manager. This dynamic adaptation allows the system to respond to diverse usage patterns automatically, improving versatility without requiring manual configuration for each application type.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8713535B2Reliable and accurate usage detection of a software application
Publication Date: 2014.04.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8713535B2 patent drawing
  • US8713535B2 patent drawing
  • US8713535B2 patent drawing

AI summary

Use of software applications is detected by categorizing components of applications into a usage manifest and implementing a usage detection background service on a client PC that monitors the components according to the usage manifest. The application components are categorized based on the mode of user interaction as well as the component's correlation to active use of an application. The background service tracks events and activities associated with the application components to generate usage metrics that include the frequency of unique launches of an application and the duration of each unique use. A usage manager for the background service may utilize the usage metrics for a component independently, or combine metrics for multiple components in cases where applications work in an interactive manner (such as a plug-in to a web browser) in order to compute application usage by comparing the metrics against predefined thresholds.