IP Library Granted Patent US 11,403,191
Granted Patent B2
US 11,403,191 · App. 17/078,510 · Granted Aug 2, 2022

Method for backup destination selection, electronic device, and computer program product

Inventors: Ren Wang (Shanghai, CN); Zhen Jia (Shanghai, CN); Jing Yu (Shanghai, CN); Qi Wang (Shanghai, CN); Yun Zhang (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1469G06F11/1451G06F11/1461G06F11/1464G06F11/1448G06F11/1458
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,403,191
App. No.
17/078,510
Granted
Aug 2, 2022
Kind
B2
Abstract

Implementations of the present disclosure provide a method for backup destination selection, an electronic device, and a computer program product. In one method, in a storage device set, a first group of candidate subsets is obtained, and the number of storage devices included in candidate subsets in the first group of candidate subsets is determined based on the number of copies specified by a backup task. A first group of subset codes of the first group of candidate subsets is determined. A second group of subset codes is generated according to the first group of subset codes, and codes in the second group of subset codes uniquely identify the candidate subsets. Based on the first group of candidate subsets and a second group of candidate subsets corresponding to the second group of subset codes, a target subset is selected as a backup destination of the backup task. According to example implementations of the present disclosure, a corresponding apparatus, a corresponding electronic device, and a corresponding computer program product are provided. The implementations of the present disclosure can greatly reduce the amount of calculation for selecting the target subset, and thereby improving the automation level and performance of the storage system.

Claims (63)

1. A method for selecting a backup destination for a backup task, comprising:

in a storage device set, obtaining a first group of candidate subsets, a number of storage devices included in candidate subsets in the first group of candidate subsets being determined based on a number of copies specified by the backup task;

determining a first group of subset codes of the first group of candidate subsets, codes in the first group of subset codes uniquely identifying the candidate subsets in the first group of candidate subsets;

generating a second group of subset codes according to the first group of subset codes, one code in the second group of subset codes uniquely identifying one candidate subset; and

based on the first group of candidate subsets and a second group of candidate subsets corresponding to the second group of subset codes, selecting a target subset as the backup destination of the backup task.

2. The method according to claim 1 , wherein determining the first group of subset codes of the first group of candidate subsets comprises: for a given candidate subset in the first group of candidate subsets,

determining the number of devices in multiple storage devices in the storage device set;

based on the number of devices, determining device codes of the multiple storage devices respectively; and

based on the device code of each storage device in the given candidate subset, determining a code of the given candidate subset.

3. The method according to claim 2 , wherein determining the device codes of the multiple storage devices respectively comprises: for a given storage device in the multiple storage devices,

based on the number of devices, determining a length of a device code of the given storage device; and

based on the length, representing the device code of the storage device in binary.

4. The method according to claim 3 , wherein generating the second group of subset codes according to the first group of subset codes comprises: swapping a part of the first group of subset codes to generate the second group of subset codes.

5. The method according to claim 4 , wherein swapping the part of the first group of subset codes comprises:

dividing each subset code in the first group of subset codes into multiple segments according to a predetermined length; and

swapping at least one of the multiple segments of each of the subset codes.

6. The method according to claim 3 , wherein generating the second group of subset codes according to the first group of subset codes comprises:

selecting at least one subset code from the first group of subset codes;

updating at least a part of the at least one subset code to form at least one updated subset code; and

based on the at least one updated subset code, determining the second group of subset codes.

7. The method according to claim 6 , wherein updating the at least a part of the at least one subset code comprises: changing at least a part of digits in the at least one subset code.

8. The method according to claim 1 , wherein determining the first group of candidate subsets comprises:

based on a predetermined performance requirement for the backup destination, selecting the first group of candidate subsets from multiple candidate subsets of the storage device set.

9. The method according to claim 8 , wherein the predetermined performance requirement comprises at least one of the following:

a distance between any two storage devices in each candidate subset in the first group of candidate subsets being greater than a threshold distance; and

an amount of available resources of any storage device in the first group of candidate subsets being greater than a threshold amount of resources.

10. The method according to claim 1 , wherein determining the first group of candidate subsets comprises:

determining global equalization of a candidate subset in multiple candidate subsets of the storage device set respectively, the global equalization indicating usage equalization of the storage device set in a case of storage devices in the candidate subset being used for the backup task; and

based on the global equalization of the candidate subset in multiple candidate subsets, determining the first group of candidate subsets.

11. The method according to claim 10 , wherein determining the global equalization of the candidate subset comprises: determining the global equalization based on at least one of the following:

usage metrics of each storage device in the candidate subset; and

time required to transfer backup data to each storage device in the candidate subset.

12. The method according to claim 1 , wherein selecting the target subset comprises:

determining global equalization of each candidate subset in the first group of candidate subsets and the second group of candidate subsets; and

in the first group of candidate subsets and the second group of candidate subsets, based on the global equalization of each of the candidate subsets, determining the target subset.

13. The method according to claim 12 , wherein determining the target subset comprises: for a given candidate subset in the first group of candidate subsets and the second group of candidate subsets, in response to determining that the global equalization of the given candidate subset is higher than a threshold equalization, identifying the given candidate subset as the target subset.

14. An electronic device, comprising:

at least one processor; and

at least one memory, storing computer program instructions, the at least one memory and the computer program instructions being configured to cause, with the at least one processor, the electronic device to perform an action of selecting a backup destination for a backup task, the action comprising:

in a storage device set, obtaining a first group of candidate subsets, a number of storage devices included in candidate subsets in the first group of candidate subsets being determined based on a number of copies specified by the backup task;

determining a first group of subset codes of the first group of candidate subsets, codes in the first group of subset codes uniquely identifying the candidate subsets in the first group of candidate subsets;

generating a second group of subset codes according to the first group of subset codes, codes in the second group of subset codes uniquely identifying candidate subsets; and

based on the first group of candidate subsets and a second group of candidate subsets corresponding to the second group of subset codes, selecting a target subset as the backup destination of the backup task.

15. The device according to claim 14 , wherein determining the first group of subset codes of the first group of candidate subsets comprises: for a given candidate subset in the first group of candidate subsets,

determining the number of devices in multiple storage devices in the storage device set;

based on the number of devices, determining device codes of the multiple storage devices respectively; and

based on the device code of each storage device in the given candidate subset, determining a code of the given candidate subset.

16. The device according to claim 15 , wherein determining the device codes of the multiple storage devices respectively comprises: for a given storage device in the multiple storage devices,

based on the number of devices, determining a length of a device code of the given storage device; and

based on the length, representing the device code of the storage device in binary.

17. The device according to claim 16 , wherein generating the second group of subset codes according to the first group of subset codes comprises: swapping a part of the first group of subset codes to generate the second group of subset codes.

18. The device according to claim 17 , wherein swapping the part of the first group of subset codes comprises:

according to a predetermined length, dividing each subset code in the first group of subset codes into multiple segments; and

swapping at least one of the multiple segments of each of the subset codes.

19. The device according to claim 16 , wherein generating the second group of subset codes according to the first group of subset codes comprises:

selecting at least one subset code from the first group of subset codes;

updating at least a part of the at least one subset code to form at least one updated subset code; and

based on the at least one updated subset code, determining the second group of subset codes.

20. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations of selecting a backup destination for a backup task, the operations comprising:

in a storage device set, obtaining a first group of candidate subsets, a number of storage devices included in candidate subsets in the first group of candidate subsets being determined based on a number of copies specified by the backup task;

determining a first group of subset codes of the first group of candidate subsets, codes in the first group of subset codes uniquely identifying the candidate subsets in the first group of candidate subsets;

generating a second group of subset codes according to the first group of subset codes, one code in the second group of subset codes uniquely identifying one candidate subset; and

based on the first group of candidate subsets and a second group of candidate subsets corresponding to the second group of subset codes, selecting a target subset as the backup destination of the backup task.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2020
From: WANG, REN; JIA, ZHEN; YU, JING; WANG, QI; ZHANG, YUN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054149/0475 →