IP Library Granted Patent US 11,061,732
Granted Patent B2
US 11,061,732 · App. 16/412,400 · Granted Jul 13, 2021

System and method for scalable backup services

Inventors: Shelesh Chopra (Bangalore, IN); Sunil Yadav (Bangalore, IN); Amit Jain (Bangalore, IN); Manish Sharma (Bangalore, IN); Aaditya Rakesh Bansal (Bangalore, IN); Sneha Yadav (Bangalore, IN); Jayashree B. Radha (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F9/505G06F9/45558G06F11/1448G06F11/3072G06F2009/45562G06F2009/45587
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,061,732
App. No.
16/412,400
Granted
Jul 13, 2021
Kind
B2
Abstract

A remote agent, for providing data protection services to virtual machines, includes persistent storage and a backup manager. The persistent storage is for storing a resource allocation calendar and lifecycle policies associated with the virtual machines. The backup manager obtains a virtual machine data package from a virtual machine of the virtual machines; identifies a computational load change point based on the lifecycle policies; predicts a magnitude of a computational load during a period of time demarcated by the computational load change point using, at least in part, the virtual machine data package; updates the resource allocation calendar to obtain an updated resource allocation calendar, the updating is based on: the identified computational load change point, and the magnitude of the computational load during the period of time; and generates a backup for the virtual machine using the updated resource allocation calendar.

Claims (86)

1. A remote agent for providing data protection services to virtual machines, comprising:

persistent storage for storing a resource allocation calendar and lifecycle policies associated with the virtual machines;

a hardware processor; and

a backup manager executing on the hardware processor, and programmed to:

obtain a virtual machine data package from a virtual machine of the virtual machines;

identify a computational load change point based on the lifecycle policies;

predict a magnitude of a computational load during a period of time demarcated by the computational load change point using, at least in part, the virtual machine data package;

update the resource allocation calendar to obtain an updated resource allocation calendar, wherein the updating is based on:

the identified computational load change point, and

the magnitude of the computational load during the period of time; and

generate a backup for the virtual machine using the updated resource allocation calendar.

2. The remote agent of claim 1 , wherein generating the backup for the virtual machine using the updated resource allocation calendar comprises:

identifying a new time period specified by the updated resource allocation calendar;

identifying a resource allocation associated with the new time period;

updating an existing resource allocation based on the resource allocation;

identifying a backup generation event during the new time period; and

generating a backup in response to the backup generation event using the updated existing resource allocation.

3. The remote agent of claim 2 , wherein the existing resource allocation is updated based on the resource allocation by:

instantiating a dynamic remote agent that utilizes computing resources separate from second computing resources of the remote agent when the resource allocation associated with the new time period is larger than a second resource allocation associated with a previous time period; and

terminating a second remote agent that utilizes third computing resources separate from the second computing resources of the remote agent when the resource allocation associated with the new time period is smaller than a third resource allocation associated with a second previous time period.

4. The remote agent of claim 3 , wherein the dynamic remote agent is instantiated prior to the backup generation event.

5. The remote agent of claim 2 , wherein generating the backup using the updated resource allocation calendar in response to the backup generation event comprises:

assigning a dynamic virtual machine instantiated when the existing resource allocation is updated to process metadata associated with the backup.

6. The remote agent of claim 5 , wherein processing the metadata associated with the backup enables the backup to be searched.

7. The remote agent of claim 1 , wherein the backup manager is further programmed to:

prior to obtaining the virtual machine data package:

instantiate a discovery agent in the virtual machine;

identify, using the discovery agent, assets of the virtual machine;

identify, using the discovery agent, applications associated with the assets;

sample, using the discovery agent, data change rates of the assets; and

generate the virtual machine data package based on at least the:

assets,

applications, and

samples of the data change rates.

8. A method for a remote agent to provide data protection services to virtual machines, comprising:

obtaining a virtual machine data package from a virtual machine of the virtual machines;

identifying a computational load change point based on lifecycle policies associated with the virtual machines;

predicting a magnitude of a computational load during a period of time demarcated by the computational load change point using, at least in part, the virtual machine data package;

updating a resource allocation calendar to obtain an updated resource allocation calendar, wherein the updating is based on:

the identified computational load change point, and

the magnitude of the computational load during the period of time; and

generating a backup for the virtual machine using the updated resource allocation calendar.

9. The method of claim 8 , wherein generating the backup for the virtual machine using the updated resource allocation calendar comprises:

identifying a new time period specified by the updated resource allocation calendar;

identifying a resource allocation associated with the new time period;

updating an existing resource allocation based on the resource allocation;

identifying a backup generation event during the new time period; and

generating a backup in response to the backup generation event using the updated existing resource allocation.

10. The method of claim 9 , wherein the existing resource allocation is updated based on the resource allocation by:

instantiating a dynamic remote agent that utilizes computing resources separate from second computing resources of the remote agent when the resource allocation associated with the new time period is larger than a second resource allocation associated with a previous time period; and

terminating a second remote agent that utilizes third computing resources separate from the second computing resources of the remote agent when the resource allocation associated with the new time period is smaller than a third resource allocation associated with a second previous time period.

11. The method of claim 10 , wherein the dynamic remote agent is instantiated prior to the backup generation event.

12. The method of claim 9 , wherein generating the backup using the updated resource allocation calendar in response to the backup generation event comprises:

assigning a dynamic virtual machine instantiated when the existing resource allocation is updated to process metadata associated with the backup.

13. The method of claim 12 , wherein processing the metadata associated with the backup enables the backup to be searched.

14. The method of claim 8 , further comprising:

prior to obtaining the virtual machine data package:

instantiating a discovery agent in the virtual machine;

identifying, using the discovery agent, assets of the virtual machine;

identifying, using the discovery agent, applications associated with the assets;

sampling, using the discovery agent, data change rates of the assets; and

generating the virtual machine data package based on at least the:

assets,

applications, and

samples of the data change rates.

15. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for method for a remote agent to provide data protection services to virtual machines, the method comprising:

obtaining a virtual machine data package from a virtual machine of the virtual machines;

identifying a computational load change point based on lifecycle policies associated with the virtual machines;

predicting a magnitude of a computational load during a period of time demarcated by the computational load change point using, at least in part, the virtual machine data package;

updating a resource allocation calendar to obtain an updated resource allocation calendar wherein the updating is based on:

the identified computational load change point, and

the magnitude of the computational load during the period of time; and

generating a backup for the virtual machine using the updated resource allocation calendar.

16. The non-transitory computer readable medium of claim 15 , wherein generating the backup for the virtual machine using the updated resource allocation calendar comprises:

identifying a new time period specified by the updated resource allocation calendar;

identifying a resource allocation associated with the new time period;

updating an existing resource allocation based on the resource allocation;

identifying a backup generation event during the new time period; and

generating a backup in response to the backup generation event using the updated existing resource allocation.

17. The non-transitory computer readable medium of claim 16 , wherein the existing resource allocation is updated based on the resource allocation by:

instantiating a dynamic remote agent that utilizes computing resources separate from second computing resources of the remote agent when the resource allocation associated with the new time period is larger than a second resource allocation associated with a previous time period; and

terminating a second remote agent that utilizes third computing resources separate from the second computing resources of the remote agent when the resource allocation associated with the new time period is smaller than a third resource allocation associated with a second previous time period.

18. The non-transitory computer readable medium of claim 17 , wherein the dynamic remote agent is instantiated prior to the backup generation event.

19. The non-transitory computer readable medium of claim 16 , wherein generating the backup using the updated resource allocation calendar in response to the backup generation event comprises:

assigning a dynamic virtual machine instantiated when the existing resource allocation is updated to process metadata associated with the backup.

20. The non-transitory computer readable medium of claim 19 , wherein processing the metadata associated with the backup enables the backup to be searched.

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 (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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: CHOPRA, SHELESH; YADAV, SUNIL; JAIN, AMIT; SHARMA, MANISH; BANSAL, AADITYA RAKESH; YADAV, SNEHA; RADHA, JAYASHREE B.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049190/0130 →
Continuity (1)
Related Publication 20200364071A1 · Nov 19, 2020