User-Level File System Integration via Call Redirection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional monolithic operating system designs degrade performance due to software overhead from requiring system calls and context switches for I/O operations, and integrating user-level storage stacks into these systems is inefficient, often necessitating manual re-writing of legacy applications.

Innovation Solution

Establishing a user space communications path with a user-level stack using shared memory and intercepting file system calls to redirect them to the user-level stack, avoiding kernel involvement and enabling direct interaction between applications and the I/O stack.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the I/O stack is placed in the kernel, then system management and control are simplified, but performance degrades due to software overhead from system calls and context switches

Engineering Contradiction:
Improvesystem management complexityVSAvoidI/O performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the I/O stack into two parts: a user-level I/O stack for handling I/O operations and a kernel component for management functions. This segmentation allows the I/O stack to operate in user space for high performance while maintaining kernel-level management capabilities, thus resolving the contradiction between simplified system management and improved I/O performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a communication channel as an intermediary between the user-level I/O stack and the kernel. This intermediary enables the user-level stack to interact with kernel management functions without requiring traditional system calls, thereby maintaining simplified system management while achieving high I/O performance through user-space operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the I/O stack is moved to user-space, then performance improves by eliminating system calls, but integration with legacy applications becomes complex requiring manual re-writing

Engineering Contradiction:
ImproveI/O performanceVSAvoidintegration effort
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent creates a universal interface layer that enables both legacy applications and new applications to interact with the user-level I/O stack. The communication channel and redirection mechanism provide multi-functionality, supporting traditional file system calls from legacy applications while also supporting direct user-level I/O operations, thus improving performance without requiring manual re-writing of legacy applications.

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

Solution Approach 2:

The patent introduces a redirection mechanism as an intermediary that transparently redirects file system calls from legacy applications to the user-level I/O stack. This intermediary handles the complexity of integration internally, allowing legacy applications to continue using standard APIs while the actual I/O operations are performed in user-space for high performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If legacy applications are manually re-written to support direct APIs, then integration with user-level architecture is achieved, but time and resources are consumed

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidintegration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a call redirection mechanism as an intermediary that automatically redirects file system calls from legacy applications to the user-level I/O stack. This intermediary handles the adaptation internally, allowing legacy applications to maintain their original code while achieving compatibility with the user-level architecture, thus improving adaptability without consuming additional integration time.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a self-service mechanism where the system automatically performs the adaptation work through the redirection layer. Instead of requiring manual re-writing of legacy applications, the system self-adapts by intercepting and redirecting calls, thereby achieving architecture compatibility while eliminating the time cost of manual integration.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11150817B2Integrating kernel-bypass user-level file systems into legacy applications
Publication Date: 2021.10.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11150817B2 patent drawing
  • US11150817B2 patent drawing
  • US11150817B2 patent drawing

AI summary

A computer-implemented method according to one embodiment includes identifying a communication channel associated with a user-level stack within a user space of a system, establishing a user space communications path with the user-level stack, utilizing the communication channel and shared memory within the user space of the system, and redirecting one or more calls within the user space of the system to the user-level stack, utilizing the user space communications path.