Durable Update Queue for Asynchronous Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage management systems face challenges in ensuring the correctness and efficiency of asynchronous storage operations, particularly in maintaining atomicity and preventing updates from being lost or persisting indefinitely due to insufficient guarantees and long response times.

Innovation Solution

A durable update queue (DUQ) system is implemented, using a Raft consensus algorithm and log-structured merge tree data structure, which ensures updates are persisted and processed atomically with state changes, maintaining redundancy across multiple nodes to guarantee correctness and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If storage management actions are performed in line (synchronously), then correctness and atomicity are guaranteed, but response times become longer than desirable

Engineering Contradiction:
Improvecorrectness of storage operationsVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments storage management operations into two distinct phases: (1) immediate acknowledgment to the client, and (2) asynchronous execution via worker processes. This segmentation allows the client to receive quick responses while the actual computationally expensive operations are performed separately in the background, resolving the contradiction between response time and operational correctness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by immediately acknowledging client requests and queuing them for async processing. The update queue pre-stores these operations with all necessary information (operation type, target object, parameters) so that worker processes can execute them later without needing to contact the client again, ensuring both fast response times and reliable execution.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If conventional async solutions are used, then response times are improved, but atomicity guarantees and correctness are insufficient

Engineering Contradiction:
Improveresponse timeVSAvoidatomicity guarantee
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements feedback mechanisms where worker processes report completion status of async operations back to the system. The update queue tracks the state of each operation, and the system can verify that operations have been completed atomically and correctly. This feedback loop ensures that even though operations are performed asynchronously, their correctness and atomicity can be verified and guaranteed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The update queue acts as an intermediary between the client and worker processes. It receives operations from clients with full contextual information, stores them persistently, and distributes them to appropriate worker processes. This intermediary ensures that operations maintain their atomicity properties by preserving all necessary information and coordinating execution, bridging the gap between async performance and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If computationally expensive operations are performed synchronously, then correctness is ensured, but system performance and throughput are reduced

Engineering Contradiction:
Improvecorrectness of operationVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the workload by separating client interaction from heavy computation. Client requests are immediately acknowledged and segmented into discrete update queue entries, while worker processes handle the computationally expensive operations in parallel. This segmentation enables the system to maintain high throughput by processing multiple operations concurrently without blocking client requests.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The async operation framework enables continuous useful action by keeping worker processes constantly busy executing computationally expensive operations while clients continue to submit new requests. The update queue ensures a continuous flow of work to workers, maximizing system throughput and resource utilization without sacrificing the correctness of any individual operation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12086157B2Asynchronous storage management in a distributed system
Publication Date: 2024.09.10 HITACHI VANTARA LLC
  • US12086157B2 patent drawing
  • US12086157B2 patent drawing
  • US12086157B2 patent drawing

AI summary

In some examples, a system may receive, from a user device, a user request for a storage operation related to storage of data at a storage. An update may be added to an update queue to persist the storage operation prior to sending a response to the user device indicating performance of the storage operation. For instance, adding the update to the update queue may include sending a request to cause the update to be added to the update queue based on specifying a type of the storage operation and/or a state to be achieved by the storage operation. Additionally, information about the update may be sent to another processor for adding the update to another update queue managed by the other processor. Subsequently, the update may be obtained from the update queue and processed to perform the storage operation.