Filter Driver I/O Interception for Backup Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The generation, storage, and backup of data in computing devices lead to inefficient use of computing resources, impacting overall performance, particularly when generating backups.
Innovation Solution
A method and system utilizing a filter driver to manage Input/Output (I/O) requests by pausing processing when necessary to ensure that only specific I/O requests are intercepted, allowing virtual machines to continue operations with minimal impact during backup generation, involving a filter driver that determines if an I/O request intersects with a prior tracking list, reads data from a primary disk, and resumes processing after data is obtained.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a filter driver intercepts all I/O requests during backup generation, then backup reliability is improved, but system performance and I/O processing speed deteriorate
Solution Approach 1:
The filter driver creates a tracking list of I/O requests before backup operations begin. This preliminary action allows the system to identify and prioritize critical I/O requests that must be intercepted during backup, while non-critical requests can be processed normally, thus maintaining system performance while ensuring backup reliability for important data operations.
Solution Approach 2:
Instead of uniformly intercepting all I/O requests, the filter driver applies selective interception based on the tracking list. Only I/O requests that intersect with the tracking list are intercepted and processed during backup operations, while other requests bypass the filter driver. This localized approach ensures backup reliability for critical data while minimizing impact on overall system performance.
2Reliability
If the filter driver processes every I/O request during backup mode, then data integrity is improved, but resource utilization increases
Solution Approach 1:
The filter driver extracts only the necessary I/O requests from the general I/O stream by comparing against the tracking list. By taking out only those requests that require interception for backup integrity, the system avoids processing unnecessary requests, thus maintaining data integrity while reducing computing resource utilization during backup operations.
3Reliability
If the filter driver pauses I/O request processing to obtain data from primary disk, then backup accuracy is improved, but I/O latency increases
Solution Approach 1:
The tracking list is generated in advance before backup operations begin, identifying all I/O requests that will be needed for accurate backup. This preliminary action allows the filter driver to quickly determine whether to intercept a request without real-time analysis, reducing the time each I/O request spends in the pause-obtain-resume cycle while ensuring backup accuracy is maintained.
Data Source
AI summary
In general, embodiments of the invention relate to a method for processing input/output (I/O requests). The method includes receiving an I/O request from a virtual machine executing on a host computing device, where the host computing device comprises a filter driver. The method further includes making a first determination that the filter driver is in a backup mode and based on the first determination, making a second determination that the I/O request intersects with a prior filter driver tracking list (FDTL). Further, in response to the second determination, the method includes pausing, by the filter driver, the processing of the I/O request, obtaining, from a primary disk, data associated with the I/O request, after obtaining the data, resuming the processing of the I/O request, where processing the I/O request results in the data on the primary disk being overwritten with new data.


