File System Publish-Subscribe Event Notification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveinformation delivery reliabilityVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #13The other way round (Inversion)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveevent notification accuracyVSAvoidapplication idle time
Core Design Contradiction:
ReliabilityVSLoss of 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.

Inventive Principle:
Principle #13The other way round (Inversion)

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.

Inventive Principle:
Principle #25Self-service

3Reliability

If applications make requests even when information is not available, then applications can ensure they receive updates, but processing overhead increases

Engineering Contradiction:
Improveevent update completenessVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7437375B2System and method for communicating file system events using a publish-subscribe model
Publication Date: 2008.10.14 ARCTERA US LLC
  • US7437375B2 patent drawing
  • US7437375B2 patent drawing
  • US7437375B2 patent drawing

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.