IP Library Granted Patent US 10,705,921
Granted Patent B2
US 10,705,921 · App. 16/050,324 · Granted Jul 7, 2020

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/22
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,705,921
App. No.
16/050,324
Granted
Jul 7, 2020
Kind
B2
Abstract

A first threshold corresponds to a data change at which a backup is triggered. A second threshold corresponds to a time interval at which the backup is triggered. A client is polled to obtain a first value indicating an amount of data changed since a last backup. A second value is tracked indicating an amount of time elapsed since the last backup. A determination is made as to whether to trigger the backup based on at least one of the first value exceeding the first threshold or the second value exceeding the second threshold. When the backup is not triggered because neither the first value exceeds the first threshold nor the second value exceeds the second threshold, the backup is triggered regardless based on a degree to which the first threshold has been reached, a degree to which the second threshold has been reached, and current usage of resources.

Claims (69)

1. 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 and second threshold limits, the first threshold limit corresponding to a data change at which a backup is triggered, and the second threshold limit corresponding to a maximum time interval at which the backup is triggered;

periodically polling a client to obtain a first value indicating an amount of data of the client that changed since a last backup of the client;

tracking a second value indicating an amount of time that elapsed since the last backup;

determining whether to trigger a backup of the client based on at least one of the first value exceeding the first threshold limit or the second value exceeding the second threshold limit; and

when the backup is not triggered because neither the first value exceeds the first threshold limit nor the second value exceeds the second threshold limit, triggering the backup of the client regardless based on a degree to which the first threshold limit has been reached, a degree to which the second threshold limit has been reached, and current usage of resources by the client,

wherein the triggering the backup regardless comprises:

dividing the amount of data of the client that changed since the last backup by the first threshold limit to calculate a first percent value, the first percent value indicating the degree to which the first threshold limit has been reached;

dividing the amount of time that elapsed since the last backup by the second threshold limit to calculate a second percent value, the second percent value indicating the degree to which the second threshold limit has been reached;

determining, for the first condition, whether each of the first and second percent values exceed a first predetermined threshold percent;

when each of the first and second percent values exceed the first predetermined threshold percent, determining that the first condition is satisfied when an average of the first and second percent values exceeds a second predetermined threshold percent;

obtaining a third percent value, the third percent value indicating the current usage of resources by the client;

deriving a complementary percent value of the third percent value; and

determining that the second condition is satisfied when an average of the first, second, and complementary percent values exceeds a third predetermined threshold percent.

2. The system of claim 1 wherein the one or more sequence of instructions which, when executed by the processor, cause the processor to carry out the steps of:

upon the triggering of the backup, issuing a backup request from the client to a backup management server; and

receiving, at the client from the backup management server, a backup work order responsive to the backup request.

3. The system of claim 1 wherein the one or more sequence of instructions which, when executed by the processor, cause the processor to carry out the steps of:

associating the first and second threshold limits with a first customer, the first threshold limit thereby being a first data change threshold at which a backup of a first client associated with the first customer is triggered, and the second threshold limit thereby being a first maximum time interval at which the backup of the first client is triggered;

configuring, for a second customer, a second data change threshold at which a backup of a second client associated with the second customer is triggered; and

configuring, for the second customer, a second maximum time interval at which the backup of the second client is triggered, wherein the first customer is different from the second customer, the first data change threshold is different from the second data change threshold, and the first maximum time interval is different from the second maximum time interval.

4. The system of claim 1 wherein the first threshold limit comprises a data size value.

5. The system of claim 1 wherein the second threshold limit comprises a duration of time value.

6. A method comprising:

configuring first and second threshold limits, the first threshold limit corresponding to a data change at which a backup is triggered, and the second threshold limit corresponding to a maximum time interval at which the backup is triggered;

periodically polling a client to obtain a first value indicating an amount of data of the client that changed since a last backup of the client;

tracking a second value indicating an amount of time that elapsed since the last backup;

determining whether to trigger a backup of the client based on at least one of the first value exceeding the first threshold limit or the second value exceeding the second threshold limit; and

when the backup is not triggered because neither the first value exceeds the first threshold limit nor the second value exceeds the second threshold limit, triggering the backup of the client regardless based on a degree to which the first threshold limit has been reached, a degree to which the second threshold limit has been reached, and current usage of resources by the client,

wherein the triggering the backup regardless comprises:

dividing the amount of data of the client that changed since the last backup by the first threshold limit to calculate a first percent value, the first percent value indicating the degree to which the first threshold limit has been reached;

dividing the amount of time that elapsed since the last backup by the second threshold limit to calculate a second percent value, the second percent value indicating the degree to which the second threshold limit has been reached;

determining, for the first condition, whether each of the first and second percent values exceed a first predetermined threshold percent;

when each of the first and second percent values exceed the first predetermined threshold percent, determining that the first condition is satisfied when an average of the first and second percent values exceeds a second predetermined threshold percent;

obtaining a third percent value, the third percent value indicating the current usage of resources by the client;

deriving a complementary percent value of the third percent value; and

determining that the second condition is satisfied when an average of the first, second, and complementary percent values exceeds a third predetermined threshold percent.

7. The method of claim 6 comprising:

upon the triggering of the backup, issuing a backup request from the client to a backup management server; and

receiving, at the client from the backup management server, a backup work order responsive to the backup request.

8. The method of claim 6 comprising:

associating the first and second threshold limits with a first customer, the first threshold limit thereby being a first data change threshold at which a backup of a first client associated with the first customer is triggered, and the second threshold limit thereby being a first maximum time interval at which the backup of the first client is triggered;

configuring, for a second customer, a second data change threshold at which a backup of a second client associated with the second customer is triggered; and

configuring, for the second customer, a second maximum time interval at which the backup of the second client is triggered, wherein the first customer is different from the second customer, the first data change threshold is different from the second data change threshold, and the first maximum time interval is different from the second maximum time interval.

9. The method of claim 6 wherein the first threshold limit comprises a data size value.

10. The method of claim 6 wherein the second threshold limit comprises a duration of time value.

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 and second threshold limits, the first threshold limit corresponding to a data change at which a backup is triggered, and the second threshold limit corresponding to a maximum time interval at which the backup is triggered;

periodically polling a client to obtain a first value indicating an amount of data of the client that changed since a last backup of the client;

tracking a second value indicating an amount of time that elapsed since the last backup;

determining whether to trigger a backup of the client based on at least one of the first value exceeding the first threshold limit or the second value exceeding the second threshold limit; and

when the backup is not triggered because neither the first value exceeds the first threshold limit nor the second value exceeds the second threshold limit, triggering the backup of the client regardless based on a degree to which the first threshold limit has been reached, a degree to which the second threshold limit has been reached, and current usage of resources by the client,

wherein the triggering the backup regardless comprises:

dividing the amount of data of the client that changed since the last backup by the first threshold limit to calculate a first percent value, the first percent value indicating the degree to which the first threshold limit has been reached;

dividing the amount of time that elapsed since the last backup by the second threshold limit to calculate a second percent value, the second percent value indicating the degree to which the second threshold limit has been reached;

determining, for the first condition, whether each of the first and second percent values exceed a first predetermined threshold percent;

when each of the first and second percent values exceed the first predetermined threshold percent, determining that the first condition is satisfied when an average of the first and second percent values exceeds a second predetermined threshold percent;

obtaining a third percent value, the third percent value indicating the current usage of resources by the client;

deriving a complementary percent value of the third percent value; and

determining that the second condition is satisfied when an average of the first, second, and complementary percent values exceeds a third predetermined threshold percent.

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

upon the triggering of the backup, issuing a backup request from the client to a backup management server; and

receiving, at the client from the backup management server, a backup work order responsive to the backup request.

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

associating the first and second threshold limits with a first customer, the first threshold limit thereby being a first data change threshold at which a backup of a first client associated with the first customer is triggered, and the second threshold limit thereby being a first maximum time interval at which the backup of the first client is triggered;

configuring, for a second customer, a second data change threshold at which a backup of a second client associated with the second customer is triggered; and

configuring, for the second customer, a second maximum time interval at which the backup of the second client is triggered, wherein the first customer is different from the second customer, the first data change threshold is different from the second data change threshold, and the first maximum time interval is different from the second maximum time interval.

14. The computer program product of claim 11 wherein the first threshold limit comprises a data size value.

15. The computer program product of claim 11 wherein the second threshold limit comprises a duration of time value.

Assignments (8)
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 (047648/0422) Recorded May 20, 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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 058298/0510 →
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 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: ASHOKKUMAR, PRAVIN KUMAR; ANDRA, SUNDER RAMESH; CHIDAMBARAM, ELAKKUVAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046512/0354 →