Hierarchical Data Structure Node Duplication During Rebalancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data structures face performance issues due to unnecessary rebalancing operations and temporary pauses during rebalancing, which affect system performance, and Bloom Filters suffer from increasing false positives as data is added, impacting system efficiency.

Innovation Solution

A method and system for updating data structures by maintaining nodes or their duplicates during rebalancing, allowing continuous data access and using a Counting Bloom Filter to manage false positives, with a hierarchical data structure that balances nodes and optimizes storage between on-chip and off-chip memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If automatic tree balancing algorithm is employed to maintain balanced data structure, then the tree remains reasonably balanced with O(log n) search performance, but unnecessary rebalancing operations occur even when performance requirements are met

Engineering Contradiction:
Improvetree balanceVSAvoidsystem performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system continuously monitors tree balance factors and only triggers rebalancing operations when actual imbalance thresholds are exceeded, rather than performing periodic or preventive rebalancing. This feedback-based approach ensures rebalancing occurs only when necessary to maintain O(log n) performance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The invention dynamically adjusts balance factor thresholds based on tree characteristics and access patterns, allowing the system to tolerate greater imbalance when performance requirements are still met, thereby reducing unnecessary rebalancing operations while maintaining acceptable performance levels.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If rebalancing operations are performed to maintain tree balance, then the data structure remains efficient for future operations, but data access requests must pause temporarily during rebalancing

Engineering Contradiction:
Improvetree balanceVSAvoiddata access pause time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs balance factor calculations and rebalancing decisions in advance during insertion and deletion operations, rather than waiting for tree degradation. This preliminary action prevents severe imbalance and reduces the frequency and duration of rebalancing operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention implements dynamic rebalancing where the timing and extent of rebalancing operations are adjusted based on current system state, access patterns, and performance requirements, allowing continuous operation with minimal disruption rather than fixed periodic rebalancing.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If Bloom Filter is used to determine data presence in data structure, then space-efficient probabilistic testing is achieved, but false positive rate increases as more data is added

Engineering Contradiction:
Improvedata capacityVSAvoidfalse positive rate
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The Bloom Filter is divided into multiple independent segments or tables, each with its own hash functions and bit arrays. When data capacity increases, individual segments can be evaluated separately, reducing the cumulative false positive rate compared to a single large Bloom Filter.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses multiple hash functions and checks multiple bit positions beyond the minimum required, performing excessive verification to reduce false positives. This partial redundancy approach trades additional computational steps for improved accuracy in determining data presence.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8762362B1System and method for updating a data structure
Publication Date: 2014.06.24 AMPERE COMPUTING LLC
  • US8762362B1 patent drawing
  • US8762362B1 patent drawing
  • US8762362B1 patent drawing

AI summary

System and method for updating a data structure are disclosed. In one embodiment, the method includes providing a data structure that includes a hierarchically arranged set of nodes and branches, and each node has two or less branches, retrieving a first data entry in the data structure via a first node in response to a first data access request, modifying the data structure to generate a first intermediate data structure that keeps the first node and creates a duplicate of the first node, and retrieving a second data entry in the data structure via the duplicate of first node in response to a second data access request. By maintaining at least the first node or a duplicate of the first node during a rebalancing operation of the data structure, the disclosed method supports accessing data entries associated with the first node during the rebalancing operation and therefore improves system performance.