Conditional Writes in Distributed Storage Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed file systems face challenges in maintaining high availability and durability while supporting large-scale, concurrent access to files across thousands of clients, particularly due to limitations in industry-standard file system interfaces that struggle with asynchronous interactions, component failures, and network delays.

Innovation Solution

A modular architecture for a distributed file storage service that separates metadata and data into distinct subsystems, using replication techniques like erasure coding and consensus-based state machines to ensure sequential consistency and durability, while allowing for independent scaling and failure recovery of access, metadata, and storage nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If industry-standard file system interfaces are used, then compatibility and ease of operation are improved, but reliability and consistency deteriorate due to asynchronous interactions, component failures, and network delays

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary layer between the file system interface and the distributed storage system that translates high-level file operations into low-level storage operations. This intermediary handles consistency management, failure recovery, and coordination across distributed components, allowing the system to maintain reliability while preserving ease of operation through standard interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If distributed system architecture is implemented, then scalability and adaptability are improved, but consistency and reliability worsen due to asynchronous interactions and network partitions

Engineering Contradiction:
ImproveadaptabilityVSAvoidconsistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the distributed storage system into independent modular components including metadata servers, data servers, and clients. Each segment operates semi-independently with well-defined interfaces, allowing the system to scale and adapt while maintaining consistency through coordinated operations across segments. The segmentation enables localized failure containment and independent recovery.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where distributed components continuously exchange status information, operation results, and consistency state data. This feedback enables the system to detect and recover from failures, maintain consistency across network partitions, and adapt to changing system conditions while preserving overall reliability.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If standard file system interfaces are used, then ease of operation is improved, but productivity deteriorates due to performance limitations in handling large-scale concurrent access

Engineering Contradiction:
Improveease of operationVSAvoidproductivity
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces additional operational dimensions by implementing parallel operation pipelines, asynchronous processing layers, and multi-path data flows. These dimensional additions allow the system to handle large-scale concurrent access efficiently while maintaining the simplicity of standard file system interfaces for users, thereby improving productivity without sacrificing ease of operation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9569459B1Conditional writes at distributed storage services
Publication Date: 2017.02.14 AMAZON TECH INC
  • US9569459B1 patent drawing
  • US9569459B1 patent drawing
  • US9569459B1 patent drawing

AI summary

A node of a distributed storage service receives a read request from a client, directed to a particular physical page storing at least a portion of a file store object. The node transmits, to the client, a particular operation sequence number (OSN), obtained from a replicated state machine, indicative of an order in which the read request was processed at the node relative to other requests directed to the file store object. The node receives a write request from the client directed to the page. The write request includes the particular OSN. The node determines whether the page has been modified after the particular OSN was obtained. If the page has not been modified since the OSN was obtained, a modification indicated in the write request is performed; otherwise, the write request is rejected.