Filter Driver I/O Interception for Backup Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvebackup reliabilityVSAvoidI/O processing speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #3Local quality

2Reliability

If the filter driver processes every I/O request during backup mode, then data integrity is improved, but resource utilization increases

Engineering Contradiction:
Improvedata integrityVSAvoidcomputing resource utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvebackup accuracyVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10564897B1Method and system for creating virtual snapshots using input/output (I/O) interception
Publication Date: 2020.02.18 EMC IP HLDG CO LLC
  • US10564897B1 patent drawing
  • US10564897B1 patent drawing
  • US10564897B1 patent drawing

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.