File System Data Version Tracking for Efficient Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data replication techniques in storage systems are inefficient due to the need for computationally intensive block-by-block comparisons to identify changed data blocks, which can take substantial time and do not accurately track which data blocks within a file have been modified.

Innovation Solution

Incorporating inode version fields and data version fields in the file system, where each indirect block maintains a data version for direct blocks, allowing for efficient tracking of data changes by distinguishing between current and new data versions, enabling quick identification of modified blocks during replication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If block-by-block comparisons are used to identify changed data blocks, then replication accuracy is improved, but replication time and computational overhead increase substantially

Engineering Contradiction:
Improvereplication accuracyVSAvoidreplication time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by maintaining version numbers in inode structures and indirect blocks before replication operations. These version numbers are updated incrementally as data changes, allowing the replication system to quickly identify modified blocks without performing comprehensive comparisons. The version tracking infrastructure is prepared in advance, enabling efficient change detection during replication.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces version numbers as an intermediary mechanism between data storage and replication processes. Instead of directly comparing data blocks, the system uses version numbers stored in inode and indirect block structures as mediators to identify changes. This intermediary layer abstracts the complex data comparison task into simple version number comparisons.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If version tracking fields are added to inode and indirect block structures, then change identification efficiency is improved, but file system structure complexity increases

Engineering Contradiction:
Improvechange identification efficiencyVSAvoidfile system structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing version number fields that serve multiple functions within the file system structure. The same version number mechanism is used in both inode structures and indirect block structures, providing a unified approach to tracking changes at different levels of the file system hierarchy. This multi-functional design reduces overall complexity compared to having separate tracking mechanisms for each structure type.

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

Solution Approach 2:

The patent applies segmentation by dividing version tracking into hierarchical levels: inode-level version numbers for tracking file changes and indirect block-level version numbers for tracking data block changes. This segmented approach allows the system to track changes at appropriate granularities without requiring version information in every single data structure, thereby managing complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7707165B1System and method for managing data versions in a file system
Publication Date: 2010.04.27 NETAPP INC
  • US7707165B1 patent drawing
  • US7707165B1 patent drawing
  • US7707165B1 patent drawing

AI summary

A system and method manages data versions in a file system. A data version field associated with a direct block pointer in each level 1 indirect block stores a data version associated with the data contained in the direct block. When data is modified subsequent to the creation of a persistent consistency point image, the data version is incremented to a next data version value to signify that the data has been modified. Replication is aided by the ease of identifying modified data blocks by examining the data version field associated with each block.