Parallel Executable Decompression Across Dependency-Linked Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing decompression methods for compressed executable files, such as those using Gzip, are serial and inefficient, leading to noticeable delays in launching applications on mobile devices, as they cannot effectively handle data dependencies across multiple blocks.
Innovation Solution
A parallel processing system utilizing multiple processor cores to partially decompress blocks independently and then aggregate the data, leveraging metadata to identify block boundaries and sequence dependent data, thereby accelerating the decompression process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If serial decompression is used to ensure data integrity and handle dependencies, then decompression accuracy is maintained, but decompression speed deteriorates
Solution Approach 1:
The patent divides the compressed file into multiple independent blocks, each with self-contained data dependencies. By segmenting the decompression task into parallelizable blocks while maintaining internal dependency integrity, the system achieves both accurate reconstruction and improved decompression speed through concurrent processing of multiple blocks.
2Productivity
If parallel processing is implemented to increase decompression speed, then productivity improves, but handling data dependencies becomes more difficult
Solution Approach 1:
The patent segments the compressed data into multiple blocks where each block's dependencies are contained within that block. This segmentation enables parallel processing of multiple blocks simultaneously while simplifying dependency management, as each block can be decompressed independently without requiring complex inter-block coordination.
Solution Approach 2:
The patent performs preliminary organization of data during the compression phase, structuring blocks with self-contained dependencies. This preliminary action during compression enables straightforward parallel decompression later, as the block structure and dependency boundaries are already established, eliminating the need for complex runtime dependency resolution.
3Quantity of substance
If compressed files are stored to save memory space, then storage efficiency improves, but launch time deteriorates due to decompression requirements
Solution Approach 1:
The patent segments the compressed file into multiple blocks that can be decompressed in parallel. This segmentation allows the system to achieve both high storage efficiency (by maintaining compression) and reduced launch time (through parallel decompression of segments), directly addressing the trade-off between storage savings and launch performance.
Data Source
AI summary
Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (“RLE”) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.


