Install Time Forward Error Correction Data Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for distributing software require significant bandwidth and storage due to the large size of forward error correction (FEC) data, which increases the size of firmware updates and limits the amount of data corruption that can be corrected.
Innovation Solution
Generating FEC data at install time instead of build time, using a Merkle tree system to compress and encrypt the root hash, and utilizing the Linux 'veritysetup' tool to optimize the firmware image package size by regenerating hash tree and FEC data at install time, allowing for more efficient error correction and reduced data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If FEC data is generated at build time and included in the firmware update package, then data integrity verification is ensured, but the firmware update package size increases significantly
Solution Approach 1:
The patent extracts the FEC data generation step from the build time process and moves it to install time. Only the firmware image and a small hash file are packaged at build time, while the full FEC data is generated on-demand at install time using the hash file as input, thus separating the packaging phase from the error correction data preparation phase
Solution Approach 2:
The patent performs preliminary actions at build time by generating and storing only the essential hash file (containing minimal data) rather than the complete FEC data. This preliminary hash file serves as a compact seed that enables later generation of the full FEC data when needed, reducing immediate package size while preserving future error correction capability
2Reliability
If FEC data size is increased to correct larger data corruption, then error correction capability improves, but bandwidth and storage requirements increase
Solution Approach 1:
The patent implements self-service by enabling the target system to generate its own FEC data locally at install time using the pre-stored hash file and the veritysetup tool, rather than receiving pre-generated FEC data through bandwidth-consuming transmission. The system serves its own error correction needs using local computational resources
Solution Approach 2:
The patent changes the temporal parameter of FEC data availability from static (pre-generated at build time) to dynamic (generated on-demand at install time). This parameter change allows the system to adjust FEC data size based on actual needs, generating larger FEC datasets when storage space is available without increasing initial package size or transmission bandwidth requirements
Data Source
AI summary
A system for transmitting data is disclosed that includes a file distribution system operating on a processor that is configured to identify one or more files for distribution to a device, forward error correction data for the one or more files, and a cryptographic key associated with the device. A Merkle tree system operating on the processor is configured to receive the forward error correction data and to generate an encrypted root hash. A data transmission system operating on the processor is configured to transmit the one or more files and the encrypted root hash to a predetermined device.
