Image Restoration Synchronization Map for Volume Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data restoration methods are time-consuming, leading to substantial downtime for applications that rely on large volumes of data, especially after storage-system failures or data-loss events.
Innovation Solution
The system maintains a synchronization map between the volume being restored and the image from which it is being restored, intercepting I/O requests to retrieve missing regions on an as-needed basis, allowing read attempts to proceed while updating the map to reflect restored regions, thus enabling efficient restoration without lengthy downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional data restoration methods are used (copying entire volume from remote location), then data restoration is completed, but application downtime is substantial
Solution Approach 1:
The patent divides the volume into multiple regions and uses a synchronization map (bitmap) to track which regions have been restored. Instead of restoring the entire volume sequentially, the system restores only the necessary regions on-demand when I/O requests are made, allowing parallel restoration operations and significantly reducing total restoration time while maintaining data completeness.
Solution Approach 2:
The system performs preliminary actions by mounting the image and creating a synchronization map before actual restoration begins. The synchronization map is prepared in advance to identify which regions need restoration, enabling the system to quickly determine restoration needs without scanning the entire volume during I/O operations.
2Loss of time
If the volume is exposed before restoration is complete, then applications can access data sooner, but data integrity may be compromised
Solution Approach 1:
The system implements feedback through the synchronization map that continuously tracks the restoration status of each region. When an I/O request targets a region that hasn't been restored yet, the system detects this through the synchronization map and automatically retrieves the data from the image, ensuring data integrity is maintained while allowing the volume to be exposed early for application access.
Solution Approach 2:
The filter driver acts as an intermediary between applications and the volume. It intercepts I/O requests and determines whether the target region has been restored by checking the synchronization map. If not restored, the filter driver retrieves the data from the image and forwards it to the application, transparently ensuring data integrity without requiring applications to wait for complete restoration.
3Ease of manufacture
If a filter driver is used to intercept I/O requests, then restoration can occur without changes to file systems, but system complexity increases
Solution Approach 1:
The filter driver is designed to be universal and compatible with existing file systems and volume managers without requiring modifications to them. It performs multiple functions including intercepting I/O requests, checking synchronization status, retrieving data from images, and updating the synchronization map, all within a single component that works across different file system implementations.
4Productivity
If the synchronization map is maintained in memory only, then update operations are fast, but data is lost across computing sessions
Solution Approach 1:
The system performs preliminary action by flushing the synchronization map to persistent storage after each transaction or at regular intervals. This ensures that restoration progress is saved before the computing session ends, allowing the system to resume operations across sessions without losing tracking information, while maintaining fast in-memory updates during active sessions.
Data Source
AI summary
A computer-implemented method for restoring images may include (1) identifying an image to restore to a volume, (2) creating a synchronization map that reflects differences between the image and the volume, (3) intercepting at least one attempt to read from a region of the volume, (4) determining, based on the synchronization map, that the region has not yet been restored from the image, (5) copying the region from the image to the volume, (6) updating the synchronization map to reflect that the region has been restored, and (7) allowing the attempt to read from the region to proceed. Various other methods, systems, and computer-readable media are also disclosed.


