Dependency Graph Analysis for Mobile Program Diagnostics

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvediagnostic capabilityVSAvoiddevice resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If comprehensive observation points are collected from mobile devices, then diagnostic accuracy is improved, but reporting load on devices increases

Engineering Contradiction:
Improvediagnostic accuracyVSAvoidreporting load
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If dependency graphs are updated with collected data, then adaptive data collection is improved, but processing time increases

Engineering Contradiction:
Improveadaptive data collectionVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9727441B2Generating dependency graphs for analyzing program behavior
Publication Date: 2017.08.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9727441B2 patent drawing
  • US9727441B2 patent drawing
  • US9727441B2 patent drawing

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.