File System Filter Namespace Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File system filter drivers face challenges in maintaining synchronization with transactional file systems, leading to incorrect behavior or failure in performing desired functions due to changes in the file system namespace during transactions.

Innovation Solution

A filter monitors operations affecting the transactional file system's namespace, using a data structure to track changes and manage visibility of nodes within and outside transactions, ensuring accurate policy enforcement and namespace consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a filter driver monitors file system operations to maintain namespace synchronization, then the filter can perform desired functions accurately, but the complexity of the filter driver increases due to transaction management requirements

Engineering Contradiction:
Improvenamespace synchronizationVSAvoidfilter driver complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The filter driver pre-establishes a data structure representing the file system namespace before transactions occur. This preliminary structure allows the filter to efficiently track and respond to namespace changes during transactions without complex real-time computation, resolving the contradiction by preparing synchronization mechanisms in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary data structure that sits between the file system operations and the filter's monitoring logic. This intermediary layer abstracts the complexity of transaction management, allowing the filter to maintain namespace synchronization through standardized interfaces rather than direct complex interactions with transactional operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If the filter maintains internal metadata for files and directories, then the filter can track namespace changes, but the metadata may become out of sync with the volume state during transactions

Engineering Contradiction:
Improvemetadata synchronizationVSAvoidnamespace consistency
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The filter driver implements a feedback mechanism where it receives notifications of file system operations and uses these notifications to update its internal metadata. This continuous feedback loop ensures that the metadata remains synchronized with the actual volume state, even during transactions, by constantly adjusting based on observed changes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The filter pre-establishes correspondence between its internal metadata and the file system namespace structure before transactions begin. This preliminary alignment ensures that when transactions occur, the filter can efficiently track changes and update metadata accordingly, preventing synchronization issues.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the filter behaves correctly during transactions, then namespace consistency is maintained, but the filter may render itself unable to perform desired functions due to transaction constraints

Engineering Contradiction:
Improvetransaction handlingVSAvoidfilter functionality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The filter driver dynamically adjusts its behavior based on transaction context. It can perform certain operations during transactions and other operations outside transactions, adapting its functionality to the current state. This dynamic approach allows the filter to maintain namespace consistency while still performing its desired functions appropriately.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent divides the filter's operations into segments that can execute during transactions and segments that execute outside transactions. This segmentation allows different parts of the filter's functionality to operate independently according to transaction constraints, maintaining both reliability and adaptability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7783677B2Tracking file system namespace changes during transactions
Publication Date: 2010.08.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7783677B2 patent drawing
  • US7783677B2 patent drawing
  • US7783677B2 patent drawing

AI summary

Aspects of the subject matter described herein relate to tracking file system namespace changes during transactions. In aspects, a filter monitors operations that may affect a tracked portion of a transactional file system's namespace. When an operation that affects the tracked portion is received, a data structure is modified to track the changes. Nodes within the data structure are marked to indicate whether they can be seen inside or outside of the transaction. If the transaction commits or rolls back, nodes within the data structure are deleted and made visible as appropriate.