DHT Logging Service Skipchain Data Structure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale distributed applications require a highly available and low-latency distributed data store for logging and retrieving operational data, but existing solutions struggle to ensure durability and high availability of event data.

Innovation Solution

A distributed hash table (DHT) based logging service using a skipchain data structure that organizes data into immutable nodes across distributed partitions, with redundancy and skip nodes for efficient data retrieval and recovery from failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a distributed data store is implemented for logging event data, then availability and durability are improved, but latency increases

Engineering Contradiction:
Improveavailability and durability of event dataVSAvoidlatency for storing and retrieving data
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The distributed data store is segmented into multiple partitions distributed across different nodes. Each partition independently stores subsets of the event log, allowing parallel operations and reducing contention. This segmentation enables the system to achieve both high availability through distribution and low latency through localized access to specific partitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-assigns partitions to specific nodes and pre-establishes replication relationships before data ingestion begins. This preliminary organization of data storage locations and replication paths eliminates the need for complex runtime decision-making, thereby reducing latency while maintaining the availability benefits of distribution.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is distributed across multiple nodes for high availability, then reliability is improved, but system complexity increases

Engineering Contradiction:
Improvehigh availability of event dataVSAvoidcomplexity of distributed system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each node in the distributed system autonomously manages its own partition data, including handling write operations, maintaining local replicas, and performing self-healing when failures occur. This self-service approach eliminates the need for complex centralized coordination mechanisms, thereby reducing overall system complexity while maintaining high availability through distributed autonomy.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a simplified replication strategy where each partition is replicated to a predetermined number of nodes regardless of actual failure conditions. This excessive replication approach reduces the complexity of failure detection and recovery logic while ensuring high availability, as nodes can independently serve requests without complex coordination.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If redundancy nodes are added for failure recovery, then durability is improved, but storage overhead increases

Engineering Contradiction:
Improvedurability of event dataVSAvoidstorage overhead for redundancy
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Redundancy is applied locally at the partition level rather than globally across the entire event log. Each partition maintains replicas only on specific designated nodes, allowing the system to optimize storage overhead by concentrating redundancy where it is most needed for durability while avoiding unnecessary replication elsewhere in the system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements a retention policy where redundant replica data is discarded when the original data is successfully recovered or confirmed durable. This approach reduces long-term storage overhead while maintaining durability during the critical window when data is being written and replicated, allowing the system to balance durability requirements with storage efficiency.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11132401B1Distributed hash table based logging service
Publication Date: 2021.09.28 AMAZON TECH INC
  • US11132401B1 patent drawing
  • US11132401B1 patent drawing
  • US11132401B1 patent drawing

AI summary

A distributed hash table (DHT) based logging service utilizes a DHT to store an event log or another type of data. For example, applications can utilize the logging service to store data that logs aspects of their operation. A key/value storage service can provide access to the DHT. The data stored in the DHT can be organized into a “skipchain” data structure. The data structure includes nodes storing the data that are distributed across partitions of the DHT. Nodes in the data structure can identify “redundancy nodes” and “skip nodes.” When a request is received to add new data to the skipchain data structure, a new node is stored in the DHT that includes the new data. A head node for the data structure is updated in the DHT. The head node can also be utilized to recover from a failure to write an internal node to the data structure.