IP Library Granted Patent US 10,678,464
Granted Patent B2
US 10,678,464 · App. 15/455,709 · Granted Jun 9, 2020

Methods and apparatuses for data migration of a storage device

Inventors: Junping Frank Zhao (Beijing, CN); Layne Lin Peng (Shanghai, CN); Yu Cao (Beijing, CN); Sanping Li (Beijing, CN); Zhe Dong (Beijint, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0647G06F3/067G06F3/0619
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 10,678,464
App. No.
15/455,709
Granted
Jun 9, 2020
Kind
B2
Abstract

Embodiments of the present disclosure provide methods and apparatuses for data migration of storage devices including registering at least one executing unit for data migration, each of the at least one executing unit corresponding to description file; extracting and storing information contained in the description file corresponding to each of the at least one executing unit; receiving a data migration request from a user; in response to the data migration request from the user, selecting an executing unit for data migration of the user at least based on part of the stored information contained in the description file; and scheduling an instance of the selected executing unit to execute data migration of the user. The methods or apparatuses according to embodiments of the present disclosure can implement, in a uniform and scalable manner, data migration for various formats, various performance requirements, and application scenarios.

Claims (83)

1. A method for data migration, comprising:

registering at least one executing unit for data migration, each of the at least one executing unit corresponding to a description file;

extracting and storing information contained in the description file corresponding to each of the at least one executing unit;

receiving a data migration request from a user, wherein the data migration request includes an indication of a source address and a target address for data migration, and information about a performance requirement for the data migration;

in response to the data migration request from the user, selecting an executing unit for data migration of the user at least based on part of the stored information contained in the description file;

scheduling an instance of the selected executing unit to perform the data migration of the user;

monitoring a performance of the instance of the selected executing unit, wherein monitoring the performance of the instance of the selected executing unit includes:

detecting at least one of a failure of the instance of the selected executing unit and a performance abnormality of the instance of the selected executing unit;

upon detecting the failure of the instance of the selected executing unit, at least one of re-starting the instance of the selected executing unit, and killing the instance of the selected executing unit and applying a new resource to replace the instance of the selected executing unit upon which the failure was detected; and

upon detecting a performance abnormality of the instance of the selected executing unit, at least one of launching one or more instances of the selected executing unit on an existing resource, and increasing an amount of resources being applied from a resource pool, the launching of the one or more instances of the selected executing unit and increasing of the amount of resources being respective to a degree of degradation associated with the performance abnormality;

transmitting a data migration response to the user; and

receiving, from the user, a query for at least one of a running state and a running log of the data migration.

2. The method according to claim 1 , wherein each of the at least one executing unit is encapsulated into a container.

3. The method according to claim 1 , wherein the description file indicates at least one of the following of a corresponding executing unit:

a type,

a capacity,

a configuration,

a supported data format,

a running requirement, and

a supportable performance.

4. The method according to claim 1 , wherein the data migration request further includes information about at least one of:

whether deleting duplications is required during the data migration,

whether to perform at least one of compression during the data migration and a supported compression format, and

whether to perform at least one of encryption during the data migration and a supported encryption manner.

5. The method according to claim 1 , wherein one of the at least one executing unit is further configured to execute at least one of: data extracting, data buffering, data checking, duplicate data deleting, data compressing, data encrypting, and data transmitting.

6. The method according to claim 1 , wherein selecting an executing unit for data migration of the user at least based on part of the stored information contained in the description file comprises:

analyzing the data migration request from the user; and

determining an executing unit matching the data migration request based on the analyzing and the part of the stored information contained in the description file.

7. The method according to claim 6 , wherein selecting an executing unit for data migration of the user at least based on part of the stored information contained in the description file further comprise:

determining, as a most matching executing unit, an instance of a running executing unit from executing units matching the data migration request.

8. The method according to claim 6 , wherein selecting an executing unit for data migration of the user at least based on part of the stored information contained in the description file further comprises:

evaluating resources required for running of the executing unit; and

determining an executing unit matching the data migration request further based on the evaluating.

9. The method according to claim 1 , further comprising at least one of:

displaying at least one of the running state and the running log of the data migration of the user, in response to the query from the user; and

receiving, from the user, data to be migrated.

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

updating at least one of a progress, a state, a log, a resource usage, and a performance of the scheduled instance of the selected executing unit.

11. The method according to claim 10 , further comprising:

monitoring at least one of a progress, a state, a log, and a resource usage of the scheduled instance of the selected executing unit; and

increasing, reducing, or changing the scheduled instance of the selected executing unit based on the monitoring.

12. A method for data migration, comprising:

transmitting a data migration request to a data migration device configured to perform data migration, wherein the data migration request includes an indication of a source address and a target address for the data migration, and at least one of the following information:

a performance requirement for the data migration,

whether deleting duplications is required during the data migration,

whether to perform at least one of compression during the data migration and a supported compression format, and

whether to perform at least one of encryption during the data migration and a supported encryption manner;

selecting an executing unit for the data migration from the data migration device at least based on part of the stored information contained in a description file;

scheduling an instance of the selected executing unit to perform the data migration from the data migration device;

monitoring a performance of the instance of the selected executing unit, wherein monitoring the performance of the instance of the selected executing unit includes:

detecting at least one of a failure of the instance of the selected executing unit and a performance abnormality of the instance of the selected executing unit;

upon detecting the failure of the instance of the selected executing unit, at least one of re-starting the instance of the selected executing unit, and killing the instance of the selected executing unit and applying a new resource to replace the instance of the selected executing unit upon which the failure was detected; and

upon detecting a performance abnormality of the instance of the selected executing unit, at least one of launching one or more instances of the selected executing unit on an existing resource, and increasing an amount of resources being applied from a resource pool, the launching of the one or more instances of the selected executing unit and increasing of the amount of resources being respective to a degree of degradation associated with the performance abnormality;

transmitting a data migration response to the user; and

receiving, from the user, a query for at least one of a running state and a running log of the data migration.

13. The method according to claim 12 , further comprising:

receiving, from the data migration device, at least one of a running state and a running log of the data migration.

14. An apparatus for data migration, comprising a registering unit, a storing unit, a first receiving unit, a second receiving unit, a scheduling unit, a monitoring unit, a first transmitting unit, and at least one executing unit, wherein:

each of the at least one executing unit corresponds to a description file in a predefined format, and each executing unit is configured to perform data migration when being scheduled by the scheduling unit;

the registering unit is configured to register the at least one executing unit;

the storing unit is configured to extract and store information contained in the description file corresponding to each of the at least one executing unit;

the first receiving unit is configured to receive a data migration request from a user, wherein the data migration request includes an indication of a source address and a target address for data migration, and information about a performance requirement for the data migration;

the scheduling unit is configured to, in response to the data migration request from the user, select an executing unit for data migration of the user at least based on part of the stored information contained in the description file, and schedule an instance of the selected executing unit to perform the data migration of the user;

the monitoring unit is configured to monitor a performance of the instance of the selected executing unit, detect at least one of a failure of the instance of the selected executing unit and a performance abnormality of the instance of the selected executing unit and, upon detecting the failure of the instance of the selected executing unit, at least one of re-start the instance of the selected executing unit, and kill the instance of the selected executing unit and apply a new resource to replace the instance of the selected executing unit upon which the failure was detected, and upon detecting a performance abnormality of the instance of the selected executing unit, at least one of launch one or more instances of the selected executing unit on an existing resource, and increase an amount of resources being applied from a resource pool, the launch of the one or more instances of the selected executing unit and increase of the amount of resources being respective to a degree of degradation associated with the performance abnormality;

the first transmitting unit is configured to transmit a data migration response to the user; and

the second receiving unit is configured to receive, from the user, a query for at least one of a running state and a running log of the data migration.

15. The apparatus according to claim 14 , wherein each of the at least one executing unit is encapsulated into a container.

16. The apparatus according to claim 14 , wherein the description file indicates at least one of the following of a corresponding executing unit:

a type,

a capacity,

a configuration,

a supported data format,

a running requirement, and

supportable performance.

17. The apparatus according to claim 14 , wherein the data migration request further comprises information about at least one of:

whether deleting duplications is required to during the data migration,

whether to perform compression during at least one of the data migration and a supported compression format, and

whether to perform at least one of encryption during the data migration and a supported encryption manner.

18. The apparatus according to claim 14 , wherein one of the at least one executing unit is further configured to execute at least one of: data extracting, data buffering, data checking, duplicate data deleting, data compressing, data encrypting, and data transmitting.

19. The apparatus according to claim 14 , wherein the scheduling unit is further configured to:

analyze a data migration request from the user,

determine an executing unit matching the data migration request based on the analyzing and the part of the stored information contained in the description file, and

schedule an instance of the determined executing unit to perform the data migration.

Assignments (10)
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 (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048429/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2017
From: ZHAO, JUNPING FRANK; PENG, LAYNE LIN; CAO, YU; LI, SANPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044114/0770 →
KEY EMPLOYEE AGREEMENT Recorded Nov 14, 2017
From: DONG, ZHE
To: EMC CORPORATION
Reel/Frame 044431/0260 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →