User Space Path Resolver for Distributed File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of the kernel as an intermediary between applications and file systems in existing distributed file systems slows down performance, especially when accessing or writing data, due to context switching operations.

Innovation Solution

Implementing a file system client in the user space that includes a path resolver to convert file or directory paths into inode addresses, bypassing the kernel and allowing direct communication between applications and the file system, thereby eliminating context switching and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the kernel is used as an intermediary between applications and file systems, then system stability and security are maintained, but application performance deteriorates due to context switching operations

Engineering Contradiction:
Improvesystem stabilityVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system is segmented into two distinct execution environments: kernel space for system-level operations and user space for application-level file system operations. The file system client is separated from the kernel and placed in user space, allowing applications to interact with the file system without requiring kernel context switches. This segmentation enables independent optimization of each layer, maintaining kernel stability while improving application performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A file system client acts as an intermediary component between applications and the kernel file system. This client runs in user space and provides file system services directly to applications, eliminating the need for applications to communicate through the kernel. The intermediary handles path resolution, file operations, and other file system functions while maintaining the stability benefits of kernel-space file system implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the kernel's path resolver is used to convert paths to inode addresses, then path resolution functionality is provided, but application performance deteriorates due to kernel involvement

Engineering Contradiction:
Improvepath resolution functionalityVSAvoiddata access speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The path resolution functionality is extracted from the kernel and integrated into the user-space file system client. The client includes its own path resolver that converts file paths to inode addresses without requiring kernel involvement. This extraction eliminates the performance penalty of kernel context switches while maintaining complete path resolution functionality, including handling of symbolic links and relative paths.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If direct communication between applications and file system is implemented, then performance is improved, but system complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The file system client is designed as a universal component that handles multiple file system operations (path resolution, file access, directory operations) within user space. By consolidating these functions into a single multi-functional client, the system avoids the complexity of multiple separate user-space components while achieving direct application-to-file-system communication. The client maintains compatibility with standard file system interfaces, reducing the learning curve and integration complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11836112B2Path resolver for client access to distributed file systems
Publication Date: 2023.12.05 RED HAT INC
  • US11836112B2 patent drawing
  • US11836112B2 patent drawing
  • US11836112B2 patent drawing

AI summary

Systems and methods implementing a path resolver facilitating client access to a distributed file system. An example method may comprise: receiving, by a processing device, a file identifier comprising a symbolic link; producing, by a user space process being executed by the processing device, a modified file identifier, by replacing a pre-defined sequence of characters within the file identifier by a path to a mount point of a distributed file system; and identifying, in view of the modified file identifier, a data structure comprising information about a file identified by the file identifier.