Mobile App Code Analysis for Location Service Battery Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Location services in mobile devices cause significant battery drain due to power-intensive operations, and existing analysis tools lack support for identifying and optimizing errors or inefficiencies in location service usage.

Innovation Solution

A method that analyzes computer code in mobile applications to identify instructions for location data requests, compares them to a set of location request rules aimed at minimizing battery consumption, and provides suggested changes to optimize location service usage, including reducing frequency of updates, using network location services instead of GPS, and leveraging existing location information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If location services are frequently updated to provide real-time location data, then location accuracy and responsiveness are improved, but battery consumption increases significantly

Engineering Contradiction:
Improvelocation update frequencyVSAvoidbattery consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts location update frequency based on application requirements and historical usage patterns. The code analysis tool modifies location request parameters at runtime, changing the frequency of GPS updates from static to adaptive, thereby optimizing battery usage while maintaining necessary location accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes physical parameters of location services by analyzing code and automatically adjusting update intervals, accuracy requirements, and service activation states. The system modifies parameters such as minimum time between updates and desired accuracy levels to reduce power consumption while maintaining functional requirements.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If GPS location service is used instead of network location service, then location accuracy is improved, but battery consumption increases

Engineering Contradiction:
Improvelocation accuracyVSAvoidbattery consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system introduces an intermediary code analysis and optimization layer that sits between the application and location services. This intermediary analyzes location request code, determines when high-accuracy GPS is truly necessary versus when lower-accuracy network-based location suffices, and automatically selects the appropriate service type to balance accuracy and power consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system applies partial action by using full GPS capability only when absolutely necessary, while relying on network location services for routine operations. The code optimization selectively enables high-precision location methods only in specific code paths where accuracy is critical, rather than universally using GPS.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If location requests are made continuously to ensure up-to-date location data, then data freshness is improved, but unnecessary battery consumption occurs

Engineering Contradiction:
Improvedata freshnessVSAvoidunnecessary battery consumption
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The system implements periodic location updates with variable intervals based on application context. Instead of continuous polling, the optimized code requests location data at strategically determined intervals, adjusting the period between requests based on whether the application is active, in background, or suspended, thereby reducing unnecessary energy consumption.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The code analysis tool performs preliminary optimization by pre-determining optimal location request strategies before runtime. It analyzes code paths ahead of time to identify where location data is actually used, then pre-configures update frequencies and triggers to avoid unnecessary requests, performing the optimization work in advance rather than through continuous monitoring.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If existing location information is not reused, then location data accuracy is maintained, but battery life is reduced due to redundant requests

Engineering Contradiction:
Improvelocation data accuracyVSAvoidbattery life
Core Design Contradiction:
Measurement precisionVSDuration of action of stationary object

Solution Approach 1:

The system implements feedback mechanisms where location data from previous requests is analyzed and fed back into the decision-making process for subsequent requests. The optimized code checks whether existing location information satisfies current application needs before triggering new GPS requests, using feedback from historical data to prevent redundant high-power location acquisitions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10372194B2Optimizing use of location services in mobile applications to improve battery consumption
Publication Date: 2019.08.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10372194B2 patent drawing
  • US10372194B2 patent drawing

AI summary

A method for optimizing use of location services in mobile applications, comprising: analyzing a computer code executable on a processor of a mobile device; identifying in the computer code program instructions for receiving location data from at least one location service device of the mobile device; analyzing the program instructions according to a set of location request rules to identify program instructions violating at least one of the location request rules; and providing at least one suggested change to the program instructions according to the at least one of the location request rules.