Dynamic Tree Management for Multi-Version Concurrency Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems using B+ tree data structures with multi-version concurrency control face scalability issues due to a fixed number of trees, leading to inefficiencies in resource management and data access as the system grows.

Innovation Solution

Implementing a new tree management approach called Search Forest, where the number of trees increases dynamically based on the number of nodes in the cluster, using a balancing coefficient to ensure efficient load balancing and scalability through instant tree splitting and garbage collection, without disrupting service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of trees is fixed in the current system, then the system structure is simple and stable, but the system scalability deteriorates as the cluster grows

Engineering Contradiction:
Improvesystem scalabilityVSAvoidtree management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic tree management where the number of trees in the search forest changes based on cluster size. Trees are dynamically created, split, or merged according to a balancing coefficient that reflects the current number of nodes in the cluster, allowing the system to adapt its structure to match its operational scale.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The search forest is segmented into multiple individual trees that can be independently managed. Each tree can be split into smaller trees or merged with other trees based on load requirements, allowing flexible reconfiguration of the data structure to optimize for the current cluster size while maintaining manageable complexity through modular organization.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the number of trees increases dynamically based on cluster size, then system scalability improves, but the complexity of tree management increases

Engineering Contradiction:
Improvesystem scalabilityVSAvoidtree management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements self-service tree management through automated algorithms that monitor cluster size and automatically perform tree operations. The balancing coefficient drives automatic tree splitting, merging, or creation without manual intervention, allowing the system to self-adjust its structure in response to growth or shrinkage while maintaining operational simplicity for users.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs feedback mechanisms where the system continuously monitors the number of nodes in the cluster and uses this information to adjust the number of trees. The balancing coefficient serves as a feedback parameter that triggers appropriate tree management actions, creating a closed-loop system that automatically responds to changes in cluster size and maintains optimal performance.

Inventive Principle:
Principle #23Feedback

3Reliability

If trees are split instantly to accommodate growth, then service continuity is maintained, but the complexity of maintaining load balance increases

Engineering Contradiction:
Improveservice continuityVSAvoidload balancing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-calculating the balancing coefficient based on expected cluster size changes. Before actual tree splitting occurs, the system prepares the necessary data structures and planning logic, allowing trees to be divided in a controlled manner that maintains service continuity while managing the complexity of load distribution across the resulting trees.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10614055B2Method and system for tree management of trees under multi-version concurrency control
Publication Date: 2020.04.07 EMC IP HLDG CO LLC
  • US10614055B2 patent drawing
  • US10614055B2 patent drawing
  • US10614055B2 patent drawing

AI summary

Method for tree management of trees under multi-version concurrency control is described herein. Method starts by detecting change in a size of a cluster. The number of nodes in the cluster is counted to obtain the changed size of the cluster. The number of trees needed for the number of nodes in the cluster is determined. The number of trees may be based on the number of nodes in the cluster and predetermined system balancing coefficient. When the number of trees needed is greater than existing number of trees, existing number of trees is doubled as a single-step operation which includes modifying and scaling hash function used to derive each tree to generate new hash function and using new hash function to partition each tree instantly into two new trees. Scaling happens on demand without service disruption. Hash function scales automatically when number of trees increases. Other embodiments are described.