Dynamic Root Node Resizing in B+ Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

B+ trees used for storing filesystem metadata face inefficiencies due to significant allocated but unused space in root nodes following push operations, which can lead to suboptimal storage utilization and retrieval performance.

Innovation Solution

Implementing a dynamic resizing mechanism for root nodes of B+ trees, where the size of the root node is dynamically reduced to a minimum after a push operation, thereby eliminating unused allocated space and improving storage efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the root node size is increased to accommodate more records, then the storage capacity of the root node is improved, but the amount of unused allocated space increases after push operations

Engineering Contradiction:
Improvestorage capacity of root nodeVSAvoidunused allocated space
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The root node size is made dynamic rather than static. The system automatically adjusts the root node size based on the current number of records: expanding when records are added and contracting when records are moved to child nodes during push operations. This dynamic resizing eliminates unused allocated space while maintaining adequate storage capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The root node size parameter is changed from a fixed predefined value to a variable that adapts to the actual data volume. The system monitors the root node's record count and adjusts its size parameter accordingly, transforming it from a static allocation to a dynamic parameter that reflects actual storage needs.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If the root node size is reduced to eliminate unused space, then storage efficiency is improved, but the ability to accommodate new records without immediate push operations is reduced

Engineering Contradiction:
Improveunused allocated spaceVSAvoidrecord insertion efficiency
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The root node size dynamically expands when new records need to be inserted. Rather than being constrained by a fixed small size, the root node can grow to accommodate additional records, thereby maintaining insertion efficiency while avoiding the waste of permanently allocating large fixed space.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The root node automatically manages its own size based on its content. When records are added, the root node self-expands; when records are pushed to child nodes, it self-contracts. This self-service mechanism ensures the root node size always matches actual needs without external intervention.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If a fixed predefined size is allocated to the root node, then memory allocation simplicity is improved, but storage utilization efficiency deteriorates due to unused space after push operations

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidunused allocated space
Core Design Contradiction:
Ease of manufactureVSLoss of substance

Solution Approach 1:

The system replaces static memory allocation with dynamic allocation. Instead of assigning a fixed size at creation, the root node's memory allocation changes automatically based on operational needs, balancing the simplicity of initial allocation with the efficiency of ongoing utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor the root node's utilization level. Based on this feedback, the system automatically adjusts the root node size - expanding when utilization is low and contracting when records are pushed - thereby optimizing storage utilization while maintaining operational simplicity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12306805B2Dynamically resizing root nodes of hierarchical data structures
Publication Date: 2025.05.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12306805B2 patent drawing
  • US12306805B2 patent drawing
  • US12306805B2 patent drawing

AI summary

A processing system dynamically adjusts the size of root nodes in hierarchical data structures, such as B+ trees. Upon creation, a root node has a predefined initial size. When a request is received to insert a new record, a determination is made as to whether the size of the root node has reached a predefined maximum size. If the root node has not reached the predefined maximum size, the size of the root node is increased to accommodate the new record and the new record is added to the root node. If the root node has reached the predefined maximum size, one or more new child nodes are created, and records are moved from the root node to the new child nodes. The size of the root node is then reduced to a predefined minimum size.