Multi-Attach Block Storage with Health Check Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current block-based storage systems face challenges in maintaining data linearizability and system efficiency when multiple clients connect to the same distributed, replicated data volume, leading to inconsistencies and unnecessary network usage due to flip-flops between primary and secondary replicas.

Innovation Solution

Implementing a health check mechanism and peer confirmation mechanism to manage multiple client connections, where a secondary replica verifies the health of the primary replica before initiating a failover and ensures all members of the membership group are on the same sequence number to prevent superseded replicas from performing I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple clients connect to the same distributed replicated data volume, then storage accessibility and versatility are improved, but data linearizability and system consistency deteriorate due to flip-flops between primary and secondary replicas

Engineering Contradiction:
Improvestorage accessibilityVSAvoiddata linearizability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs a health check of the primary replica before initiating failover. This preliminary verification ensures that failover only occurs when necessary, preventing premature transitions that could cause data inconsistency. The health check mechanism verifies primary replica status before secondary replicas take over, maintaining data linearizability while enabling multi-client access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a peer confirmation mechanism where replicas exchange sequence numbers to verify they are synchronized. This feedback loop ensures that all replicas maintain consistent state before and during failover operations, preventing flip-flop scenarios that would compromise data linearizability while allowing multiple clients to access the storage system.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If flip-flops between primary and secondary replicas are allowed, then system adaptability is improved, but network usage and latency increase due to unnecessary failover operations

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The health check mechanism verifies primary replica status before triggering failover, preventing unnecessary failover operations. By checking primary health status in advance, the system avoids premature failovers that would cause latency and network overhead, while still maintaining the ability to adapt when actual failures occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system preemptively prevents flip-flop failovers by requiring health check confirmation before allowing failover. This preliminary anti-action counteracts the tendency for unnecessary failover cycles, reducing network usage and latency while preserving system adaptability for genuine failure scenarios.

Inventive Principle:
Principle #9Preliminary anti-action

3Reliability

If health check mechanism is implemented, then data consistency is improved, but device complexity and operational overhead increase

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

Solution Approach 1:

The health check mechanism is implemented as an automated process where the storage system self-monitors primary replica status without requiring external intervention. This self-service approach maintains data consistency through systematic health verification while minimizing operational overhead, as the system manages its own consistency checks without additional manual complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10929041B1Block-storage service supporting multi-attach
Publication Date: 2021.02.23 AMAZON TECH INC
  • US10929041B1 patent drawing
  • US10929041B1 patent drawing
  • US10929041B1 patent drawing

AI summary

A block-based storage system hosts logical volumes that are implemented via multiple replicas of volume data stored on multiple resource hosts in different failure domains. Also, the block-based storage service allows multiple client computing devices to attach to a same given logical volume at the same time. A membership group authority authorizes sequence numbers for a given logical volume and an associated membership group. The members of the membership group ensure that the members are in agreement on the latest sequence number for the given logical volume before responding to read or write requests directed to the given logical volume.