Pre-compiled Application Cache for Server-Side Compilation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional user devices face issues such as prolonged wait times during system updates, crashes, or reboots due to recompilation of applications, and security risks from unverified compiled code, along with the complexity of server-side compilation across various device configurations.

Innovation Solution

A server-based system that maintains a cache of pre-compiled applications and compiles applications on-the-fly as requested, using a fixed-size cache and cryptographic protection to reduce security breaches and optimize compilation efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications are recompiled during system updates or reboots, then applications can be updated to newer versions, but user devices experience prolonged wait times and reduced performance

Engineering Contradiction:
Improveapplication update capabilityVSAvoidwait time during compilation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The server performs application compilation in advance and stores the pre-compiled applications in a cache. When a user device requests an application, the server checks the cache first and provides the pre-compiled version if available, eliminating the need for on-demand compilation and significantly reducing wait times.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A server acts as an intermediary between the application source and user devices. The server handles compilation tasks centrally, verifies cryptographic signatures, and manages cache storage, freeing user devices from compilation overhead and security verification responsibilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If applications are compiled on user devices, then applications can be executed, but security risks arise from unverified compiled code

Engineering Contradiction:
Improveapplication execution capabilityVSAvoidsecurity risks from unverified code
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The server serves as a trusted intermediary that performs cryptographic signature verification on all compiled applications before making them available. User devices receive only verified applications from the server, eliminating local security verification requirements and ensuring code integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The compilation and verification process is designed to be self-protecting through cryptographic signatures embedded during compilation. The server's verification mechanism automatically ensures code authenticity without requiring additional security measures on user devices.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If server-side compilation is performed for all device configurations, then applications can be optimized for specific devices, but system complexity increases significantly

Engineering Contradiction:
Improvedevice-specific optimizationVSAvoidserver-side compilation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The server maintains a cache organized by device configuration parameters (device type, processor architecture, operating system). When receiving a compilation request, the server identifies the specific device configuration and provides a tailored pre-compiled application from the appropriate cache segment, ensuring device optimization without universal compilation.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses device configuration parameters (processor type, OS version, device model) as keys to select and retrieve appropriate pre-compiled applications. This parameter-based approach enables precise device matching while keeping the server logic simple and scalable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3405868A1Methods and apparatus to selectively provide cached and presently compiled applications
Publication Date: 2018.11.28 GOOGLE LLC

AI summary

Example methods, apparatus and articles of manufacture to selectively provide cached and presently compiled applications are disclosed. An example method includes receiving a request for an application from a device, querying a cache of pre-compiled applications based on the request for the application, if a pre-compiled version of the requested application is found in the cache, sending the pre-compiled requested application to the device; and if a pre-compiled version of the requested application is not found in the cache, thereupon compiling the requested application, and sending the compiled requested application to the device.