File System Publish-Subscribe Event Notification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional request-response models in file-based storage systems lead to performance issues due to blocking requests, increased processing overhead, and potential deadlocks, especially when dealing with large datasets and slow communication paths.
Innovation Solution
Implementing a publish-subscribe model where a file system detects content access events and publishes records to a channel, allowing applications to subscribe and receive notifications asynchronously, thereby reducing the need for synchronous requests and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a request-response model is used for file system events, then applications can receive information about file events, but applications may stall for lengthy periods blocking requests, decreasing application performance
Solution Approach 1:
The patent inverts the traditional request-response model by implementing a publish-subscribe model where the file system proactively publishes events to subscribed applications. Instead of applications continuously polling or making blocking requests to check for events, the file system pushes event notifications directly to applications that have expressed interest in specific event types. This inversion eliminates blocking requests and improves application performance while maintaining reliable event delivery.
Solution Approach 2:
The patent applies preliminary action by having applications subscribe to event types in advance before events occur. Applications register their interest in specific file system events (such as file creation, modification, or deletion) beforehand, allowing the file system to directly notify them when relevant events happen. This eliminates the need for applications to make repeated requests or wait in blocking calls, as they are already positioned to receive notifications immediately when events of interest occur.
2Reliability
If blocking requests are used to wait for file system events, then applications can receive event information, but the application may not perform any other tasks during waiting time
Solution Approach 1:
The patent inverts the control flow by having the file system initiate event notifications rather than applications making blocking requests. The file system monitors for events and automatically publishes notifications to subscribed applications, allowing applications to remain idle and perform other tasks while the file system proactively notifies them when events occur. This eliminates application idle time caused by blocking requests while maintaining accurate event notification.
Solution Approach 2:
The file system performs self-service by autonomously monitoring for events and publishing notifications without requiring applications to actively poll or make blocking requests. The file system manages its own event detection and notification distribution, freeing applications from the burden of continuous checking and allowing them to perform other useful work while waiting for events of interest.
3Reliability
If applications make requests even when information is not available, then applications can ensure they receive updates, but processing overhead increases
Solution Approach 1:
The patent applies preliminary action by having applications subscribe to specific event types in advance. This subscription mechanism allows applications to define exactly what events they are interested in receiving, eliminating the need to make requests for information that is not yet available or relevant. The file system then only publishes events that match subscribed criteria, reducing processing overhead while ensuring complete event update delivery for subscribed event types.
Solution Approach 2:
The patent implements feedback through the subscription mechanism where applications provide feedback to the file system about what types of events they are interested in receiving. This feedback allows the file system to filter and publish only relevant events to each application, avoiding unnecessary processing and transmission of irrelevant event data. The selective publishing based on subscription criteria reduces processing overhead while maintaining complete event update delivery for events of interest.
Data Source
AI summary
A system and method for communicating file system events using a publish-subscribe model. In one embodiment, the system may include a storage device configured to store data and a file system configured to manage access to the storage device and to store file system content. The file system may be further configured to detect a file system content access event, and in response to detecting the file system content access event, to publish a record of the file system content access event to a publish-subscribe channel accessible by one or more applications.


