Change Tracking for Shared Disks via Filter Driver

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared storage environments, tracking changes across multiple access methods and data types is challenging due to varying access policies and methods, making it difficult to detect and manage changes effectively.

Innovation Solution

A system with a coordinator node and non-coordinator nodes that detect I/O operations, record changes to data and metadata, and generate composite change lists to ensure comprehensive backup, using a disk upper filter driver to bypass the file system driver stack and track changes across the storage device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If backup software is installed on each entity accessing the shared storage device, then change tracking capability is improved, but device complexity increases

Engineering Contradiction:
Improvechange tracking capabilityVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges change tracking functionality into a centralized backup software system that coordinates across multiple entities, rather than requiring independent backup software on each entity. The coordinator node consolidates change information from multiple sources, reducing overall system complexity while maintaining comprehensive change tracking capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a coordinator node as an intermediary that receives change information from multiple entities and manages the backup process centrally. This mediator approach allows change tracking without requiring each entity to have independent backup software, thus reducing device complexity while preserving tracking precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple change tracking methods are used to detect changes through different access methods, then change detection completeness is improved, but device complexity increases

Engineering Contradiction:
Improvechange detection completenessVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal change tracking mechanism at the storage device level that can detect changes regardless of the access method used. The storage device monitors all write operations through a common interface, providing multi-functional change detection without requiring separate tracking methods for different access patterns, thus maintaining reliability while reducing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If different change tracking methods are used for different data types, then tracking accuracy for specific data types is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvetracking accuracyVSAvoidease of operation
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent applies homogeneous change tracking methodology across all data types by monitoring write operations at the storage device level. This unified approach treats all data uniformly regardless of type, maintaining tracking accuracy through consistent monitoring while significantly improving ease of operation by eliminating the need to configure different tracking methods for different data types.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS8473462B1Change tracking for shared disks
Publication Date: 2013.06.25 COHESITY INC
  • US8473462B1 patent drawing
  • US8473462B1 patent drawing
  • US8473462B1 patent drawing

AI summary

Various systems and methods for tracking changes in a storage device. For example, one method can involve receiving a request to perform an incremental backup of a storage device and backing up locations in the storage device that are identified as having been changed. The method also involves receiving information from each of the nodes, where the information identifies locations that have been changed by the nodes. The locations that have been changed include both data and metadata.