Client Write Routing During Distributed Storage Growth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Adding new disks to distributed data storage systems for increased throughput temporarily decreases data durability, leading to potential data loss and higher recovery costs due to under-replication during the disk redistribution process.

Innovation Solution

A distributed data storage system enters a growth phase by adding a new server replica, where client devices write to both current and new server replicas and read from current replicas, with the metadata server updating storage assignment mappings to replace old replicas with new ones once data retrieval is complete.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If new disks are added to the system to increase throughput, then system throughput is improved, but data durability temporarily decreases during the redistribution process

Engineering Contradiction:
Improvesystem throughputVSAvoiddata durability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary replication of data items to the new disk before completing the redistribution process. The new disk initially receives copies of data items from existing disks, ensuring data durability is maintained throughout the transition. Only after successful replication does the system update storage assignment mappings to fully utilize the new disk, thereby preventing data loss during the expansion process.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If data items are redistributed to new disks, then storage capacity and throughput are increased, but the system becomes under-replicated temporarily

Engineering Contradiction:
Improvestorage capacityVSAvoiddata replication status
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

Before updating storage assignment mappings to reflect the new disk configuration, the system first ensures that all data items are successfully replicated to the new disk. This preliminary replication action guarantees that the system maintains adequate replication factors throughout the expansion process, preventing under-replication scenarios.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous data replication operations during the disk addition process. While the new disk is being integrated, existing disks continue to serve data requests, and the new disk simultaneously receives and stores data items. This continuous operation ensures that data remains replicated across multiple disks throughout the transition, maintaining system reliability while expanding storage capacity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8447833B2Reading and writing during cluster growth phase
Publication Date: 2013.05.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8447833B2 patent drawing
  • US8447833B2 patent drawing
  • US8447833B2 patent drawing

AI summary

A client device configured to write to both a growth server and a live server replica that the growth server is replacing during a growth phase is described herein. The client device first determines the growth server designated to replace a corresponding live server replica of a set of server replicas associated with a storage index. The client device then transmits a write request associated with the storage index to the set of server replicas and to the growth server. The client device may perform the determining based on storage assignment mappings. The storage assignment mappings are provided to the client device by a metadata server while the growth server retrieves data associated with the storage index from the live server replica.