PALOMA Latency Minimization in Mobile Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile applications experience significant latency due to network bottlenecks, particularly in wireless networks with high latency and low bandwidth, which negatively impacts user experience and has economic consequences, and existing prefetching techniques are limited by reliance on server hints, developer annotations, and historical data, making them inefficient and scalable.

Innovation Solution

The Program Analysis for Latency Optimization of Mobile Apps (PALOMA) employs a client-centric, automated approach using string and callback analysis to identify and prefetch HTTP requests, allowing immediate responses by overlapping speculative executions with on-demand requests, thereby reducing user-perceived latency to near zero.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional prefetching techniques using server hints, developer annotations, and historical data are used, then some latency reduction may be achieved, but the system remains complex and scalability is limited

Engineering Contradiction:
ImprovelatencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically analyzing its own code to identify HTTP requests and generate prefetching strategies without requiring external server hints or developer annotations. The code analyzer examines the mobile application's source code, identifies HTTP request patterns, and creates prefetching rules autonomously, eliminating the need for complex external coordination systems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by prefetching HTTP requests before they are actually needed. The method identifies potential HTTP requests through static analysis, determines optimal prefetching points in the code, and executes these requests in advance, so that when the user actually triggers the request, the data is already available locally, reducing perceived latency to near zero.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If HTTP requests are prefetched in advance, then user-perceived latency is reduced to near zero, but network bandwidth and device resources are consumed

Engineering Contradiction:
Improveuser-perceived latencyVSAvoiddevice resource consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by selectively prefetching only specific HTTP requests rather than all requests. The code analyzer identifies which requests are candidates for prefetching based on their patterns and importance, and the system prefetches only those that will provide the most benefit, avoiding unnecessary consumption of network bandwidth and device resources for requests that wouldn't otherwise be made.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes parameters by dynamically adjusting prefetching behavior based on runtime conditions. The method monitors network status, device resources, and user behavior patterns, and modifies prefetching parameters accordingly - such as adjusting the aggressiveness of prefetching, selecting different prefetching points, or changing which requests to prefetch - thereby optimizing the balance between latency reduction and resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If static analysis is used to identify prefetching candidates, then prefetching accuracy is improved, but analysis time and processing overhead increase

Engineering Contradiction:
Improveprefetching accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system applies segmentation by dividing the code analysis into distinct phases and components. The code analyzer is broken down into modules that perform different functions: identifying HTTP requests, analyzing control flow, determining prefetching points, and generating prefetching rules. This modular approach allows each segment to be optimized independently and enables parallel processing, reducing overall analysis time while maintaining high accuracy.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11379551B2Latency minimization in mobile applications
Publication Date: 2022.07.05 UNIV OF SOUTHERN CALIFORNIA
  • US11379551B2 patent drawing
  • US11379551B2 patent drawing
  • US11379551B2 patent drawing

AI summary

Systems and methods for reducing latency in use of mobile applications include creating a list of potential internet requests from a mobile application based on an analysis of the mobile application. The systems and methods include creating a trigger map that maps each of a plurality of trigger points of the mobile application with a corresponding target internet request to be prefetched from the list of potential internet requests. The systems and methods include creating a URL map that maps each of a plurality of the potential internet requests with corresponding URL values. The systems and methods include identifying that a current app function matches a trigger point of the plurality of trigger points. The systems and methods include performing the potential internet request in response to identifying that the current app function matches the trigger point prior to the target request being received in order to reduce latency.