Advanced clock synchronization technique
First Claim
1. A system configured to provide clock synchronization for use with a replication service in a data backup and recovery storage environment, comprising:
- a first source replication node of a plurality of source replication nodes (SRNs) configured to couple to one or more target storage systems of a plurality of target storage systems over a network, the plurality of SRNs configured to replicate storage requests on the one or more target storage systems, wherein a first SRN of the plurality of SRNs comprises a first write interception component, a first hardware clock component (HClock) configured to generate a timestamp, and a first clock node component (CNode) in cooperating relation to the first write interception component and the first HClock, the first CNode configured to,interact with a second CNode of a second SRN of the plurality of SRNs to elect the first CNode as a master CNode,synchronize a second HClock of the second SRN to the first clock HClock by the second SRN querying a current time from the master CNode,provide the second CNode with the timestamp from the first HClock in response to the query, andmodify the second HClock according to the timestamp and an error boundary of the second HClock; and
wherein at least one of the CNodes is configured to generate a time identifier (ID) data structure configured to store at least one of the timestamp and the error boundary.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
22 Claims
-
1. A system configured to provide clock synchronization for use with a replication service in a data backup and recovery storage environment, comprising:
-
a first source replication node of a plurality of source replication nodes (SRNs) configured to couple to one or more target storage systems of a plurality of target storage systems over a network, the plurality of SRNs configured to replicate storage requests on the one or more target storage systems, wherein a first SRN of the plurality of SRNs comprises a first write interception component, a first hardware clock component (HClock) configured to generate a timestamp, and a first clock node component (CNode) in cooperating relation to the first write interception component and the first HClock, the first CNode configured to, interact with a second CNode of a second SRN of the plurality of SRNs to elect the first CNode as a master CNode, synchronize a second HClock of the second SRN to the first clock HClock by the second SRN querying a current time from the master CNode, provide the second CNode with the timestamp from the first HClock in response to the query, and modify the second HClock according to the timestamp and an error boundary of the second HClock; and wherein at least one of the CNodes is configured to generate a time identifier (ID) data structure configured to store at least one of the timestamp and the error boundary. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for providing clock synchronization for use with a replication service in a data backup and recovery storage environment, comprising:
-
coupling a first replication node of a plurality of source replication nodes (SRNs) to one or more target storage systems of a plurality of target storage systems over a network; replicating a storage requests on the one or more target storage systems by the plurality of SRNs, wherein a first SRN of the plurality of SRNs comprises a first write interception component, a first hardware clock component (HClock) configured to generate a timestamp, and a first clock node component (CNode) in a cooperating relation to the first write interception component and the first HClock; electing the first CNode as a master CNode; synchronizing a second HClock of a second SRN of the plurality of SRNs to the first HClock by the second SRN querying a current time from the master CNode; providing a second CNode of the second SRN with the timestamp from the first HClock; modifying the second HClock according to the timestamp and an error boundary of the second HClock; and generating, by at least one of the CNodes, a time identifier (ID) data structure configured to store at least one of the timestamp and the error boundary. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A computer readable storage media containing executable program instructions for execution by a processor, the computer readable storage media comprising:
-
program instructions that operatively couple a first source replication node of a plurality of source replication nodes (SRNs) to one or more target storage systems of a plurality of target storage systems over a network, wherein a first SRN of the plurality of SRNs comprises a first write interception component, a first hardware clock (HClock) configured to generate a timestamp, and a first clock node (CNode) in cooperating relation to the first write interception component and the first HClock; program instructions that elect the first CNode as a master CNode; program instructions that synchronize a second HClock of a second SRN of the plurality of SRNs to the first HClock by the second SRN querying a current time from the master CNode; program instructions that provide a second CNode of the second SRN with the timestamp from the first HClock; program instructions that modify the second HClock according to the timestamp and an error boundary of the second HClock; and program instructions that generate, by at least one of the CNodes, a time identifier (ID) data structure configured to store at least one of the timestamp and the error boundary.
-
Specification