IP Library Granted Patent US 11,847,030
Granted Patent B2
US 11,847,030 · App. 16/794,891 · Granted Dec 19, 2023

Prioritizing virtual machines for backup protection at a virtual machine disk level

Inventors: Sharath Talkad Srinivasan (Bengaluru, IN); Smitha Prakash Kalburgi (Banglore, IN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1464G06F9/45558G06F11/1451G06F2009/45583G06F2009/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,847,030
App. No.
16/794,891
Granted
Dec 19, 2023
Kind
B2
Abstract

According to one embodiment, a method identifies a plurality of parameters associated with one or more virtual machines to be backed up to a backup storage system and a number of available backup proxy sessions. The method further assigns each of the available backup proxy sessions to a virtual disk of the one or more virtual machines based on the plurality of parameters and the number of available backup proxy sessions. The method then initiates backup operations, wherein each assigned backup proxy session is to back up a corresponding virtual disk to which it is assigned.

Claims (70)

1. A method for performing backup operations, comprising:

receiving a request to backup one or more virtual machines to a backup storage system;

identifying a plurality of parameters associated with the one or more virtual machines to be backed up, wherein the plurality of parameters includes a number of the one or more virtual machines to be backed up and a number of virtual disks associated with each of the one or more virtual machines requested to be backed up;

identifying available backup proxy sessions in a backup proxy server, wherein the available backup proxy sessions are assignable backup processes in the backup proxy server in response to the request for backing up the one or more virtual machines;

determining a number of the available backup proxy sessions in the backup proxy server exceeds the number of one or more virtual machines to be backed up;

in response to determining the number of available backup proxy sessions exceeds the number of virtual machines to be backed up:

assigning a different backup proxy session of the available backup proxy sessions in the backup proxy server to one virtual disk of each of the one or more virtual machines based on the plurality of parameters and the number of the available backup proxy sessions in the backup proxy server;

determining a number of extra backup proxy sessions, wherein the number of extra backup proxy sessions is a number of available proxy sessions remaining without an assigned virtual disk after assignment of the different backup proxy session of the available backup proxy sessions in the backup proxy server to the one virtual disk of each of the one or more virtual machines;

identifying unassigned virtual disks, wherein the number of unassigned virtual disks is a number of virtual disks associated with the one or more virtual machines remaining without an assigned backup proxy session after assignment of the different backup proxy session of the available backup proxy sessions in the backup proxy server to the one virtual disk of each of the one or more virtual machines;

assigning the extra backup proxy sessions to the unassigned virtual disks according to the number of virtual disks associated with each of the one or more virtual machines to be backed up, wherein each of the extra backup proxy sessions is assigned to one of the unassigned virtual disks of the one or more virtual machines; and

in response to assignment of the extra backup proxy sessions, initiating backup operations using each assigned backup proxy session and each assigned extra backup proxy session to back up a corresponding virtual disk to which it is assigned.

2. The method of claim 1 , wherein the plurality of parameters comprises:

a size associated with each of the virtual disks of the one or more virtual machines.

3. The method of claim 1 , wherein assigning the extra backup proxy sessions further comprises:

assigning the extra backup proxy sessions to one or more disks of a virtual machine of the one or more virtual machines with the largest number of virtual disks.

4. The method of claim 1 , wherein assigning the extra backup proxy sessions further comprises:

assigning a first portion of the extra backup proxy sessions to one or more virtual disks of a first virtual machine of the one or more virtual machines with the largest number of virtual disks; and

assigning a second portion of the extra backup proxy sessions to one or more virtual disks of a second virtual machine of the one or more virtual machines with a second largest number of virtual disks.

5. The method of claim 2 , wherein the extra backup proxy sessions are assigned to the unassigned virtual disks in descending order of the size of the unassigned virtual disks.

6. The method of claim 1 , further comprising:

in response to determining that a backup proxy session has become idle, reassigning the backup proxy session based on the plurality of parameters.

7. The method of claim 1 , wherein identifying the unassigned virtual disks comprises generating a list of virtual machines with at least one unassigned virtual disk based on the number of virtual disks associated with each of the one or more virtual machines to be backed up, and wherein the extra backup proxy sessions are assigned to the unassigned virtual disks based on the list of virtual machines with at least one unassigned virtual disk.

8. A system comprising:

a memory;

a processor, coupled to the memory, to:

receive a request to backup one or more virtual machines to a backup storage system;

identify a plurality of parameters associated with the one or more virtual machines to be backed up, wherein the plurality of parameters includes a number of the one or more virtual machines to be backed up and a number of virtual disks associated with each of the one or more virtual machines requested to be backed up;

identify available backup proxy sessions in a backup proxy server, wherein the available backup proxy sessions are assignable backup processes in the backup proxy server in response to the request for backing up the one or more virtual machines;

determine a number of the available backup proxy sessions in the backup proxy server;

determine the number of available backup proxy sessions exceeds the number of one or more virtual machines to be backed up;

in response to determining the number of available backup proxy sessions exceeds the number of virtual machines to be backed up:

assign a different backup proxy session of the available backup proxy sessions in the backup proxy server to one virtual disk of each of the one or more virtual machines based on the plurality of parameters and the number of the available backup proxy sessions;

determine a number of extra backup proxy sessions, wherein the number of extra backup proxy sessions is a number of available proxy sessions remaining without an assigned virtual disk after assignment of the different backup proxy session of the available backup proxy sessions in the backup proxy server to the one virtual disk of each of the one or more virtual machines;

identify unassigned virtual disks, wherein the number of unassigned virtual disks is a number of virtual disks associated with the one or more virtual machines remaining without an assigned backup proxy session after assignment of the different backup proxy session of the available backup proxy sessions in the backup proxy server to the one virtual disk of each of the one or more virtual machines;

assign the extra backup proxy sessions to the unassigned virtual disks according to the number of virtual disks associated with each of the one or more virtual machines to be backed up, wherein each of the extra backup proxy sessions is assigned to one of the unassigned virtual disks of the one or more virtual machines; and

in response to assignment of the extra backup proxy sessions, initiate backup operations using each assigned backup proxy session and each assigned extra backup proxy session to back up a corresponding virtual disk to which it is assigned.

9. The system of claim 8 , wherein the plurality of parameters comprises:

a size associated with each of the virtual disks of the one or more virtual machines.

10. The system of claim 8 , wherein to assign the extra backup proxy sessions, the processor is further configured to:

assign the extra backup proxy sessions to one or more disks of a virtual machine of the one or more virtual machines with the largest number of virtual disks.

11. The system of claim 8 , wherein to assign the extra backup proxy sessions, the processor is further to:

assign a first portion of the extra backup proxy sessions to one or more virtual disks of a first virtual machine of the one or more virtual machines with the largest number of virtual disks; and

assign a second portion of the extra backup proxy sessions to one or more virtual disks of a second virtual machine of the one or more virtual machines with a second largest number of virtual disks.

12. The system of claim 9 , wherein the extra backup proxy sessions are assigned to the unassigned virtual disks in descending order of the size of the unassigned virtual disks.

13. The system of claim 8 , wherein the processor is further to:

in response to determining that a backup proxy session has become idle, reassign the backup proxy session based on the plurality of parameters.

14. The system of claim 8 , wherein identifying the unassigned virtual disks comprises generating a list of virtual machines with at least one unassigned virtual disk based on the number of virtual disks associated with each of the one or more virtual machines to be backed up, and wherein the extra backup proxy sessions are assigned to the unassigned virtual disks based on the list of virtual machines with at least one unassigned virtual disk.

15. A non-transitory machine-readable medium having instructions stored therein, that when executed by a processing device, perform operations comprising:

receiving a request to backup one or more virtual machines to a backup storage system;

identifying a number of virtual machines to be backed up and a number of virtual disks associated with each of the one or more virtual machines to be backed up;

identifying available backup proxy sessions in a backup proxy server available to perform the backup,

wherein the available backup proxy sessions are assignable backup processes in the backup proxy server in response to the request to back up the one or more virtual machines to the backup storage system;

determining a number of the available backup proxy sessions in the backup proxy server;

determining the number of available backup proxy sessions exceeds the number of one or more virtual machines to be backed up;

in response to determining the number of available backup proxy sessions exceeds the number of virtual machines to be backed up:

assigning a different backup proxy session of the available backup proxy sessions in the backup proxy server to one virtual disk of each of the one or more virtual machines based on the number of the available backup proxy sessions in the backup proxy server;

determining a number of extra backup proxy sessions, wherein the number of extra backup proxy sessions is a number of available proxy sessions remaining without an assigned virtual disk after assignment of the different backup proxy session of the available backup proxy sessions in the backup proxy server to the one virtual disk of each of the one or more virtual machines;

identifying unassigned virtual disks, wherein the number of unassigned virtual disks is a number of virtual disks associated with the one or more virtual machines remaining without an assigned backup proxy session after assignment of the different backup proxy session of the available backup proxy sessions in the backup proxy server to the one virtual disk of each of the one or more virtual machines

assigning the extra backup proxy sessions to the unassigned virtual disks according to the number of virtual disks associated with each of the one or more virtual machines to be backed up, wherein each of the extra backup proxy sessions is assigned to one of the unassigned virtual disks; and

in response to assignment of the extra backup proxy sessions, initiating backup operations using each assigned backup proxy session and each assigned extra backup proxy session to back up a corresponding virtual disk to which it is assigned.

16. The non-transitory machine-readable medium of claim 15 , wherein assigning the extra backup proxy sessions comprises:

assigning the extra backup proxy sessions to one or more disks of a virtual machine of the one or more virtual machines with the largest number of virtual disks.

17. The non-transitory machine-readable medium of claim 15 , wherein assigning the extra backup proxy sessions comprises:

assigning a first portion of the extra backup proxy sessions to one or more virtual disks of a first virtual machine of the one or more virtual machines with a largest number of virtual disks; and

assigning a second portion of the extra backup proxy sessions to one or more virtual disks of a second virtual machine of the one or more virtual machines with a second largest number of virtual disks.

18. The non-transitory machine-readable medium of claim 15 , wherein the extra backup proxy sessions are assigned to the unassigned virtual disks in descending order of a size of the unassigned virtual disks.

19. The non-transitory machine-readable medium of claim 15 , wherein initiating backup operations comprises:

calculating an estimated backup time for each of the one or more virtual machines based on network speed and the assignment of the backup proxy sessions; and

determining an order in which virtual machines are backed up based on the estimated backup time for each of the one or more virtual machines.

20. The non-transitory machine-readable medium of claim 15 , wherein identifying the unassigned virtual disks comprises generating a list of virtual machines with at least one unassigned virtual disk based on the number of virtual disks associated with each of the one or more virtual machines to be backed up, and wherein the extra backup proxy sessions are assigned to the unassigned virtual disks based on the list of virtual machines with at least one unassigned virtual disk.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 060436/0582 →
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 (052851/0081) 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 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
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 INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 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 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 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 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2020
From: SRINIVASAN, SHARATH TALKAD; KALBURGI, SMITHA PRAKASH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051971/0060 →