Caching Path Components for Distributed Inode Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network storage servers, the striped distribution of identifier-to-inode number mappings across volumes leads to increased inter-node communication, reducing system performance due to repeated remote procedure calls for path component retrieval.

Innovation Solution

Caching individual path components at storage nodes reduces the need for inter-node communication by allowing directory paths to be constructed locally, with a cache invalidation mechanism ensuring consistency and efficiency in path updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If identifier-to-inode number mappings are striped across volumes in a cluster, then directory access bottleneck is resolved and scalability is improved, but inter-node communication overhead increases and system performance deteriorates

Engineering Contradiction:
Improvedirectory access throughputVSAvoidinter-node communication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by caching identifier-to-inode number mappings before they are needed for path construction. Storage server nodes proactively retrieve and store these mappings in local cache memory, so that when path construction is required, the nodes can immediately use the cached mappings without issuing remote procedure calls to other nodes, thereby reducing inter-node communication overhead while maintaining the benefits of striped directory access

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If path components are retrieved from distributed volumes, then path construction accuracy is maintained, but the number of remote procedure calls increases and processing time increases

Engineering Contradiction:
Improvepath construction accuracyVSAvoidpath construction time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent retrieves and caches identifier-to-inode number mappings in advance before path construction is needed. This preliminary action ensures that accurate path information is already available in local cache memory, eliminating the need for time-consuming remote procedure calls during actual path construction operations while maintaining complete accuracy of the path information

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If all directory mappings are stored on a single volume, then path resolution is simplified and consistent, but access bottlenecks occur and scalability is limited

Engineering Contradiction:
Improvepath resolution simplicityVSAvoiddirectory access throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the directory mappings by distributing identifier-to-inode number mappings across multiple volumes in a striped volume set. Each volume stores a portion of the directory entries, allowing parallel access and distributing the access load across multiple storage server nodes. This segmentation resolves access bottlenecks while the caching mechanism maintains path resolution efficiency by keeping relevant mappings locally available

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a caching mechanism as an intermediary layer between the distributed volume storage and the path construction process. The cache memory acts as a mediator that holds identifier-to-inode number mappings, allowing storage server nodes to retrieve mappings locally without directly accessing other nodes in the cluster, thereby simplifying the operation while maintaining high throughput

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8898206B1Mechanism for distributed inode to path traversal in a striped volume system
Publication Date: 2014.11.25 NETAPP INC
  • US8898206B1 patent drawing
  • US8898206B1 patent drawing
  • US8898206B1 patent drawing

AI summary

The techniques introduced herein provide an efficient mechanism for reducing remote procedure requests to storage server nodes in a cluster of the storage servers to construct a directory path for a data container. According to one aspect of the invention, a new caching technique and an efficient organization of the cache memory are provided so that a cache memory on a storage server node is populated with individual path components of a directory structure. A novel cache invalidation mechanism is provided to maintain cache consistency at the cache so that when a path component changes, such as an identifier of a data container in the directory structure, and a path component is invalidated in the cache memory, the remaining path components can be retained and later reused.