Virtual Files for User-Space File System Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File systems implemented in user space face significant overhead due to the large number of context switches required for basic operations, making them inefficient and potentially unusable, especially when dealing with directory operations like counting elements, subdirectories, and reading directory items, which result in quadratic complexity in system calls.

Innovation Solution

The introduction of specialized virtual files that provide essential directory information in a minimal number of system calls, using conventions such as virtual files with specific names like 'size' or 'content' to reduce the complexity from O(n) to O(1) or O(n/N), allowing these operations to be performed with fewer context switches without breaking interoperability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If file systems are implemented in user space, then ease of manufacture and flexibility are improved, but productivity deteriorates due to excessive context switches

Engineering Contradiction:
Improveease of file system implementationVSAvoidfile system operation speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent pre-calculates and stores directory information (element counts, subdirectory counts, element names) in virtual files before they are requested. When an application needs this information, it is already available in the virtual file system, eliminating the need for multiple context switches to retrieve the same data repeatedly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates virtual files that contain copies of directory metadata (element counts, subdirectory information, element names) that would otherwise require repeated system calls to access. These virtual copies allow applications to read information without crossing the user-space/kernel-space boundary multiple times.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If standard file system API functions are used, then interoperability is improved, but productivity deteriorates due to quadratic complexity in directory operations

Engineering Contradiction:
Improvefile system interoperabilityVSAvoiddirectory operation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a virtual file system layer that acts as an intermediary between applications and the actual file system. This layer intercepts API calls for directory operations and provides pre-computed information from virtual files, reducing the complexity from quadratic to linear or constant time while maintaining POSIX API compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent pre-computes directory information (element counts, subdirectory counts, element names) and stores it in virtual files before applications request it. This eliminates the need for applications to perform repeated system calls to gather this information, reducing operational complexity while maintaining standard API interfaces.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If multiple system calls are made for directory operations, then measurement precision of directory information is improved, but loss of time increases due to numerous context switches

Engineering Contradiction:
Improveaccuracy of directory informationVSAvoidtime for context switches
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates virtual files containing copies of directory metadata (element counts, subdirectory counts, element names). Applications can read this information from the virtual file system without making multiple system calls to the kernel, thereby obtaining accurate directory information while minimizing context switch overhead.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent pre-calculates and stores accurate directory information in virtual files before applications need it. This allows applications to retrieve precise directory data in a single read operation rather than making multiple system calls, reducing time loss while maintaining measurement precision.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2666107B1Method for backward-compatible aggregate file system operation performance improvement, and respective apparatus
Publication Date: 2019.03.06 INTERDIGITAL CE PATENT HOLDINGS SAS
  • EP2666107B1 patent drawingFigure 1
  • EP2666107B1 patent drawingFigure 2

AI summary

The method for operating a file system comprises the steps of designing a virtual file to provide a result from the file directory for which a multitude of system calls is required, distinguishing the virtual file by a unique name from the real files of the file directory, and retrieving the result from the file directory by opening the virtual file and reading the content of the virtual file. The virtual file is designed in particular for a file system operation.