U.S. patent application number 13/297786 was filed with the patent office on 2012-05-17 for apparatus and method for synchronizing virtual machine.
This patent application is currently assigned to Electronics and Telecommunications Research Institute. Invention is credited to Ki-Ryong HA, Jeun-Woo LEE.
Application Number | 20120122573 13/297786 |
Document ID | / |
Family ID | 46048266 |
Filed Date | 2012-05-17 |
United States Patent
Application |
20120122573 |
Kind Code |
A1 |
HA; Ki-Ryong ; et
al. |
May 17, 2012 |
APPARATUS AND METHOD FOR SYNCHRONIZING VIRTUAL MACHINE
Abstract
Disclosed herein are an apparatus and method for synchronizing a
virtual machine. The apparatus includes a distributed image server
and a virtual machine operation management unit. The distributed
image server includes one or more servers distributed across a
network, transfers a virtual machine image to a user using the
servers, and synchronizes the virtual machine image. The virtual
machine operation management unit provides a virtual machine
management program so that the virtual machine image for the user
can be executed on a terminal, used by the user, regardless of a
location of the user.
Inventors: |
HA; Ki-Ryong; (Daejeon,
KR) ; LEE; Jeun-Woo; (Daejeon, KR) |
Assignee: |
Electronics and Telecommunications
Research Institute
Daejeon-city
KR
|
Family ID: |
46048266 |
Appl. No.: |
13/297786 |
Filed: |
November 16, 2011 |
Current U.S.
Class: |
463/31 ;
463/42 |
Current CPC
Class: |
G06F 2009/4557 20130101;
H04L 67/1095 20130101; G06F 9/45558 20130101 |
Class at
Publication: |
463/31 ;
463/42 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Nov 16, 2010 |
KR |
10-2010-0114075 |
Claims
1. An apparatus for synchronizing a virtual machine, comprising: a
distributed image server configured to include one or more servers
distributed across a network, to transfer a virtual machine image
to a user using the servers, and to synchronize the virtual machine
image; and a virtual machine operation management unit configured
to provide a virtual machine management program so that the virtual
machine image for the user can be executed on a terminal, used by
the user, regardless of a location of the user.
2. The apparatus as set forth in claim 1, wherein the distributed
image server updates the virtual machine image with a copy-on-write
(COW) image, into which a basic image of the virtual machine image
has been changed, so as to synchronize the virtual machine
image.
3. The apparatus as set forth in claim 2, wherein the distributed
image server transfers the virtual machine image using a server
that has been selected from among the servers, distributed across
the network, using bandwidth and delay time as criteria for the
selection.
4. The apparatus as set forth in claim 2, wherein the virtual
machine management program comprises a distributed synchronization
module for dividing the virtual machine image into the basic image
and the COW image and transferring the COW image to the distributed
image server.
5. The apparatus as set forth in claim 4, wherein the virtual
machine management program comprises a hypervisor module for
executing a virtual operating system (OS) on the terminal using the
basic image and the COW image.
6. The apparatus as set forth in claim 5, wherein the virtual
machine management program comprises a virtual machine image
management module for performing management so that the basic image
can be maintained in the terminal and requesting that the COW image
be transferred to the distributed image servers using the
distributed synchronization module based on results of
determination of whether there has been a change in the COW
image.
7. The apparatus as set forth in claim 2, wherein the virtual
machine operation management unit provides the virtual machine
management program to a second terminal when the user has moved
from a first terminal to the second terminal.
8. The apparatus as set forth in claim 7, wherein the distributed
image server receives the COW image from the first terminal using
the virtual machine management program, and then updates the
virtual machine image with the COW image.
9. The apparatus as set forth in claim 8, wherein the distributed
image server transfers the virtual machine image updated with the
COW image to the second terminal, thereby maintaining
synchronization.
10. The apparatus as set forth in claim 2, wherein the distributed
image server transfers the virtual machine image using the servers,
distributed across the network, in a distributed fashion.
11. A method of synchronizing a virtual machine, comprising:
providing a virtual machine management program to a terminal to
which a user has moved over a network; one or more servers
distributed across the network transferring a virtual machine image
to the terminal using the virtual machine management program;
receiving a COW image, into which a basic image of the virtual
machine image has been changed, from the terminal; and updating the
virtual machine image with the COW image.
12. The method as set forth in claim 11, further comprising: if the
user who had used the terminal has moved to another terminal,
providing the virtual machine management program to the latter
terminal; and transferring the virtual machine image, updated with
the COW image, to the latter terminal using the virtual machine
management program, thereby maintaining synchronization.
13. The method as set forth in claim 11, wherein the transferring a
virtual machine image to the terminal comprises: selecting a first
server from among the servers, distributed across the network,
using bandwidth and delay time as criteria for selection; and
transferring the virtual machine image using the first server.
14. The method as set forth in claim 11, wherein the virtual
machine management program comprises: a distributed synchronization
module for dividing the virtual machine image into the basic image
and the COW image and transferring the COW image; a hypervisor
module for executing a virtual OS on the terminal using the basic
image and the COW image; and a virtual machine image management
module for performing management so that the basic image can be
maintained in the terminal and requesting that the COW image be
transferred using the distributed synchronization module based on
results of determination of whether there has been a change in the
COW image.
15. The method as set forth in claim 11, wherein the transferring a
virtual machine image to the terminal comprises transferring the
virtual machine image to the terminal using the distributed
synchronization module.
16. The method as set forth in claim 11, wherein the receiving a
COW image, into which a basic image of the virtual machine image
has been changed, from the terminal comprises receiving the COW
image, transferred by the distributed synchronization module, based
on results of determination of whether there has been a change in
the COW image.
17. The method as set forth in claim 11, wherein the transferring a
virtual machine image to the terminal comprises transferring the
virtual machine image using the servers, distributed across the
network, in a distributed fashion.
Description
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of Korean Patent
Application No. 10-2010-0114075, filed on Nov. 16, 2010, which is
hereby incorporated by reference in its entirety into this
application.
BACKGROUND OF THE INVENTION
[0002] 1. Technical Field
[0003] The present invention relates generally to an apparatus and
method for synchronizing a virtual machine and, more particularly,
to an apparatus and method for synchronizing a virtual machine,
which synchronize a virtual machine image, thereby rendering it
possible to provide the same working environment regardless of
changes in the environment.
[0004] 2. Description of the Related Art
[0005] As most personal computing work is performed over a network,
the concept of cloud computing is being promulgated. In particular,
with the advent of a variety of computing devices, such as the
smart phone, the desire to conduct personal computing work
regardless of changes in the environment is getting stronger.
[0006] However, current cloud computing services are at the level
of synchronizing data files for each individual user, and have
limitations on the maintenance and provision of the same working
environment.
[0007] Meanwhile, the use of virtual machines is increasing in the
field of separating the networks of public organizations, and the
need for a virtual machine is further increasing along with the
increased desire to remotely conduct computing work.
[0008] However, when a virtual OS is used remotely via a virtual
machine, a large amount of data should be continuously transferred
over a network, and therefore the number of users who are using the
network bandwidth increases, thus resulting in the problem of the
processing speed of an Operating System (OS) becoming slow.
SUMMARY OF THE INVENTION
[0009] Accordingly, the present invention has been made keeping in
mind the above problems occurring in the prior art, and an object
of the present invention is to provide an apparatus and method that
synchronize a virtual machine so that the same working environment
can be provided regardless of changes in the environment.
[0010] In order to accomplish the above object, the present
invention provides an apparatus for synchronizing a virtual
machine, including a distributed image server configured to include
one or more servers distributed across a network, to transfer a
virtual machine image to a user using the servers, and to
synchronize the virtual machine image; and a virtual machine
operation management unit configured to provide a virtual machine
management program so that the virtual machine image for the user
can be executed on a terminal, used by the user, regardless of a
location of the user.
[0011] The distributed image server may update the virtual machine
image with a copy-on-write (COW) image, into which a basic image of
the virtual machine image has been changed, so as to synchronize
the virtual machine image.
[0012] The distributed image server may transfer the virtual
machine image using a server that has been selected from among the
servers, distributed across the network, using bandwidth and delay
time as criteria for the selection.
[0013] The virtual machine management program may include a
distributed synchronization module for dividing the virtual machine
image into the basic image and the COW image and transferring the
COW image to the distributed image server.
[0014] The virtual machine management program may include a
hypervisor module for executing a virtual operating system (OS) on
the terminal using the basic image and the COW image.
[0015] The virtual machine management program may include a virtual
machine image management module for performing management so that
the basic image can be maintained in the terminal and requesting
that the COW image be transferred to the distributed image servers
using the distributed synchronization module based on results of
determination of whether there has been a change in the COW
image.
[0016] The virtual machine operation management unit may provide
the virtual machine management program to a second terminal when
the user has moved from a first terminal to the second
terminal.
[0017] The distributed image server may receive the COW image from
the first terminal using the virtual machine management program,
and then update the virtual machine image with the COW image.
[0018] The distributed image server may transfer the virtual
machine image updated with the COW image to the second terminal,
thereby maintaining synchronization.
[0019] The distributed image server may transfer the virtual
machine image using the servers, distributed across the network, in
a distributed fashion.
[0020] In order to accomplish the above object, the present
invention provides a method of synchronizing a virtual machine,
including providing a virtual machine management program to a
terminal to which a user has moved over a network; one or more
servers distributed across the network transferring a virtual
machine image to the terminal using the virtual machine management
program; receiving a COW image, into which a basic image of the
virtual machine image has been changed, from the terminal; and
updating the virtual machine image with the COW image.
[0021] The method may further include, if the user who had used the
terminal has moved to another terminal, providing a virtual machine
management program to the latter terminal; and transferring the
virtual machine image, updated with the COW image, to the latter
terminal using the virtual machine management program, thereby
maintaining synchronization.
[0022] The transferring a virtual machine image to the terminal may
include selecting a first server from among the servers,
distributed across the network, using bandwidth and delay time as
criteria for selection; and transferring the virtual machine image
using the first server.
[0023] The virtual machine management program may include a
distributed synchronization module for dividing the virtual machine
image into the basic image and the COW image and transferring the
COW image; a hypervisor module for executing a virtual OS on the
terminal using the basic image and the COW image; and a virtual
machine image management module for performing management so that
the basic image can be maintained in the terminal and requesting
that the COW image be transferred using the distributed
synchronization module based on results of determination of whether
there has been a change in the COW image.
[0024] The transferring a virtual machine image to the terminal may
include transferring the virtual machine image to the terminal
using the distributed synchronization module.
[0025] The receiving a COW image, into which a basic image of the
virtual machine image has been changed, from the terminal may
include the virtual machine image management module receiving the
COW image, transferred by the distributed synchronization module,
based on results of determination of whether there has been a
change in the COW image.
[0026] The transferring a virtual machine image to the terminal may
include transferring the virtual machine image using the servers,
distributed across the network, in a distributed fashion.
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The above and other objects, features and advantages of the
present invention will be more clearly understood from the
following detailed description taken in conjunction with the
accompanying drawings, in which:
[0028] FIG. 1 is a drawing schematically illustrating a network
including an apparatus for synchronizing a virtual machine
according to an embodiment of the present invention;
[0029] FIG. 2 is a drawing schematically illustrating the apparatus
for synchronizing a virtual machine shown in FIG. 1;
[0030] FIG. 3 is a drawing illustrating an example of a virtual
machine management program that is provided by the virtual machine
operation management unit shown in FIG. 2;
[0031] FIG. 4 is a flowchart illustrating a method for the
apparatus for synchronizing a virtual machine shown in FIG. 1 to
provide a virtual machine synchronization service; and
[0032] FIG. 5 is a flowchart illustrating a method of receiving a
virtual machine synchronization service from the apparatus for
synchronizing a virtual machine shown in FIG. 1.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0033] Reference now should be made to the different drawings, in
which the same reference numerals are used throughout the different
drawings to designate the same or similar components.
[0034] The present invention will be described in detail with
reference to the accompanying drawings. Here, repetitive
descriptions and descriptions of known functions and constructions
which have been deemed to make the gist of the present invention
unnecessarily vague will be omitted below. The embodiments of the
present invention are provided in order to fully describe the
present invention to a person having ordinary skill in the art.
Accordingly, the shapes, sizes, etc. of elements in the drawings
may be exaggerated to make the description clear.
[0035] FIG. 1 is a drawing schematically illustrating a network
including an apparatus 100 for synchronizing a virtual machine
according to an embodiment of the present invention.
[0036] FIG. 2 is a drawing schematically illustrating the apparatus
100 for synchronizing a virtual machine shown in FIG. 1.
[0037] As shown in FIG. 1, the apparatus 100 for synchronizing a
virtual machine according to the embodiment of the present
invention provides a virtual machine synchronization service to the
terminal of a user over a network regardless of the movement of the
user. That is, when the user received a virtual machine
synchronization service and had used a personal working environment
on a terminal 200 over a network and then moved to a terminal 300
or 400, the apparatus 100 for synchronizing a virtual machine
provides a virtual machine synchronization service to a
corresponding terminal selected by the user and thereby enables the
personal working environment, used on the terminal 200, to be kept
consistent, thereby rendering it possible to provide a virtual
machine synchronization service regardless of the movement of the
user.
[0038] In detail, referring to FIG. 2, the apparatus 100 for
synchronizing a virtual machine includes a distributed image server
110 and a virtual machine operation management unit 120.
[0039] The distributed image server 110 includes one or more
servers that are distributed across a network, and stores a
recently updated virtual machine image for a user who is using a
virtual machine synchronization service. When the user requests a
virtual machine synchronization service, the distributed image
server 110 transfers the virtual machine image using one of the
servers, distributed over the network, which operates in the
highest-performance bandwidth and has the lowest delay time.
Although in this embodiment of the present invention, the virtual
machine image is transferred using a server that has been selected
from among the servers, distributed over the network, using the
bandwidth and the delay time as criteria for selection, the present
invention is not limited thereto, but the virtual machine image may
be transferred using the servers distributed over the network in a
distributed fashion.
[0040] Meanwhile, when a copy-on-write (COW) image has been changed
by a user, the distributed image server 110 receives the changed
COW image via the virtual machine management program 121 installed
on the terminal which is currently being used by the user. The
distributed image server 110 updates the virtual machine image for
the user with the changed COW image. Furthermore, when the user
changes between terminals, the distributed image server 110
provides the virtual machine image recently updated with the COW
image, thereby synchronizing the virtual machine image for the
user.
[0041] The virtual machine image according to an embodiment of the
present invention is divided into a basic image and a COW image.
Here, the basic image includes the kernel of an OS and basic
programs, and is installed on each terminal over the network, which
is used by the user. The COW image is created in such a way that
the basic image is changed into the COW image while the user is
using a virtual OS using the virtual machine. The COW image has a
smaller size than the basic image, is incorporated into the virtual
machine image, and is used to synchronize the virtual OS.
[0042] The virtual machine operation management unit 120 creates
the virtual machine management program 121 so that the virtual
machine image can be executed on a terminal being used by a user
regardless of the movement of the user over the network. When the
user makes a request, the virtual machine operation management unit
120 transfers the virtual machine management program 121 to the
terminal currently being used by the user, thereby managing the
execution of the virtual machine image.
[0043] Referring back to FIG. 1 again, terminals 200 to 400 are
connected to the network and are selected by the user at different
locations, and the virtual machine management program 121 is
installed such that the user can use a virtual machine
synchronization service.
[0044] FIG. 3 is a drawing illustrating an example of a virtual
machine management program that is provided by the virtual machine
operation management unit shown in FIG. 2. In conjunction with FIG.
3, a description will be given on the assumption that the user
receives a virtual machine synchronization service using the
terminal 200 over the network.
[0045] Referring to FIGS. 1 and 3, the virtual machine management
program 121 provided by the virtual machine operation management
unit 120 of the apparatus 100 for synchronizing a virtual machine
according to an embodiment of the present invention includes a
distributed synchronization module 1211, a hypervisor module 1212,
and a virtual machine image management module 1213.
[0046] When the user requests the provision of the virtual machine
synchronization service, the distributed synchronization module
1211 receives the virtual machine image for the user using the
terminal 200 currently being used. The distributed synchronization
module 1211 divides the virtual machine image into a basic image
and a COW image. The distributed synchronization module 1211
transfers the basic image and the COW image to the hypervisor
module 1212 so that they can be executed in the terminal 200.
[0047] The hypervisor module 1212 receives the virtual machine
image, which has been divided into the basic image and the COW
image, from the virtual machine image management module 1211, and
enables the virtual OS to be executed in the terminal 200 using the
separate basic image and COW image.
[0048] The virtual machine image management module 1213 performs
management so that the basic image can be maintained in the
terminal 200 of the user. The virtual machine image management
module 1213 determines whether there has been a change in the COW
image, and, if there has been a change in the COW image, requests
that the COW image be transferred to the distributed image server
110 using the distributed synchronization module 1211.
[0049] FIG. 4 is a flowchart illustrating a method for the
apparatus for synchronizing a virtual machine shown in FIG. 1 to
provide a virtual machine synchronization service. In conjunction
with FIG. 4, a description will be given on the assumption that a
user receives a virtual machine synchronization service and also
uses a personal working environment on the terminal 200 over the
network, and then moves to the terminal 300 and then to the
terminal 400.
[0050] Referring to FIGS. 1 and 4, when the user receives a virtual
machine synchronization service and also uses a personal working
environment on the terminal 200 over the network, and then moves to
the terminal 300 and also requests a virtual machine
synchronization service, the virtual machine operation management
unit 120 of the apparatus 100 for synchronizing a virtual machine
virtual creates the machine management program 121 and transfers it
to the terminal 300 at step S100 so that a virtual machine image
can be executed on the terminal 300.
[0051] When the user installs the virtual machine management
program 121 on the terminal 300 and performs user login, the
distributed image server 110 transfers the virtual machine image
for the user, recently updated and synchronized, using one of the
servers, distributed across the network, which operates in the
highest-performance bandwidth and has the lowest delay time at step
S110.
[0052] When the user receives a COW image using the terminal 300,
the distributed image server 110 updates the virtual machine image
for the user with the COW image at steps S120 and S130.
[0053] When the user moves to another terminal 400 and requests the
provision of a virtual machine synchronization service, the
distributed image server 110 provides the virtual machine image,
updated with the COW image, using the terminal 300 recently used,
thereby keeping the virtual machine synchronized at step S140.
[0054] FIG. 5 is a flowchart illustrating a method of receiving a
virtual machine synchronization service from the apparatus for
synchronizing a virtual machine shown in FIG. 1. In conjunction
with FIG. 5, a description will be given on the assumption that a
user receives a virtual machine synchronization service and also
uses a personal working environment on the terminal 200 over the
network and then moves to the terminal 300.
[0055] As shown in FIG. 5, when the user network who received the
virtual machine synchronization service over the network and also
had used the personal working environment on the terminal 200 moved
to the terminal 300, the terminal 300 requests the virtual machine
synchronization service from the apparatus 100 for synchronizing a
virtual machine so as to provide the virtual machine
synchronization service to the user at step S200.
[0056] The terminal 300 receives a virtual machine management
program 121 from the virtual machine operation management unit 120
of the apparatus 100 for synchronizing a virtual machine. The
terminal 300 installs the distributed synchronization module 1211,
hypervisor module 1212 and virtual machine image management module
1213 of the virtual machine management program 121 at step
S210.
[0057] The terminal 300 divides a virtual machine image into a
basic image and a COW image using the distributed synchronization
module 1211 at step S220. The terminal 300 enables a virtual OS to
be executed on the terminal currently being used using the
hypervisor module 1212 and the basic image and the COW image at
step S230. Then, the terminal 300 performs management using the
virtual machine image management module 1213 so that the basic
image can be maintained at 5240. The terminal 300 determines
whether there has been a change in the COW image using the virtual
machine image management module 1213 at step S250.
[0058] If, as a result of the determination at step S250, it is
determined that there has been a change in the COW image, the
terminal 300 transfers the changed COW image to the distributed
image server 110 using the distributed synchronization module 1211
at step S260, so that the virtual machine image for the user can be
updated. The terminal 300 determines whether the virtual machine
synchronization service has been terminated using the distributed
image server 110 at step S270.
[0059] If, as a result of the determination at step S270, it is
determined that the virtual machine synchronization service has not
been terminated, the terminal 300 provides a virtual machine
synchronization service while performing the process after step
S230. If, as a result of the determination at step S270, the
virtual machine synchronization service has been terminated, the
terminal 300 determines that the user has terminated the provision
of the virtual machine synchronization service, and then terminates
the virtual machine synchronization service.
[0060] Meanwhile, if, as a result of the determination at step
S250, there has been no change in the COW image, the terminal 300
terminates the virtual machine synchronization service or continues
to provide the virtual machine synchronization service based on the
results of the determination of whether the virtual machine
synchronization service has been terminated at step S270.
[0061] As described above, the apparatus 100 for synchronizing a
virtual machine according to an embodiment of the present invention
divides a virtual machine image into a basic image and a COW image
and updates the virtual machine image with the COW image changed by
the user, and therefore the virtual machine image recently updated
with the COW image can be provided to the user regardless of the
movement of the user, thereby rendering it possible to maintain the
synchronization of a virtual machine.
[0062] Furthermore, when a virtual machine image is updated, the
update is performed by directly processing a COW image, changed by
the user, using an instruction on a terminal currently being used,
rather than by receiving image data and then performing the update,
thereby providing improved reaction and operating speed and
increasing the convenience of the user using the absolute shortest
synchronization time.
[0063] Furthermore, the virtual machine image is transferred using
one of the servers, distributed across the network, which operates
in the highest-performance bandwidth and has the lowest delay time,
and therefore the user can use the virtual machine without being
affected by the bandwidth or delay time of the network.
[0064] The present invention is configured to divide a virtual
machine image into a basic image and a COW image and to update a
virtual machine image for a user with a COW image changed by the
user, thereby providing the advantage of offering a recently
updated virtual machine image to the user regardless of the
movement of the user and, therefore, maintaining synchronization of
a virtual machine.
[0065] Furthermore, the present invention is configured to update a
virtual machine image by directly processing a COW image, changed
by the user, on a terminal currently being used using instructions,
rather than receiving image data and then performing the update,
thereby providing the advantage of offering improved reaction speed
and operating speed as well as increasing the convenience of the
user using the absolute shortest synchronization time.
[0066] Furthermore, the present invention is configured to transfer
a virtual machine using one of the servers, distributed across the
network, which operates in the highest-performance bandwidth and
has the lowest delay time, thereby providing the advantage of
enabling user to use a virtual machine without being affected by
the bandwidth or delay time of the network.
[0067] Moreover, the present invention is configured to transfer a
virtual machine image using the servers, distributed across the
network, in a distributed fashion, thereby providing the advantage
of improving the transmission speed of the virtual machine
image.
[0068] Although the preferred embodiments of the present invention
have been disclosed for illustrative purposes, those skilled in the
art will appreciate that various modifications, additions and
substitutions are possible, without departing from the scope and
spirit of the invention as disclosed in the accompanying
claims.
* * * * *