IP Library Patent Application 12032477
Patent Application
App. No. 12/032,477

Moving Execution of a Virtual Machine Across Different Virtualization Platforms

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 None
App. No.
12/032,477
Abstract

Various embodiments of a system and method for moving execution of a virtual machine from a first server computer to a second server computer are disclosed. The first server computer and the second server computer may implement different types of virtualization platforms. The first server computer may be configured to execute a first virtual machine within a first virtualization platform, create snapshot information for the first virtual machine, and transmit the snapshot information to the second server computer. The second server computer may be configured to create a second virtual machine within a second virtualization platform, where the second virtualization platform is a different type of virtualization platform than the first virtualization platform. The second server computer may set the second virtual machine to a state corresponding to the state of the first virtual machine using the snapshot information.

Claims (79)

1 . A computer-accessible storage medium storing program instructions executable to implement:

creating snapshot information for a first virtual machine executing within a first virtualization platform on a first server computer, wherein the snapshot information represents a state of the first virtual machine;

transmitting the snapshot information from the first server computer to a second server computer;

creating a second virtual machine on the second server computer within a second virtualization platform that is a different type of virtualization platform than the first virtualization platform; and

setting the second virtual machine to a state corresponding to the state of the first virtual machine using the snapshot information.

2 . The computer-accessible storage medium of claim 1 ,

wherein the first virtual machine is implemented from a first virtual machine image file constructed according to a first virtual machine image format;

wherein the first virtual machine image format is not supported by the second virtualization platform.

3 . The computer-accessible storage medium of claim 1 ,

wherein a first software application is currently executing on the first virtual machine and has a first execution state when the snapshot information is created;

wherein the snapshot information includes information representing the first execution state of the first software application;

wherein setting the second virtual machine to the state corresponding to the state of the first virtual machine comprises:

initiating execution of the first software application on the second virtual machine; and

setting an execution state of the first software application on the second virtual machine to the first execution state using the snapshot information.

4 . The computer-accessible storage medium of claim 1 ,

wherein a first graphical user interface window having a first display state is currently displayed by the first virtual machine when the snapshot information is created;

wherein the snapshot information includes information representing the first display state of the first graphical user interface window;

wherein setting the second virtual machine to the state corresponding to the state of the first virtual machine comprises:

re-creating the first graphical user interface window on the second virtual machine; and

setting a display state of the first graphical user interface window on the second virtual machine to the first display state using the snapshot information.

5 . The computer-accessible storage medium of claim 1 ,

wherein a first network connection having a first network state is currently open on the first virtual machine when the snapshot information is created;

wherein the snapshot information includes information representing the first network state of the first network connection;

wherein setting the second virtual machine to the state corresponding to the state of the first virtual machine comprises:

re-creating the first network connection on the second virtual machine; and

setting a network state of the first network connection on the second virtual machine to the first network state using the snapshot information.

6 . The computer-accessible storage medium of claim 1 ,

wherein creating the snapshot information, transmitting the snapshot information, creating the second virtual machine, and setting the second virtual machine to the state corresponding to the state of the first virtual machine are performed in response to receiving a request to move execution of the first virtual machine from the first server computer to the second server computer;

wherein the program instructions are further executable to implement stopping execution of the first virtual machine on the first server computer.

7 . The computer-accessible storage medium of claim 6 ,

wherein a first user has a first remote communication session open to the first virtual machine on the first server computer before the request is received;

wherein the program instructions are further executable to implement replacing the first remote communication session with a second remote communication session open to the second virtual machine on the second server computer.

8 . The computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to implement:

pausing execution of the first virtual machine before creating the snapshot information.

9 . The computer-accessible storage medium of claim 1 ,

wherein the first virtual machine includes a software agent that executes in the first virtual machine to creates the snapshot information for the first virtual machine.

10 . The computer-accessible storage medium of claim 1 ,

wherein the second virtual machine includes a software agent that executes in the second virtual machine to set the second virtual machine to the state corresponding to the state of the first virtual machine using the snapshot information.

11 . The computer-accessible storage medium of claim 1 ,

wherein the first server computer and the second server computer are connected through a wide area network (WAN) connection;

wherein the snapshot information is transmitted from the first server computer to the second server computer through the WAN connection.

12 . The computer-accessible storage medium of claim 1 ,

wherein the snapshot information is transmitted from the first server computer to the second server computer using one or more of the following communication protocols:

Hypertext Transfer Protocol (HTTP);

Hypertext Transfer Protocol over Secure Socket Layer (HTTPS);

File Transfer Protocol (FTP).

13 . A method comprising:

creating snapshot information for a first virtual machine executing within a first virtualization platform on a first server computer, wherein the snapshot information represents a state of the first virtual machine;

transmitting the snapshot information from the first server computer to a second server computer;

creating a second virtual machine on the second server computer within a second virtualization platform that is a different type of virtualization platform than the first virtualization platform; and

setting the second virtual machine to a state corresponding to the state of the first virtual machine using the snapshot information.

14 . The method of claim 13 ,

wherein the first virtual machine is implemented from a first virtual machine image file constructed according to a first virtual machine image format;

wherein the first virtual machine image format is not supported by the second virtualization platform.

15 . The method of claim 13 ,

wherein a first software application is currently executing on the first virtual machine and has a first execution state when the snapshot information is created;

wherein the snapshot information includes information representing the first execution state of the first software application;

wherein setting the second virtual machine to the state corresponding to the state of the first virtual machine comprises:

initiating execution of the first software application on the second virtual machine; and

setting an execution state of the first software application on the second virtual machine to the first execution state using the snapshot information.

16 . The method of claim 13 ,

wherein a first graphical user interface window having a first display state is currently displayed by the first virtual machine when the snapshot information is created;

wherein the snapshot information includes information representing the first display state of the first graphical user interface window;

wherein setting the second virtual machine to the state corresponding to the state of the first virtual machine comprises:

re-creating the first graphical user interface window on the second virtual machine; and

setting a display state of the first graphical user interface window on the second virtual machine to the first display state using the snapshot information.

17 . A system comprising:

a first server computer; and

a second server computer;

wherein the first server computer is configured to:

execute a first virtual machine within a first virtualization platform;

create snapshot information for the first virtual machine, wherein the snapshot information represents a state of the first virtual machine;

transmit the snapshot information to the second server computer;

wherein the second server computer is configured to:

create a second virtual machine within a second virtualization platform that is a different type of virtualization platform than the first virtualization platform;

set the second virtual machine to a state corresponding to the state of the first virtual machine using the snapshot information.

18 . The system of claim 17 ,

wherein the first virtual machine is implemented from a first virtual machine image file constructed according to a first virtual machine image format;

wherein the first virtual machine image format is not supported by the second virtualization platform.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2013
From: CLEARCUBE TECHNOLOGY, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031837/0976 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2011
From: BRIDGE BANK, NATIONAL ASSOCIATION
To: CLEARCUBE TECHNOLOGY, INC.
Reel/Frame 027135/0663 →
SECURITY INTEREST Recorded Oct 3, 2008
From: CLEARCUBE TECHNOLOGY, INC.
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 021645/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2008
From: HUSAIN, SYED M. AMIR
To: CLEARCUBE TECHNOLOGY, INC.
Reel/Frame 020521/0316 →