Dependency Graph Analysis for Mobile Program Diagnostics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for diagnosing program resource behavior on mobile devices with limited resources are inefficient due to the need for large failure reports and resource constraints, making it difficult to apply similar diagnostic approaches used for stationary computers.
Innovation Solution
An analysis management system (AMS) that distributes reporting directives across devices, uses dependency graphs to adaptively collect data, and employs probabilistic techniques to infer missing information, reducing the load on individual devices and enhancing diagnostic capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If failure reports are generated and transmitted to online services for diagnosing program behavior, then diagnostic capability is improved, but device resource consumption increases
Solution Approach 1:
The system segments the diagnostic process by dividing observation points into multiple groups and assigning different groups to different devices. Each device only collects and transmits data for its assigned observation points, reducing the reporting load on individual devices while maintaining comprehensive diagnostic coverage across the system.
Solution Approach 2:
The system extracts only the necessary observation points for diagnosis from the complete set of program behavior data. By using dependency graphs to identify critical observation points and selectively collecting data only for those points, the system reduces the amount of data transmitted and processed, thereby lowering device resource consumption while preserving diagnostic effectiveness.
2Measurement precision
If comprehensive observation points are collected from mobile devices, then diagnostic accuracy is improved, but reporting load on devices increases
Solution Approach 1:
The observation points are segmented into multiple groups and distributed across different devices. Each device collects data for only its assigned group of observation points, reducing the reporting load on individual devices. The central system aggregates data from multiple devices to achieve comprehensive diagnostic accuracy, effectively distributing complexity while maintaining measurement precision.
Solution Approach 2:
The system collects data for a subset of observation points on each device rather than all observation points simultaneously. By using dependency graphs to identify critical dependencies, the system performs partial data collection that is sufficient for diagnosis, avoiding the excessive action of collecting all possible data and thereby reducing reporting load while maintaining diagnostic accuracy.
3Adaptability or versatility
If dependency graphs are updated with collected data, then adaptive data collection is improved, but processing time increases
Solution Approach 1:
The system performs preliminary actions by collecting data for a initial set of observation points and updating the dependency graph before determining the next set of observation points to collect. This allows the system to adaptively refine its data collection strategy based on preliminary findings, improving adaptability while managing processing time through incremental updates rather than waiting for complete data collection.
Solution Approach 2:
The system implements feedback mechanisms where collected data is used to update dependency graphs, which then guide the selection of next observation points to collect. This feedback loop enables adaptive data collection that responds to actual program behavior patterns, improving versatility. The feedback process is designed to be computationally efficient by focusing updates on critical dependencies rather than reprocessing all data.
Data Source
AI summary
An analysis management system (AMS) is described that analyzes the in-field behavior of a program resource installed on a collection of computing devices, such as mobile telephone devices or the like. In operation, the AMS can instruct different devices to collect data regarding different observation points associated with the program resource, thus spreading the reporting load among the devices. Based on the data that is collected, the AMS can update a dependency graph that describes dependencies among the observation points associated with the program resource. The AMS can then generate new directives based on the updated dependency graph. The AMS can also use the dependency graph and the collected data to infer information regarding observation points that is not directly supplied by the collected data.


