Boot Loader Disaster Recovery for Computing Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software upgrades at the platform layer in computing devices are risky and often render the device inoperable due to potential failures or errors, limiting functionality and requiring users to wait for completion before resuming use, with the risk of data loss during factory resets.
Innovation Solution
An update service that duplicates and manages upgraded platform software components, allowing for seamless background upgrades without interrupting device functionality and providing disaster recovery services through a disaster recovery operating system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software upgrade is performed at platform layer, then functionality and operability are improved, but device may become inoperable due to potential failures
Solution Approach 1:
The system creates a bootable image of the current operational platform software before performing the upgrade. This preliminary action ensures that if the upgrade fails, the device can boot from the backup image to maintain operability.
Solution Approach 2:
The system prepares a backup bootable image and implements error detection mechanisms before the upgrade process. This cushioning approach provides a safety net that prevents complete device failure even if the upgrade encounters errors.
2Adaptability or versatility
If software upgrade process is performed, then updated functionality is achieved, but device functionality is limited or unavailable during the process
Solution Approach 1:
The system separates the upgrade process into distinct segments: downloading the upgraded software, creating a backup image, and then performing the upgrade. This allows the device to maintain operational functionality during the process by booting from the backup image if needed.
Solution Approach 2:
The system uses a bootable image as an intermediary between the current and upgraded platform software. This intermediary allows the device to transition between software versions while maintaining continuous operability.
3Adaptability or versatility
If upgrade process is performed, then improved operability is achieved, but user must wait for completion before resuming use
Solution Approach 1:
The system enables continuous device operation during the upgrade process by allowing users to boot from the backup image if the upgrade is not yet complete. This maintains the useful action of device usage without interruption.
Solution Approach 2:
The system provides dynamic boot options that allow users to switch between booting from the upgraded software or the backup image based on the upgrade status and user needs. This flexibility reduces waiting time by allowing parallel operations.
4Reliability
If factory reset is performed to recover from upgrade failure, then device can be restored to operational state, but data loss occurs
Solution Approach 1:
The system creates a backup bootable image before the upgrade process, preserving the pre-upgrade state and associated data. This preliminary backup action prevents data loss by providing a recoverable state without requiring a factory reset.
Solution Approach 2:
Instead of discarding data through factory reset, the system recovers data by booting from the previously created backup image, which contains the pre-upgrade platform software and associated data intact.
Data Source
AI summary
A method, a device, and a non-transitory storage medium provide to execute a first stage boot loader during a boot-up of the device; determine whether a disaster recovery service is invoked based on the first stage boot loader reading a first file that indicates whether the disaster recovery service was invoked during a previous cycle of the device and detecting a position of a button of the device; execute a second stage boot loader in response to a determination that the disaster recovery service is invoked; again determine whether the disaster recovery service is invoked; and reboot in response to a determination that the disaster recovery service is not invoked.


