Temporal-Miss Handling in Tree-Structured Database Threads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-threaded systems face temporal incoherency issues when accessing data leaves in tree-structured databases due to race conditions between concurrent updating and retrieval operations, leading to inefficient data retrieval and potential database locking that limits system performance.

Innovation Solution

Implementing a method that uses a Longest Prefix Match (LPM) search engine to evaluate the stability of data leaf entries and conditionally restart searches if they are not stable, allowing for autonomous handling of temporal incoherency without extended locking periods, and incorporating a predetermined restart procedure to manage database conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extended locking periods are used to handle temporal incoherency, then data retrieval reliability is improved, but system performance and throughput deteriorate

Engineering Contradiction:
Improvedata retrieval reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by implementing a validation mechanism that checks temporal coherence of data leaves before retrieval operations. The system performs preliminary validation of the temporal separation between data updates and searches, and only proceeds with retrieval when validation succeeds. This prevents the need for extended locking periods while ensuring data reliability, as the validation occurs beforehand rather than requiring continuous locks during operations.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If database locking is implemented to prevent race conditions, then data consistency is improved, but system autonomy and responsiveness to higher-level operations deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem autonomy
Core Design Contradiction:
Stability of the object's compositionVSExtent of automation

Solution Approach 1:

The patent applies self-service by implementing an autonomous validation system that independently checks temporal coherence conditions without requiring external locking control. The validation mechanism autonomously determines whether temporal separation between updates and searches is sufficient, and makes decisions about proceeding with retrieval operations. This maintains data consistency through self-validation rather than external locking, preserving system autonomy and responsiveness to higher-level operations.

Inventive Principle:
Principle #25Self-service

3Productivity

If concurrent updating and searching operations are allowed, then system throughput is improved, but temporal incoherency and race conditions worsen

Engineering Contradiction:
Improvesystem throughputVSAvoidtemporal coherence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies feedback by implementing a validation mechanism that continuously monitors the temporal separation between data updates and search operations. The system provides feedback about whether the temporal coherence condition is satisfied, and only allows retrieval operations when the feedback indicates sufficient separation. This enables concurrent operations to maintain high throughput while the feedback mechanism ensures temporal coherence by blocking retrievals that would occur during insufficient separation periods.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9916336B2Tree-search temporal-miss handling
Publication Date: 2018.03.13 NXP USA INC
  • US9916336B2 patent drawing
  • US9916336B2 patent drawing
  • US9916336B2 patent drawing

AI summary

A temporal-miss handler includes updating a data leaf in a tree-structured database of a communications processor with a plurality of threads. A search for the data leaf includes generating at least one search result for one of the plurality of threads. A sufficiency of a temporal separation, between updating the data leaf and searching for the data leaf, to retrieve the data leaf is determined. Each search result is cleared when the temporal separation is insufficient. A new search is performed when the temporal separation is insufficient.