IP Library Granted Patent US 9,542,215
Granted Patent B2
US 9,542,215 · App. 13/250,836 · Granted Jan 10, 2017

Migrating virtual machines from a source physical support environment to a target physical support environment using master image and user delta collections

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 9,542,215
App. No.
13/250,836
Granted
Jan 10, 2017
Kind
B2
Abstract

Migration of a pool of virtual machines to a target physical machine. The virtual machines were all provisioned into an initial state using a master image. Thereafter, changes to the state were reflected in corresponding user delta collections for each of the virtual machines. In preparation for the migration to the target physical machine, a pool is allocated on the target machine. The target pool is associated with the same master image as the source pool. The virtual machines are provisioned within the target pool based on the master image. The virtual machines in the target pool are then connected to the corresponding user delta collection, allowing the virtual machines to continue in the same state in the target machine as when they operated in while last operating in the source machine. The target machine may be as master service provider.

Claims (44)

1. A method for migrating a plurality of virtual machines from a source physical support environment to a target physical support environment, the method comprising:

a) detecting that a plurality of source virtual machines that operate in a source physical support environment is to be migrated from the source physical support environment to the target physical support environment, wherein the plurality of source virtual machines each operate in a source pool in which each of the plurality of source virtual machines is initially provisioned from a master image, and further wherein each of the plurality of source virtual machines has an associated user delta collection that captures user changes to each source virtual machine state made since the corresponding source virtual machine was initially provisioned within the source pool, each user delta collection being on shared storage shared by both the source physical support environment and the target physical support environment;

b) allocating a target pool on a target physical support environment;

c) associating the target pool with the master image;

d) for each respective one of the plurality of source virtual machines, locking the associated user delta collection to prevent access to the associated user delta collection by the respective one source virtual machine;

e) after locking, provisioning a plurality of target virtual machines with the master image, each of the plurality of target virtual machines corresponding to a respective one of the plurality of source virtual machines; and

f) after provisioning, unlocking each corresponding associated user delta collection associated with each of the plurality of source virtual machines such that the corresponding associated user delta collection is made accessible exclusively to the corresponding one of the plurality of target virtual machines, wherein the target pool and the source pool do not completely match with respect to virtualized hardware in that at least one of the plurality of target virtual machines and at least one of the plurality of source virtual machines have at least partially different virtualized hardware.

2. The method in accordance with claim 1 , wherein the source physical support environment is a first source physical support environment, the plurality of source virtual machines is a first plurality of source virtual machines, the source pool is a first source pool, the target physical support environment is a first target physical support environment, the plurality of target virtual machines is a first plurality of target virtual machines, the target pool is a first target pool, and the master image is a first master image, the method further comprising:

a) detecting that a second plurality of source virtual machines that operate in a second source physical support environment is to be migrated from the second source physical support environment to the target physical support environment, wherein the second plurality of source virtual machines each operate in a second source pool in which each of the second plurality of source virtual machines is initially provisioned from a second master image, and further wherein each of the second plurality of source virtual machines has an associated user delta collection that captures at least some user changes to respective virtual machine state made since the corresponding virtual machine was initially provisioned within the second source pool, each user delta collection of the second plurality of source virtual machines being on shared storage shared by both the second source physical support environment and the second target physical support environment;

b) allocating a second target pool on a second target physical support environment;

c) associating the second target pool with the second master image;

d) for each respective one of the second plurality of source virtual machines, locking the associated user delta collection to prevent access to the associated user delta collection by the respective one source virtual machine of the second plurality of source virtual machines;

e) after locking each associated user delta collection associated with each of the second plurality of source virtual machines, provisioning a second plurality of target virtual machines with the second master image, each of the second plurality of target virtual machines corresponding to a respective one of the second plurality of source virtual machines; and

f) after provisioning the second plurality, unlocking each corresponding user delta collection associated with each of the second plurality of source virtual machines such that the corresponding user delta collection is made accessible exclusively to the corresponding one of the second plurality of target virtual machines.

3. The method in accordance with claim 2 , wherein the first target pool and the second target pool are the same target pool.

4. The method in accordance with claim 2 , wherein the first target pool and the second target pool are different target pools.

5. The method in accordance with claim 2 , wherein the first source physical support environment and the second source physical support environment are on different physical machines, but the first target physical support environment and the second target physical support environment are both on a target physical machine.

6. The method in accordance with claim 5 , wherein the target physical machine is a master service provider that provides migration services to a plurality of source physical support environments.

7. The method in accordance with claim 6 , wherein the target physical machine has enough storage to accommodate master images for each source pool in each of the plurality of source physical support environments, but does not have enough processing power to operate a corresponding target pool for all of the source pools simultaneously.

8. The method in accordance with claim 1 , wherein detecting that the plurality of source virtual machines that operate in the source physical support environment is to be migrated from the source physical support environment further comprises:

a) determining that performance of the source physical support environment has at least deteriorated.

9. The method in accordance with claim 1 , further comprising prior to detecting:

a) allocating the source pool on the source physical support environment;

b) associating the source pool with the master image;

c) operating the plurality of source virtual machines to thereby generate the associated user delta collection for each of the plurality of target virtual machines.

10. The method in accordance with claim 1 , wherein the user delta collections are each user data disks.

11. The method in accordance with claim 1 , wherein the shared storage comprises replicated storage.

12. The method in accordance with claim 1 , wherein allocating the target pool occurs after detecting.

13. The method in accordance with claim 1 , wherein allocating the target pool occurs before detecting.

14. The method in accordance with claim 1 , wherein the plurality of source virtual machines are prevented from accessing the associated user delta collections by disabling the source pool.

15. The method in accordance with claim 14 , wherein disabling occurs before provisioning.

16. The method in accordance with claim 1 , wherein provisioning is accomplished by enabling the target pool.

17. The method in accordance with claim 1 , further comprising:

operating the target pool by running all of the plurality of target virtual machines.

18. A computer program product comprising one or more non-transitory computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for migrating a plurality of source virtual machines to a target physical support environment, the method comprising:

a) detecting that a plurality of source virtual machines that operate in a source physical support environment is to be migrated from the source physical support environment to the target physical support environment wherein the plurality of source virtual machines each operate in a source pool in which each of the plurality of source virtual machines is initially provisioned from a master image, and further wherein each of the plurality of source virtual machines has an associated user delta collection that captures user changes to each source virtual machine state made since the corresponding source virtual machine was initially provisioned within the source pool, each user delta collection being on shared storage shared by both the source physical support environment and the target physical support environment;

b) allocating a target pool on a target physical support environment;

c) associating the target pool with the master image;

d) for each respective one of the plurality of source virtual machines, locking the associated user delta collection to prevent access to the associated user delta collection by the respective one source virtual machine;

e) after locking, provisioning a plurality of target virtual machines with the master image, each of the plurality of target virtual machines corresponding to a respective one of the plurality of source virtual machines; and

f) after provisioning, unlocking each corresponding associated user delta collection associated with each of the plurality of source virtual machines such that the corresponding associated user delta collection is made accessible exclusively to the corresponding one of the plurality of target virtual machines, wherein the target pool and the source pool do not completely match with respect to virtualized hardware in that at least one of the plurality of target virtual machines and at least one of the plurality of source virtual machines have at least partially different virtualized hardware.

19. The computer program product in accordance with claim 18 , wherein the target pool is matched to the source pool.

20. The computer program product in accordance with claim 19 , wherein the target pool has the same type of hardware resources as the source pool.

21. The computer program product in accordance with claim 19 , wherein the target pool has the same number of virtual machines allocated in the target pool as there were allocated in the source pool.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2018
From: FBC HOLDINGS S.A R.L
To: V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.; SPHERE 3D CORP; SPHERE 3D, INC.
Reel/Frame 047552/0407 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2018
From: FBC HOLDINGS S.A R.L
To: SPHERE 3D CORP; SPHERE 3D INC.; V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.
Reel/Frame 047605/0027 →
SECURITY INTEREST Recorded Aug 28, 2017
From: OVERLAND STORAGE, INC.; SPHERE 3D CORP.; SPHERE 3D INC.; V3 SYSTEMS HOLDINGS, INC.
To: OPUS BANK
Reel/Frame 043424/0318 →
SECURITY INTEREST Recorded Sep 22, 2016
From: SPHERE 3D CORP.; SPHERE 3D, INC.; V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.
To: FBC HOLDINGS S.A.R.L.
Reel/Frame 039831/0567 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME: 032161/0870 Recorded Jun 10, 2016
From: SPHERE 3D CORP. (FORMERLY KNOWN AS SPHERE 3D CORPORATION)
To: V3 SYSTEMS HOLDINGS, INC. (AS SUCCESSOR TO V3 SYSTEMS, INC.)
Reel/Frame 038955/0123 →
SECURITY INTEREST Recorded Apr 18, 2016
From: SPHERE 3D CORP.; SPHERE 3D, INC.; V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.
To: OPUS BANK
Reel/Frame 038306/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2014
From: V3 SYSTEMS, INC.
To: V3 SYSTEMS HOLDINGS, INC.
Reel/Frame 032618/0411 →
SECURITY AGREEMENT Recorded Feb 5, 2014
From: V3 SYSTEMS INC.
To: SPHERE 3D CORPORATION
Reel/Frame 032161/0870 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2011
From: SIMONSEN, HAROLD C.; SNELGROVE, ASHTON R.; MCCULLAGH, THOMAS S.; YOUNGBERG, DAVID E.
To: V3 SYSTEMS, INC.
Reel/Frame 027002/0560 →