Change Notify Watch Emulation in Virtualized Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualized storage systems face challenges in supporting Change Notify watches due to the client's local operating system being unaware of physical storage locations and the logical volumes being minimally aware of file and directory changes, making it difficult to monitor and report changes across clustered storage systems.
Innovation Solution
The system emulates Change Notify features by leveraging inode-to-path mapping to traverse the file system tree and determine applicable watches on ancestor directories, allowing changes to be reported to clients across different protocols, and uses caching techniques to enhance performance and retain watch state during data movements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtualized storage systems use clustered architecture with distributed file system control, then storage capacity and reliability are improved, but the complexity of monitoring and reporting file changes across the cluster increases
Solution Approach 1:
The patent introduces a file system control module as an intermediary between the distributed file system and the client. This control module centralizes the logic for monitoring file changes and generating change notify events, thereby simplifying the overall system architecture while maintaining the reliability benefits of clustered storage. The intermediary translates physical storage changes into logical file system events that clients can observe.
Solution Approach 2:
The file system control module performs multiple functions: it manages file system operations, tracks file changes, generates change notify events, and communicates with clients. By consolidating these diverse functions into a single control module, the system reduces complexity while maintaining reliability across the clustered architecture.
2Measurement precision
If the system traverses the inode-to-path mapping to determine watched directories for every change event, then accurate change notification is achieved, but processing time and computational overhead increase
Solution Approach 1:
The system pre-establishes the mapping between inodes and file system paths during file creation and modification operations. When a change event occurs, the control module can quickly retrieve the pre-computed path information without performing a complete tree traversal, significantly reducing processing time while maintaining notification accuracy.
Solution Approach 2:
The inode-to-path mapping is maintained locally within the file system control module, allowing rapid access to path information without requiring global system state queries. This localized storage of mapping information enables fast lookups specific to each change event while preserving accurate change notification.
3Productivity
If the system caches triggered watch events to improve performance, then processing speed increases, but additional storage requirements are created
Solution Approach 1:
The system implements selective caching of change events based on predefined criteria such as event type, frequency, and client subscription patterns. Not all change events are cached—only those that meet specific conditions are stored, thereby improving processing speed for frequent events while minimizing additional storage requirements through targeted rather than comprehensive caching.
4Adaptability or versatility
If the client's local operating system is unaware of physical storage locations, then storage virtualization flexibility is improved, but the ability to monitor file changes at the client side is reduced
Solution Approach 1:
The file system control module actively pushes change notification events to clients based on watched directories, creating a feedback mechanism that informs clients of file changes without requiring them to know physical storage locations. This feedback loop maintains storage virtualization flexibility while restoring file change detection capability through server-initiated notifications.
Solution Approach 2:
The file system control module serves as an intermediary that translates physical storage changes into logical file system events and delivers them to clients. This intermediary layer decouples clients from physical storage details, preserving virtualization flexibility while enabling change detection through standardized file system event notifications.
Data Source
AI summary
A technique supports Change Notify watches in virtualized storage systems. In particular, techniques of the present invention advantageously emulate Change Notify features (e.g., as documented by the CIFS protocol) on virtualized storage systems by leveraging virtualization mapping information (e.g., an inode-to-path or “I2P” mapping) to walk a file system tree backwards from the data blocks to their ancestors to determine whether there are applicable watches on ancestor directories, and to obtain a pathname (e.g., relative) of the watched (changed) data. In particular, changes to data received from different protocols (e.g., CIFS, NFS, HTTP, etc.) can trigger watches to clients on the virtualized storage system. Also, performance may be enhanced using various caching techniques, and watch state may be retained while moving watched data across volumes of the virtualized storage system.


