IP Library › Granted Patent US 11,199,989
Granted Patent B2
US 11,199,989 · App. 16/586,231 · Granted Dec 14, 2021

Methods, apparatuses and computer program products for supporting and performing data replication of virtual machine

Inventors: Lifeng Yang (Beijing, CN); Jian Gao (Beijing, CN); Xinlei Xu (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/0619G06F3/0664G06F3/0673G06F16/168G06F16/178G06F16/188G06F16/248
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,199,989
App. No.
16/586,231
Filed
Sep 27, 2019
Granted
Dec 14, 2021
Kind
B2
Art Unit
2132
USPC
711/165
Abstract

Techniques support and perform data replication of a virtual machine. Changed data tracking is performed on a storage unit associated with the virtual machine in a storage system, to obtain changed data related information related to the virtual machine, wherein the changed data related information indicates a range and a type of data change related to the virtual machine; from the changed data related information, changed data related information related to the virtual machine within a specified range is obtained in response to receiving an obtainment request of the storage system for changed data related information within the specified range; and the changed data related information within the specified range is sent to the storage system. Accordingly, changed data related information can be provided to a storage system, such that the storage system can implement an optimized data replication operation based on the changed data related information.

Claims (65)

1. A method of supporting data replication of a virtual machine, comprising:

performing, by a virtual machine server for a source storage unit associated with a virtual machine in a storage system, changed data tracking to obtain changed data related information related to the virtual machine, the storage system including a source storage array and a destination storage array, the changed data related information indicating a type of data change related to the virtual machine, the type of data change including one or more of a data addition and a data modification;

obtaining, by the virtual machine server from the changed data related information, changed data related information related to the virtual machine indicating the type of data change within a specified range in response to receiving, from the source storage array, an obtainment request for the changed data related information within the specified range; and

offloading a workload required by the data replication from the virtual machine server to the source storage array based on the changed data related information within the specified range, the offloading of the workload including sending, by the virtual machine server, the changed data related information indicating the type of data change within the specified range to the source storage array, the source storage array being configured, in response to the offloading of the workload to the source storage array, to optimize the data replication by obtaining changed data from the source storage unit based on the type of data change, and sending the obtained changed data and the changed data related information within the specified range to the destination storage array.

2. The method of claim 1 , further comprising:

receiving a query request for the source storage unit supporting a changed data tracking function from the storage system;

in response to the query request, querying information on the source storage unit supporting the changed data tracking function in the storage system; and

sending a response to the query request to the storage system, the response containing queried information on the source storage unit.

3. The method of claim 2 , further comprising:

receiving a changed data tracking function enabling request for the source storage unit associated with the virtual machine from the storage system; and

in response to the changed data tracking function enabling request, enabling the changed data tracking function for the source storage unit associated with the virtual machine.

4. The method of claim 3 , wherein at least one of receiving the obtained request and sending changed data related information within the specified range is performed based on an extended application program interface of a data protection framework of a virtual machine server.

5. The method of claim 3 , wherein at least one of receiving the query request and sending the response is performed based on an extended application program interface of a data protection framework of a virtual machine server.

6. The method of claim 3 , wherein receiving the changed data tracking function enabling request is performed based on an extended application program interface of a data protection framework of a virtual machine server.

7. A method of performing data replication of a virtual machine, comprising:

in response to receiving a data replication request for a virtual machine, sending, by a source storage array to a virtual machine server, an obtainment request for changed data related information related to the virtual machine within a specified range, the virtual machine server being configured to offload a workload required by the data replication to the source storage array based on the changed data related information within the specified range;

receiving, at the source storage array in response to offloading the workload to the source storage array, the changed data related information indicating a type of data change within the specified range from the virtual machine server, the type of data change including one or more of a data addition and a data modification;

obtaining, by the source storage array, the type of data change indicated in the changed data related information within the specified range;

optimizing, by the source storage array, the data replication by obtaining changed data from a source storage unit associated with the virtual machine based on the type of data change; and

sending, by the source storage array, the obtained changed data and the changed data related information within the specified range to a destination storage array.

8. The method of claim 7 , further comprising:

forming, based on the changed data related information within the specified range, metadata information related to data replication and storing it into a repository.

9. The method of claim 7 , further comprising:

sending, to the virtual machine server, a query request for the source storage unit supporting a changed data tracking function; and

receiving a response to the query request from the virtual machine server, the response containing information on the source storage unit supporting changed data tracking.

10. The method of claim 9 , further comprising:

sending, to the virtual machine server, a changed data tracking function enabling request for the source storage unit associated with the virtual machine.

11. The method of claim 10 , wherein at least one of sending the obtained request and receiving the changed data related information within the specified range is performed based on an extended application program interface of a data protection framework of a virtual machine server.

12. The method of claim 10 , wherein at least one of sending the query request and receiving the response is performed based on an extended application program interface of a data protection framework of a virtual machine server.

13. The method of claim 10 , wherein sending the changed data tracking function enabling request is performed based on an extended application program interface of a data protection framework of a virtual machine server.

14. A method of performing data replication of a virtual machine, comprising:

receiving, at a destination storage array from a source storage array, changed data and changed data related information within a specified range, a workload required by the data replication being offloaded from a virtual machine server to the source storage array based on the changed data related information within the specified range, offloading of the workload including sending, by the virtual machine server, the changed data related information indicating a type of data change within the specified range to the source storage array, the type of data change including one or more of a data addition and a data modification, the data change being associated with a source storage unit of a virtual machine, the source storage array being configured, in response to the offloading of the workload to the source storage array, to optimize the data replication by obtaining changed data from the source storage unit based on the type of data change; and

replicating, by the destination storage array based on the type of data change, the changed data to a data portion of a destination storage unit corresponding to the specified range.

15. An apparatus for supporting data replication of a virtual machine, comprising:

a processor; and

a memory coupled to the processor, the memory having instructions stored therein, the instructions when performed by the processor causing the apparatus to perform acts of:

performing, for a source storage unit associated with a virtual machine in a storage system, changed data tracking to obtain changed data related information related to the virtual machine, the storage system including a source storage array and a destination storage array, wherein the changed data related information indicates a type of data change related to the virtual machine, the type of data change including one or more of a data addition and a data modification;

obtaining, from the changed data related information, changed data related information related to the virtual machine within a specified range, in response to receiving, from the source storage array, an obtainment request for the changed data related information within the specified range; and

offloading a workload required by the data replication to the source storage array based on the changed data related information within the specified range, the offloading of the workload including sending, to the source storage array, the changed data related information indicating the type of data change within the specified range, the source storage array being configured, in response to the offloading of the workload to the source storage array, to optimize the data replication by obtaining changed data from the source storage unit based on the type of data change, and sending the obtained changed data and the changed data related information within the specified range to the destination storage array.

16. An apparatus for performing data replication of a virtual machine, comprising:

a processor; and

a memory coupled to the processor, the memory having instructions stored therein, the instructions when performed by the processor causing the apparatus to perform acts of:

in response to receiving a data replication request for a virtual machine, sending, to a virtual machine server, an obtainment request for changed data related information related to the virtual machine within a specified range, the virtual machine server being configured to offload a workload required by the data replication based on the changed data related information within the specified range;

receiving, in response to offloading the workload, the changed data related information indicating a type of data change within the specified range from the virtual machine server, the type of data change including one or more of a data addition and a data modification;

obtaining the type of data change indicated in the changed data related information within the specified range;

optimizing the data replication by obtaining changed data from a source storage unit associated with the virtual machine based on the type of data change; and

sending the obtained changed data and the changed data related information within the specified range to a destination storage array.

17. An apparatus for performing data replication of a virtual machine, comprising:

a processor; and

a memory coupled to the processor, the memory having instructions stored therein, the instructions when performed by the processor causing the apparatus to perform acts of:

receiving, from a source storage array, changed data and changed data related information within a specified range, a workload required by the data replication being offloaded from a virtual machine server to the source storage array based on the changed data related information within the specified range, offloading of the workload including sending, by the virtual machine server, the changed data related information indicating a type of data change within the specified range to the source storage array, the type of data change including one or more of a data addition and a data modification, the data change being associated with a source storage unit of a virtual machine, the source storage array being configured, in response to the offloading of the workload to the source storage array, to optimize the data replication by obtaining changed data from the source storage unit based on the type of data change; and

replicating, based on the type of data change, the changed data to a data portion of a destination storage unit corresponding to the specified range.

18. A computer program product having a non-transitory computer readable medium which stores a set of instructions to support data replication of a virtual machine; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

performing, by a virtual machine server for a source storage unit associated with a virtual machine in a storage system, changed data tracking to obtain changed data related information related to the virtual machine, the storage system including a source storage array and a destination storage array, the changed data related information indicating a type of data change related to the virtual machine, the type of data change including one or more of a data addition and a data modification;

obtaining, by the virtual machine server from the changed data related information, changed data related information related to the virtual machine indicating the type of data change within a specified range in response to receiving, from the source storage array, an obtainment request for the changed data related information within the specified range; and

offloading a workload required by the data replication from the virtual machine server to the source storage array based on the changed data related information within the specified range, the offloading of the workload including sending, by the virtual machine server, the changed data related information indicating the type of data change within the specified range to the source storage array, the source storage array being configured, in response to the offloading of the workload to the source storage array, to optimize the data replication by obtaining changed data from the source storage unit based on the type of data change, and sending the obtained changed data and the changed data related information within the specified range to the destination storage array.

19. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform data replication of a virtual machine; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

in response to receiving a data replication request for a virtual machine, sending, by a source storage array to a virtual machine server, an obtainment request for changed data related information related to the virtual machine within a specified range, the virtual machine server being configured to offload a workload required by the data replication to the source storage array based on the changed data related information within the specified range;

receiving, at the source storage array in response to offloading the workload to the source storage array, the changed data related information indicating a type of data change within the specified range from the virtual machine server, the type of data change including one or more of a data addition and a data modification;

obtaining, by the source storage array, the type of data change indicated in the changed data related information within the specified range;

optimizing, by the source storage array, the data replication by obtaining changed data from a source storage unit associated with the virtual machine based on the type of data change; and

sending, by the source storage array, the obtained changed data and the changed data related information within the specified range to a destination storage array.

20. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform data replication of a virtual machine; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

receiving, at a destination storage array from a source storage array, changed data and changed data related information within a specified range, a workload required by the data replication being offloaded from a virtual machine server to the source storage array based on the changed data related information within the specified range, offloading of the workload including sending, by the virtual machine server, the changed data related information indicating a type of data change within the specified range to the source storage array, the data change being associated with a source storage unit of a virtual machine, the type of data change including one or more of a data addition and a data modification, the source storage array being configured, in response to the offloading of the workload to the source storage array, to optimize the data replication by obtaining changed data from the source storage unit based on the type of data change; and

replicating, by the destination storage array based on the type of data change, the changed data to a data portion of a destination storage unit corresponding to the specified range.

Assignments (9)
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 (051302/0528) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
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 AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
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 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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2019
From: YANG, LIFENG; GAO, JIAN; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050793/0730 →
Priority Claims (1)
CN 201811280052.3 · Oct 30, 2018 · national
Continuity (1)
Related Publication 20200133502A1 · Apr 30, 2020