IP Library Granted Patent US 11,853,167
Granted Patent B2
US 11,853,167 · App. 16/917,851 · Granted Dec 26, 2023

Method, electronic device and computer program product for backup

Inventors: Jinru Yan (Shanghai, CN); Mengze Liao (Shanghai, CN); Min Liu (Shanghai, CN); Xiaoliang Zhu (Shanghai, CN); Zheyi Zhu (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1451G06N5/04G06F2201/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,853,167
App. No.
16/917,851
Granted
Dec 26, 2023
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, an electronic device, and a computer program product for backup. The method includes: determining a plurality of buffer periods associated with a plurality of pending backup operations of a plurality of objects, each buffer period being a preprocessing period for a corresponding pending backup operation. The method further includes: determining a plurality of predicted execution durations of the plurality of pending backup operations based on historical execution durations of respective historical backup operations of the plurality of objects. The method further includes: determining priorities of the plurality of pending backup operations based on the plurality of predicted execution durations and the plurality of buffer periods. The method further includes: executing the plurality of pending backup operations based on the priorities.

Claims (95)

1. A backup method, comprising:

determining a plurality of buffer periods associated with a plurality of pending backup operations of a plurality of objects, each buffer period of the plurality of buffer periods being a preprocessing period for a corresponding pending backup operation (CPBO) for one of the plurality of objects,

wherein each of the plurality of buffer periods is determined by:

before a user manages a backup operation of a corresponding object of the plurality of objects at a first time, setting, by the user, a threshold backup duration of the corresponding object and a corresponding buffer period of the plurality of buffer periods to meet the threshold backup duration;

determining a difference between the threshold backup duration and the corresponding buffer period to set execution of the CPBO at a second time that is after the first time,

wherein the corresponding buffer period is a period during which the CPBO is set to be executed before the CPBO's scheduled backup time,

wherein the CPBO specifies backing up a snapshot of a virtual machine to a storage device;

storing the corresponding buffer period in metadata of the corresponding object;

determining a plurality of predicted execution durations of the plurality of pending backup operations based on weighted average of historical execution durations of respective historical backup operations of the plurality of objects,

wherein when determining the plurality of predicted execution durations, a Holt-Winters seasonal prediction model is used;

determining priorities of the plurality of pending backup operations based on the plurality of predicted execution durations and the plurality of buffer periods

wherein when the plurality of buffer periods are the same, the priorities of the plurality of pending backup operations are determined based only on the plurality of predicted execution durations, and

executing the plurality of pending backup operations based on the priorities,

wherein a high-priority pending backup operation is executed before executing a low-priority pending backup operation,

wherein the high-priority pending backup operation and the low-priority pending backup operation are queued based on each backup operation's priority.

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

determining the plurality of pending backup operations of the plurality of objects expected to be executed at a predetermined time.

3. The method according to claim 1 , wherein determining the plurality of predicted execution durations comprises:

acquiring a plurality of historical execution durations of a plurality of historical backup operations of a first object among the plurality of objects within a predetermined time window; and

determining a predicted execution duration of a pending backup operation of the first object based on the plurality of historical execution durations.

4. The method according to claim 1 , wherein executing the plurality of pending backup operations comprises:

determining an execution sequence of the plurality of pending backup operations based on the priorities; and

executing the plurality of pending backup operations based on the execution sequence.

5. The method according to claim 1 , wherein determining the priorities comprises:

determining a first weight for the plurality of predicted execution durations, the first weight identifying an importance of the plurality of predicted execution durations in determining priorities;

determining a second weight for the plurality of buffer periods, the second weight identifying an importance of the plurality of buffer periods in determining priorities; and

determining priorities of the plurality of pending backup operations being executed based on the first weight, the second weight, the plurality of predicted execution durations, and the plurality of buffer periods.

6. The method according to claim 1 , wherein determining the priorities comprises:

determining a plurality of first weights for the plurality of predicted execution durations, each first weight identifying an importance of a predicted execution duration corresponding to each object in determining priorities;

determining a plurality of second weights for the plurality of buffer periods, each second weight identifying an importance of a buffer period corresponding to each object in determining priorities; and

determining priorities of the plurality of pending backup operations being executed based on the plurality of first weights, the plurality of second weights, the plurality of predicted execution durations, and the plurality of buffer periods.

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

determining an interval between a third time when a new backup is generated after a pending backup operation of a first object among the plurality of objects is executed and a fourth time when a previous backup of the first object is generated; and

determining that an error of the pending backup operation for the first object occurs in response to a duration of the interval being greater than a second threshold duration.

8. The method according to claim 1 , wherein determining the plurality of buffer periods comprises:

acquiring the plurality of buffer periods from respective metadata of the plurality of objects.

9. The method according to claim 1 , wherein the plurality of objects comprises at least one of a second virtual machine, a database, a file set, and a mail set.

10. An electronic device, comprising:

at least one processor; and

a memory, coupled to the at least one processor and having instructions stored thereon, wherein when executed by the at least one processor, the instructions cause the electronic device to perform a method, the method comprising:

determining a plurality of buffer periods associated with a plurality of pending backup operations of a plurality of objects, each buffer period of the plurality of buffer periods being a preprocessing period for a corresponding pending backup operation (CPBO) for one of the plurality of objects,

wherein each of the plurality of buffer periods is determined by:

before a user manages a backup operation of a corresponding object of the plurality of objects at a first time, setting, by the user, a threshold backup duration of the corresponding object and a corresponding buffer period of the plurality of buffer periods to meet the threshold backup duration;

determining a difference between the threshold backup duration and the corresponding buffer period to set execution of the CPBO at a second time that is after the first time,

 wherein the corresponding buffer period is a period during which the CPBO is set to be executed before the CPBO's scheduled backup time,

 wherein the CPBO specifies backing up a snapshot of a virtual machine to a storage device;

storing the corresponding buffer period in metadata of the corresponding object;

determining a plurality of predicted execution durations of the plurality of pending backup operations based on weighted average of historical execution durations of respective historical backup operations of the plurality of objects,

wherein when determining the plurality of predicted execution durations, a Holt-Winters seasonal prediction model is used;

determining priorities of the plurality of pending backup operations based on the plurality of predicted execution durations and the plurality of buffer periods

wherein when the plurality of buffer periods are the same, the priorities of the plurality of pending backup operations are determined based only on the plurality of predicted execution durations, and

executing the plurality of pending backup operations based on the priorities,

wherein a high-priority pending backup operation is executed before executing a low-priority pending backup operation,

wherein the high-priority pending backup operation and the low-priority pending backup operation are queued based on each backup operation's priority.

11. The electronic device according to claim 10 , wherein the method further comprises:

determining the plurality of pending backup operations of the plurality of objects expected to be executed at a predetermined time.

12. The electronic device according to claim 10 , wherein determining the plurality of predicted execution durations comprises:

acquiring a plurality of historical execution durations of a plurality of historical backup operations of a first object among the plurality of objects within a predetermined time window; and

determining a predicted execution duration of a pending backup operation of the first object based on the plurality of historical execution durations.

13. The electronic device according to claim 10 , wherein executing the plurality of pending backup operations comprises:

determining an execution sequence of the plurality of pending backup operations based on the priorities; and

executing the plurality of pending backup operations based on the execution sequence.

14. The electronic device according to claim 10 , wherein determining the priorities comprises:

determining a first weight for the plurality of predicted execution durations, the first weight identifying an importance of the plurality of predicted execution durations in determining priorities;

determining a second weight for the plurality of buffer periods, the second weight identifying an importance of the plurality of buffer periods in determining priorities; and

determining priorities of the plurality of pending backup operations being executed based on the first weight, the second weight, the plurality of predicted execution durations, and the plurality of buffer periods.

15. The electronic device according to claim 10 , wherein determining the priorities comprises:

determining a plurality of first weights for the plurality of predicted execution durations, each first weight identifying an importance of a predicted execution duration corresponding to each object in determining priorities;

determining a plurality of second weights for the plurality of buffer periods, each second weight identifying an importance of a buffer period corresponding to each object in determining priorities; and

determining priorities of the plurality of pending backup operations being executed based on the plurality of first weights, the plurality of second weights, the plurality of predicted execution durations, and the plurality of buffer periods.

16. The electronic device according to claim 10 , wherein the method further comprises:

determining an interval between a third time when a new backup is generated after a pending backup operation of a first object among the plurality of objects is executed and a fourth time when a previous backup of the first object is generated; and

determining that an error of the pending backup operation for the first object occurs in response to a duration of the interval being greater than a second threshold duration.

17. The electronic device according to claim 10 , wherein determining the plurality of buffer periods comprises:

acquiring the plurality of buffer periods from respective metadata of the plurality of objects.

18. The electronic device according to claim 10 , wherein plurality of object comprises at least one of a second virtual machine, a database, a file set, and a mail set.

19. A computer program product, tangibly stored on a non-volatile computer-readable medium and comprising machine-executable instructions, wherein the machine-executable instructions, when executed, cause a machine to perform a method, the method comprising:

determining a plurality of buffer periods associated with a plurality of pending backup operations of a plurality of objects, each buffer period of the plurality of buffer periods being a preprocessing period for a corresponding pending backup operation (CPBO) for one of the plurality of objects,

wherein each of the plurality of buffer periods is determined by:

before a user manages a backup operation of a corresponding object of the plurality of objects at a first time, setting, by the user, a threshold backup duration of the corresponding object and a corresponding buffer period of the plurality of buffer periods to meet the threshold backup duration;

determining a difference between the threshold backup duration and the corresponding buffer period to set execution of the CPBO at a second time that is after the first time,

wherein the corresponding buffer period is a period during which the CPBO is set to be executed before the CPBO's scheduled backup time,

wherein the CPBO specifies backing up a snapshot of a virtual machine to a storage device;

storing the corresponding buffer period in metadata of the corresponding object;

determining a plurality of predicted execution durations of the plurality of pending backup operations based on weighted average of historical execution durations of respective historical backup operations of the plurality of objects,

wherein when determining the plurality of predicted execution durations, a Holt-Winters seasonal prediction model is used;

determining priorities of the plurality of pending backup operations based on the plurality of predicted execution durations and the plurality of buffer periods

wherein when the plurality of buffer periods are the same, the priorities of the plurality of pending backup operations are determined based only on the plurality of predicted execution durations, and

executing the plurality of pending backup operations based on the priorities,

wherein a high-priority pending backup operation is executed before executing a low-priority pending backup operation,

wherein the high-priority pending backup operation and the low-priority pending backup operation are queued based on each backup operation's priority.

20. The computer program product to claim 19 , wherein determining the priorities comprises:

determining a first weight for the plurality of predicted execution durations, the first weight identifying an importance of the plurality of predicted execution durations in determining priorities;

determining a second weight for the plurality of buffer periods, the second weight identifying an importance of the plurality of buffer periods in determining priorities; and

determining priorities of the plurality of pending backup operations being executed based on the first weight, the second weight, the plurality of predicted execution durations, and the plurality of buffer periods.

Assignments (9)
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 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 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 053573/0535 →
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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: YAN, JINRU; LIAO, MENGZE; LIU, MIN; ZHU, XIAOLIANG; ZHU, ZHEYI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053100/0146 →
Priority Claims (1)
CN 202010475743.X · May 29, 2020 · national
Continuity (1)
Related Publication 20210374008A1 · Dec 2, 2021