IP Library Granted Patent US 11,340,997
Granted Patent B2
US 11,340,997 · App. 16/792,843 · Granted May 24, 2022

Method, device and computer program product for transmitting data

Inventors: Yi Wang (Chengdu, CN); Jun Tang (Chengdu, CN); Qingxiao Zheng (Chengdu, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1464G06F9/542G06F11/1451G06F11/1461G06F11/1469H04L9/0643
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,340,997
App. No.
16/792,843
Granted
May 24, 2022
Kind
B2
Abstract

Embodiments of the present disclosure provide a method, a device and a computer program product for transmitting data between different types of storage systems. In one embodiment, for example, the method comprises recovering data from a file to be transmitted in a first backup system. The method also comprises sending the recovered data to a backup client corresponding to a second backup system. In one embodiment, the backup client is installed in a container of the first backup system and the first and the second backup systems belong to different types. The method further comprises transmitting the recovered data from the backup client installed in the first backup system to the second backup system.

Claims (67)

1. A method for transmitting data, comprising:

recovering data from a file to be transmitted in a first backup system;

sending the recovered data to a backup client corresponding to a second backup system, the backup client being installed in a container of the first backup system, wherein the container includes a recovering container and a data sending container, the recovering container configured to recover the data in the first backup system, the data sending container configured to send the recovered data to the second backup system, and the first and the second backup systems being different types of backup systems, wherein sending the recovered data to the backup client corresponding to the second backup system comprises:

in accordance with receiving, by a data transmission manager, a sending notification from the recovering container, allocating, by the data transmission manager, a memory for receiving data, the data transmission manager and the backup client being deployed in the data sending container;

sending, by the data transmission manager, a reading notification to the backup client;

notifying, by the data transmission manager, the recovering container to send the recovered data;

receiving, by the data transmission manager, the recovered data from the recovering container; and

sending, by the data transmission manager, the recovered data to the backup client; and

transmitting the recovered data from the backup client installed in the first backup system to the second backup system.

2. The method of claim 1 , wherein receiving the recovered data from the recovering container comprises:

determining, by the data transmission manager, whether an available storage resource is present in the memory;

in response to determining the available storage resource is present in the memory, continuing, by the data transmission manager, to receive the recovered data from the recovering container; and

in response to determining the available storage resource is absent in the memory, notifying, by the data transmission manager, the recovering container to suspend sending data.

3. The method of claim 1 , wherein sending the recovered data to the backup client comprises:

determining, by the data transmission manager, whether available recovered data is present in the memory;

in response to determining the available recovered data is present in the memory, continuing, by the data transmission manager, to send the recovered data to the backup client; and

in response to determining the available recovered data is absent in the memory, notifying, by the data transmission manager, the backup client to suspend reading data from the memory.

4. The method of claim 1 , wherein the sending notification comprises a file name, a file path and a file size, and the reading notification comprises the file name, the file path, the file size and an address of the memory.

5. The method of claim 1 , wherein sending the recovered data to the backup client corresponding to the second backup system comprises:

sending the recovered data to a further backup client corresponding to a third backup system concurrently while sending the recovered data to the backup client corresponding to the second backup system, so as to transmit data to the third backup system via the further backup client.

6. The method of claim 1 , further comprising:

determining a hash value of data chunks in the file to be transmitted;

encrypting the hash value to obtain an encrypted hash value;

determining whether the encrypted hash value is present in a location mapping file; and

in response to determining that the encrypted hash value is absent in the location mapping file, transmitting the data chunks from the backup client to the second backup system and recording the encrypted hash value in the location mapping file.

7. The method of claim 6 , further comprising:

in response to determining that the encrypted hash value is present in the location mapping file, reading, from the location mapping file, location information of the data chunks in the second backup system, and notifying the second backup system to synthesize the data chunks.

8. The method of claim 7 , wherein a plurality of truncated encrypted hash values are present in the location mapping file, each truncated encrypted hash value being mapped to a plurality of encrypted hash values including a truncated encrypted hash value.

9. An electronic device, comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions, the instructions, when executed by the processing unit, causing the device to perform acts of:

recovering data from a file to be transmitted in a first backup system;

sending the recovered data to a backup client corresponding to a second backup system, the backup client being installed in a container of the first backup system, wherein the container includes a recovering container and a data sending container, the recovering container configured to recover the data in the first backup system, the data sending container configured to send the recovered data to the second backup system, and the first and the second backup systems being different types of backup systems, wherein sending the recovered data to the backup client corresponding to the second backup system comprises:

in accordance with receiving, by a data transmission manager, a sending notification from the recovering container, allocating, by the data transmission manager, a memory for receiving data, the data transmission manager and the backup client being deployed in the data sending container;

sending, by the data transmission manager, a reading notification to the backup client;

notifying, by the data transmission manager, the recovering container to send the recovered data;

receiving, by the data transmission manager, the recovered data from the recovering container; and

sending, by the data transmission manager, the recovered data to the backup client; and

transmitting the recovered data from the backup client installed in the first backup system to the second backup system.

10. The device of claim 9 , wherein receiving the recovered data from the recovering container comprises:

determining, by the data transmission manager, whether an available storage resource is present in the memory;

in response to determining the available storage resource is present in the memory, continuing, by the data transmission manager, to receive the recovered data from the recovering container; and

in response to determining the available storage resources is absent in the memory, notifying, by the data transmission manager, the recovering container to suspend sending data.

11. The device of claim 9 , wherein sending the recovered data to the backup client comprises:

determining, by the data transmission manager, whether available recovered data is present in the memory;

in response to determining the available recovered data is present in the memory, continuing, by the data transmission manager, to send the recovered data to the backup client; and

in response to determining the available recovered data is absent in the memory, notifying, by the data transmission manager, the backup client to suspend reading data from the memory.

12. The device of claim 9 , wherein the sending notification comprises a file name, a file path and a file size, and the reading notification comprises the file name, the file path, the file size and an address of the memory.

13. The device of claim 9 , wherein sending the recovered data to the backup client corresponding to the second backup system comprises:

sending the recovered data to a further backup client corresponding to a third backup system concurrently while sending the recovered data to the backup client corresponding to the second backup system, so as to transmit data to the third backup system via the further backup client.

14. The device of claim 9 , wherein the acts further comprising:

determining a hash value of data chunks in the file to be transmitted;

encrypting the hash value to obtain an encrypted hash value;

determining whether the encrypted hash value is present in a location mapping file; and

in response to determining that the encrypted hash value is absent in the location mapping file, transmitting the data chunks from the backup client to the second backup system and recording the encrypted hash value in the location mapping file.

15. The device of claim 14 , wherein the acts further comprise:

in response to determining that the encrypted hash value is present in the location mapping file, reading, from the location mapping file, location information of the data chunks in the second backup system, and notifying the second backup system to synthesize the data chunks.

16. The device of claim 15 , wherein a plurality of truncated encrypted hash values are present in the location mapping file, each truncated encrypted hash value being mapped to a plurality of encrypted hash values.

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

recovering data from a file to be transmitted in a first backup system;

sending the recovered data to a backup client corresponding to a second backup system, the backup client being installed in a container of the first backup system, wherein the container includes a recovering container and a data sending container, the recovering container configured to recover the data in the first backup system, the data sending container configured to send the recovered data to the second backup system, and the first and the second backup systems being different types of backup systems, wherein sending the recovered data to the backup client corresponding to the second backup system comprises:

in accordance with receiving, by a data transmission manager, a sending notification from the recovering container, allocating, by the data transmission manager, a memory for receiving data, the data transmission manager and the backup client being deployed in the data sending container;

sending, by the data transmission manager, a reading notification to the backup client;

notifying, by the data transmission manager, the recovering container to send the recovered data;

receiving, by the data transmission manager, the recovered data from the recovering container; and

sending, by the data transmission manager, the recovered data to the backup client; and

transmitting the recovered data from the backup client installed in the first backup system to the second backup system.

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 17, 2020
From: WANG, YI; TANG, JUN; ZHENG, QINGXIAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051834/0767 →