Time-Based Checkpoint Restart for Backup Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing backup processes face challenges in restarting after transient failures, particularly with path-based approaches that fail to capture changes in file paths, leading to incomplete backups and inefficiencies, especially in bare metal restore and dynamic parallel save stream scenarios.
Innovation Solution
Implementing a time-based checkpoint restart method that uses both path and time checkpoints to avoid re-backing up already saved data, creating a complete backup image by combining initial and restarted partial savesets, and applying this method recursively for multiple failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If path-based checkpoint restart is used, then the backup process can resume from the failure point, but the backup paths may have changed during the elapsed time, resulting in incomplete backup images
Solution Approach 1:
The patent performs a preliminary traversal of the file system at restart time to identify all paths that existed at the time of failure. This preliminary action ensures that even if paths have changed or been deleted since the failure, the backup process can still locate and backup the relevant data using alternative paths or by recreating the original path structure.
Solution Approach 2:
The patent changes the approach from using static path identifiers to using dynamic path resolution. Instead of relying on paths that may have changed, the system traverses the current file system state and maps files to their original backup paths, effectively changing the parameter from fixed path names to flexible path resolution based on file identity and timestamps.
2Reliability
If the entire backup is repeated after failure, then a complete backup image is ensured, but significant time and backup space are wasted
Solution Approach 1:
The patent segments the backup process into two distinct phases: (1) files that existed at the time of failure and were successfully backed up before the interruption, and (2) files that need to be backed up during the restart phase. This segmentation allows the system to efficiently determine which files need re-backup and which can be skipped, avoiding the need to repeat the entire backup.
Solution Approach 2:
The patent implements a feedback mechanism where the backup system uses information from the failed backup attempt (such as the saveset manifest, file timestamps, and path information) to intelligently determine the restart point. This feedback allows the system to resume from the appropriate location rather than starting over, reducing both time and resource consumption.
3Productivity
If path-based backup restart is used, then resumption from failure point is enabled, but changes to already saved paths are not captured in the resultant saveset
Solution Approach 1:
The patent introduces dynamic path resolution that adapts to changes in the file system between backup attempts. Instead of using static paths from the original backup, the system dynamically traverses the current file system state and resolves paths based on the actual current structure, ensuring that even if paths have changed, the correct files are identified and backed up with accurate path information in the saveset.
Data Source
AI summary
In one example method, a group of directories is backed, and then a failure of an emitter is experienced. A respective saveset is created for each of several dynamic parallel save streams, where each saveset is associated with one or more emitters. Next, a path checkpoint ‘P’ is created using the smallest emitter, and a time checkpoint ‘S’ is created using an earliest savetime of all of the savesets. A retry is started using the time checkpoint ‘S’ and the path checkpoint ‘P’. One or more items are identified for backup and then sent to a director to be backed up. Next, savesets are generated for the backed up items. Finally, the generated savesets are combined with the savesets of the dynamic parallel save streams to form a global image for all save streams.


