IP Library Granted Patent US 9,430,213
Granted Patent B2
US 9,430,213 · App. 14/204,630 · Granted Aug 30, 2016

Apparatus, systems and methods for cross-cloud software migration and deployment

Inventors: Tianying Fu (San Jose, CA); Venkat Narayan Srinivasan (Fremont, CA)
Assignee: CLIQR TECHNOLOGIES, INC.
G06F8/63G06F9/45558G06F9/4856G06F2009/45562
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,430,213
App. No.
14/204,630
Granted
Aug 30, 2016
Kind
B2
Abstract

Embodiments disclosed facilitate obtaining a cloud agnostic representation of a first Virtual Machine Image (VMI) on a first cloud; and obtaining a second VMI for a second cloud different from the first cloud, wherein the second VMI is obtained based, at least in part, on the cloud agnostic representation of the first VMI.

Claims (58)

1. A processor-implemented method comprising:

obtaining a cloud agnostic image representation from a first Virtual Machine Image (VMI) associated with a first Virtual Machine (VM) on a first cloud, the cloud agnostic image representation being obtained, in part, by removing a cloud specific layer in the first VMI; and

obtaining a second VMI for a second cloud different from the first cloud by

launching, on the second cloud, a second VM obtained from the cloud agnostic image representation;

downloading volume data to a volume associated with the second cloud in a format compatible with the second cloud, the volume data being obtained from a cloud agnostic representation of volume data associated with cloud agnostic image representation;

creating and attaching the volume comprising the downloaded volume data to the second VM;

augmenting the volume comprising the downloaded volume data with cloud specific configuration settings for the second cloud to obtain augmented volume data;

detaching the volume comprising the augmented volume data from the second cloud; and

creating the second VMI based on the volume comprising the augmented volume data.

2. The method of claim 1 , wherein the second VMI is obtained, in part, by obtaining a cloud specific layer corresponding to the second cloud, the cloud specific layer corresponding to the second cloud being obtained by augmenting the cloud agnostic image representation with cloud-specific settings for the second cloud.

3. The method of claim 1 , wherein obtaining the cloud agnostic image representation comprises:

launching the first VM on the first cloud based, in part, on the first VMI;

modifying volume data associated with the first VM by removing cloud specific settings for the first VM;

obtaining bundled volume data by bundling the modified volume data associated with the first VM; and

storing a cloud agnostic representation of the bundled volume data.

4. The method of claim 1 , wherein the cloud agnostic representation of volume data is obtained by removing cloud specific settings for the first VM from volume data associated with the first VM.

5. The method of claim 1 , wherein the second VM is launched using a second operating system that is compatible with but different from first operating system associated with the first VMI.

6. The method of claim 1 , wherein the method is invoked using a user interface that permits selection of the first cloud, the first VMI and the second cloud, the first and second clouds being selected from a plurality of available clouds.

7. The method of claim 1 , further comprising:

deploying the second VMI on the second cloud.

8. An apparatus comprising:

a memory, and

at least one processor coupled to the memory, wherein the at least one processor is configured to:

obtain a cloud agnostic image representation from a first Virtual Machine Image (VMI) associated with a first Virtual Machine (VM) on a first cloud, the cloud agnostic image representation being obtained, in part, by removing a cloud specific layer in the first VMI; and

obtain a second VMI for a second cloud, by configuring the processor to:

launch, on the second cloud, a second VM obtained from the cloud agnostic image representation;

download volume data to a volume associated with the second cloud in a format compatible with the second cloud, the volume data being obtained from a cloud agnostic representation of volume data associated with the cloud agnostic image representation;

create and attach the volume comprising the downloaded volume data to the second VM;

augment the volume comprising the downloaded volume data with cloud specific configuration settings for the second cloud to obtain augmented volume data;

detach the volume comprising the augmented volume data from the second cloud; and

create the second VMI in the memory, the second VMI being created based on the volume comprising the augmented volume data.

9. The apparatus of claim 8 , wherein to obtain the second VMI, the processor is configured to:

obtain a cloud specific layer corresponding to the second cloud, the cloud specific layer corresponding to the second cloud being obtained, in part, by augmenting the cloud agnostic image representation with cloud-specific settings for the second cloud.

10. The apparatus of claim 8 , wherein, to obtain the cloud agnostic image representation, the processor is configured to:

launch the first VM on the first cloud based, in part, on the first VMI;

modify volume data associated with the first VM by removing cloud specific settings for the first VM;

obtain bundled volume data by bundling the modified volume data associated with the first VM; and

store, in the memory, a cloud agnostic representation of the bundled volume data.

11. The apparatus of claim 8 , wherein the cloud agnostic representation of volume data is obtained by removing cloud specific settings for the first VM from volume data associated with the first VM.

12. The apparatus of claim 8 , wherein the second VM is launched using a second operating system that is compatible with but different from a first operating system associated with the first VMI.

13. The apparatus of claim 8 , wherein the processor is further configured to deploy the second VMI on the second cloud.

14. A non-transitory computer-readable medium comprising instructions, which when executed by a processor, perform steps in a method comprising:

obtaining a cloud agnostic image representation from a first Virtual Machine Image (VMI) associated with a first Virtual Machine (VM) on a first cloud, the cloud agnostic image representation being obtained, in part, by removing a cloud specific layer in the first VMI; and

obtaining a second VMI for a second cloud different from the first cloud by

launching, on the second cloud, a second VM obtained from the cloud agnostic image representation;

downloading volume data to a volume on the second cloud in a format compatible with the second cloud, the volume data being obtained from a cloud agnostic representation of volume data associated with cloud agnostic image representation;

creating and attaching the volume comprising the downloaded volume data to the second VM;

augmenting the volume comprising the downloaded volume data with cloud specific configuration settings for the second cloud to obtain augmented volume data;

detaching the volume comprising the augmented volume data from the second cloud; and

creating the second VMI based on the volume comprising the augmented volume data.

15. The non-transitory computer-readable medium of claim 14 , wherein the second VMI is obtained, in part, by obtaining a cloud specific layer corresponding to the second cloud, the cloud specific layer corresponding to the second cloud being obtained by augmenting the cloud agnostic image representation with cloud-specific settings for the second cloud.

16. The non-transitory computer-readable medium of claim 14 , wherein obtaining the cloud agnostic image representation comprises:

launching the first VM on the first cloud based, in part, on the first VMI;

modifying volume data associated with the first VM by removing cloud specific settings for the first VM;

obtaining bundled volume data by bundling the modified volume data associated with the first VM; and

storing a cloud agnostic representation of the bundled volume data.

17. The non-transitory computer-readable medium of claim 14 , the steps further comprising:

deploying the second VMI on the second cloud.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2017
From: CLIQR TECHNOLOGIES LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 043310/0258 →
CHANGE OF NAME Recorded Aug 16, 2017
From: CLIQR TECHNOLOGIES, INC.
To: CLIQR TECHNOLOGIES LLC
Reel/Frame 043576/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2014
From: FU, TIANYING; SRINIVASAN, VENKAT NARAYAN
To: CLIQR TECHNOLOGIES, INC.
Reel/Frame 032407/0428 →
Continuity (1)
Related Publication 20150261514A1 · Sep 17, 2015