Mobile App Acceleration via Fine-Grain Cloud Offloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile device hardware limitations restrict the capabilities of applications, and current methods for offloading computations to the cloud are not dynamic or unified, making it difficult for developers to optimize applications across devices and cloud infrastructure.
Innovation Solution
A platform that uses compressive sensing for dynamic and transparent offloading of fine-grain workloads from mobile devices to cloud computing infrastructure, creating a distributed shared memory system for seamless replication and execution of computations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If computations are offloaded to the cloud using current methods, then processing power is improved, but system complexity and lack of dynamic optimization worsen due to static partitioning requirements
Solution Approach 1:
The patent implements a unified codebase that can execute on both mobile devices and cloud infrastructure through binary translation. The same application binary is translated to different instruction set architectures (device-specific ISA or cloud ISA), eliminating the need for separate device-specific and cloud-specific code versions. This universal approach allows dynamic workload offloading without requiring developers to maintain multiple code versions, thus improving processing power while avoiding the complexity of static partitioning.
Solution Approach 2:
The system enables dynamic workload offloading at runtime based on device state and cloud availability. The binary translation layer can dynamically determine whether to execute code locally or translate and execute on the cloud, allowing the system to adapt to changing conditions. This dynamic approach contrasts with static partitioning methods and resolves the contradiction by providing flexibility without increasing overall system complexity.
2Productivity
If fine-grain workloads are offloaded dynamically, then application performance is improved, but communication overhead and network usage increase
Solution Approach 1:
The patent segments the application into fine-grain workloads that can be independently translated and executed on the cloud. By dividing the application logic into smaller, manageable units, the system can selectively offload only the necessary computations rather than transferring entire applications. This segmentation improves application performance by enabling precise control over what is offloaded while reducing unnecessary communication overhead.
Solution Approach 2:
The binary translation layer acts as an intermediary between the application logic and the execution environment. It translates the unified binary to the appropriate instruction set architecture, enabling seamless execution on either device or cloud without requiring application modifications. This intermediary approach minimizes communication overhead by handling translation efficiently and reducing the need for repeated data serialization and deserialization.
3Adaptability or versatility
If a unified codebase is implemented for device and cloud, then adaptability is improved, but compilation and translation complexity increases
Solution Approach 1:
The system performs preliminary binary translation during application deployment or initialization, converting the unified binary to the target instruction set architecture before execution. This preliminary action ensures that the translation complexity is handled upfront rather than during runtime, reducing the burden on the execution system while maintaining adaptability across different platforms.
Solution Approach 2:
The patent uses binary copying and translation mechanisms where the unified application binary is copied and translated to different instruction set architectures as needed. Rather than maintaining separate codebases, the system creates translated copies of the binary for different execution environments. This copying approach simplifies the development process while enabling broad adaptability across device and cloud platforms.
Data Source
AI summary
Apparatuses, Methods and Storage Media associated with offloading aspects of processing of mobile devices are disclosed. In embodiments, a mobile computing device may comprise one or more processors; memory coupled with the one or more processors; and a shim layer to compressively replicate memory blocks of the memory to a cloud server, compressively offload invocations of object methods of objects resident in a memory block of the memory to the cloud server, and to receive execution results of the invoked object methods. Other embodiments may be described and/or claimed.


