IP Library Granted Patent US 11,579,912
Granted Patent B2
US 11,579,912 · App. 16/789,784 · Granted Feb 14, 2023

Integrity-preserving cold migration of virtual machines

Inventors: Vaideeswaran Ganesan (Bangalore, IN); Suren Kumar (Katpadi, IN); Vinod Durairaj (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F9/45558G06F16/128G06F2009/4557
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,579,912
App. No.
16/789,784
Granted
Feb 14, 2023
Kind
B2
Abstract

A method includes identifying a source virtual machine to be migrated from a source domain to a target domain, extracting file-in-use metadata and shared asset metadata from virtual machine metadata of the source virtual machine, and copying one or more files identified in the file-in-use metadata to a target virtual machine in the target domain. For each of one or more shared assets identified in the shared asset metadata, the method further includes (a) determining whether or not the shared asset already exists in the target domain, (b) responsive to the shared asset already existing in the target domain, updating virtual machine metadata of the target virtual machine to specify the shared asset, and (c) responsive to the shared asset not already existing in the target domain, copying the shared asset to the target domain and updating virtual machine metadata of the target virtual machine to specify the shared asset.

Claims (62)

1. An apparatus comprising:

at least one processing platform comprising a plurality of processing devices each comprising a processor coupled to a memory;

said at least one processing platform being configured:

to identify a source virtual machine to be migrated from a source domain to a target domain;

to extract file-in-use metadata and shared asset metadata from virtual machine metadata of the source virtual machine;

to copy one or more files identified in the file-in-use metadata to a target virtual machine in the target domain; and

for each of one or more shared assets identified in the shared asset metadata, exclusive of the one or more files identified in the file-in-use metadata:

(a) to determine whether or not the shared asset already exists in the target domain;

(b) responsive to the shared asset already existing in the target domain, to update virtual machine metadata of the target virtual machine to specify the shared asset; and

(c) responsive to the shared asset not already existing in the target domain, to copy the shared asset to the target domain and to update virtual machine metadata of the target virtual machine to specify the shared asset;

wherein the processing platform is further configured:

to extract movable file metadata from the virtual machine metadata of the source virtual machine; and

to copy one or more files identified in the movable file metadata to the target virtual machine in the target domain;

wherein the copying of the one or more files identified in the movable file metadata to the target virtual machine in the target domain is performed after the target virtual machine is started in the target domain.

2. The apparatus of claim 1 wherein the source domain and the target domain are both part of a single processing platform.

3. The apparatus of claim 1 wherein the source domain is part of a first processing platform and the target domain is part of a second processing platform separate from the first processing platform.

4. The apparatus of claim 3 wherein the first and second processing platforms that include the respective source and target domains comprise respective first and second data centers.

5. The apparatus of claim 1 wherein in conjunction with successful completion of the copying of each of the one or more files identified in the file-in-use metadata to the target virtual machine in the target domain, a completion extension is added to the successfully copied file in the source domain.

6. The apparatus of claim 1 wherein the file-in-use metadata comprises a list of files in the source virtual machine that are required for operation of the source virtual machine.

7. The apparatus of claim 1 wherein in conjunction with successful completion of the copying of each of the one or more files identified in the movable file metadata to the target virtual machine in the target domain, a completion extension is added to the successfully copied file in the source domain.

8. The apparatus of claim 1 wherein the movable file metadata comprises a list of files in the source virtual machine that can be moved without impacting operation of the source virtual machine.

9. The apparatus of claim 1 wherein the one or more files identified in the movable file metadata comprise two or more of a suspended state file, a virtual machine snapshot file, a log file and a snapshot state file.

10. The apparatus of claim 1 wherein the one or more shared assets identified in the shared asset metadata comprise one or more assets each assigned to multiple virtual machines of the source domain.

11. The apparatus of claim 1 wherein the copying of one or more files identified in the file-in-use metadata and the copying of the shared asset to the target domain are performed at least in part in parallel with one another.

12. The apparatus of claim 1 wherein for each of the one or more shared assets identified in the shared asset metadata, an asset migration metadata file is updated in the target domain to include that shared asset.

13. The apparatus of claim 1 wherein determining whether or not the shared asset already exists in the target domain comprises:

accessing an asset migration metadata file maintained in the target domain; and

determining whether or not the shared asset is identified in the asset migration metadata file.

14. A method comprising:

identifying a source virtual machine to be migrated from a source domain to a target domain;

extracting file-in-use metadata and shared asset metadata from virtual machine metadata of the source virtual machine;

copying one or more files identified in the file-in-use metadata to a target virtual machine in the target domain; and

for each of one or more shared assets identified in the shared asset metadata, exclusive of the one or more files identified in the file-in-use metadata:

(a) determining whether or not the shared asset already exists in the target domain;

(b) responsive to the shared asset already existing in the target domain, updating virtual machine metadata of the target virtual machine to specify the shared asset; and

(c) responsive to the shared asset not already existing in the target domain, copying the shared asset to the target domain and updating virtual machine metadata of the target virtual machine to specify the shared asset;

wherein the method further comprises:

extracting movable file metadata from the virtual machine metadata of the source virtual machine; and

copying one or more files identified in the movable file metadata to the target virtual machine in the target domain;

wherein the copying of the one or more files identified in the movable file metadata to the target virtual machine in the target domain is performed after the target virtual machine is started in the target domain; and

wherein the method is performed by a processing platform comprising a plurality of processing devices each comprising a processor coupled to a memory.

15. The method of claim 14 wherein for each of the one or more shared assets identified in the shared asset metadata, an asset migration metadata file is updated in the target domain to include that shared asset.

16. The method of claim 14 wherein determining whether or not the shared asset already exists in the target domain comprises:

accessing an asset migration metadata file maintained in the target domain; and

determining whether or not the shared asset is identified in the asset migration metadata file.

17. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by at least one processing platform comprising a plurality of processing devices each comprising a processor coupled to a memory, causes said at least one processing platform:

to identify a source virtual machine to be migrated from a source domain to a target domain;

to extract file-in-use metadata and shared asset metadata from virtual machine metadata of the source virtual machine;

to copy one or more files identified in the file-in-use metadata to a target virtual machine in the target domain; and

for each of one or more shared assets identified in the shared asset metadata, exclusive of the one or more files identified in the file-in-use metadata:

(a) to determine whether or not the shared asset already exists in the target domain;

(b) responsive to the shared asset already existing in the target domain, to update virtual machine metadata of the target virtual machine to specify the shared asset; and

(c) responsive to the shared asset not already existing in the target domain, to copy the shared asset to the target domain and to update virtual machine metadata of the target virtual machine to specify the shared asset;

wherein the program code, when executed by said at least one processing platform, further causes said at least one processing platform:

to extract movable file metadata from the virtual machine metadata of the source virtual machine; and

to copy one or more files identified in the movable file metadata to the target virtual machine in the target domain;

wherein the copying of the one or more files identified in the movable file metadata to the target virtual machine in the target domain is performed after the target virtual machine is started in the target domain.

18. The computer program product of claim 17 wherein for each of the one or more shared assets identified in the shared asset metadata, an asset migration metadata file is updated in the target domain to include that shared asset.

19. The computer program product of claim 17 wherein determining whether or not the shared asset already exists in the target domain comprises:

accessing an asset migration metadata file maintained in the target domain; and

determining whether or not the shared asset is identified in the asset migration metadata file.

20. The computer program product of claim 17 wherein in conjunction with successful completion of the copying of each of the one or more files identified in the file-in-use metadata to the target virtual machine in the target domain, a completion extension is added to the successfully copied file in the source domain.

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 13, 2020
From: GANESAN, VAIDEESWARAN; KUMAR, SUREN; DURAIRAJ, VINOD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051811/0010 →