Replication Request Prioritization in Distributed Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques lack effective methods for managing replicas of objects in large-scale distributed storage systems, particularly in planet-wide systems with trillions of objects and petabytes of data across dozens of data centers, where replication requests need to be prioritized and executed efficiently to minimize data loss and handle high loads.

Innovation Solution

A system and method for generating replication requests based on replication policies and the current state of the distributed storage system, involving partitioning, prioritization, and sorting of requests, along with simulation of system states to optimize replica management and removal, ensuring timely execution and compliance with policies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If replication requests are processed without prioritization in large-scale distributed storage systems, then system simplicity is maintained, but data loss risk increases and availability decreases

Engineering Contradiction:
Improvedata availabilityVSAvoidreplication management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments replication requests into different priority levels (high priority for new objects, medium priority for frequently accessed objects, low priority for existing objects). This segmentation allows the system to handle replication tasks in manageable batches rather than processing all requests simultaneously, reducing the complexity burden while ensuring critical data is replicated first.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-establishing replication policies and pre-calculating priority levels for different object types before replication occurs. New objects are automatically assigned high priority, and replication parameters are pre-configured, allowing the actual replication process to execute more quickly without complex real-time decision-making.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If replication requests are executed immediately without prioritization, then processing speed is maintained, but data loss probability increases

Engineering Contradiction:
Improvedata loss preventionVSAvoidreplication execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary classification of replication requests into priority tiers based on object characteristics (new objects, frequently accessed objects, existing objects). This preliminary sorting is done quickly and automatically, allowing the system to then execute high-priority replication requests immediately while deferring lower-priority requests, thus preventing data loss without significant time delay.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous replication processing by continuously monitoring and executing high-priority replication requests without interruption. The prioritization mechanism ensures that critical replication tasks are never blocked by lower-priority requests, maintaining continuous progress on data protection while allowing the system to sustain high load conditions.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If all replication requests are processed simultaneously, then system simplicity is maintained, but the system cannot sustain very high loads

Engineering Contradiction:
Improveload handling capacityVSAvoidrequest processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the replication request queue into segmented priority levels, allowing different types of requests to be processed in parallel batches. High-priority requests for new objects are processed separately from medium-priority requests for frequently accessed objects, which are processed separately from low-priority requests for existing objects. This segmentation enables the system to handle very high loads by processing multiple request types simultaneously without overwhelming any single processing stage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts replication priorities based on real-time conditions such as object access patterns, storage availability, and current system load. The prioritization mechanism is flexible and can adapt to changing circumstances, allowing the system to sustain very high loads by dynamically reallocating processing resources to the most critical replication tasks at any given moment.

Inventive Principle:
Principle #15Dynamics

4Reliability

If replication policies are not enforced, then system flexibility is maintained, but compliance with storage requirements is lost

Engineering Contradiction:
Improvepolicy complianceVSAvoidpolicy management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary enforcement of replication policies by automatically assigning priority levels and replication parameters based on pre-defined policy rules. Before replication occurs, the system checks whether objects meet policy requirements (such as minimum number of replicas, geographic distribution, or storage class constraints) and pre-determines the appropriate replication strategy, ensuring policy compliance without complex real-time policy evaluation during execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9659031B2Systems and methods of simulating the state of a distributed storage system
Publication Date: 2017.05.23 GOOGLE LLC
  • US9659031B2 patent drawing
  • US9659031B2 patent drawing
  • US9659031B2 patent drawing

AI summary

A distributed storage system has a plurality of instances. A computer system simulates the state of the distributed storage system. The system obtains a current state of the distributed storage system and replication policies for objects in the distributed storage system. Each replication policy specifies criteria for placing copies of the relevant objects among the plurality of instances. The system receives proposed modifications to the state of the distributed storage system and simulates the state of the distributed storage system over time based on the current state of the distributed storage system, current statistical trends in the state of the distributed storage system, the replication policies for the objects in the distributed storage system, and the proposed modifications to the state of the distributed storage system. One or more reports are generated relating to time evolution of the state of the distributed storage system based on the simulation.