IP Library Granted Patent US 10,929,244
Granted Patent B2
US 10,929,244 · App. 16/707,829 · Granted Feb 23, 2021

Optimized backup of clusters with multiple proxy servers

Inventors: Koteswara R. Boda (Redmond, WA); Abhishek Das (Seattle, WA); Matthew D. Buchman (Seattle, WA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1458G06F9/45533G06F11/1484G06F11/1438G06F2201/815G06F2201/84
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,244
App. No.
16/707,829
Granted
Feb 23, 2021
Kind
B2
Abstract

Systems and methods for backing up and restoring virtual machines in a cluster environment. Proxy nodes in the cluster are configured with agents. The agents are configured to perform backup operations and restore operations for virtual machines operating in the cluster. During a backup operation or during a restore operation, a load associated with the backup/restore operation is distributed across at least some of the proxy nodes. The proxy nodes can backup/restore virtual machines on any of the nodes in the cluster.

Claims (36)

1. A method for backing up virtual machines in a computing environment where the virtual machines are instantiated on one or more nodes in a cluster that includes proxy nodes, the method comprising:

identifying, by a processor, virtual machines to be backed up in the computing environment through proxy nodes, wherein the identified virtual machines are associated with cluster shared volumes;

requesting, by the processor, a service to perform a snapshot of the cluster shared volumes;

determining, by the processor, a backup load associated with backing up the identified virtual machines;

balancing, by the processor, the backup load across the proxy nodes by:

assigning, by the processor, the cluster shared volumes to at least some of the proxy nodes such that a total amount of data is balanced among the proxy nodes when a number of the cluster shared volumes is greater than a number of the proxy nodes;

assigning, by the processor, each of the proxy nodes to one of the cluster shared volumes when the number of the cluster shared volumes is equal to the number of the proxy nodes; and

assigning, by the processor, the cluster shared volumes to a portion of the proxy nodes when the number of the cluster shared volumes is less than the number of the proxy nodes such that some of the proxy nodes do not participate in backing up the identified virtual machines; and

performing, by the processor, a backup operation using the proxy nodes assigned to the cluster shared volumes.

2. The method of claim 1 , further comprising assigning, by the processor, ownership of the cluster shared volumes to the proxy nodes participating in the backup operation to optimize a path between the cluster shared volumes and the proxy nodes participating in the backup operation.

3. The method of claim 1 , further comprising migrating, by the processor, agents to the portion of the proxy nodes that own the cluster shared volumes, wherein ownership of the cluster shared volumes enables access to physical disks associated with the cluster shared volumes.

4. The method of claim 1 , further comprising sorting, by the processor, the identified virtual machines prior to balancing the backup load, wherein the identified virtual machines are sorted by a size of data to be backed up from the cluster shared volumes.

5. The method of claim 1 , further comprising balancing by the processor, the backup load, when the number of proxy nodes is less than the number of cluster shared volumes, by assigning the cluster shared volumes to the proxy nodes in a round robin fashion based on a size of data to be backed up from the cluster shared volumes, beginning with the smallest data size.

6. The method of claim 1 , further comprising backing up, by the processor, the identified virtual machines in parallel.

7. The method of claim 1 , further comprising instantiating, by the processor, agents on the proxy nodes, wherein the agents are configured to identify the cluster shared volumes associated with the identified virtual machines to be backed up.

8. The method of claim 1 , further comprising balancing, by the processor, the backup load by accounting for existing configurations including proxy nodes that already own a cluster shared volume.

9. The method of claim 1 , further comprising identifying, by the processor, the virtual machines to be backed up in the computing environment ad hoc, or based on a predetermined schedule.

10. The method of claim 1 , further comprising restoring, by the processor, at least one of the identified virtual machines to one of the one or more nodes in the cluster.

11. A non-transitory computer readable medium storing computer executable instructions for performing a method for backing up virtual machines in a computing environment where the virtual machines are instantiated on one or more nodes in a cluster that includes proxy nodes, the method comprising:

identifying, by a processor, virtual machines to be backed up in the computing environment through proxy nodes, wherein the identified virtual machines are associated with cluster shared volumes;

requesting, by the processor, a service to perform a snapshot of the cluster shared volumes;

determining, by the processor, a backup load associated with backing up the identified virtual machines;

balancing, by the processor, the backup load across the proxy nodes by:

assigning, by the processor, the cluster shared volumes to at least some of the proxy nodes such that a total amount of data is balanced among the proxy nodes when a number of the cluster shared volumes is greater than a number of the proxy nodes;

assigning, by the processor, each of the proxy nodes to one of the cluster shared volumes when the number of the cluster shared volumes is equal to the number of the proxy nodes; and

assigning, by the processor, the cluster shared volumes to a portion of the proxy nodes when the number of the cluster shared volumes is less than the number of the proxy nodes such that some of the proxy nodes do not participate in backing up the identified virtual machines; and

performing, by the processor, a backup operation using the proxy nodes assigned to the cluster shared volumes.

12. The non-transitory computer readable medium of claim 11 , the method further comprising assigning, by the processor, ownership of the cluster shared volumes to the proxy nodes participating in the backup operation to optimize a path between the cluster shared volumes and the proxy nodes participating in the backup operation.

13. The non-transitory computer readable medium of claim 11 , the method further comprising migrating, by the processor, agents to the portion of the proxy nodes that own the cluster shared volumes, wherein ownership of the cluster shared volumes enables access to physical disks associated with the cluster shared volumes.

14. The non-transitory computer readable medium of claim 11 , the method further comprising sorting, by the processor, the identified virtual machines prior to balancing the backup load, wherein the identified virtual machines are sorted by a size of data to be backed up from the cluster shared volumes.

15. The non-transitory computer readable medium of claim 11 , the method further comprising balancing, by the processor, the backup load, when the number of proxy nodes is less than the number of cluster shared volumes, by assigning the cluster shared volumes to the proxy nodes in a round robin fashion based on a size of data to be backed up from the cluster shared volumes, beginning with the smallest data size.

16. The non-transitory computer readable medium of claim 11 , the method further comprising backing up, by the processor, the identified virtual machines in parallel.

17. The non-transitory computer readable medium of claim 11 , the method further comprising instantiating, by the processor, agents on the proxy nodes, wherein the agents are configured to identify the cluster shared volumes associated with the identified virtual machines to be backed up.

18. The non-transitory computer readable medium of claim 11 , the method further comprising balancing, by the processor, the backup load by accounting for existing configurations including proxy nodes that already own a cluster shared volume.

19. The non-transitory computer readable medium of claim 11 , the method further comprising identifying, by the processor, the virtual machines to be backed up in the computing environment ad hoc, or based on a predetermined schedule.

20. The non-transitory computer readable medium of claim 11 , the method further comprising restoring, by the processor, at least one of the identified virtual machines to one of the one or more nodes in the cluster.

Assignments (10)
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 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 (052216/0758) 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
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: BODA, KOTESWARA R.; DAS, ABHISHEK; BUCHMAN, MATTHEW D.
To: EMC CORPORATION
Reel/Frame 051220/0645 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051230/0001 →