IP Library Granted Patent US 11,704,164
Granted Patent B1
US 11,704,164 · App. 17/117,796 · Granted Jul 18, 2023

Intelligent and automatic load balancing of workloads on replication appliances based on appliance load scores

Inventors: Pramila Dhaka (Pune, IN); Parikshit Hooda (Rohtak, IN)
Assignee: VERITAS TECHNOLOGIES LLC
G06F9/5083G06F3/065G06F3/067G06F3/0619G06F9/45558G06F9/4868G06F9/505G06F11/1448G06F11/1458G06F11/1469G06F11/1492G06F16/184G06F16/1844G06F16/27G06Q10/06H04L67/1095G06F2009/4557G06F2009/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 11,704,164
App. No.
17/117,796
Granted
Jul 18, 2023
Kind
B1
Abstract

Various systems and methods are provided in which a replication process is initiated between a primary site and a recovery site, each having plurality of gateway appliances. Replication loads are evaluated for each given gateway appliance of the plurality of gateway appliances. If a determination is made that at least one gateway appliance of the plurality of gateway appliances is not overloaded, the plurality of gateway appliances are sorted based on replication loads respectively associated with each gateway appliance, and a determination is made as to whether a relative difference in replication loads between a gateway appliance having a highest replication load and a gateway appliance having a lowest replication load exceeds a difference threshold to determine whether the replication workloads between the gateway appliances should be rebalanced.

Claims (123)

1. A computer-implemented method comprising:

during a replication process between a primary site and a recovery site,

for each appliance of a plurality of appliances,

evaluating a replication load of the each appliance, wherein

the recovery site comprises the plurality of appliances,

the evaluating comprises

 analyzing at least a first evaluation factor for the each appliance and a second evaluation factor for the each appliance,

the first evaluation factor for the each appliance and the second evaluation factor for the each appliance are related to the replication load of the replication process on the each appliance,

the first evaluation factor is an evaluation factor for the each appliance,

the second evaluation factor is an evaluation factor for the replication load of the each appliance,

the each appliance of the plurality of appliances is a gateway appliance of a plurality of gateway appliances, and

the first evaluation factor and the second evaluation factor are ones of a plurality of evaluation factors,

determining a maximum load for the each appliance, and

determining an effective replication load score of a plurality of effective replication load scores, wherein

the effective replication load score is for the each appliance;

determining whether at least one appliance of the plurality of appliances is not overloaded based, at least in part, on the plurality of effective replication load scores; and

in response to a determination that the at least one appliance of the plurality of appliances is not overloaded,

sorting the plurality of effective replication load scores,

determining whether a relative difference exceeds a difference threshold, wherein

the relative difference is between a highest effective replication load score of the plurality of effective replication load scores and a lowest effective replication load score of the plurality of effective replication load scores, and

in response to a determination that the relative difference exceeds the difference threshold,

rebalancing one or more replication workloads between a plurality of the plurality of appliances.

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

the method further comprises

determining a percentage of threshold value of a plurality of percentage of threshold values for the each of the plurality of appliances.

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

applying a first weight to the first evaluation factor of the gateway appliance, and

applying a second weight to the second evaluation factor of the gateway appliance, wherein the first weight of the first evaluation factor of the gateway appliance is greater than the second weight of the second evaluation factor of the gateway appliance.

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

at least one of the first evaluation factor and the second evaluation factor pertains to a current replication lag time associated with the gateway appliance.

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

at least one of the first evaluation factor and the second evaluation factor is evaluated based on historic data pertaining to memory utilization of the gateway appliance.

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

at least one of the first evaluation factor and the second evaluation factor pertains to a number of average unique blocks of data directed to the gateway appliance.

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

determining whether at least one gateway appliance of the plurality of gateway appliances is overloaded; and

in response to a determination that at least one gateway appliance of the plurality of gateway appliances is overloaded,

performing another rebalancing operation on one or more of the plurality of gateway appliances based on one or more replication loads on one or more of the plurality of gateway appliances.

8. A system comprising:

one or more processing units, each including one or more processors and memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors and the one or more processing units, alone or in combination with one another, execute the program instructions to perform a method comprising

during a replication process between a primary site and a recovery site,

for each appliance of a plurality of appliances,

evaluating a replication load of the each appliance, wherein

the recovery site comprises the plurality of appliances,

the evaluating comprises

 analyzing at least a first evaluation factor for the each appliance and a second evaluation factor for the each appliance, and

the first evaluation factor for the each appliance and the second evaluation factor for the each appliance are related to the replication load of the replication process on the each appliance,

the first evaluation factor is an evaluation factor for the each appliance,

the second evaluation factor is an evaluation factor for the replication load of the each appliance,

the each appliance of the plurality of appliances is a gateway appliance of a plurality of gateway appliances, and

the first evaluation factor and the second evaluation factor are ones of a plurality of evaluation factors,

determining a maximum load for the each appliance, and

determining an effective replication load score of a plurality of effective replication load scores, wherein

the effective replication load score is for the each appliance,

determining whether at least one appliance of the plurality of appliances is not overloaded based, at least in part, on the plurality of effective replication load scores, and

in response to a determination that the at least one appliance of the plurality of appliances is not overloaded,

sorting the plurality of effective replication load scores,

determining whether a relative difference exceeds a difference threshold, wherein

the relative difference is between a highest effective replication load score of the plurality of effective replication load scores and a lowest effective replication load score of the plurality of effective replication load scores, and

in response to a determination that the relative difference exceeds the difference threshold,

rebalancing one or more replication workloads between a plurality of the plurality of appliances.

9. The system of claim 8 , wherein

the method further comprises

determining a percentage of threshold value of a plurality of percentage of threshold values for the each of the plurality of appliances, and

in response to a determination that the relative difference in replication load does not exceed the difference threshold,

determining whether any gateway appliances of the plurality of gateway appliances has faulted, and

in response to a determination that a gateway appliance has faulted,

performing another rebalancing operation on one or more replication workloads between two or more gateway appliances of the plurality of gateway appliances that are online, and/or bringing one or more additional gateway appliances on line as part of the plurality of gateway appliances.

10. The system of claim 8 , wherein the method further comprises:

applying a first weight to the first evaluation factor of the gateway appliance, and

applying a second weight to the second evaluation factor of the gateway appliance, wherein the first weight of the first evaluation factor of the gateway appliance is greater than the second weight of the second evaluation factor of the gateway appliance.

11. The system of claim 8 , wherein

at least one of the first evaluation factor and the second evaluation factor pertains to a current replication lag time associated with the gateway appliance.

12. The system of claim 8 , wherein

at least one of the first evaluation factor and the second evaluation factor is evaluated based on historic data pertaining to memory utilization of the gateway appliance.

13. The system of claim 8 , wherein

at least one of the first evaluation factor and the second evaluation factor pertains to a number of average unique blocks of data directed to the gateway appliance.

14. The system of claim 8 , wherein the method further comprises:

determining whether at least one gateway appliance of the plurality of gateway appliances is overloaded; and

in response to a determination that at least one gateway appliance of the plurality of gateway appliances is overloaded,

performing another rebalancing operation on one or more of the plurality of gateway appliances based on one or more replication loads on the one or more of the plurality of gateway appliances.

15. A non-transitory computer-readable storage medium storing instructions executable by a processor to perform a method comprising:

during a replication process between a primary site and a recovery site,

for each appliance of a plurality of appliances,

evaluating a replication load of the each appliance, wherein

the recovery site comprises the plurality of appliances,

the evaluating comprises

 analyzing at least a first evaluation factor for the each appliance and a second evaluation factor for the each appliance, and

the first evaluation factor for the each appliance and the second evaluation factor for the each appliance are related to the replication load of the replication process on the each appliance,

the first evaluation factor is an evaluation factor for the each appliance,

the second evaluation factor is an evaluation factor for the replication load of the each appliance,

the each appliance of the plurality of appliances is a gateway appliance of a plurality of gateway appliances, and

the first evaluation factor and the second evaluation factor are ones of a plurality of evaluation factors,

determining a maximum load for the each appliance, and

determining an effective replication load score of a plurality of effective replication load scores, wherein

the effective replication load score is for the each appliance;

determining whether at least one appliance of the plurality of appliances is not overloaded based, at least in part, on the plurality of effective replication load scores; and

in response to a determination that the at least one appliance of the plurality of appliances is not overloaded,

sorting the plurality of effective replication load scores,

determining whether a relative difference exceeds a difference threshold, wherein

the relative difference is between a highest effective replication load score of the plurality of effective replication load scores and a lowest effective replication load score of the plurality of effective replication load scores, and

in response to a determination that the relative difference exceeds the difference threshold,

rebalancing one or more replication workloads between a plurality of the plurality of appliances.

16. The non-transitory computer-readable storage medium of claim 15 , wherein

the method further comprises

determining a percentage of threshold value of a plurality of percentage of threshold values for the each of the plurality of appliances, and

in response to a determination that the relative difference in replication load does not exceed the difference threshold,

determining whether any gateway appliances of the plurality of gateway appliances has faulted, and

in response to a determination that a gateway appliance has faulted,

rebalancing one or more replication workloads between two or more gateway appliances of the plurality of gateway appliances that are online, and/or bringing one or more additional gateway appliances on line as part of the plurality of gateway appliances.

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

applying a first weight to the first evaluation factor of the gateway appliance, and

applying a second weight to the second evaluation factor of the gateway appliance, wherein the first weight of the first evaluation factor of the gateway appliance is greater than the second weight of the second evaluation factor of the gateway appliance.

18. The non-transitory computer-readable storage medium of claim 15 , wherein

at least one of the first evaluation factor and the second evaluation factor pertains to a current replication lag time associated with the gateway appliance.

19. The non-transitory computer-readable storage medium of claim 15 , wherein

at least one of the first evaluation factor and the second evaluation factor is evaluated based on historic data pertaining to memory utilization of the gateway appliance, and

at least one of the first evaluation factor and the second evaluation factor pertains to a number of average unique blocks of data directed to the gateway appliance.

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

in response to a determination that the relative difference in replication load does not exceed the difference threshold,

determining whether any gateway appliances of the plurality of gateway appliances has faulted, and

in response to a determination that a gateway appliance has faulted,

performing another rebalancing operation on one or more replication workloads between two or more gateway appliances of the plurality of gateway appliances that are online, and/or bringing one or more additional gateway appliances on line as part of the plurality of gateway appliances.

Assignments (8)
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 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069591/0510 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069577/0001 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2022
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 059337/0159 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Feb 24, 2022
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 059247/0656 →
Continuity (1)
Continuation 16119732 · Aug 31, 2018
Cited By (1)
US 12,717,689