Leader-Follower Data Replication with Collision Masks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, write collisions occur when write requests are applied out of order across different locations, leading to inconsistent data replication, and existing solutions like centralized processing increase latency for non-leader devices.

Innovation Solution

A method where one data storage device is designated as the leader and another as the follower, with the leader applying write requests first and the follower applying them only after ensuring consistency, using a collision mask to manage out-of-order message reception and maintain data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If one location processes all write requests centrally to ensure data consistency, then data consistency is improved, but write latency increases for non-leader locations

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-establishes leader-follower relationships and collision masks before write conflicts occur. Each device pre-calculates which write requests it should apply locally versus which to forward to the leader, eliminating the need for sequential processing and reducing write latency while maintaining consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the write processing responsibilities by dividing data regions into subsets that each device can independently manage. Devices use collision masks to identify which subsets they should process locally versus forwarding to the leader, enabling parallel processing of non-conflicting writes while maintaining data consistency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If write requests are applied in parallel across multiple locations, then write speed is improved, but data consistency deteriorates due to out-of-order application

Engineering Contradiction:
Improvewrite speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The leader device acts as an intermediary that coordinates write request ordering. When write conflicts are detected, the leader sequences the requests and notifies followers of the correct application order, enabling parallel processing while maintaining consistency through centralized coordination only when necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes the processing parameter from always-sequential to conditionally-parallel based on collision detection. Using collision masks, devices determine whether to process writes locally in parallel or forward to the leader for sequential processing, optimizing both speed and consistency based on actual conflict conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10303360B2Replicating data in a data storage system
Publication Date: 2019.05.28 KYNDRYL INC
  • US10303360B2 patent drawing
  • US10303360B2 patent drawing
  • US10303360B2 patent drawing

AI summary

A first data storage device receives a first write request from a host device to update a first subset of the data regions and sends the first write request to a second data storage device. Prior to receiving a notification from the second device that it has been updated in accordance with the first write request, the first device receives a second write request from the second device to update a second subset of the data regions and one of the two devices is selected. If the first device is selected, the first device updates only its data regions that are in the second subset but not in the first subset according to the second write request. In the case that the second device is selected, the first device updates its data regions that are in the second subset according to the second write request.