Replication State Machine for Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale distributed storage systems, data replication between nodes is often unreliable due to resource and connectivity issues in remote locations, leading to potential data loss and violations of data retention policies when deletions occur before replication is complete.

Innovation Solution

A system utilizing a replication state machine and garbage collector to manage the replication state of data objects, ensuring that data objects are not physically deleted until replication is complete, using a delete function, replication state machine, and garbage collector to monitor and manage the replication process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If immediate replication is attempted for deleted data objects, then data transfer speed is improved, but reliability deteriorates due to connectivity issues and resource constraints in remote locations

Engineering Contradiction:
Improvedata transfer speedVSAvoidreplication reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions byqueing data objects for replication before actual replication occurs. The replication queue maintains a list of objects that need to be replicated, allowing the system to prepare and organize replication tasks in advance without immediately executing them, thus accommodating connectivity constraints while maintaining progress toward replication completion

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts replication behavior based on current connectivity and resource conditions. The replication manager monitors the state of the data store and adapts the replication process accordingly, allowing replication to proceed when conditions permit and pausing or retrying when constraints are encountered, thereby balancing speed and reliability

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If data objects are deleted immediately upon receipt of delete request, then system responsiveness is improved, but data loss occurs when replication is incomplete

Engineering Contradiction:
Improvesystem responsivenessVSAvoiddata loss
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system takes preliminary action by logically deleting data objects (rendering them inaccessible to clients) while maintaining them in the data store for potential replication. This allows the system to immediately respond to delete requests by updating metadata and client visibility, while the physical deletion is deferred until replication safety is confirmed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replication queue and replication manager act as intermediaries between the delete request and physical deletion. They mediate the process by tracking which objects have been replicated and which have not, allowing the system to delay physical deletion of objects that haven't been successfully replicated yet, thus preventing data loss while maintaining operational responsiveness

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If parallel replication is used to improve throughput, then productivity is improved, but reliability deteriorates because replication order cannot be guaranteed

Engineering Contradiction:
Improvereplication throughputVSAvoidreplication order guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the replication manager continuously monitors replication status and updates the replication queue accordingly. When parallel replication operations are in progress, the system receives feedback about completion status and uses this information to determine when it is safe to proceed with deletion, ensuring that even with unordered parallel operations, the necessary replication has occurred

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system creates a logical copy or representation of the deletion intent in the replication queue, separate from the actual data objects. This allows parallel replication to proceed without strict ordering while the replication manager tracks each copy's replication status independently, ensuring that deletion only occurs after all necessary copies have been successfully created

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11221785B2Managing replication state for deleted objects
Publication Date: 2022.01.11 WESTERN DIGITAL TECHNOLOGIES INC
  • US11221785B2 patent drawing
  • US11221785B2 patent drawing
  • US11221785B2 patent drawing

AI summary

Example distributed storage systems, replication state engines, and methods manage replication state for guaranteed replication between data stores. An object data store may store data objects that have been determined for deletion and rendered inaccessible to a client application. A replication state may be queried for deleted data objects and, if the replication state indicates that replication to another object data store is incomplete, physical deletion may be delayed until the replication state indicates that replication is complete and the data object may be physically deleted.