Delegating Android Context to Client Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Android-based mobile devices run the entire Android stack locally, making it challenging to transition to a client-server model where apps rely on client context for behavior, requiring delegation of Android functionality from the server to the client based on native client capabilities and resources.

Innovation Solution

The Android system is partitioned into a server module running a modified Android Operating System and a Client Delegate application on the client device, allowing selective delegation of functions and context information over a network, enabling execution of Android apps on a server while maintaining compatibility with non-Android operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the entire Android stack is run locally on a mobile device, then the app can access all Android functionality and context directly, but the device must support Android operating system and cannot run on diverse platforms

Engineering Contradiction:
Improveplatform compatibilityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The Android system is segmented into two parts: the Android stack (application framework, runtime, native libraries) runs on the server, while a lightweight client application on the user device provides the hardware interface layer. This segmentation allows the Android app to run on any device with a web browser, eliminating the need for Android OS on the client device while maintaining full Android functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A client application acts as an intermediary between the user device and the server-based Android stack. The client captures input events from device sensors and interfaces, transmits them to the server, and receives rendered output to display locally. This intermediary enables platform-agnostic access to Android applications while preserving the original Android runtime environment on the server.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If Android apps are migrated to a client-server model, then cloud computing capabilities are enabled, but the server must delegate Android functionality to the client based on client capabilities

Engineering Contradiction:
Improvecloud computing efficiencyVSAvoiddelegation management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The client application automatically detects the capabilities and resources available on the user device (sensors, interfaces, processing power) and autonomously determines which Android functionality to delegate locally. This self-service approach eliminates the need for manual configuration or complex server-side capability assessment, streamlining the cloud computing deployment.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adjusts the boundary between server-based and client-based Android functionality based on real-time assessment of client capabilities. The delegation of Android framework components, sensor management, and rendering responsibilities is flexible and adaptive, allowing the system to optimize performance and resource utilization according to the specific client device characteristics.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If Android functionality is delegated to the client, then apps can run on non-Android devices, but the server must manage context delegation based on client capabilities and resources

Engineering Contradiction:
Improvedevice compatibilityVSAvoidcontext management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The client application is designed as a universal interface that can operate on any device platform (mobile phones, tablets, PCs, wearables) regardless of the underlying operating system. It provides a standardized method for capturing input events, managing delegated Android functionality, and rendering output, making the Android app ecosystem accessible to all device types through a single client implementation.

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

Solution Approach 2:

The client application creates a virtual representation of the Android hardware interface layer on the user device. Instead of requiring actual Android hardware drivers, the client synthesizes the necessary Android context and event streams from the device's native inputs, allowing the server-based Android stack to operate as if it were running on native Android hardware while actually running on any platform.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9674307B1Running mobile applications in a distributed client-server model using selective delegation of hardware and software contexts to the client
Publication Date: 2017.06.06 CLOUDZILLA INC
  • US9674307B1 patent drawing
  • US9674307B1 patent drawing
  • US9674307B1 patent drawing

AI summary

The configuration describes the methods to transform the execution of an Android app running locally on an Android device to a client-server model of execution where the app executes on a modified version of Android on a server. Unlike a traditional client-server model where the application executes within the server environment, the Android app on the server requires delegation of some functionality to client environment. The proposed configuration also describes the methods for delegating the execution of selected components of Android stack to the Client Device. The client may be a browser or any web connected device.