Dynamic Runtime Workload Translocation for Mobile Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for distributing workload between client devices and remote computing resources are inflexible, relying on pre-defined boundaries that do not adapt to changing capabilities or conditions, leading to underutilization of device capabilities and increased complexity.

Innovation Solution

A unified paradigm for developing applications that allows dynamic translocation of classes or methods between client devices and remote computing nodes, using annotations, static analysis, and monitoring to determine suitability for translocation based on factors like computational demands and network conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If pre-defined interfaces and design-time boundaries are used between client devices and remote computing resources, then the system structure is simple and easy to implement, but the system cannot adapt to changing capabilities or conditions, leading to underutilization of device capabilities

Engineering Contradiction:
Improveadaptability to changing conditionsVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic workload distribution by allowing the boundary between client and remote computing resources to change at runtime based on current conditions. The system monitors device capabilities, network status, and computational demands, then dynamically determines which program components execute locally and which execute remotely, replacing the static design-time boundary with an adaptive runtime decision-making process.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of program execution by transitioning components between local and remote execution states based on real-time conditions. This includes adjusting execution location, data transfer volume, and computational task allocation according to changing device capabilities, network availability, and computational demands, enabling the system to optimize performance under varying conditions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If more computational tasks are performed on client devices, then device capabilities are better utilized, but the complexity of managing workload distribution increases

Engineering Contradiction:
Improvedevice capability utilizationVSAvoidworkload distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service through automated runtime analysis and decision-making algorithms that automatically determine optimal workload distribution without requiring manual intervention. The client device autonomously monitors its own capabilities and network conditions, then makes intelligent decisions about which tasks to execute locally versus remotely, reducing the complexity burden on developers and system administrators.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates continuous feedback loops that monitor device performance, network conditions, and computational demands, then use this information to dynamically adjust workload distribution. This feedback mechanism enables the system to respond to changing conditions in real-time, optimizing device capability utilization while automatically managing the complexity of workload distribution through data-driven decisions.

Inventive Principle:
Principle #23Feedback

3Power

If remote computing resources are used, then computational demands can be met, but network dependencies increase and application performance may be affected

Engineering Contradiction:
Improvecomputational powerVSAvoidapplication performance reliability
Core Design Contradiction:
PowerVSReliability

Solution Approach 1:

The system dynamically adjusts the balance between local and remote execution based on real-time network conditions and computational demands. When network conditions are poor or device capabilities are sufficient, the system executes tasks locally to ensure reliable performance. When computational demands exceed local capabilities and network conditions are good, the system transitions tasks to remote execution, thereby maintaining performance reliability while accessing greater computational power when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes execution parameters by transitioning program components between local and remote execution states based on monitored conditions. This includes adjusting data transfer volumes, execution timing, and task allocation to optimize the balance between utilizing remote computational power and maintaining application performance reliability under varying network conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3155523B1Mobile and remote runtime integration
Publication Date: 2023.08.02 AMAZON TECH INC
  • EP3155523B1 patent drawingFigure 1A
  • EP3155523B1 patent drawingFigure 1B
  • EP3155523B1 patent drawingFigure 2

AI summary

An application program may be analyzed to identify candidate classes or methods that may be executed using a remote computing node. Candidate classes or methods may be translocated to the remote computing node based on performance characteristics of the device on which the application program is running, the environment in which the device operates, and on the performance and availability of the remote computing node. An application program publisher may be assigned instances of virtual machines that may be dedicated to hosting translocated classes and methods.