Distributed File Storage Service Metadata and Data Separation

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 in distributed systems, then compatibility and ease of operation are improved, but reliability and consistency are worsened due to asynchronous interactions, component failures, and network partitions

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

Solution Approach 1:

The system is divided into multiple independent storage nodes that each maintain consistent local state, with a coordination layer that manages distributed consistency. This segmentation allows each node to operate reliably independently while the system as a whole maintains consistency through coordinated state transitions across nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A coordination layer acts as an intermediary between the file system interface and the distributed storage nodes. This intermediary manages the complexity of distributed consistency, handling asynchronous interactions and failures by coordinating state changes across multiple nodes while presenting a simplified interface to clients.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If storage capacity and client support are scaled up to thousands of clients, then productivity and service coverage are improved, but device complexity and difficulty of detecting and measuring are worsened

Engineering Contradiction:
ImproveproductivityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The storage system is segmented into multiple independent nodes that can be distributed across different physical locations. Each node manages a portion of the total storage capacity and can operate independently, allowing the system to scale to thousands of clients without proportionally increasing the complexity of any single component.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system scales by adding nodes in a distributed dimension rather than increasing the capacity of a single centralized system. This dimensional approach to scaling allows the system to handle thousands of clients by distributing load across multiple nodes, avoiding the complexity bottleneck of centralized architecture.

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

3Reliability

If strong consistency models are implemented in distributed systems, then reliability is improved, but speed and productivity are worsened due to the overhead of maintaining consistency across network partitions

Engineering Contradiction:
ImprovereliabilityVSAvoidspeed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system segments data management into local node operations and coordinated state transitions. Each node can perform local operations quickly without network communication, maintaining speed for common operations while ensuring consistency only when state changes require coordination across nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements consistency checks and coordination only when necessary for state changes, rather than continuously monitoring all operations. This partial action approach maintains reliability for critical consistency requirements while minimizing the speed overhead to only when and where it is truly needed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10372685B2Scalable file storage service
Publication Date: 2019.08.06 AMAZON TECH INC
  • US10372685B2 patent drawing
  • US10372685B2 patent drawing
  • US10372685B2 patent drawing

AI summary

A client request, formatted in accordance with a file system interface, is received at an access subsystem of a distributed multi-tenant storage service. After the request is authenticated at the access subsystem, an atomic metadata operation comprising a group of file system metadata modifications is initiated, including a first metadata modification at a first node of a metadata subsystem of the storage service and a second metadata modification at a second node of the metadata subsystem. A plurality of replicas of at least one data modification corresponding to the request are saved at respective storage nodes of the service.