Hybrid Partitioning for Fault-Tolerant Software Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software update methods face issues of single-point failure, inefficient storage management, and difficulty in deduplicating data across partitions, leading to potential system integrity risks and storage inefficiencies.
Innovation Solution
Hybrid partitioning is employed, utilizing separate partitions for boot sequences with a system partition that distinguishes between current and updated configurations, ensuring redundancy, fault tolerance, and efficient storage use by starting updates at the firmware level, allowing staged updates without interrupting system operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single partition is used for software updates, then the update process is simple, but system reliability decreases due to single-point failure
Solution Approach 1:
The system divides the storage into multiple partitions (first partition with first system configuration, second partition with second system configuration) to eliminate single-point failure. Each partition can independently boot, providing redundancy and fault tolerance while maintaining manageable complexity through clear separation of concerns.
2Reliability
If dual partition deployment is used to distinguish current and updated configurations, then reliability improves, but storage efficiency deteriorates due to inability to deduplicate data
Solution Approach 1:
The third partition serves multiple functions: it acts as a shared storage space for both system configurations, enabling deduplication of common files while maintaining separate bootable configurations. This multi-functional partition resolves the storage inefficiency by allowing both partitions to reference shared resources.
Solution Approach 2:
The patent merges the storage functionality for common files into a shared third partition, while keeping the bootable system configurations separate in the first and second partitions. This combination approach allows deduplication of non-boot critical data while maintaining the reliability benefits of separate system configurations.
3Quantity of substance
If updates are applied to the active partition, then storage space is optimized, but system availability decreases due to interruption of operations
Solution Approach 1:
The system performs updates in advance on the inactive second partition while the first partition remains active and operational. This preliminary action on the inactive partition allows the system to prepare updates without interrupting current operations, then switch to the updated partition after successful update completion.
Solution Approach 2:
The system dynamically switches between the first and second partitions based on update status. The active partition remains operational while updates are applied to the inactive partition, and the roles can be swapped after successful updates, maintaining continuous system availability while enabling efficient storage utilization.
Data Source
AI summary
A computing device can implement hybrid partitioning to apply a software update. The computing device can receive an update file to generate an updated version of software of the computing device. The update file can correspond to an update request generated while running an active system configuration of the computing device. The computing device can generate an updated system configuration by applying the update file to an inactive system configuration of the computing device associated with a first partition while the active system configuration corresponding to a second partition remains operational. Additionally, the computing device can generate an updated directory in a system partition of the computing device based on the update file. The updated directory can correspond to the updated system configuration. The computing device can modify a partition table associated with the first and second partitions such that the computing device boots using the updated system configuration.


