ETW-Based Incremental Backup for Cluster Shared Volumes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing block-based incremental backup methods require system reboots, are vulnerable to interference from third-party volume filter drivers, and struggle with Cluster Shared Volumes (CSV) due to the absence of a volume stack on non-coordinator nodes, making real-time changed block tracking challenging.
Innovation Solution
Implementing a system that uses Event Tracing for Windows (ETW) and a VSS software provider to track changed blocks from user mode, eliminating the need for kernel-level volume device filter drivers and enabling block-level backups of CSV volumes by monitoring raw disk device writes and using a dummy volume to manage change block tracking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a volume class filter driver is used to track changed blocks in real-time, then changed block tracking accuracy is improved, but system reliability deteriorates due to reboot requirements and interference from third-party drivers
Solution Approach 1:
The patent introduces Event Tracing for Windows (ETW) as an intermediary mechanism to track volume writes. Instead of using a filter driver that intercepts I/O requests, the system uses ETW event tracing to monitor write operations at the user mode level. This intermediary approach allows changed block tracking without requiring kernel mode filter drivers, eliminating the need for reboots and avoiding conflicts with third-party volume filters.
Solution Approach 2:
The patent replaces the mechanical filter driver architecture with an event-based tracing system. Rather than using a kernel mode filter driver that physically intercepts and filters I/O requests (mechanical approach), the system substitutes this with ETW event tracing that monitors write operations through software events. This substitution eliminates the need for driver attachment/detachment cycles and associated reboots, improving system reliability while maintaining tracking accuracy.
2Productivity
If a volume class filter driver is implemented for incremental backup, then backup efficiency is improved by tracking only changed blocks, but device complexity increases due to driver management requirements
Solution Approach 1:
The patent uses ETW as an intermediary to simplify the backup system architecture. By replacing the complex filter driver infrastructure with event-based tracing, the system eliminates the need for driver installation, attachment, detachment, and conflict management. This reduces device complexity while maintaining the ability to efficiently track changed blocks for incremental backups.
Solution Approach 2:
The patent extracts the changed block tracking functionality from the kernel mode filter driver and implements it in user mode through ETW event tracing. This extraction removes the complex driver management requirements from the backup system, simplifying deployment and reducing conflicts with other volume filters while preserving backup efficiency through accurate change tracking.
3Adaptability or versatility
If Cluster Shared Volumes are supported for backup, then system versatility is improved, but measurement difficulty increases due to absence of volume stack on non-coordinator nodes
Solution Approach 1:
The patent implements a universal ETW-based tracking mechanism that works across all CSV nodes regardless of their role (coordinator or non-coordinator). The event tracing system provides a common interface for monitoring write operations on all nodes, eliminating the need for separate handling logic and making the backup system versatile across different CSV configurations while simplifying the measurement of changed blocks.
Data Source
AI summary
A system for incremental backup comprises a storage device and a processor. The processor is configured to: 1) start Event Tracing for Windows tracking, to track changed block information in one or more maps, where each of the one or more maps tracks writes indicated via a node; 2) receive request for an incremental backup of a volume of one or more volumes, wherein the one or more maps track changed blocks from writes to the volume; 3) halt writes to the volume and queue writes to the volume after halting; 4) freeze the one or more maps of changed blocks; change Event Tracing for Windows tracking, wherein the change block info is tracked to a new set of maps; 5) determine changed blocks using the one or more maps; 6) write changed blocks to a backup volume; and 7) release writes to the volume.


