Application Installation via Stripped Package and Patch Decompression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for downloading and installing applications are inefficient, as they often require transferring large amounts of data, including all executable components, even if not all functionality is used, leading to increased wait times and network resource usage.
Innovation Solution
The proposed technique allows a computing device to efficiently download applications by determining which application elements are already installed and reusing those elements, rather than sending all elements. This involves creating a stripped version of the application and sending patches separately, enabling the reuse of compressed application elements without cascading small local changes into large global changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all application elements are transferred to install an application, then the application can be fully installed, but the amount of data transferred increases and install time increases
Solution Approach 1:
The application is divided into multiple elements (libraries, resources, code files). The system identifies and transfers only those elements that are not already present on the device, rather than transferring the complete application package. This segmentation allows selective installation of missing components only.
Solution Approach 2:
Before transferring application elements, the system performs preliminary analysis to identify which elements already exist on the device and which are missing. This preliminary action enables the transfer process to skip already-present elements, reducing overall transfer time and data volume.
2Adaptability or versatility
If compressed application elements are patched using conventional techniques, then updates can be applied, but the patched version becomes larger in size
Solution Approach 1:
The patching process is segmented into distinct phases: decompression of the original compressed element, application of updates to create a new version, and recompression of the updated element. This segmentation allows the system to maintain compression efficiency while applying updates.
Solution Approach 2:
The compression parameters and algorithms are optimized during the recompression phase to achieve better compression ratios for the updated elements. By adjusting compression parameters, the system reduces the size of patched elements compared to conventional patching approaches.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In some examples, a method includes downloading, from an application provider, a patch to be applied to a first application element and a stripped version of the application that does not include one or more application elements to be reused during installation of the application, decompressing the first application element to generate a decompressed version of the first application element, and decompressing the patch to generate a decompressed version of the patch. The method may also include applying the decompressed version of the patch to the decompressed version of the first application element to generate a patched application element, compressing the patched application element to generate a compressed patched application element, and installing the application using the compressed patched application element, the stripped version of the application, and the one or more application elements other than the first application element.