Block I/O Request Inspection for Filesystem Change Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing block-based storage systems lack efficient mechanisms to identify and track filesystem changes, leading to performance degradation due to the need for periodic parsing and analysis of the entire filesystem.
Innovation Solution
A controller inspects block level I/O requests and determines if they include filesystem operations. If so, the request is copied into a queue, dequeued asynchronously, and parsed to extract filesystem operation details, which are then stored in a database for querying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If periodic parsing and analysis of the entire filesystem is performed to identify changes, then filesystem change detection is achieved, but system performance degrades due to the time-consuming nature of repeated full filesystem parsing
Solution Approach 1:
The patent applies preliminary action by capturing filesystem operation information at the moment it occurs through I/O request interception. Instead of waiting to detect changes by parsing the entire filesystem later, the system proactively records change information in a database as it happens, enabling efficient query-based detection without repeated full scans.
Solution Approach 2:
The patent extracts only the necessary change information from I/O requests and stores it separately in a dedicated database structure. This separates the change tracking function from the main filesystem data, allowing rapid querying of specific changes without needing to analyze the entire filesystem, thus resolving the contradiction between detection accuracy and performance.
2Loss of information
If the entire filesystem is repeatedly parsed to detect changes, then comprehensive change visibility is achieved, but time consumption increases significantly
Solution Approach 1:
The patent creates a separate copy of change information in a dedicated database structure that mirrors only the relevant filesystem operation data. This copy is populated by intercepting and recording I/O requests, allowing the system to query change information from the database copy rather than parsing the entire original filesystem repeatedly, thus eliminating time loss while maintaining complete change visibility.
Solution Approach 2:
Change information is captured and stored in the database structure at the moment filesystem operations occur, rather than waiting for periodic analysis. This preliminary recording ensures complete change visibility is already available when queries are made, eliminating the need for time-consuming repeated parsing.
3Measurement precision
If block level I/O requests are intercepted and analyzed to extract filesystem operation information, then change detection capability is improved, but processing overhead increases
Solution Approach 1:
The patent extracts only the specific filesystem operation information needed for change detection from block level I/O requests, rather than analyzing the entire request content. By selectively capturing relevant metadata and operation details, the system improves change detection capability while minimizing processing overhead by focusing only on essential information.
Solution Approach 2:
The patent introduces an intermediary mechanism (the database structure and interception layer) that sits between the block level I/O requests and the change detection process. This intermediary pre-processes and organizes I/O request information into a queryable format, reducing the processing burden on the main system while maintaining precise change detection capability.
Data Source
AI summary
Example implementations relate to data storage. An example includes inspecting a block level input/output (I/O) request to be executed by a block-based storage device, and in response to a determination that the block level I/O request includes a filesystem operation, generating a copy of the block level I/O request. The example also includes parsing the copy of the block level I/O request to extract a plurality of attributes of the filesystem operation, where the parsing is asynchronous to an execution of the block level I/O request by the block-based storage device. The example also includes storing the extracted plurality of attributes of the filesystem operation in an entry of a filesystem operation database, where each entry of the filesystem operation database is associated with a different filesystem operation in a filesystem stored on the block-based storage device.


