IP Library Granted Patent US 10,540,238
Granted Patent B2
US 10,540,238 · App. 15/010,815 · Granted Jan 21, 2020

Adjusting replication operations in a distributed environment

Inventors: Tushar Doshi (Santa Clara, CA); Anish A. Vaidya (San Jose, CA); Kushal B. Shah (Santa Clara, CA)
Assignee: Veritas Technologies LLC
G06F11/1464G06F16/27H04L41/5019G06F2201/835
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,540,238
App. No.
15/010,815
Granted
Jan 21, 2020
Kind
B2
Abstract

Disclosed herein are methods, systems, and processes to adjust replication operations in a distributed environment. A set of replicated data is received from a first appliance as a result of a replication operation. The replication operation is initiated by the first appliance and the set of replicated data includes a first timestamp. A write operation is performed to store the set of replicated data and a second timestamp is recorded. Recovery point information is generated based on the first timestamp and the second timestamp. The recovery point information is configured to be utilized in adjusting replication parameters of a subsequent replication operation.

Claims (117)

1. A computer-implemented method comprising:

receiving, at a node at a recovery site, a set of replicated data from a first appliance,

wherein

the set of replicated data is received as a result of a replication operation initiated by the first appliance, and

the set of replicated data comprises a first timestamp recorded by the first appliance indicating a time at which the set of replicated data was transmitted by the first appliance;

performing a write operation on the recovery site, wherein

the write operation comprises

storing the set of replicated data on the recovery site, and

recording a second timestamp that indicates a time at which the write operation was completed on the recovery site;

generating recovery point information, wherein

the recovery point information indicates a lag time, and

the lag time is a difference in time between the time recorded by the first timestamp and the time recorded by the second timestamp;

subsequent to generating the recovery point information, determining whether one or more requirements regarding replication of data generated by a host can be met by a subsequent replication operation, wherein

the determining comprises comparing the recovery point information to a threshold lag time defined in Service Level Agreement (SLA) information,

the SLA information is associated with the host,

the host is communicatively coupled to the first appliance, and

the threshold lag time corresponds to one or more requirements regarding replication of data generated by the host;

in response to a determination that the one or more requirements can be met by the subsequent replication operation, sending the recovery point information to the first appliance, wherein

the lag time is configured to be utilized in adjusting one or more replication parameters of the subsequent replication operation, wherein

the one or more replication parameters comprises

a network bandwidth associated with the first appliance, and

an input/output (I/O) bandwidth associated with the recovery site; and

in response to a determination that the one or more requirements cannot be met by the subsequent replication operation,

determining whether the one or more requirements cannot be met because of either an in-flight data backlog on the first appliance or a replicated data backlog on the recovery site, and

sending a notification with one or more instructions to adjust at least one of the one or more replication parameters, wherein

in response to a determination that the one or more requirements cannot be met because of an in-flight data backlog on the first appliance, the one or more instructions comprise instructions to increase the network bandwidth associated with the first appliance, and

in response to a determination that the one or more requirements cannot be met because of a replicated data backlog on the recovery site, the one or more instructions comprise instructions to increase the I/O bandwidth associated with the recovery site.

2. The computer-implemented method of claim 1 , further comprising:

transmitting the recovery point information to the first appliance, wherein

the recovery point information is configured to be utilized by the first appliance to adjust the one or more replication parameters.

3. The computer-implemented method of claim 2 , wherein

the recovery point information comprises the second timestamp.

4. The computer-implemented method of claim 2 , wherein

the time corresponds to the host,

the host is one of one or more hosts,

the one or more hosts are communicatively coupled to the first appliance, and

the one or more hosts generate data that is part of the set of replicated data stored by the write operation.

5. The computer-implemented method of claim 4 , further comprising:

receiving updates to a log, wherein

the first appliance updates the log upon receiving the recovery point information,

the log comprises a plurality of recovery point information associated with the one or more hosts, and

the updates are received as part of the subsequent replication operation.

6. The computer-implemented method of claim 4 , wherein

the data generated by the host is part of the set of replicated data, and

the set of replicated data is written to a secondary storage device as part of the write operation.

7. The computer-implemented method of claim 6 , wherein

the first appliance is a premise appliance, wherein

the premise appliance stores in-flight data generated by the one or more hosts; and the secondary storage device is associated with a second appliance, wherein

the second appliance is a cloud appliance, and

the cloud appliance stores the in-flight data as part of the set of replicated data.

8. The computer-implemented method of claim 1 , wherein

the SLA information represents one or more service level objectives.

9. A non-transitory computer readable storage medium storage program instructions executable to perform a method comprising:

receiving, at a node at a recovery site, a set of replicated data from a first appliance,

wherein

the set of replicated data is received as a result of a replication operation initiated by the first appliance, and

the set of replicated data comprises a first timestamp recorded by the first appliance indicating a time at which the set of replicated data was transmitted by the first appliance;

performing a write operation on the recovery site, wherein

the write operation comprises

storing the set of replicated data on the recovery site, and

recording a second timestamp that indicates a time at which the write operation was completed on the recovery site;

generating recovery point information, wherein

the recovery point information indicates a lag time, and

the lag time is a difference in time between the time recorded by the first timestamp and the time recorded by the second timestamp;

subsequent to generating the recovery point information, determining whether one or more requirements regarding replication of data generated by a host can be met by a subsequent replication operation, wherein

the determining comprises comparing the recovery point information to a threshold lag time defined in Service Level Agreement (SLA) information,

the SLA information is associated with the host,

the host is communicatively coupled to the first appliance, and

the threshold lag time corresponds to one or more requirements regarding replication of data generated by the host;

in response to a determination that the one or more requirements can be met by the subsequent replication operation, sending the recovery point information to the first appliance, wherein

the lag time is configured to be utilized in adjusting one or more replication parameters of the subsequent replication operation, wherein

the one or more replication parameters comprises

a network bandwidth associated with the first appliance, and

an input/output (I/O) bandwidth associated with the recovery site;

in response to a determination that the one or more requirements cannot be met by the subsequent replication operation,

determining whether the one or more requirements cannot be met because of either an in-flight data backlog on the first appliance or a replicated data backlog on the recovery site, and

sending a notification with one or more instructions to adjust at least one of the one or more replication parameters, wherein

in response to a determination that the one or more requirements cannot be met because of an in-flight data backlog on the first appliance, the one or more instructions comprise instructions to increase the network bandwidth associated with the first appliance, and

in response to a determination that the one or more requirements cannot be met because of a replicated data backlog on the recovery site, the one or more instructions comprise instructions to increase the I/O bandwidth associated with the recovery site.

10. The non-transitory computer readable storage medium of claim 9 , wherein the method further comprises:

transmitting the recovery point information to the first appliance, wherein

the recovery point information is configured to be utilized by the first appliance to adjust the one or more replication parameters.

11. The non-transitory computer readable storage medium of claim 10 , wherein

the recovery point information comprises the second timestamp.

12. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to perform a method comprising:

receiving, at a node at a recovery site, a set of replicated data from a first appliance,

wherein

the set of replicated data is received as a result of a replication operation initiated by the first appliance, and

the set of replicated data comprises a first timestamp recorded by the first appliance indicating a time at which the set of replicated data was transmitted by the first appliance;

performing a write operation on the recovery site, wherein

the write operation comprises

storing the set of replicated data on the recovery site, and

recording a second timestamp that indicates a time at which the write operation was completed on the recovery site;

generating recovery point information, wherein

the recovery point information indicates a lag time,

the lag time is a difference in time between the time recorded by the first timestamp and the time recorded by the second timestamp;

subsequent to generating the recovery point information, determining whether one or more requirements regarding replication of data generated by a host can be met by a subsequent replication operation, wherein

the determining comprises comparing the recovery point information to a threshold lag time defined in Service Level Agreement (SLA) information,

the SLA information is associated with the host,

the host is communicatively coupled to the first appliance, and

the threshold lag time corresponds to one or more requirements regarding replication of data generated by the host;

in response to a determination that the one or more requirements can be met by the subsequent replication operation, sending the recovery point information to the first appliance, wherein

the lag time is configured to be utilized in adjusting one or more replication parameters of the subsequent replication operation, wherein

the one or more replication parameters comprises

a network bandwidth associated with the first appliance, and

an input/output (I/O) bandwidth associated with the recovery site;

in response to a determination that the one or more requirements cannot be met by the subsequent replication operation,

determining whether the one or more requirements cannot be met because of either an in-flight data backlog on the first appliance or a replicated data backlog on the recovery site, and

sending a notification with one or more instructions to adjust at least one of the one or more replication parameters, wherein

in response to a determination that the one or more requirements cannot be met because of an in-flight data backlog on the first appliance, the one or more instructions comprise instructions to increase the network bandwidth associated with the first appliance, and

in response to a determination that the one or more requirements cannot be met because of a replicated data backlog on the recovery site, the one or more instructions comprise instructions to increase the I/O bandwidth associated with the recovery site.

13. The system of claim 12 , wherein the method further comprises:

transmitting the recovery point information to the first appliance, wherein

the recovery point information is configured to be utilized by the first appliance to adjust the one or more replication parameters, and

the recovery point information comprises the second timestamp.

Assignments (11)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069632/0613 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: SYMANTEC CORPORATION
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 044362/0859 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2016
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2016
From: DOSHI, TUSHAR; VAIDYA, ANISH A.; SHAH, KUSHAL B.
To: SYMANTEC CORPORATION
Reel/Frame 037744/0383 →
Continuity (1)
Related Publication 20170220424A1 · Aug 3, 2017
Cited By (1)
US 12,717,689