Mobile App Acceleration via Fine-Grain Cloud Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing powerVSAvoidsystem complexity
Core Design Contradiction:
PowerVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #15Dynamics

2Productivity

If fine-grain workloads are offloaded dynamically, then application performance is improved, but communication overhead and network usage increase

Engineering Contradiction:
Improveapplication performanceVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If a unified codebase is implemented for device and cloud, then adaptability is improved, but compilation and translation complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoidcompilation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10447813B2Mobile application acceleration via fine-grain offloading to cloud computing infrastructures
Publication Date: 2019.10.15 INTEL CORP
  • US10447813B2 patent drawing
  • US10447813B2 patent drawing
  • US10447813B2 patent drawing

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.