IP Library Granted Patent US 11,455,214
Granted Patent B2
US 11,455,214 · App. 16/879,863 · Granted Sep 27, 2022

Client data driven smart backup scheduler

Inventors: Pravin Kumar Ashokkumar (Bangalore, IN); Sunder Ramesh Andra (Bangalore, IN); Elakkuvan Chidambaram (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1461G06F11/1451G06F11/1469H04L67/535
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,455,214
App. No.
16/879,863
Granted
Sep 27, 2022
Kind
B2
Abstract

First, second, and third threshold limits are configured. The first threshold limit corresponds to a data change at which a backup of a client should be triggered. The second threshold limit corresponds to a maximum time interval at which the backup should be triggered. The third threshold limit corresponds to a utilization of resources at the client above which the backup should not be triggered. An amount of data change since a last backup, an elapsed time, and level of resource utilization at the client is monitored. A determination is made that at least one of the amount of data change has reached the first threshold limit or the elapsed time has reached the second threshold limit. The backup of the client is prevented from occurring because the level of resource utilization at the client is above the third threshold limit.

Claims (63)

1. A method comprising:

configuring first, second, and third threshold limits, the first threshold limit corresponding to a data change at which a backup of a client should be triggered, the second threshold limit corresponding to a maximum time interval at which the backup should be triggered, and the third threshold limit corresponding to a utilization of resources at the client above which the backup should not be triggered;

monitoring an amount of data change since a last backup of the client, an elapsed time since the last backup, and a level of resource utilization at the client;

determining that at least one of the amount of data change has reached the first threshold limit or the elapsed time has reached the second threshold limit; and

preventing the backup of the client from occurring because the level of resource utilization at the client is above the third threshold limit, wherein the client is associated with a virtual machine, and the method further comprises:

monitoring the amount of data change by issuing a first changed block request to a virtual machine manager of the virtual machine for blocks of the virtual machine that have changed;

maintaining a first listing of changed blocks as reported by the virtual machine manager in response to the first changed block request;

postponing the backup to a later time when the level of resource utilization at the client has decreased;

at the later time, issuing a second changed block request to the virtual machine manager for blocks of the virtual machine that have changed;

receiving a second listing of changed blocks as reported by the virtual machine manager in response to the second changed block request, wherein the virtual machine manager reports blocks that have changed since the first changed block request, the virtual machine manager thereby having reset a changed block tracker for the virtual machine upon receiving the first changed block request; and

calculating, at the later time, blocks to be backed up using the first listing of changed blocks and the second listing of changed blocks.

2. The method of claim 1 further comprising:

after the preventing the backup of the client from occurring, determining that the level of resource utilization at the client is below the third threshold limit;

transmitting a backup request from the client to a backup server to trigger the backup; and

receiving, at the client, a backup work order from the backup server to perform the backup.

3. The method of claim 1 further comprising:

prompting a user of the client for the third threshold limit corresponding to the utilization of resources at the client above which the backup should not be triggered.

4. The method of claim 1 further comprising:

upon determining that at least one of the amount of data change has reached the first threshold limit or the elapsed time has reached the second threshold limit, polling the client to obtain current resource usage information to determine whether the backup should be prevented.

5. The method of claim 1 further comprising:

after the preventing the backup of the client from occurring, allowing the backup when the level of resource utilization is below the third threshold limit.

6. A system comprising: a processor; and memory configured to store one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

configuring first, second, and third threshold limits, the first threshold limit corresponding to a data change at which a backup of a client should be triggered, the second threshold limit corresponding to a maximum time interval at which the backup should be triggered, and the third threshold limit corresponding to a utilization of resources at the client above which the backup should not be triggered;

monitoring an amount of data change since a last backup of the client, an elapsed time since the last backup, and a level of resource utilization at the client;

determining that at least one of the amount of data change has reached the first threshold limit or the elapsed time has reached the second threshold limit; and

preventing the backup of the client from occurring because the level of resource utilization at the client is above the third threshold limit, wherein the client is associated with a virtual machine, and the processor further carries out the steps of:

monitoring the amount of data change by issuing a first changed block request to a virtual machine manager of the virtual machine for blocks of the virtual machine that have changed;

maintaining a first listing of changed blocks as reported by the virtual machine manager in response to the first changed block request;

postponing the backup to a later time when the level of resource utilization at the client has decreased;

at the later time, issuing a second changed block request to the virtual machine manager for blocks of the virtual machine that have changed;

receiving a second listing of changed blocks as reported by the virtual machine manager in response to the second changed block request, wherein the virtual machine manager reports blocks that have changed since the first changed block request, the virtual machine manager thereby having reset a changed block tracker for the virtual machine upon receiving the first changed block request; and

calculating, at the later time, blocks to be backed up using the first listing of changed blocks and the second listing of changed blocks.

7. The system of claim 6 wherein the processor further carries out the steps of:

after the preventing the backup of the client from occurring, determining that the level of resource utilization at the client is below the third threshold limit;

transmitting a backup request from the client to a backup server to trigger the backup; and

receiving, at the client, a backup work order from the backup server to perform the backup.

8. The system of claim 6 wherein the processor further carries out the steps of:

prompting a user of the client for the third threshold limit corresponding to the utilization of resources at the client above which the backup should not be triggered.

9. The system of claim 6 wherein the processor further carries out the steps of:

upon determining that at least one of the amount of data change has reached the first threshold limit or the elapsed time has reached the second threshold limit, polling the client to obtain current resource usage information to determine whether the backup should be prevented.

10. The system of claim 6 wherein the processor further carries out the steps of:

after the preventing the backup of the client from occurring, allowing the backup when the level of resource utilization is below the third threshold limit.

11. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method comprising:

configuring first, second, and third threshold limits, the first threshold limit corresponding to a data change at which a backup of a client should be triggered, the second threshold limit corresponding to a maximum time interval at which the backup should be triggered, and the third threshold limit corresponding to a utilization of resources at the client above which the backup should not be triggered;

monitoring an amount of data change since a last backup of the client, an elapsed time since the last backup, and a level of resource utilization at the client;

determining that at least one of the amount of data change has reached the first threshold limit or the elapsed time has reached the second threshold limit; and

preventing the backup of the client from occurring because the level of resource utilization at the client is above the third threshold limit, wherein the client is associated with a virtual machine, and the method further comprises:

monitoring the amount of data change by issuing a first changed block request to a virtual machine manager of the virtual machine for blocks of the virtual machine that have changed;

maintaining a first listing of changed blocks as reported by the virtual machine manager in response to the first changed block request;

postponing the backup to a later time when the level of resource utilization at the client has decreased;

at the later time, issuing a second changed block request to the virtual machine manager for blocks of the virtual machine that have changed;

receiving a second listing of changed blocks as reported by the virtual machine manager in response to the second changed block request, wherein the virtual machine manager reports blocks that have changed since the first changed block request, the virtual machine manager thereby having reset a changed block tracker for the virtual machine upon receiving the first changed block request; and

calculating, at the later time, blocks to be backed up using the first listing of changed blocks and the second listing of changed blocks.

12. The computer program product of claim 11 wherein the method further comprises:

after the preventing the backup of the client from occurring, determining that the level of resource utilization at the client is below the third threshold limit;

transmitting a backup request from the client to a backup server to trigger the backup; and

receiving, at the client, a backup work order from the backup server to perform the backup.

13. The computer program product of claim 11 wherein the method further comprises:

prompting a user of the client for the third threshold limit corresponding to the utilization of resources at the client above which the backup should not be triggered.

14. The computer program product of claim 11 wherein the method further comprises:

upon determining that at least one of the amount of data change has reached the first threshold limit or the elapsed time has reached the second threshold limit, polling the client to obtain current resource usage information to determine whether the backup should be prevented.

15. The computer program product of claim 11 wherein the method further comprises:

after the preventing the backup of the client from occurring, allowing the backup when the level of resource utilization is below the third threshold limit.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 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 060333/0106 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 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 060333/0001 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →