Scalable Filesystem Metadata Sharding for Parallel Enumeration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing filesystems, particularly POSIX-compliant ones, face scalability issues with directory operations such as listing, as these operations are typically performed serially and do not scale well with increasing volumes of data and numbers of files, leading to inefficiencies in metadata management.

Innovation Solution

Implementing an enumeration function that shards metadata entries across multiple metadata servers, allowing these servers to perform enumeration tasks in parallel, thereby enabling concurrent traversal and processing of directory entries, and supporting augmented functions like filtering and sorting to enhance performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If directory enumeration is performed serially on a single metadata server, then implementation simplicity is maintained, but scalability and performance deteriorate with increasing filesystem size

Engineering Contradiction:
Improveenumeration performanceVSAvoidmetadata server architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the metadata server into multiple segment servers, each responsible for a specific range of metadata entries. Directory enumeration is segmented across these servers, with each server handling a portion of the directory entries. This segmentation enables parallel processing of enumeration requests, improving performance while maintaining manageable complexity through clear division of responsibilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the metadata server architecture by adding hierarchical levels (primary metadata server coordinating multiple segment servers). This dimensional expansion allows the system to handle larger filesystems by distributing workload across multiple servers in the hierarchy, transforming a single-point bottleneck into a scalable distributed architecture.

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

2Adaptability or versatility

If metadata entries are distributed across multiple servers, then scalability improves, but coordination overhead and system complexity increase

Engineering Contradiction:
Improvefilesystem scalabilityVSAvoidmetadata server coordination
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces primary metadata servers as intermediaries that coordinate between clients and segment servers. These primary servers manage the distribution of enumeration requests across segment servers, handle result aggregation, and provide a unified interface to clients. This intermediary layer simplifies coordination complexity by centralizing management functions while maintaining the scalability benefits of distributed metadata storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If parallel enumeration tasks are invoked across multiple metadata servers, then enumeration speed improves, but resource management and task coordination complexity increase

Engineering Contradiction:
Improveenumeration speedVSAvoidtask coordination
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-organizing metadata entries across segment servers with clear ownership boundaries and maintaining indexes that enable efficient range queries. This preliminary organization allows parallel enumeration tasks to proceed without complex real-time coordination, as each segment server can independently process its assigned range. The preliminary structuring of data eliminates the need for complex task coordination during enumeration execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11194763B1Scalable augmented enumeration and metadata operations for large filesystems
Publication Date: 2021.12.07 TRIAD NATIONAL SECURITY LLC
  • US11194763B1 patent drawing
  • US11194763B1 patent drawing
  • US11194763B1 patent drawing

AI summary

Systems, apparatus, and methods are disclosed for performing scalable operations in a file system. Metadata entries in a namespace or directory tree are sharded across multiple file metadata servers. An augmented enumeration operation, such as listing a directory, is parallelized across the multiple file metadata servers, transparently to clients. Exemplary augmentation features can include filtering and sorting. Augmentation features can be executed concurrently with enumeration, prior to enumeration, after enumeration, or as a combination of these, and can utilize pre-built index structures or holding structures for intermediate results. Augmented enumeration operations can also include no-output operations such as changing file attributes or deleting a file, and cumulative operations such as counting total disk space usage. The parallelization is compatible with tree-level parallelization and storage-level parallelization. Disclosed technologies can be applied to other fields requiring scalable enumeration, such as database and network applications.