Lock-Free B-Tree Node Search Using Update Time Value Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional tree index data structures face inefficiencies in concurrency and risk of deadlocks due to the need for locks to maintain data compatibility during structural changes, limiting simultaneous access by multiple processes.

Innovation Solution

A node searching method that determines the progression or retry of traversing operations based on a comparison between the update time value and traversing time value of searched nodes, allowing concurrent access without locks by re-performing traversals from the root node or a parent node if the update time value exceeds the traversing time value, and terminating at leaf nodes with no descendent nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock function is used to protect data compatibility of tree index during structural changes, then data compatibility is maintained, but concurrency efficiency deteriorates and deadlock risk increases

Engineering Contradiction:
Improvedata compatibilityVSAvoidconcurrency efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the lock function from the tree index search process entirely. Instead of using locks to protect data compatibility during structural changes, the invention uses version information (update time values) embedded in nodes to detect changes and retry searches without blocking other processes. This removes the concurrency bottleneck while maintaining data compatibility through version checking.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical lock system with a version-based detection and retry mechanism. Instead of physically blocking access through locks, the system uses temporal information (update time values) to logically detect structural changes and determines whether retries are necessary, substituting a blocking mechanical approach with a non-blocking informational approach.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If lock function is used to maintain data compatibility, then data integrity is ensured, but the system falls into deadlock risk

Engineering Contradiction:
Improvedata integrityVSAvoiddeadlock risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent removes the lock mechanism that causes deadlocks while preserving data integrity through version checking. By extracting the locking function and replacing it with update time value comparisons, the system eliminates the circular wait condition that causes deadlocks while still ensuring data integrity through version-based detection of structural changes.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If conventional tree index traversal is used, then search operation is simple, but it blocks concurrent access during index splits

Engineering Contradiction:
Improvesearch operation simplicityVSAvoidconcurrent access capability
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces dynamic version checking into the static tree index traversal process. The search operation dynamically checks update time values at each node during traversal to detect structural changes. This allows the system to adapt to concurrent modifications without blocking, maintaining simplicity while enabling concurrent access through dynamic version awareness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary version checking before and during traversal operations. By checking update time values in advance and during the search process, the system can detect structural changes before they affect the search results, allowing simple traversal logic to remain unchanged while adding concurrency safety through preliminary version verification.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9697243B2Method and apparatus for searching node by using tree index
Publication Date: 2017.07.04 TMAXTIBERO CO LTD
  • US9697243B2 patent drawing
  • US9697243B2 patent drawing
  • US9697243B2 patent drawing

AI summary

A node search method, comprising: setting a current time value as a traversing time value; searching descendent nodes to perform a traversing from a root node to a leaf node according to a tree index data structure; determining whether a preset traversing condition is satisfied by comparing an update time value, which indicates a time when a change to a searched descendent node is made, with the traversing time value; depending on whether the traversing proceeding condition is satisfied, re-performing a traversing from a parent node or continuing traversing to the searched descendent node; and terminating the traversing at a leaf node where no descendent node exists.