Dynamic Runtime Workload Translocation for Mobile Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for distributing workload between client devices and remote computing resources are inflexible and require explicit programming paradigms, limiting the dynamic utilization of remote computing capabilities and underutilizing device capabilities.
Innovation Solution
A unified paradigm for developing applications that allows for the dynamic translocation of classes or methods between client devices and remote computing nodes, leveraging cloud-based resources based on real-time conditions and annotations, to optimize resource usage and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional methods with defined interfaces are used to distribute workload, then the system provides clear boundaries and structured communication, but the system lacks flexibility and cannot dynamically adapt to changing conditions
Solution Approach 1:
The patent implements dynamic workload distribution by allowing the boundary between client and remote computing resources to shift at runtime based on real-time conditions. The system monitors device capabilities, network status, and resource availability, then dynamically determines which classes or methods should execute locally versus remotely, replacing static design-time boundaries with adaptive runtime decisions
Solution Approach 2:
The system changes execution parameters dynamically by adjusting the location of code execution (client vs. remote) based on varying conditions such as device capabilities, network availability, and resource load. This allows the same application to flexibly relocate computational tasks between different execution environments without requiring structural changes to the application architecture
2Productivity
If workload distribution is set at design time, then the system provides predictable performance and clear separation of responsibilities, but the system underutilizes remote computing capabilities and device capabilities
Solution Approach 1:
The system enables automatic, intelligent workload distribution without requiring explicit programmer intervention. The runtime environment autonomously monitors device and remote resource capabilities, evaluates current conditions, and makes real-time decisions about where to execute each task. This self-service mechanism maximizes resource utilization while abstracting the complexity of dynamic load balancing from developers
Solution Approach 2:
The system implements continuous feedback loops by monitoring device capabilities, network conditions, and resource availability in real-time. Based on this feedback, the system dynamically adjusts workload distribution to optimize performance and resource utilization. The feedback mechanism allows the system to adapt to changing conditions and make informed decisions about task placement
3Adaptability or versatility
If explicit programming paradigms are required for workload distribution, then the system provides clear control over task placement, but the system increases development complexity and reduces flexibility
Solution Approach 1:
The patent creates a universal runtime mechanism that handles multiple functions: monitoring device capabilities, evaluating remote resource availability, determining optimal task placement, and dynamically relocating execution. This single multi-functional system replaces multiple specialized components and explicit programming requirements, providing flexibility while reducing development effort through a unified approach
Data Source
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.


