Application Container Dynamic Sub-package Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing devices require the complete download and installation of application components before execution, leading to delayed user interaction and inefficient storage usage, as they lack a mechanism to manage application code and dependent data delivery without modifying the underlying operating system.
Innovation Solution
The introduction of an application container that dynamically loads application dependencies, allowing for the retrieval and execution of applications in parallel with mandatory sub-packages and data, even if optional data has not been fully downloaded, and manages dependencies and shared library updates, enabling faster application startup and reduced storage consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system waits for complete application download before execution, then all application components are available, but user interaction is delayed
Solution Approach 1:
The application container performs preliminary actions by downloading and preparing mandatory sub-packages and data before execution is needed. The system identifies required components, downloads them in advance, and caches them locally, so that when the user launches the application, only essential components are needed immediately while optional components can be downloaded in the background.
Solution Approach 2:
The application is segmented into mandatory sub-packages and optional sub-packages. The container manages these segments independently, allowing the application to execute with only the mandatory segments present. This segmentation enables partial execution and reduces the blocking wait time for complete application deployment.
2Reliability
If the system downloads all application components before execution, then complete functionality is ensured, but storage space is wasted
Solution Approach 1:
The application components are divided into mandatory sub-packages that are required for basic functionality and optional sub-packages that provide additional features. The container downloads and stores only the mandatory sub-packages locally, while optional sub-packages can be streamed or downloaded on-demand when specific features are accessed, significantly reducing the amount of data stored on the device.
Solution Approach 2:
The system performs partial downloading by retrieving only the mandatory sub-packages and data required for core application functionality before execution. Optional components are downloaded selectively based on actual usage patterns, avoiding the waste of storing and downloading complete application packages that may never be fully utilized.
3Reliability
If the system uses traditional application installation, then all components are available, but download time increases
Solution Approach 1:
The container performs preliminary identification of mandatory components and downloads them in advance of when they are needed for execution. This preliminary action reduces the critical path download time by preparing essential components before the user actually launches the application.
Solution Approach 2:
By segmenting the application into mandatory and optional sub-packages, the system downloads only the essential mandatory portions before execution can begin. Optional sub-packages are downloaded asynchronously or on-demand, reducing the total blocking download duration while ensuring complete functionality when needed.
4Adaptability or versatility
If the system requires complete application installation, then all features are accessible, but user latency increases
Solution Approach 1:
The application features are segmented into mandatory functionality and optional features. The container enables the application to execute with only mandatory sub-packages installed, providing core functionality immediately. Optional features are made accessible through on-demand downloading or streaming, eliminating user interaction delay while maintaining feature versatility.
Solution Approach 2:
The system enables partial application execution by downloading and installing only the mandatory sub-packages required for core functionality. This partial action allows users to interact with the application immediately, while optional features can be added later based on actual usage needs, reducing user latency without sacrificing adaptability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In some examples, a method includes: receiving, by a supervisor component executing at a computing device, a request to execute particular functionality of an application; responsive to determining that an application container for maintaining installable sub-packages of the application is not allocated in memory of the computing device, retrieving, by the supervisor component, an application definition from a first remote computing system, wherein the application definition defines a plurality of mappings between the installable sub-packages of the application and user-specified identifiers; responsive to allocating the application container in the memory of the computing device, initiating, by the supervisor component and based at least in part on a user-specified identifier of the request, the particular functionality of the application; responsive to determining, by the application container executing at the computing device, based at least in part on the application definition and the user-specified identifier, that an installable sub-package for the particular functionality is not stored at the computing device, retrieving, by the application container, the installable sub-package that includes a plurality of executable components from a second remote computing system; and executing, by the application container and using the plurality of executable components, the particular functionality of the application.