Distributed Storage Timeout Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed storage systems face data discrepancies due to node failures and temporary communication failures during data writing processes, leading to inconsistencies among storage nodes.

Innovation Solution

A distributed storage system that accepts update requests, notifies clients of failures, and synchronizes data among nodes when no reply is received within a predetermined time frame, ensuring data consistency through a put/get process involving primary, secondary, and tertiary nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional distributed storage systems write data to multiple nodes (primary, secondary, tertiary) to ensure data redundancy, then data availability is improved, but data consistency deteriorates due to node failures and communication timeouts

Engineering Contradiction:
Improvedata availabilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by establishing a timeout mechanism before data writing completes. When a node does not respond within the predetermined timeout period, the system proactively detects the failure and triggers a rollback operation to prevent inconsistent data states, rather than waiting for the inconsistency to manifest

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where nodes send acknowledgment signals during the data writing process. The primary node monitors responses from secondary and tertiary nodes, and based on this feedback, determines whether to commit or rollback the transaction. This closed-loop feedback ensures data consistency by adjusting the commit decision based on actual node states

Inventive Principle:
Principle #23Feedback

2Reliability

If the system waits for all nodes to confirm data writing to ensure consistency, then data consistency is improved, but system response time deteriorates due to timeout waiting and failure handling

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system sets predetermined timeout values in advance based on historical performance data and network conditions. This preliminary configuration allows the system to make quick failure detection decisions without performing complex real-time analysis, reducing the time loss while maintaining consistency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The timeout mechanism is dynamic rather than static. The system adjusts timeout thresholds based on operational conditions, node performance, and network status. This dynamic adjustment optimizes the balance between detecting failures quickly (reducing time loss) and allowing sufficient time for normal operations (maintaining consistency)

Inventive Principle:
Principle #15Dynamics

3Reliability

If the system implements comprehensive failure detection and rollback mechanisms to prevent data discrepancies, then data consistency is improved, but system complexity increases due to additional monitoring and synchronization protocols

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts the failure detection and rollback logic into independent, modular components. Each node has a dedicated timeout monitoring module and a standardized rollback procedure, separating these reliability functions from the core data writing logic. This extraction reduces overall system complexity by creating reusable, isolated functional blocks

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements a standardized rollback mechanism that discards partial writes when failures are detected and recovers by restoring previous consistent states. This approach simplifies complexity by providing a uniform failure handling pattern rather than requiring complex conditional logic for each failure scenario

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8977897B2Computer-readable recording medium, data management method, and storage device
Publication Date: 2015.03.10 FUJITSU LTD
  • US8977897B2 patent drawing
  • US8977897B2 patent drawing
  • US8977897B2 patent drawing

AI summary

An internode put requesting unit detects a time-out with respect to a put request issued to the next node in the order of a multiplexing chain and notifies a put/get executing unit of the time-out. The put/get executing unit sends an error to the previous node in the order of the multiplexing chain or a client and instructs a put-failed-data synchronizing unit to synchronize data failed to be put, and the put-failed-data synchronizing unit performs a synchronization process. A primary makes other put requests wait until completion of the synchronization process. Furthermore, when having received the error, the client issues a get request to the tail end of the multiplexing chain.