IP Library Granted Patent US 10,929,424
Granted Patent B1
US 10,929,424 · App. 15/252,487 · Granted Feb 23, 2021

Cloud replication based on adaptive quality of service

Inventor: Anish A. Vaidya (Pleasanton, CA)
Assignee: VERITAS TECHNOLOGIES LLC
G06F16/27G06F9/45558G06F9/4881H04L67/1095G06F2009/45595
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,929,424
App. No.
15/252,487
Granted
Feb 23, 2021
Kind
B1
Abstract

Disclosed herein are methods, systems, and processes to perform cloud replication based on adaptive Quality of Service. A replication stream is monitored over a period of time. The replication stream includes write operations issued by an application, and is associated with preset parameters. Replication parameters applicable to the replication stream are determined. The replication parameters are configured to be used in a replication operation. The preset parameters and the replication parameters are stored.

Claims (115)

1. A method comprising:

monitoring a replication stream over a period of time, wherein

the replication stream is monitored by a replication engine of a source gateway,

the replication stream comprises a plurality of portions,

the source gateway is configured to receive the plurality of portions from one or more input/output trackers of one or more virtual machines,

the replication stream comprises write operations issued by an application executed by at least one of the one or more virtual machines, and

the replication stream is associated with one or more preset parameters;

determining one or more replication parameters applicable to the replication stream,

wherein

the one or more replication parameters are determined based, at least in part, on the monitoring, and

the one or more replication parameters comprises a rate at which the application issues write operations;

aggregating the plurality of portions into one or more update sets, wherein

the plurality of portions are aggregated into one or more update sets by the replication engine of the source gateway prior to being sent to a target gateway;

generating an adjusted replication interval by increasing or decreasing a replication interval of the replication stream based, at least in part, on a change in the rate at which the application issues write operations; and

performing a replication operation, wherein

the replication operation periodically replicates the one or more update sets to the target gateway, and

the replication operation is performed according to the adjusted replication interval.

2. The method of claim 1 , wherein

the one or more preset parameters comprise a recovery point objective limit.

3. The method of claim 2 , wherein

the one or more replication parameters comprise at least one of

a write-cancellation ratio,

a deduplication ratio, or

a compression ratio.

4. The method of claim 1 , wherein the one or more preset parameters comprise a recovery point objective limit, and the performing the replication operation further comprises:

limiting the adjusted replication interval according to the recovery point objective limit.

5. The method of claim 1 , wherein

the one or more virtual machines execute one or more applications,

the application is one of the one or more applications,

each application of the one or more application is assigned an assigned workload priority, and

each assigned workload priority is a workload priority of a plurality of workload priorities.

6. The method of claim 5 , wherein

the one or more preset parameters comprise a recovery point objective limit,

the recovery point objective limit comprises an upper limit and a lower limit, and

the recovery point objective limit is based, at least in part, on the assigned workload priority of the each application.

7. The method of claim 1 , further comprising:

accessing a workload profile of a virtual machine of the one or more virtual machines;

determining a write-cancellation ratio of the workload profile and a deduplication ratio of the workload profile; and

assigning a weighted average to the workload profile based, at least in part, on the write-cancellation ratio of the workload profile and the deduplication ratio of the workload profile.

8. A non-transitory computer readable storage medium comprising program instructions executable to:

monitor a replication stream over a period of time, wherein

the replication stream is monitored by a replication engine of a source gateway,

the replication stream comprises a plurality of portions,

the source gateway is configured to receive the plurality of portions from one or more input/output trackers of one or more virtual machines,

the replication stream comprises write operations issued by an application executed by at least one of the one or more virtual machines, and

the replication stream is associated with one or more preset parameters;

determine one or more replication parameters applicable to the replication stream, wherein

the one or more replication parameters are determined based, at least in part, on the monitoring, and

the one or more replication parameters comprises a rate at which the application issues write operations;

aggregate the plurality of portions into one or more update sets, wherein

the plurality of portions are aggregated into one or more update sets by the replication engine of the source gateway prior to being sent to a target gateway;

generate an adjusted replication interval by increasing or decreasing a replication interval of the replication stream based, at least in part, on a change in the rate at which the application issues write operations; and

perform a replication operation, wherein

the replication operation periodically replicates the one or more update sets to the target gateway, and

the replication operation is performed according to the adjusted replication interval.

9. The non-transitory computer readable storage medium of claim 8 , wherein

the one or more preset parameters comprise a recovery point objective limit, and

the one or more replication parameters comprise at least one of

a write-cancellation ratio,

a deduplication ratio, or

a compression ratio.

10. The non-transitory computer readable storage medium of claim 8 , wherein the one or more preset parameters comprise a recovery point objective limit, and the program instructions executable to perform the replication operation further comprise program instructions executable to:

limit the adjusted replication interval according to the recovery point objective limit,

wherein

the one or more preset parameters comprise a recovery point objective limit,

the recovery point objective limit comprises an upper limit and a lower limit, and

the recovery point objective limit is based, at least in part, on a workload priority assigned to the application.

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

the one or more virtual machines execute one or more applications, and

the application is one of the one or more applications.

12. The non-transitory computer readable storage medium of claim 11 , wherein the program instructions further comprise further program instructions executable to:

access a workload profile of a virtual machine of the one or more virtual machines;

determine a write-cancellation ratio of the workload profile and a deduplication ratio of the workload profile; and

assign a weighted average to the workload profile based, at least in part, on the write-cancellation ratio of the workload profile and the deduplication ratio of the workload profile.

13. 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

monitor a replication stream over a period of time, wherein

the replication stream is monitored by a replication engine of a source gateway,

the replication stream comprises a plurality of portions,

the source gateway is configured to receive the plurality of portions from one or more input/output trackers of one or more virtual machines,

the replication stream comprises write operations issued by an application executed by at least one of the one or more virtual machines, and

the replication stream is associated with one or more preset parameters,

determine one or more replication parameters applicable to the replication stream,

wherein

the one or more replication parameters are determined based, at least in part, on the monitoring, and

the one or more replication parameters comprises a rate at which the application issues write operations;

aggregate the plurality of portions into one or more update sets, wherein

the plurality of portions are aggregated into one or more update sets by the replication engine of the source gateway prior to being sent to a target gateway; and

generate an adjusted replication interval by increasing or decreasing a replication interval of the replication stream based, at least in part, on a change in the rate at which the application issues write operations; and

perform a replication operation, wherein

the replication operation periodically replicates the one or more update sets to the target gateway, and

the replication operation is performed according to the adjusted replication interval.

14. The system of claim 13 , wherein

the one or more preset parameters comprise a recovery point objective limit, and

the one or more replication parameters comprise at least one of

a write-cancellation ratio,

a deduplication ratio, or

a compression ratio.

15. The system of claim 13 , wherein

the one or more virtual machines execute one or more applications, and

the application is one of the one or more applications.

16. The system of claim 13 , wherein the program instructions executable by the one or more processors comprise further program instructions executable by the one or more processors to:

access a workload profile of a virtual machine of the one or more virtual machines;

determine a write-cancellation ratio of the workload profile and a deduplication ratio of the workload profile; and

assign a weighted average to the workload profile based, at least in part, on the write-cancellation ratio of the workload profile and the deduplication ratio of the workload profile.

17. The system of claim 13 , wherein the program instructions executable by the one or more processors to perform the replication operation further comprise further program instructions executable by the one or more processors to:

limit the adjusted replication interval according to the recovery point objective limit,

wherein

the recovery point objective limit comprises an upper limit and a lower limit, and

the recovery point objective limit is based, at least in part, on a workload priority assigned to the application.

18. The method of claim 1 , further comprising:

performing a write cancellation on at least one portion among the plurality of portions,

wherein

the write cancellation is performed prior to replicating the one or more update sets to the target gateway.

Assignments (10)
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: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
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 →
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 →
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 Oct 3, 2016
From: VAIDYA, ANISH A.
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 039924/0238 →
Cited By (1)
US 12,353,742