Native Code Modules for Offline Web Application Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Native applications require significant processing resources and have a lengthy installation process, while web applications lack performance and cannot execute independently of a network connection, limiting their computational intensity and security.

Innovation Solution

A system that executes web applications using native code modules, storing resources in persistent local storage and loading them into a secure runtime environment, allowing independent execution and intercepting network requests to serve resources from stored data, enabling offline operation and periodic updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If web applications are used, then installation process is eliminated and security is improved, but performance and computational capabilities deteriorate

Engineering Contradiction:
Improveinstallation processVSAvoidperformance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The application is divided into two parts: a web application layer that handles user interface and basic logic, and a native code module that handles computationally intensive tasks. This segmentation allows the web application to remain lightweight and easy to deploy while the native module provides high-performance processing capabilities when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A native code module acts as an intermediary between the web application and the system resources. The module is downloaded and cached locally, enabling the web application to access native-level performance without requiring traditional installation. The native module serves as a bridge that provides computational power while maintaining the web application's portability and security benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If web applications are used, then portability is improved, but ability to execute independently of network connection deteriorates

Engineering Contradiction:
ImproveportabilityVSAvoidindependent execution
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The native code module and required resources are downloaded and cached in local storage during an initial network connection phase. This preliminary action ensures that all necessary components are stored locally before offline execution is needed, enabling the application to run independently without network connection while maintaining portability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The native code module is copied from the remote server to local storage on the user's device. This local copy enables the application to execute independently of network connection, while the web application itself remains portable and can be accessed from any device with a web browser. The copying mechanism resolves the contradiction by providing local redundancy for offline operation.

Inventive Principle:
Principle #26Copying

3Productivity

If native applications are used, then computational capabilities are improved, but security risks increase

Engineering Contradiction:
Improvecomputational capabilitiesVSAvoidsecurity risks
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The native code module is treated as a temporary, disposable component that is downloaded on-demand, executed, and then can be discarded or updated. Unlike traditional native applications that are permanently installed and require complex security validation, the native module is transient and can be replaced with updated versions from the server, reducing security risks associated with long-term installation.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The deployment model changes from permanent installation to temporary caching. The native module is stored in a controlled cache with limited lifecycle, and its execution is managed through web application protocols rather than traditional native application installation mechanisms. This parameter change in deployment strategy reduces security risks while maintaining computational capabilities.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9244702B1Installer-free applications using native code modules and persistent local storage
Publication Date: 2016.01.26 GOOGLE LLC
  • US9244702B1 patent drawing
  • US9244702B1 patent drawing
  • US9244702B1 patent drawing

AI summary

Some embodiments provide a system that executes an application. During operation, the system obtains a resource list associated with the application and stores a set of resources including a native code module from the resource list through communications over a network connection, wherein the resources are stored in persistent local storage. The application then loads the application in the web browser and loads the native code module into a secure runtime environment. Next, the application executes the application independently of the network connection using the native code module and the stored resources.