Monitoring Application Usage via Video and System Event Correlation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for monitoring application usage on electronic devices are inaccurate and fragmented, as they lack direct information on how applications are used, especially for applications like video streaming, and operators have limited control over installed applications.
Innovation Solution
A method implemented by a monitoring application that determines video events and application events using system APIs and timestamps, merging them to provide a consolidated set of ordered events that accurately reflect usage, including video playback and application usage time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a monitoring application uses system APIs to obtain application usage information, then it can access basic application events, but the information remains fragmented and limited without detailed usage patterns
Solution Approach 1:
The patent combines multiple data sources including system APIs, application analytics solutions, and monitoring application data into a unified usage profile. This merging of fragmented information sources resolves the contradiction by providing both comprehensive coverage (reducing information loss) and detailed precision (through correlated analysis of multiple event types).
Solution Approach 2:
The monitoring application acts as an intermediary that collects, correlates, and enriches basic API events with additional context from analytics solutions. This intermediary layer transforms limited system events into detailed usage patterns, simultaneously reducing information loss and improving measurement precision.
2Measurement precision
If applications implement their own analytics solutions, then detailed usage information can be obtained, but operators have no control over applications that don't implement such solutions
Solution Approach 1:
The system provides universal monitoring capabilities that work with both applications having analytics solutions and those without. The monitoring application serves multiple functions: it processes analytics data from instrumented applications and simultaneously collects system-level events from all applications, ensuring operator control and monitoring accuracy across the entire application ecosystem.
Solution Approach 2:
The monitoring approach is segmented into two complementary paths: one for applications with analytics solutions (detailed usage data) and one for applications without (system API events). Both segments are processed and merged to provide comprehensive coverage, allowing operator control over all applications regardless of their analytics implementation status.
3Ease of operation
If system APIs provide usage statistics, then application start and stop events can be detected, but detailed information about how applications are used cannot be inferred
Solution Approach 1:
The system performs preliminary correlation and enrichment of basic API events with additional context from multiple sources. By pre-processing and combining data from analytics solutions, device usage patterns, and system events, the system recovers detailed usage behavior information before final analysis, reducing information loss while maintaining implementation simplicity through automated processing.
Data Source
AI summary
The disclosure relates to a method for monitoring usage of at least one application executed within an operating system of an electronic device. The method includes at least one iteration of, while a processing condition is not satisfied, determining a video event associated with a current application and storing the video event in a data structure, delivering a set of video events. The method further includes, once the processing condition is satisfied, determining a past time slot, calling an usage statistics API provided on the operating system, delivering a set of application events representative of whether an application has been put in system foreground or system background, retrieving application events that have occurred during the past time slot, retrieving video events that have occurred during the past time slot, chronologically ordering the retrieved application and video events, and delivering a consolidated set of ordered events.


