Application Deployment Compression Using Duplicate File Hard Links
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods fail to efficiently reduce the deployment size of complex applications and application suites, leading to excessive storage requirements and long download times, especially when dealing with legacy products and suites, due to the presence of redundant files and undesirable dependencies.
Innovation Solution
An automated process that identifies and replaces redundant files with hard-links, allowing for the removal of duplicate files without modifying the installer, enabling further compression and reducing deployment size without adding dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional lossless compression techniques (LZ, DEFLATE, RLE) are applied to application deployment, then some compression is achieved, but the deployment size is not substantially reduced
Solution Approach 1:
The deployment package is segmented into individual file components, allowing each file to be independently analyzed for redundancy. The system processes files separately, creating a file-by-file inventory that enables precise identification of duplicate content across the entire deployment, rather than treating the deployment as a monolithic compressed archive.
Solution Approach 2:
Instead of compressing file content, the system creates hard links (a form of copying) that point to the same underlying file data. When duplicate files are detected, subsequent copies are replaced with hard links to the original file, allowing multiple files to reference the same data without duplicating it on disk, thereby reducing deployment size while maintaining file integrity.
2Quantity of substance
If manual optimization is performed to remove redundant files, then deployment size can be reduced, but the process is time consuming and creates undesirable dependencies
Solution Approach 1:
The system performs automatic redundancy detection and removal without requiring manual intervention. The automated process inventories files, identifies duplicates through checksum comparison, and replaces redundant files with hard links autonomously, eliminating the time-consuming manual mapping process while avoiding creation of undesirable dependencies between sub-components.
Solution Approach 2:
The system changes the state of redundant files from independent file copies to hard links by modifying file system parameters. This parameter change allows the system to reduce deployment size automatically without manual optimization, as the hard link mechanism inherently handles the redundancy removal while maintaining file integrity and avoiding dependency issues.
3Quantity of substance
If hard-links are used to replace redundant files, then deployment size is substantially reduced, but the system complexity increases
Solution Approach 1:
Hard links serve as an intermediary mechanism between the original file and references to it. Instead of duplicating file content or creating complex dependency relationships, hard links provide a simple file system-level intermediary that allows multiple paths to the same data without increasing system complexity. The file system handles the complexity of link management automatically.
4Adaptability or versatility
If application suites are deployed with all sub-components included, then complete functionality is provided, but the deployment size becomes excessively large
Solution Approach 1:
Hard links provide a universal mechanism that works across all file types and application sub-components within the deployment suite. This single approach can be applied universally to any redundant file regardless of its location, type, or which sub-component it belongs to, enabling complete functionality to be maintained while substantially reducing deployment size through systematic redundancy removal.
Data Source
AI summary
A method, apparatus, article of manufacture, and computer readable storage medium provide the ability to compress an application deployment. A master application to be deployed that has two or more files is obtained. The files in the master application are inventoried and two file instances that are identical are identified. An application deployment, based on the master application, is written by writing the first file instance and replacing additional identical file instances with links to the first file instance.


