IP Library Granted Patent US 11,928,035
Granted Patent B2
US 11,928,035 · App. 16/807,190 · Granted Mar 12, 2024

Method, apparatus and computer program product for recovering data

Inventors: Qi Wang (Shanghai, CN); Weiyang Liu (Shanghai, CN); Yuanyi Liu (Shanghai, CN); Zengjie Zhang (Shanghai, CN); Jin Ru Yan (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1469G06F11/3419G06F2201/84
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,928,035
App. No.
16/807,190
Granted
Mar 12, 2024
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, a device and a computer program product for recovering data. The method comprises in response to receiving a request to recover data from a backup node to a source node, determining a plurality of candidate backup nodes having copies of the data; determining respective performance indicators of the plurality of candidate backup nodes; and determining, from the plurality of candidate backup nodes, the backup node for recovering the data to the source node based on the respective performance indicators of the plurality of candidate backup nodes.

Claims (45)

1. A method for recovering data, comprising:

in response to receiving a request to recover data to a source node, determining a plurality of candidate backup nodes (CBNs) having copies of the data, wherein the source node has backed up a copy of the data to a first backup node of the plurality of CBNs, wherein the first backup node has backed up the copy of the data to at least a second backup node of the plurality of CBNs, a third backup node of the plurality of CBNs, and a fourth backup node of the plurality of CBNs;

determining first performance indicators (PIs) of the plurality of CBNs, wherein determining the first PIs of the plurality of CBNs comprises determining, for a given CBN of the plurality of CBNs, a request response time between the source node and the given CBN;

selecting, from the plurality of CBNs, a selected CBN for recovering the data to the source node based on a performance score (PS) of the selected CBN comprises:

scoring second PIs of the selected CBN to obtain scored PIs;

determining the PS of the selected CBN by linearly weighting the scored PIs of the selected CBN;

presenting the plurality of CBNs on a user interface, wherein the selected CBN is highlighted on the user interface; and

in response to receiving selection of the selected CBN, sending a command to the selected CBN to instruct the source node to obtain the copy of the data from the selected CBN to recover the data to the source node.

2. The method according to claim 1 , wherein determining the first PIs of the plurality of CBNs further comprises determining, for the given CBN of the plurality of CBNs, at least one of the following:

an amount of tasks executing on the given CBN;

an input/output load level at the given CBN; and

a network bandwidth at the given CBN.

3. The method according to claim 1 , wherein selecting the selected CBN from the plurality of CBNs comprises:

selecting a CBN having a highest score among the plurality of CBNs as the selected CBN.

4. An electronic device, comprising:

at least one processing unit;

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

in response to receiving a request to recover data to a source node, determining a plurality of candidate backup nodes (CBNs) having copies of the data, wherein the source node has backed up a copy of the data to a first backup node of the plurality of CBNs, wherein the first backup node has backed up the copy of the data to at least a second backup node of the plurality of CBNs, a third backup node of the plurality of CBNs, and a fourth backup node of the plurality of CBNs;

determining first performance indicators (PIs) of the plurality of CBNs, wherein determining the first PIs of the plurality of CBNs comprises determining, for a given CBN of the plurality of CBNs, a request response time between the source node and the given CBN;

selecting, from the plurality of CBNs, a selected CBN for recovering the data to the source node based on a performance score (PS) of the selected CBN comprises:

scoring second PIs of the selected CBN to obtain scored PIs;

determining the PS of the selected CBN by linearly weighting the scored PIs of the selected CBN;

presenting the plurality of CBNs on a user interface, wherein the selected CBN is highlighted on the user interface; and

in response to receiving selection of the selected CBN, sending a command to the selected CBN to instruct the source node to obtain the copy of the data from the selected CBN to recover the data to the source node.

5. The device according to claim 4 , wherein determining the first PIs of the plurality of CBNs further comprises determining, for the given CBN of the plurality of CBNs, at least one of the following:

an amount of tasks executing on the given CBN;

an input/output load level at the given CBN; and

a network bandwidth at the given CBN.

6. The device according to claim 4 , wherein selecting the selected CBN from the plurality of CBNs comprises:

selecting a CBN having a highest score among the plurality of CBNs as the selected CBN.

7. A non-transitory computer readable medium comprising machine-executable instructions, the machine-executable instructions, when executed by an apparatus, causing the apparatus to execute a method, the method comprising:

in response to receiving a request to recover data to a source node, determining a plurality of candidate backup nodes (CBNs) having copies of the data, wherein the source node has backed up a copy of the data to a first backup node of the plurality of CBNs, wherein the first backup node has backed up the copy of the data to at least a second backup node of the plurality of CBNs, a third backup node of the plurality of CBNs, and a fourth backup node of the plurality of CBNs;

determining first performance indicators (PIs) of the plurality of CBNs, wherein determining the first PIs of the plurality of CBNs comprises determining, for a given CBN of the plurality of CBNs a request response time between the source node and the given CBN;

selecting, from the plurality of CBNs, a selected CBN for recovering the data to the source node based on a performance score (PS) of the selected CBN comprises:

scoring second PIs of the selected CBN to obtain scored PIs;

determining the PS of the selected CBN by linearly weighting the scored PIs of the selected CBN;

presenting the plurality of CBNs on a user interface, wherein the selected CBN is highlighted on the user interface; and

in response to receiving selection of the selected CBN, sending a command to the selected CBN to instruct the source node to obtain the copy of the data from the selected CBN to recover the data to the source node.

8. The non-transitory computer readable medium of claim 7 , wherein determining the first PIs of the plurality of CBNs further comprises determining, for the given CBN of the plurality of CBNs, at least one of the following:

an amount of tasks executing on the given CBN;

an input/output load level at the given CBN; and

a network bandwidth at the given CBN.

9. The method according to claim 1 , wherein the request response time between the source node and the given CBN is determined by the source node sending a ping command to the given CBN.

10. The device according to claim 4 , wherein the request response time between the source node and the given CBN is determined by the source node sending a ping command to the given CBN.

11. The non-transitory computer readable medium of claim 7 , wherein the request response time between the source node and the given CBN is determined by the source node sending a ping command to the given CBN.

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 Mar 3, 2020
From: WANG, QI; LIN, WEIYANG; LIU, YUANYI; ZHANG, ZENGJIE; YAN, JIN RU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051991/0231 →