User Space File System Setup Without Kernel Code Editing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data archiving methods require kernel code recompilation for each unique Linux file system and OS type, making it challenging to intercept file system I/O requests and redirect data without modifying kernel code.

Innovation Solution

Implementing a file system setup in user space without editing kernel code, using a Filesystem in Userspace (FUSE) mechanism that allows non-privileged users to create and manage file systems, and using kernel mode file system filter drivers to intercept I/O requests, redirecting them to archived data without modifying the link file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If kernel code recompilation is used to intercept file system I/O requests, then I/O interception capability is improved, but device complexity and ease of manufacture deteriorate

Engineering Contradiction:
ImproveI/O interception capabilityVSAvoidkernel code complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the file system into kernel space and user space components. The FUSE module operates in user space as a separate entity, while only a minimal kernel interface remains in the kernel space. This segmentation allows I/O interception functionality to be implemented without modifying or recompiling the entire kernel codebase, thus resolving the contradiction between interception capability and kernel complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The FUSE module acts as an intermediary layer between the user space application and the kernel space file system. It intercepts I/O requests at the user space level and translates them into kernel-compatible operations, eliminating the need to modify kernel code for interception purposes. This intermediary approach maintains interception capability while preserving kernel code integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If kernel mode file system filter drivers are used to intercept I/O requests, then data archiving functionality is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvedata archiving efficiencyVSAvoidfile system setup complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The FUSE module implements self-service by automatically handling the complexity of I/O request interception and translation. When a user creates a FUSE file system, the module automatically sets up the necessary interception mechanisms, manages the archiving process, and handles data retrieval without requiring manual kernel code modification or complex configuration. This automation improves ease of operation while maintaining archiving efficiency.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If FUSE mechanism is used to setup file system in user space, then ease of manufacture is improved, but I/O interception reliability may worsen

Engineering Contradiction:
Improvefile system setup easeVSAvoidI/O interception reliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The FUSE module is designed as a universal interface that can handle multiple types of file systems and I/O operations through a standardized mechanism. It provides multi-functional capabilities including I/O interception, data archiving, and retrieval operations, all through a single user space module. This universality ensures reliable interception across different scenarios without requiring separate kernel implementations, thus maintaining reliability while improving ease of setup.

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

Data Source

PatentUS10977208B2Setup file system without editing kernel code
Publication Date: 2021.04.13 MICRO FOCUS LLC
  • US10977208B2 patent drawing
  • US10977208B2 patent drawing
  • US10977208B2 patent drawing

AI summary

A file system is setup in user space of an operating system (OS) of a device without editing kernal code of the OS. Data of a file at the device is archived to a target location. The data of the file is replaced with a link to the target location. The archived data is retrieved via the file system in response to an input/output (I/O) request to the data of the file.