IP Library Granted Patent US 11,481,276
Granted Patent B2
US 11,481,276 · App. 16/790,513 · Granted Oct 25, 2022

Backup agent scaling with evaluation of prior backup jobs

Inventors: Wei Wang (Chengdu, CN); Mark Malamut (Aliso Viejo, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1402G06N5/04G06N20/00G06F2201/80
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,481,276
App. No.
16/790,513
Granted
Oct 25, 2022
Kind
B2
Abstract

A number of backup agents to be deployed to a system can be predicted by training one or more machine learning (ML) objects of a first prediction algorithm and training one or more ML objects of a second prediction algorithm. The training can be performed with archived backup job data. Both prediction algorithms can be applied to the backup job data to predict execution duration of the backup jobs. The prediction algorithm with a lower error can be used to predict a total execution duration of a current number of backup jobs. An optimal number of backup agents can be predicted based on the predicted total execution duration and the current number of backup jobs.

Claims (46)

1. A method for scaling backup agents to be deployed for performing backup of a target system, comprising:

training one or more machine learning (ML) models of a first prediction algorithm with archived backup job samples;

applying the first prediction algorithm to the archived backup job samples to predict a first set of execution times;

training one or more second ML models of a second prediction algorithm that is different from the first prediction algorithm, with the archived backup job samples;

applying the second prediction algorithm to the archived backup job samples to predict a second set of execution times;

determining a total execution duration by applying a selected prediction algorithm to a total backup job number, wherein the selected prediction algorithm is selected among the first prediction algorithm and the second prediction algorithm based on which of the first set of execution times and the second set of execution times has a lower error in comparison to actual execution times of the archived backup job samples; and

determining a number of backup agents to deploy in a predefined time period based on the total execution duration and the total backup job number.

2. The method of claim 1 , wherein training the one or more ML models of the first prediction algorithm includes

arranging the archived backup job samples so that each job sample has features including an asset type indicator, a job start time, a target storage indicator, a backup size, and a backup recurrence, and

arranging the archived backup job samples into a plurality of clusters based on the features.

3. The method of claim 2 , wherein arranging the archived backup job samples into the plurality of clusters is performed with a K-Means algorithm, thereby training a K-Means model.

4. The method of claim 3 , wherein the plurality of clusters are filtered to only include successfully performed backup job samples.

5. The method of claim 4 , wherein training the one or more ML models of the first prediction algorithm includes applying linear regression on each of the filtered plurality of clusters to fit a linear regression model to each of the plurality of clusters, the fit of the linear regression model determining regression coefficients of the linear regression model.

6. The method of claim 1 , wherein training the one or more second ML models of the second prediction algorithm includes arranging the archived backup job samples so that each job sample includes a job scheduled timestamp and an execution duration.

7. The method of claim 6 , wherein the one or more second ML models of the second prediction algorithm includes an autoregressive integrated moving average (ARIMA) model and training the ARIMA model includes fitting the ARIMA model to the arranged archived backup job samples, the fit of the ARIMA model determining ARIMA coefficients of the ARIMA model.

8. The method of claim 1 , wherein determining the number of backup agents to deploy in the predefined time period based on the total execution duration and the total backup job number includes

arranging additional data samples, each data sample including a number of backup agents previously deployed in an associated backup, a total number of backup jobs required within time a slot, a total backup jobs execution duration, and a success ratio defined by a successful backup job number and the total number of backup jobs;

filtering the additional data samples to include only data samples having above a threshold success ratio;

applying polynomial regression to fit a polynomial regression model to the additional data samples, the fit determining coefficients of the polynomial regression model; and

applying the polynomial regression model to the total backup job number and the total execution duration to yield the number of backup agents to deploy in the predefined time period.

9. The method of claim 1 , wherein the total backup job number is defined by or calculated from a backup policy.

10. The method of claim 1 , wherein the lower error is determined based on which of the first set of execution times or the second set of execution times has a lower variance, each respective variance measuring how much each set of execution times differs from the actual execution times of the archived backup job samples on average.

11. The method of claim 1 , wherein training the one or more ML models of the first prediction algorithm includes a clustering model, and the one or more ML models of the second prediction algorithm does not include a clustering model.

12. The method of claim 1 , wherein the method is repeated automatically, and the archived backup job samples are continuously updated with performed backup job data each time to method is repeated, to hone the one or more ML models of the first prediction algorithm and the one or more ML models of the second prediction algorithm.

13. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

training one or more machine learning (ML) models of a first prediction algorithm with archived backup job samples;

applying the first prediction algorithm to the archived backup job samples to predict a first set of execution times;

training one or more second ML models of a second prediction algorithm that is different from the first prediction algorithm with the archived backup job samples;

applying the second prediction algorithm to the archived backup job samples to predict a second set of execution times;

determining a total execution duration by applying a selected prediction algorithm to a total backup job number, wherein the selected prediction algorithm is selected among the first prediction algorithm and the second prediction algorithm based on which of the first set of execution times and the second set of execution times has a lower error in comparison to actual execution times of the archived backup job samples; and

determining a number of backup agents to deploy in a predefined time period based on the total execution duration and the total backup job number.

14. The non-transitory machine-readable medium of claim 13 , wherein training the one or more ML models of the first prediction algorithm includes

arranging the archived backup job samples so that each job sample has features including an asset type indicator, a job start time, a target storage indicator, a backup size, and a backup recurrence, and

arranging the archived backup job samples into a plurality of clusters based on the features.

15. The non-transitory machine-readable medium of claim 14 , wherein arranging the archived backup job samples into the plurality of clusters is performed with a K-Means algorithm, thereby training a K-Means model.

16. The non-transitory machine-readable medium of claim 15 , wherein the plurality of clusters are filtered to only include successfully performed backup job samples.

17. The non-transitory machine-readable medium of claim 16 , wherein training the one or more ML models of the first prediction algorithm includes applying linear regression on each of the filtered plurality of clusters to fit a linear regression model to each of the plurality of clusters, the fit of the linear regression model determining regression coefficients of the linear regression model.

18. The non-transitory machine-readable medium of claim 13 , wherein training the one or more second ML models of the second prediction algorithm includes arranging the archived backup job samples so that each job sample includes a job scheduled timestamp and an execution duration.

19. The non-transitory machine-readable medium of claim 18 , wherein the one or more second ML models of the second prediction algorithm includes an autoregressive integrated moving average (ARIMA) model and training the ARIMA model includes fitting the ARIMA model to the arranged archived backup job samples, the fit of the ARIMA model determining ARIMA coefficients of the ARIMA model.

20. A data processing system including at least one hardware processor, the at least one hardware processor coupled to a memory programmed with executable instructions that, when executed by the at least one hardware processor, perform operations comprising:

training one or more machine learning (ML) models of a first prediction algorithm with archived backup job samples;

applying the first prediction algorithm to the archived backup job samples to predict a first set of execution times;

training one or more second ML models of a second prediction algorithm that is different from the first prediction algorithm, with the archived backup job samples;

applying the second prediction algorithm to the archived backup job samples to predict a second set of execution times;

determining a total execution duration by applying a selected prediction algorithm to a total backup job number, wherein the selected prediction algorithm is selected among the first prediction algorithm and the second prediction algorithm based on which of the first set of execution times and the second set of execution times has a lower error in comparison to actual execution times of the archived backup job samples; and

determining a number of backup agents to deploy in a predefined time period based on the total execution duration and the total backup job number.

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 13, 2020
From: WANG, WEI; MALAMUT, MARK
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051816/0597 →