Active-Active Storage Clustering Clock Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data replication systems in information processing systems face challenges in coordinating time-to-live (TTL) values between storage systems without explicit clock synchronization, leading to difficulties in active-active configurations, especially during communication failures or link issues.

Innovation Solution

Implementing efficient clock synchronization between storage systems to accurately determine and manage TTL values, allowing for coordinated views and ensuring that the follower storage system can service IO operations concurrently with the leader, even in the presence of communication failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous replication is used to transfer data between storage systems, then data can be replicated without strict timing coordination, but the storage systems cannot maintain consistent views of TTL values without explicit clock synchronization

Engineering Contradiction:
Improvedata replication efficiencyVSAvoidTTL value coordination accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary mechanism (clock synchronization protocol and time difference calculation) that mediates between the independent clocks of leader and follower storage systems. This intermediary allows asynchronous replication to maintain both efficiency and TTL consistency by providing a reference framework for time coordination without requiring synchronous operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the follower storage system services IO operations concurrently with the leader, then system availability and performance are improved, but coordination difficulties arise during communication failures or link issues

Engineering Contradiction:
ImproveIO operation throughputVSAvoidTTL grant coordination reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by having the leader storage system pre-calculate and communicate TTL expiration times to the follower before potential communication failures occur. The leader sends TTL grant information with explicit expiration timestamps, allowing the follower to independently determine when to stop servicing IO operations even if communication is later lost.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the leader continuously monitors communication status with the follower and can revoke TTL grants when communication failures are detected. The follower also provides feedback about its operational status and TTL compliance, enabling coordinated failure handling while maintaining concurrent IO servicing during normal operation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20200285402A1Active-active storage clustering with clock synchronization
Publication Date: 2020.09.10 EMC IP HLDG CO LLC
  • US20200285402A1 patent drawing
  • US20200285402A1 patent drawing
  • US20200285402A1 patent drawing

AI summary

A first storage system is configured to participate in a replication process with a second storage system using an active-active configuration. A request for a time-to-live (TTL) grant is received in the first storage system from the second storage system. The first storage system computes an estimate of a difference between local times in the respective first and second storage systems, utilizes the computed estimate in the first storage system to determine a TTL expiration time in the local time in the second storage system, and sends the TTL grant with the TTL expiration time to the second storage system in response to the request. The computed estimate of the difference between the local times in the respective first and second storage systems is illustratively utilized in the first storage system to determine a range for the local time in the second storage system.