Extended Attribute Storage via Multi-Layer B+ Tree Framework

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File systems face challenges in storing and retrieving extended attributes (EAs) due to limitations in inode size, scalability, and data latency issues with B+ tree structures, which lead to inefficient memory usage and duplicate EAs.

Innovation Solution

A multi-layer EA storage framework is introduced, utilizing a primary inode for regular attributes, secondary inodes for quick access, a de-duplicated B+ tree for memory efficiency, and a per-object B+ tree for scalability, determining storage locations based on EA characteristics such as name, size, and frequency of access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If EAs are stored in inodes, then access speed is improved, but scalability is limited due to predefined inode size

Engineering Contradiction:
ImproveEA access speedVSAvoidScalability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent segments EA storage into multiple locations: small EAs are stored in inodes for fast access, while large or numerous EAs are stored externally in files accessible via B+ trees. This segmentation resolves the contradiction by allowing the system to maintain fast access for small EAs while scaling to handle large EA sets through external storage.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a B+ tree structure is used for EA storage, then scalability is improved, but data latency increases due to traversal requirements

Engineering Contradiction:
ImproveScalabilityVSAvoidData latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies local quality by storing frequently accessed or small EAs in inodes (local, fast access) while using B+ trees for less frequently accessed or larger EAs. This creates different storage qualities in different locations within the same system, optimizing both speed and scalability for different EA types.

Inventive Principle:
Principle #3Local quality

3Loss of substance

If EAs are stored in external files via B+ trees, then memory efficiency is improved through de-duplication, but access time increases

Engineering Contradiction:
ImproveMemory wasteVSAvoidAccess time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The patent implements dynamic EA storage management where the system can move EAs between inode storage and external file storage based on access patterns, size, and duplication status. Frequently accessed small EAs remain in inodes for fast access, while less frequently accessed EAs are moved to external de-duplicated storage, creating a dynamic optimization strategy.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10642789B2Extended attribute storage
Publication Date: 2020.05.05 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10642789B2 patent drawing
  • US10642789B2 patent drawing
  • US10642789B2 patent drawing

AI summary

In one example, a request for storage of an extended attribute (EA) of a file system object is received. A storage location for the EA is determined from a plurality of storage locations, based on one or more characteristics of the EA, the plurality of storage locations including an inode, a first storage file accessible by a first B+ tree, and a second storage file accessible by a second B+ tree. The EA is accordingly stored in the determined storage location.