IP Library › Granted Patent US 11,442,793
Granted Patent B1
US 11,442,793 · App. 16/579,497 · Granted Sep 13, 2022

Fully dynamic virtual proxies for data protection

Inventors: Gururaj Kulkarni (Bangalore, IN); Scott Quesnelle (Burlington, CA)
Assignee: EMC IP Holding Company LLC
G06F9/5083G06F9/5077G06F9/45558G06F2009/45562
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,442,793
App. No.
16/579,497
Filed
Sep 23, 2019
Granted
Sep 13, 2022
Kind
B1
Art Unit
2199
USPC
718/1
Abstract

Described is a system for utilizing fully dynamic proxies for data flow during data protection. The system determines threshold parameters for each respective virtual proxy in a plurality of virtual proxies. The system receives virtual machine protection data of each respective virtual proxy. The system detects a current data protection workload experienced by each virtual proxy operating according to its respective threshold parameters and virtual machine protection data. The system identifies at least one under-utilized virtual proxy and at least one over-utilized virtual proxy based on the current data protection workload detected on each virtual proxy. The system causes the at least one under-utilized virtual proxy to receive upcoming backup data flow before the at least one over-utilized virtual proxy.

Claims (60)

1. A system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

determine one or more threshold parameters for each virtual proxy in a plurality of virtual proxies, each virtual proxy providing data protection services for a plurality of virtual machines;

receive virtual machine protection data of each respective virtual proxy indicating current utilization of data protection services of each respective virtual proxy by the plurality of virtual machines associated with each respective virtual proxy;

identify, based on the virtual machine protection data received for each virtual proxy, at least one under-utilized virtual proxy and at least one over-utilized virtual proxy, the at least one under-utilized virtual proxy having virtual machine protection data that is less than the one or more threshold parameters for the at least one under-utilized virtual proxy; and

cause the at least one under-utilized virtual proxy to receive upcoming backup data flow before the at least one over-utilized virtual proxy.

2. The system of claim 1 , wherein the virtual machine protection data comprises current proxy resource utilization data and a number of virtual machines currently being protected by the respective virtual proxy.

3. The system of claim 2 , wherein the threshold parameters comprise a threshold measurement of proxy resource utilization data and a maximum allowed number of protected virtual machines.

4. The system of claim 1 , wherein identifying the at least one under-utilized virtual proxy and the at least one over-utilized virtual proxy comprises:

determining all respective virtual proxies are over-utilized;

instantiating a new virtual proxy to be added to the plurality of virtual proxies in response to the determining all respective virtual proxies are over-utilized; and

identifying the new virtual proxy as the under-utilized virtual proxy.

5. The system of claim 4 , wherein causing the at least one under-utilized virtual proxy to receive upcoming data flow before the at least one over-utilized virtual proxy comprises:

identifying incoming backup data flow from one or more virtual machines protected by the plurality of virtual proxies; and

routing the incoming backup data flow to the new virtual proxy.

6. The system of claim 1 , wherein identifying the at least one under-utilized virtual proxy and the at least one over-utilized virtual proxy comprises:

identifying, as an under-utilized virtual proxy, an idle virtual proxy that has not received any backup data flow during a pre-determined workload duration; and

deleting the idle virtual proxy from the plurality of virtual proxies.

7. The system of claim 6 , wherein identifying, as an under-utilized virtual proxy, an idle virtual proxy further comprises:

determining the idle virtual proxy is not scheduled to receive any incoming backup data flow during a pre-determined upcoming interval.

8. A method comprising:

determining one or more threshold parameters for each virtual proxy in a plurality of virtual proxies, each virtual proxy providing data protection services for a plurality of virtual machines;

receiving virtual machine protection data of each respective virtual proxy indicating current utilization of data protection services of each respective virtual proxy by the plurality of virtual machines associated with each respective virtual proxy;

identifying, based on the virtual machine protection data received for each virtual proxy, at least one under-utilized virtual proxy and at least one over-utilized virtual proxy, the at least one under-utilized virtual proxy having virtual machine protection data that is less than the one or more threshold parameters for the at least one under-utilized virtual proxy; and

causing the at least one under-utilized virtual proxy to receive upcoming backup data flow before the at least one over-utilized virtual proxy.

9. The method of claim 8 , wherein the virtual machine protection data comprises current proxy resource utilization data and a number of virtual machines currently being protected by the respective virtual proxy.

10. The method of claim 9 , wherein the threshold parameters comprise a threshold measurement of proxy resource utilization data and a maximum allowed number of protected virtual machines.

11. The method of claim 8 , wherein identifying at least one under-utilized virtual proxy and at least one over-utilized virtual proxy comprises:

determining all respective virtual proxies are over-utilized;

instantiating a new virtual proxy to be added to the plurality of virtual proxies in response to the determining all respective virtual proxies are over-utilized; and

identifying the new virtual proxy as the under-utilized virtual proxy.

12. The method of claim 11 , wherein causing the at least one under-utilized virtual proxy to receive upcoming data flow before the at least one over-utilized virtual proxy comprises:

identifying incoming backup data flow from one or more virtual machines protected by the plurality of virtual proxies; and

routing the incoming backup data flow to the new virtual proxy.

13. The method of claim 8 , wherein identifying at least one under-utilized virtual proxy and at least one over-utilized virtual proxy comprises:

identifying, as an under-utilized virtual proxy, an idle virtual proxy that has not received any backup data flow during a pre-determined workload duration; and

deleting the idle virtual proxy from the plurality of virtual proxies.

14. The method of claim 13 , wherein identifying, as an under-utilized virtual proxy, an idle virtual proxy further comprises:

determining the idle virtual proxy is not scheduled to receive any incoming backup data flow during a pre-determined upcoming interval.

15. A computer program product comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

determine one or more threshold parameters for each virtual proxy in a plurality of virtual proxies, each virtual proxy providing data protection services for a plurality of virtual machines;

receive virtual machine protection data of each respective virtual proxy indicating current utilization of data protection services of each respective virtual proxy by the plurality of virtual machines associated with each respective virtual proxy;

identify, based on the virtual machine protection data received for each virtual proxy, at least one under-utilized virtual proxy and at least one over-utilized virtual proxy, the at least one under-utilized virtual proxy having virtual machine protection data that is less than the one or more threshold parameters for the at least one under-utilized virtual proxy; and

cause the at least one under-utilized virtual proxy to receive upcoming backup data flow before the at least one over-utilized virtual proxy.

16. The computer program product of claim 15 , wherein the virtual machine protection data comprises current proxy resource utilization data and a number of virtual machines currently being protected by the respective virtual proxy.

17. The computer program product of claim 15 , wherein the threshold parameters comprise a threshold measurement of proxy resource utilization data and a maximum allowed number of protected virtual machines.

18. The computer program product of claim 15 ,

wherein identifying at least one under-utilized virtual proxy and at least one over-utilized virtual proxy comprises:

determining all respective virtual proxies are over-utilized;

instantiating a new virtual proxy to be added to the plurality of virtual proxies in response to the determining all respective virtual proxies are over-utilized; and

identifying the new virtual proxy as the under-utilized virtual proxy.

19. The computer program product of claim 15 , wherein causing the at least one under-utilized virtual proxy to receive upcoming data flow before the at least one over-utilized virtual proxy comprises:

identifying incoming backup data flow from one or more virtual machines protected by the plurality of virtual proxies; and

routing the incoming backup data flow to the new virtual proxy.

20. The computer program product of claim 15 , wherein identifying at least one under-utilized virtual proxy and at least one over-utilized virtual proxy comprises:

identifying, as an under-utilized virtual proxy, an idle virtual proxy that has not received any backup data flow during a pre-determined workload duration; and

deleting the idle virtual proxy from the plurality of virtual proxies.

21. The computer program product of claim 20 , wherein identifying, as an under-utilized virtual proxy, an idle virtual proxy further comprises:

determining the idle virtual proxy is not scheduled to receive any incoming backup data flow during a pre-determined upcoming interval.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2019
From: KULKARNI, GURURAJ; QUESNELLE, SCOTT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050465/0361 →
Cited By (2)
US 12,216,550 US 12,360,854