Reduced App Bundle Execution for Faster Launch and Lower Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software installation processes for devices, such as mobile apps, require significant time and storage space, and involve downloading and installing large program files, which can delay user access to the app and occupy device storage even when not in use.

Innovation Solution

The method involves dynamically executing a software application over a network connection using a reduced app bundle that includes a minimal amount of information, such as a bundle ID and URL, allowing the app to launch without local installation by connecting to a server to pull required program logic and content, thus eliminating the need for conventional installation and reducing storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional app bundle with full program files is downloaded and installed, then the app can run locally on the device, but the download time and installation time increase significantly

Engineering Contradiction:
Improveapp execution capabilityVSAvoiddownload and installation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the essential metadata (bundle ID, URL, icon, name) from the conventional app bundle, separating it from the full program files. This extracted minimal bundle is downloaded and installed locally, while the complete program files remain on the server and are streamed on-demand during app execution, thereby dramatically reducing download and installation time while maintaining full app functionality

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary actions by pre-processing the app bundle to extract only the necessary metadata and configuration information that can be installed locally in advance. This preliminary extraction allows the device to prepare the app structure and networking configuration before actual use, enabling faster deployment while the full program logic is loaded dynamically when needed

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a conventional app bundle with full program files is downloaded and installed, then the app can run locally on the device, but the local storage space occupied increases

Engineering Contradiction:
Improveapp execution capabilityVSAvoidlocal storage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential metadata (bundle ID, URL, icon, name) from the conventional app bundle, separating it from the full program files. This extracted minimal bundle is downloaded and installed locally, while the complete program files remain on the server and are streamed on-demand during app execution, thereby dramatically reducing download and installation time while maintaining full app functionality

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements self-service by enabling the device to dynamically stream and load program files from the server on-demand during app execution, rather than requiring all files to be pre-installed locally. This allows the app to service its own storage needs by fetching only the necessary components when needed, reducing the burden on local storage infrastructure

Inventive Principle:
Principle #25Self-service

3Loss of time

If a reduced app bundle with minimal information is used, then the download and installation time is reduced, but the system complexity increases due to dynamic code pulling and execution

Engineering Contradiction:
Improvedownload and installation timeVSAvoiddynamic code execution system
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component that manages the dynamic code pulling and execution process. This intermediary layer handles the complexity of coordinating between the minimal local bundle, the server-side program files, and the device execution environment, thereby isolating the complexity from the core app logic and making the system more manageable despite the increased operational complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces the traditional mechanical installation process (copying all files locally before execution) with a more sophisticated but streamlined approach using URL-based dynamic loading. Instead of physically installing all program files, the system uses network protocols and runtime code execution to load programs on-demand, substituting a simpler download mechanism with a more efficient but complex execution model that reduces overall system burden

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Quantity of substance

If a reduced app bundle with minimal information is used, then the app bundle size is reduced, but the network dependency increases

Engineering Contradiction:
Improveapp bundle sizeVSAvoidnetwork connection requirement
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamics by making the app bundle configuration adaptable based on network conditions and usage patterns. The system dynamically determines what program files to stream from the server versus what to cache locally, adjusting the balance between network dependency and local autonomy in real-time. This dynamic approach allows the reduced bundle to maintain flexibility and adaptability despite its smaller size and increased network reliance

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11467816B1Method and system of running an application
Publication Date: 2022.10.11 APPLE INC
  • US11467816B1 patent drawing
  • US11467816B1 patent drawing
  • US11467816B1 patent drawing

AI summary

A method for transmitting an application is disclosed. The method includes, for example, receiving, from a client, an input for initiating the application; generating an application bundle associated with the application, the application bundle including an address of a server, the address capable of enabling a program on the client to request, from the server, information needed for running the application; and transmitting the application bundle to the client.