Extended Attribute Storage via Multi-Layer B+ Tree Framework
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If EAs are stored in inodes, then access speed is improved, but scalability is limited due to predefined inode size
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.
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
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.
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
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.
Data Source
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.


