Lazy Virtual Filesystem Instantiation via Metadata Proxies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Shared computing environments face memory footprint issues due to the need for numerous virtual filesystems, which consume significant memory resources and lead to decreased compute density and hardware utilization.

Innovation Solution

Implementing lazy virtual filesystem instantiation and caching, where only actively used filesystems are stored in a specialized cache, and metadata-based filesystem proxies are used to respond to requests, instantiating filesystems only when necessary, thereby conserving memory and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If numerous virtual filesystems are instantiated in shared computing environments, then file access functionality is provided for multiple guests, but host memory usage increases significantly

Engineering Contradiction:
Improvefile access functionalityVSAvoidhost memory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Filesystem proxies are pre-created and stored in the proxy cache with all necessary metadata (file names, directories, permissions, inode numbers) before actual filesystem instantiation. This preliminary preparation allows the system to respond to file access requests without immediately instantiating the full filesystem, thereby reducing memory usage while maintaining file access functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A filesystem proxy acts as an intermediary between the guest and the actual filesystem. The proxy contains metadata that enables file location and access control without requiring the entire filesystem to be loaded into memory. When a file access request occurs, the proxy mediates by providing file locations and managing permissions, while the actual filesystem remains instantiated only when necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If all virtual filesystems are kept in memory for fast access, then file access speed is improved, but compute density and hardware utilization decrease

Engineering Contradiction:
Improvefile access speedVSAvoidcompute density
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system implements local quality by providing fast metadata access through filesystem proxies stored in memory, while allowing the actual filesystem data to reside in slower storage media. The proxy cache contains only essential metadata (file names, directories, permissions, inode numbers) that is frequently accessed, while the bulk filesystem data remains on disk or other persistent storage, achieving a balance between speed and memory utilization.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If filesystems are instantiated only when needed, then memory usage is reduced, but filesystem instantiation overhead occurs

Engineering Contradiction:
Improvememory usageVSAvoidfilesystem instantiation overhead
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The invention extracts the essential filesystem metadata (file names, directories, permissions, inode numbers) from the complete filesystem structure and places it in the proxy cache. This extraction allows the system to handle file access requests using only the lightweight proxy data structure, avoiding the need to instantiate the entire filesystem in memory. The full filesystem is instantiated only when actual file content access is required, minimizing both memory usage and instantiation overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11914556B2Lazy virtual filesystem instantiation and caching
Publication Date: 2024.02.27 RED HAT LLC
  • US11914556B2 patent drawing
  • US11914556B2 patent drawing
  • US11914556B2 patent drawing

AI summary

A host with a memory, which stores a guest, a filesystem cache, and a proxy cache, has a filesystem manager executing on a processor that receives a first request to locate a file in a first filesystem. In response to receiving the first request, a filesystem proxy in the proxy cache associated with the first filesystem is queried. The first request is responded to based on metadata retrieved from the filesystem proxy. A second request is received to modify the file. In response to receiving the second request, the first filesystem is instantiated in the filesystem cache, where a second filesystem is evicted from the filesystem cache to reclaim storage capacity for the first filesystem. The file in the first filesystem is modified.