B-tree Node Selection via Cryptographic Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing B-tree structures face challenges in maintaining consistency across computing devices due to varied representations, leading to inefficiencies in data synchronization and modification processes, such as requiring full database replication and locking segments of data, which results in unavailability of data portions.

Innovation Solution

The method employs a cryptographic hash function to determine the node in a B-tree for adding or removing data elements, ensuring consistent updates across devices by identifying the appropriate node based on the hash result, allowing for synchronized modifications without replicating the entire database.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional B-tree structures are used, then data can be stored hierarchically, but the shape of the B-tree varies due to modification history, causing inconsistent representations across computing devices

Engineering Contradiction:
Improveflexibility in data storageVSAvoidconsistency of B-tree representation
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent applies parameter changes by introducing a deterministic randomization mechanism that transforms the variable modification history into a fixed seed value. This seed then determines a consistent tree shape through controlled random insertions, changing the parameter of tree construction from history-dependent to seed-dependent, thereby achieving representation consistency across devices.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses copying by creating a virtual copy of the B-tree structure through the use of a random seed that replicates the same tree shape generation process across multiple computing devices. Each device copies the same deterministic randomization logic and seed, resulting in identical B-tree representations without requiring actual data replication.

Inventive Principle:
Principle #26Copying

2Reliability

If B-trees are modified on multiple computing devices, then data can be updated, but synchronized modification requires replicating the entire database, resulting in inefficiency

Engineering Contradiction:
Improvedata synchronization accuracyVSAvoidmodification synchronization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the database into segments based on the B-tree structure. Instead of replicating the entire database during modifications, only the affected segments or pages need to be transmitted and updated across devices. The deterministic randomization ensures that segments are consistently identified and updated, maintaining synchronization accuracy while improving efficiency.

Inventive Principle:
Principle #1Segmentation

3Productivity

If B-trees are modified, then data can be updated, but locking a segment of the database results in unavailability of portions of data

Engineering Contradiction:
Improvedata modification capabilityVSAvoiddata availability during modifications
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies dynamics by implementing a locking mechanism that dynamically adjusts the scope and duration of locks based on the specific modification operations. Instead of locking entire segments statically, the system locks only the minimal necessary portions for the duration of the operation and releases them promptly, allowing other operations to proceed concurrently and maintaining data availability during modifications.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10372917B1Uniquely-represented B-trees
Publication Date: 2019.08.06 GOOGLE LLC
  • US10372917B1 patent drawing
  • US10372917B1 patent drawing
  • US10372917B1 patent drawing

AI summary

Aspects of the disclosure relate to hierarchical data structures. A method is disclosed for storing data in a hierarchical data structure. The method may include receiving first data to be committed in a distributed database, the first data including one or more data elements. A result of the selection function may be computed, applying the selection function to each of the one or more data elements. A first node of a first hierarchical data structure may be identified based on the result of the selection function applied to a first data element. The first node of the first hierarchical data structure may be updated using the first data element.