Software Clock Sync for Storage Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing replication solutions struggle with scalability and latency issues when synchronizing data across multiple geographical sites, particularly in asynchronous replication services, due to the limitations of single write interception components and the expense of hardware-based accurate global clocks.
Innovation Solution
A software-only, loosely-accurate global clock synchronization technique using timestamps and error boundaries is implemented, enabling synchronization among source and target storage systems without the need for expensive hardware, allowing for consistent replication across multiple sites.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If hardware-based accurate global clocks are used for clock synchronization in replication services, then measurement precision is improved, but device complexity and cost increase
Solution Approach 1:
The patent replaces hardware-based accurate global clocks with a software-based logical clock synchronization mechanism. Instead of using expensive hardware clocks with precise timekeeping capabilities, the system uses software modules that implement clock synchronization through logical timestamps and coordination protocols, thereby reducing hardware complexity while maintaining sufficient synchronization accuracy for replication services
Solution Approach 2:
The patent creates a virtual copy of the global clock functionality through software rather than using physical hardware clocks. The logical clock mechanism replicates the essential synchronization function without requiring actual hardware timekeeping devices, allowing multiple nodes to share a consistent time reference through software coordination
2Device complexity
If single write interception components are used in asynchronous replication, then device complexity is reduced, but scalability and reliability worsen
Solution Approach 1:
The patent segments the write interception function into multiple distributed components across different nodes. Instead of having a single centralized write interception component, the system distributes write interception logic across multiple nodes that cooperate to maintain consistency, thereby improving scalability and reliability while keeping individual component complexity low
Solution Approach 2:
The patent introduces clock synchronization as an intermediary mechanism that coordinates multiple write interception components. This intermediary time coordination layer enables distributed nodes to maintain consistent ordering and timing without requiring complex direct communication between all components, simplifying the overall system architecture while improving reliability
3Reliability
If synchronous replication is used to ensure data consistency, then reliability is improved, but latency and productivity worsen
Solution Approach 1:
The patent implements dynamic replication modes that can adapt between synchronous and asynchronous behavior based on system conditions. The replication system dynamically adjusts its synchronization level to balance consistency requirements with performance needs, allowing it to operate synchronously when reliability is critical and asynchronously when speed is prioritized
Data Source
AI summary
An advanced clock synchronization technique is adapted for use with a replication service in a data backup and recovery storage environment. The storage environment includes a plurality of source storage systems and target storage systems, wherein the source storage systems are illustratively embodied as source replication nodes. The advanced clock synchronization technique establishes a software-only, loosely-accurate global clock based on a timestamp and an associated error boundary. Notably, the timestamp and its error boundary are used as global clock information to enable synchronization (i.e., ordering of storage requests) among the source replication nodes and/or the target storage systems, thereby ensuring consistent replication of the storage requests on the target storage systems.


