Snapshot Coordinator Epoch Management for Distributed Storage Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage services face challenges in providing consistent snapshot points across multiple access nodes, as there is no single entity to classify operations before or after a snapshot point, leading to difficulties in serializing the order of file system requests and ensuring data consistency in distributed systems with asynchronous interactions and network partitions.

Innovation Solution

A snapshot coordinator initiates a two-phase commit process across access nodes to identify a consistent snapshot point, pausing data and metadata write operations, and using a copy-on-write mechanism to preserve previous data and metadata, ensuring all nodes respond before incrementing the epoch counter and resuming writes with the new epoch number.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a distributed storage service uses multiple access nodes to handle file system requests, then availability and scalability are improved, but consistency and ordering of operations become difficult to maintain

Engineering Contradiction:
ImproveavailabilityVSAvoidconsistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent divides the access nodes into distinct roles: a snapshot coordinator that manages snapshot operations and epoch transitions, and regular access nodes that handle file system requests. This segmentation allows the system to maintain consistency through coordinated epoch management while preserving the availability benefits of multiple access nodes. The snapshot coordinator acts as a central authority for consistency decisions without requiring all access nodes to synchronize every operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by having access nodes pause write operations before a snapshot point is reached. When a snapshot is requested, the snapshot coordinator identifies a consistent snapshot point and notifies access nodes to pause writes prior to this point. This preliminary pausing ensures that all writes are ordered and consistent across nodes before the snapshot is taken, resolving the consistency issue without requiring continuous synchronization during normal operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system pauses all write operations to ensure consistency at snapshot points, then data integrity is improved, but productivity and response time deteriorate

Engineering Contradiction:
Improvedata integrityVSAvoidwrite operation throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by pausing write operations only partially - specifically, only writes that would cross the snapshot point are paused, while reads and other non-conflicting operations continue uninterrupted. The snapshot coordinator identifies the exact snapshot point and coordinates pauses only for the necessary duration and scope to ensure consistency, rather than pausing all operations globally. This minimizes the impact on productivity while maintaining data integrity.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If the system uses asynchronous operations for performance, then speed and responsiveness are improved, but difficulty in detecting and measuring consistent snapshot points increases

Engineering Contradiction:
Improveoperation response timeVSAvoidsnapshot point identification
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms where access nodes send notifications to the snapshot coordinator about their write operation status and epoch numbers. The snapshot coordinator uses this feedback to accurately identify consistent snapshot points by collecting epoch information from all access nodes and determining when all nodes are at the same epoch. This feedback system enables precise snapshot point detection in asynchronous environments without requiring synchronous coordination during normal operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11687521B2Consistent snapshot points in a distributed storage service
Publication Date: 2023.06.27 AMAZON TECH INC
  • US11687521B2 patent drawing
  • US11687521B2 patent drawing
  • US11687521B2 patent drawing

AI summary

Methods and apparatus for identifying consistent snapshot points for file systems in a distributed storage service in which a client may access a file system in backend storage via two or more access nodes. A snapshot coordinator initiates a two-phase commit to perform a snapshot epoch transition. The coordinator sends prepare messages to the nodes. In response, a node sends a response to the coordinator, stops issuing writes to the file system, sets a timer, and waits for a commit message. Upon receiving a response from all nodes, the coordinator sends a commit message. Upon receiving the commit or the timer expiring, the nodes increment an epoch counter and begin issuing writes to the file system tagged with the new epoch and indicating that a copy-on-write operation be performed. The transition is successful if all nodes respond to the request message; otherwise, the two-phase commit is retried.