IP Library Granted Patent US 11,150,999
Granted Patent B2
US 11,150,999 · App. 16/794,720 · Granted Oct 19, 2021

Method, device, and computer program product for scheduling backup jobs

Inventors: Jun Tang (Chengdu, CN); Wei Wang (Chengdu, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1461G06F9/546G06F11/1451G06F11/1464G06F11/1469
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,150,999
App. No.
16/794,720
Granted
Oct 19, 2021
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, device, and computer program product for scheduling backup jobs. There is provided a method of scheduling backup jobs, comprising: in response to detecting that a target backup job is generated, obtaining predetermined execution information of the target backup job; determining an execution priority of the target backup job based on the predetermined execution information of the target backup job; determining an execution priority of an existing backup job in a waiting queue; and adding the target backup job to the waiting queue based on the execution priority of the existing backup job and the execution priority of the target backup job. Through embodiments of the present disclosure, it enables better utilization of system resources to achieve the Recover Point Objective for important data, ensuring a Service Level Agreement.

Claims (77)

1. A method of scheduling backup jobs, comprising:

in response to detecting that a target backup job is generated, obtaining predetermined execution information of the target backup job, wherein the predetermined execution information of the target backup job includes a predicated execution duration of the target backup job estimated using an autoregressive integrated moving average (ARIMA) model according to historical data of backup job execution;

determining an execution priority of the target backup job based on the predetermined execution information of the target backup job;

determining an execution priority of an existing backup job in a waiting queue; and

adding the target backup job to the waiting queue based on the execution priority of the existing backup job and the execution priority of the target backup job.

2. The method according to claim 1 , wherein obtaining the predetermined execution information of the target backup job comprises:

obtaining at least one of the following: a predetermined priority and a predetermined execution interval.

3. The method according to claim 1 , further comprising:

in response to determining that there is an available capacity in a backup system for executing backup jobs, determining execution priorities of a plurality of existing backup jobs in the waiting queue;

sorting the plurality of existing backup jobs based on the execution priorities of the plurality of existing backup jobs;

removing, based on a result of the sorting, a predetermined number of existing backup jobs from the waiting queue; and

executing the removed existing backup jobs.

4. The method according to claim 1 , wherein determining the execution priority of the target backup job comprises:

obtaining an adjustment parameter for the predetermined execution information of the target backup job; and

determining the execution priority of the target backup job based on the predetermined execution information of the target backup job and the adjustment parameter.

5. The method according to claim 4 , wherein obtaining the adjustment parameters comprises:

obtaining data related to completed backup jobs; and

determining the adjustment parameters based on the data.

6. The method according to claim 1 , wherein determining the execution priority of the existing backup job comprises:

obtaining predetermined execution information of the existing backup job, the predetermined execution information of the existing backup job comprising at least one of the following: a predetermined priority, a predetermined execution interval, and a predicated execution duration of the existing backup job;

determining a waiting time period of the existing backup job in the waiting queue;

obtaining adjustment parameters for the waiting time period and the predetermined execution information of the existing backup job; and

determining the execution priority of the existing backup job based on the waiting time period, the predetermined execution information of the existing backup job, and the adjustment parameters.

7. The method according to claim 1 , wherein determining the execution priority of the existing backup job comprises:

obtaining a predetermined value related to the execution priority of the existing backup job, the predetermined value having been determined through predetermined execution information of the existing backup job;

determining a waiting time period of the existing backup job in the waiting queue; and

determining the execution priority of the existing backup job based on the predetermined value and the waiting time period.

8. The method according to claim 1 , wherein adding the target backup job to the waiting queue comprises:

sorting the target backup job and the existing backup job based on the execution priority of the target backup job and the execution priority of the existing backup job; and

adding, based on a result of the sorting, the target backup job to the waiting queue.

9. An electronic device, comprising:

at least one processing unit; and

at least one memory, coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts, the acts comprising:

in response to detecting that a target backup job is generated, obtaining predetermined execution information of the target backup job, wherein the predetermined execution information of the target backup job includes a predicated execution duration of the target backup job estimated using an autoregressive integrated moving average (ARIMA) model according to historical data of backup job execution;

determining an execution priority of the target backup job based on the predetermined execution information of the target backup job;

determining an execution priority of an existing backup job in a waiting queue; and

adding the target backup job to the waiting queue based on the execution priority of the existing backup job and the execution priority of the target backup job.

10. The device according to claim 9 , wherein obtaining the predetermined execution information of the target backup job comprises:

obtaining at least one of the following: a predetermined priority and a predetermined execution interval.

11. The device according to claim 9 , wherein the acts further comprise:

in response to determining that there is an available capacity in a backup system for executing backup jobs, determining execution priorities of a plurality of existing backup jobs in the waiting queue;

sorting the plurality of existing backup jobs based on the execution priorities of the plurality of existing backup jobs;

removing, based on a result of the sorting, a predetermined number of existing backup jobs from the waiting queue; and

executing the removed existing backup jobs.

12. The device according to claim 9 , wherein determining the execution priority of the target backup job comprises:

obtaining an adjustment parameter for the predetermined execution information of the target backup job; and

determining the execution priority of the target backup job based on the predetermined execution information of the target backup job and the adjustment parameter.

13. The device according to claim 12 , wherein obtaining the adjustment parameters comprises:

obtaining data related to completed backup jobs; and

determining the adjustment parameters based on the data.

14. The device according to claim 9 , wherein determining the execution priority of the existing backup job comprises:

obtaining predetermined execution information of the existing backup job, the predetermined execution information of the existing backup job comprising at least one of the following: a predetermined priority, a predetermined execution interval and a predicated execution duration of the existing backup job;

determining a waiting time period of the existing backup job in the waiting queue;

obtaining adjustment parameters for the waiting time period and the predetermined execution information of the existing backup job; and

determining the execution priority of the existing backup job based on the waiting time period, the predetermined execution information of the existing backup job, and the adjustment parameters.

15. The device according to claim 9 , wherein determining the execution priority of the existing backup job comprises:

obtaining a predetermined value related to the execution priority of the existing backup job, the predetermined value having been determined through predetermined execution information of the existing backup job;

determining a waiting time period of the existing backup job in the waiting queue; and

determining the execution priority of the existing backup job based on the predetermined value and the waiting time period.

16. The device according to claim 9 , wherein adding the target backup job to the waiting queue comprises:

sorting the target backup job and the existing backup job based on the execution priority of the target backup job and the execution priority of the existing backup job; and

adding, based on a result of the sorting, the target backup job to the waiting queue.

17. A computer program product tangibly stored on a non-transitory computer-readable medium and comprising machine-executable instructions, the machine-executable instructions, when executed by a device, cause the device to perform operations, the operations comprising:

in response to detecting that a target backup job is generated, obtaining predetermined execution information of the target backup job, wherein the predetermined execution information of the target backup job includes a predicated execution duration of the target backup job estimated using an autoregressive integrated moving average (ARIMA) model according to historical data of backup job execution;

determining an execution priority of the target backup job based on the predetermined execution information of the target backup job;

determining an execution priority of an existing backup job in a waiting queue; and

adding the target backup job to the waiting queue based on the execution priority of the existing backup job and the execution priority of the target backup job.

18. The computer program product according to claim 17 , wherein obtaining the predetermined execution information of the target backup job comprises:

obtaining at least one of the following: a predetermined priority and a predetermined execution interval.

19. The computer program product according to claim 17 , wherein the operations further comprise:

in response to determining that there is an available capacity in a backup system for executing backup jobs, determining execution priorities of a plurality of existing backup jobs in the waiting queue;

sorting the plurality of existing backup jobs based on the execution priorities of the plurality of existing backup jobs;

removing, based on a result of the sorting, a predetermined number of existing backup jobs from the waiting queue; and

executing the removed existing backup jobs.

20. The computer program product according to claim 17 , wherein determining the execution priority of the target backup job comprises:

obtaining an adjustment parameter for the predetermined execution information of the target backup job; and

determining the execution priority of the target backup job based on the predetermined execution information of the target backup job and the adjustment parameter.

Assignments (13)
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 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 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 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 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 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: TANG, JUN; WANG, WEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051859/0031 →