Distributed Hash Table Graph Store with State Table for Consistent Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graph stores face issues such as record locks, inconsistency, and inefficiencies in updating large nodes due to access inefficiencies, leading to potential halting of updates and data inconsistencies.

Innovation Solution

Implementing a distributed hash table-based graph store with a state table and log table to ensure consistent edge relationships, allowing for efficient updating and querying of nodes with multiple records, and utilizing a lock-free approach to prevent contention and ensure data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional graph store structures are used to store nodes with large numbers of records, then the graph store can retain and organize substantive information, but update operations halt due to access inefficiencies

Engineering Contradiction:
Improvenumber of records per nodeVSAvoidupdate operation speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the graph store into multiple independent components: nodes, edges, and a distributed hash table backend. Each node is represented as a key in the DHT, and records are segmented into individual edge relationships stored as separate key-value pairs. This segmentation allows parallel access and update operations without blocking, resolving the halt issue when nodes have large numbers of records.

Inventive Principle:
Principle #1Segmentation

2Reliability

If traditional locking mechanisms are used to ensure data consistency in a multi-actor graph store, then data integrity is maintained, but record locks and contention reduce system throughput

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the mechanical locking system with a cryptographic hash-based addressing system. Instead of using locks to ensure consistency, the system uses the deterministic nature of hash functions to map nodes and edges to specific locations in the distributed hash table. This substitution eliminates lock contention while maintaining data consistency through the inherent structure of the DHT and versioned record updates.

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

3Reliability

If centralized access control is used to manage graph store updates, then data integrity is maintained, but access inefficiencies occur when multiple actors update simultaneously

Engineering Contradiction:
Improvedata integrityVSAvoidupdate access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent transitions from a centralized, single-dimension access model to a distributed, multi-dimensional access model. The distributed hash table provides a new dimensional space where data can be accessed through hash keys rather than sequential or tree-based paths. This dimensional change enables simultaneous access by multiple actors without serialization, reducing access time while maintaining integrity through version control and conflict detection mechanisms.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10268776B1Graph store built on a distributed hash table
Publication Date: 2019.04.23 AMAZON TECH INC
  • US10268776B1 patent drawing
  • US10268776B1 patent drawing
  • US10268776B1 patent drawing

AI summary

Systems and techniques to access and/or configure information in graph store are provided. In some embodiments, a state table can be generated in addition to a main table, such as a distributed hash table embodying the graph store. The state table can include information indicative of a state of a relationship between a first node and a second node in the graph store. Availability of the state table can permit the control of termination of an update in scenarios of inconsistency and/or concurrent updates. As such, updates to a pair of nodes, each having one or more records, can leverage the state table to access the record(s) of the nodes and to modify an edge associated with the node. The state table also can permit controllably terminating an update and/or ensuring that consistency of the graph store is maintained after the update. Approaches to resolve error during updates to the graph store also are provided.