Advisory Metadata for Partitioned Directory Timestamps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File systems face performance bottlenecks when managing large numbers of files within a single directory, as updating metadata for the directory serializes parallel modifications and restricts access, hindering efficiency in hierarchical organization and access management.

Innovation Solution

The implementation of advisory metadata allows for tracking the state of file system objects by accessing and selecting values from multiple metadata items associated with different transactions, enabling parallel access to files within hidden partitioned directories without requiring exclusive access to the parent directory, thus avoiding bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the file system updates metadata for the directory each time files are modified, then the modification time is accurately tracked, but parallel modifications to different files within the directory are prevented

Engineering Contradiction:
Improvemodification time tracking accuracyVSAvoidparallel modification capability
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the directory metadata into multiple independent version numbers, each associated with a specific file. Instead of using a single directory modification time that serializes access, the system maintains individual version numbers for each file (e.g., version1.txt, version2.txt) that can be updated independently. This allows parallel modifications to different files without requiring exclusive access to the entire directory metadata.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces version numbers as intermediary metadata that mediates between file modification operations and directory state tracking. Each file modification updates its associated version number, and these version numbers serve as the intermediary mechanism that tracks changes without requiring centralized directory metadata updates. This intermediary approach enables parallel access while maintaining modification tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the file system maintains a single metadata structure for the directory, then the directory state is simplified to manage, but access to the directory becomes a bottleneck when many files are modified concurrently

Engineering Contradiction:
Improvedirectory metadata structureVSAvoidconcurrent file access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the centralized directory metadata into distributed version numbers associated with individual files. Instead of maintaining one complex directory metadata structure that requires exclusive access, the system uses multiple simple version number records (one per file) that can be updated independently. This segmentation reduces the complexity of any single metadata structure while enabling concurrent access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension directory metadata model (one modification time for the entire directory) to a multi-dimensional model where each file has its own version number dimension. This dimensional expansion allows parallel modifications along different file dimensions without conflict, resolving the bottleneck caused by the single-dimension centralized metadata approach.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9529812B1Timestamp handling for partitioned directories
Publication Date: 2016.12.27 ARCTERA US LLC
  • US9529812B1 patent drawing
  • US9529812B1 patent drawing
  • US9529812B1 patent drawing

AI summary

Various systems and methods use advisory metadata to track the status of file system objects. For example, one method can involve accessing a first item of advisory metadata, which is associated with a namespace-visible parent directory and identifies a first transaction and a first time, and accessing a second item of advisory metadata, which is also associated with the namespace-visible parent directory and identifies a second transaction and a second time. The namespace visible parent directory includes multiple namespace-hidden directories. The method can then select a time value of the advisory metadata for the namespace-visible parent directory, based upon the first item and the second item. The method can be performed by a computing device implementing a file system.