Clustered Storage Change Detection Using Write Counters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for discovering changes in a file system are inefficient due to the need for a tree-walk process that involves multiple reads and random, non-sequential data placement, resulting in high latency and inefficiency.
Innovation Solution
A clustered storage system with a namespace storage node and data storage nodes, where the namespace node maintains the file system and data storage nodes store data independently, using comparison units to identify changes and forward metadata container identifiers to the host, reducing the need for external applications to traverse the file system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a tree-walk process is used to traverse each directory and examine each file to determine changes, then the file system changes can be identified, but the process creates huge latency and is inefficient
Solution Approach 1:
The system performs preliminary actions by maintaining write counters and modification timestamps in memory as data is written to the file system. When a change detection request is made, the system compares current counter values with stored snapshot values to immediately identify changed files without traversing the entire file system tree, thus reducing latency while maintaining accurate change detection.
Solution Approach 2:
The system creates snapshots of write counter states at specific points in time. Instead of performing a complete tree-walk to detect changes, the system copies the counter state at snapshot points and compares these copies to identify modifications. This copying approach allows efficient change detection by comparing compact counter representations rather than examining every file in the file system hierarchy.
2Adaptability or versatility
If data is read from directories and stored on disk in non-sequential and random placement, then the data can be accessed, but the time to access the data increases
Solution Approach 1:
The system preliminarily organizes data by maintaining write counters and metadata in memory before actual data access is needed. This preliminary organization allows the system to quickly identify which data blocks have changed and need to be accessed, avoiding the need to sequentially read through randomly placed data on disk. The counters are updated in memory in sequential order as data is written, preparing the information structure for efficient future access.
Solution Approach 2:
The system introduces write counters as an intermediary layer between the physical data storage and the change detection process. These counters act as mediators that track data modifications without requiring direct access to the actual data blocks. By comparing counter values rather than examining the physically scattered data blocks, the system achieves efficient change detection despite non-sequential data placement on disk.
3Measurement precision
If an external software application performs multiple reads to the file system to determine changes, then the changes can be identified, but the process is inefficient and creates additional latency
Solution Approach 1:
The system extracts the change detection functionality from external software applications and integrates it into the storage system kernel. By taking out the change detection logic and implementing it within the storage system itself using write counters and snapshots, the system eliminates the need for external applications to perform multiple reads. This extraction allows the storage system to efficiently track and report changes using its internal counter mechanisms, significantly improving productivity while maintaining accurate change detection.
Solution Approach 2:
The storage system provides self-service change detection through its internal write counter mechanism. Instead of relying on external applications to read and analyze file system data, the storage system automatically maintains and updates write counters in memory, enabling it to self-identify changes when requested. This self-service approach eliminates the inefficiency of external applications performing multiple reads, as the storage system can directly provide change information using its pre-maintained counter data.
Data Source
AI summary
An embodiment of the invention provides an apparatus and method for presenting differences in a file system of a clustered storage system. In an embodiment, the clustered storage system receives a request from a host, where the request is for a listing of changes in the file system within a time interval. A comparison unit in each storage node of the clustered storage system determines each metadata container associated with the file system which has changed within the time interval. The application programming interface buffers at least one identifier that corresponds to a metadata container associated with the file system which has changed within the time interval. The application programming interface packages and transmits the at least one identifier to the host. The at least one identifier is readable on the host.


