US20120122573A1 - Apparatus and method for synchronizing virtual machine - Google Patents
Apparatus and method for synchronizing virtual machine Download PDFInfo
- Publication number
- US20120122573A1 US20120122573A1 US13/297,786 US201113297786A US2012122573A1 US 20120122573 A1 US20120122573 A1 US 20120122573A1 US 201113297786 A US201113297786 A US 201113297786A US 2012122573 A1 US2012122573 A1 US 2012122573A1
- Authority
- US
- United States
- Prior art keywords
- image
- virtual machine
- terminal
- distributed
- cow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Definitions
- 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.
- 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.
- 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.
- 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.
- COW copy-on-write
- 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.
- 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.
- 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.
- OS virtual operating system
- 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.
- 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.
- 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.
- the distributed image server may transfer the virtual machine image updated with the COW image to the second terminal, thereby maintaining synchronization.
- the distributed image server may transfer the virtual machine image using the servers, distributed across the network, in a distributed fashion.
- 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.
- 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.
- 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.
- 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.
- the transferring a virtual machine image to the terminal may include transferring the virtual machine image to the terminal using the distributed synchronization module.
- 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.
- 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.
- 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
- FIG. 2 is a drawing schematically illustrating the apparatus for synchronizing a virtual machine shown in FIG. 1 ;
- 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 ;
- 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
- 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 .
- 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.
- FIG. 2 is a drawing schematically illustrating the apparatus 100 for synchronizing a virtual machine shown in FIG. 1 .
- the apparatus 100 for synchronizing a virtual machine 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.
- the apparatus 100 for synchronizing a virtual machine includes a distributed image server 110 and a virtual machine operation management unit 120 .
- 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.
- 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.
- 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.
- 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.
- 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.
- the virtual machine image according to an embodiment of the present invention is divided into a basic image and a COW image.
- 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.
- 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.
- 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.
- 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.
- 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 .
- a description will be given on the assumption that the user receives a virtual machine synchronization service using the terminal 200 over the network.
- the virtual machine management program 121 provided by the virtual machine operation management unit 120 of the apparatus 100 for synchronizing a virtual machine includes a distributed synchronization module 1211 , a hypervisor module 1212 , and a virtual machine image management module 1213 .
- 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 .
- 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.
- 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 .
- 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.
- 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 .
- 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 S 100 so that a virtual machine image can be executed on the terminal 300 .
- 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 S 110 .
- the distributed image server 110 updates the virtual machine image for the user with the COW image at steps S 120 and S 130 .
- the distributed image server 110 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 S 140 .
- 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 .
- 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 .
- 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 S 200 .
- 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 S 210 .
- the terminal 300 divides a virtual machine image into a basic image and a COW image using the distributed synchronization module 1211 at step S 220 .
- 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 S 230 .
- 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 S 250 .
- the terminal 300 transfers the changed COW image to the distributed image server 110 using the distributed synchronization module 1211 at step S 260 , 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 S 270 .
- 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.
- 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 S 270 .
- the apparatus 100 for synchronizing a virtual machine 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
Description
- 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.
- 1. Technical Field
- 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.
- 2. Description of the Related Art
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- The distributed image server may transfer the virtual machine image updated with the COW image to the second terminal, thereby maintaining synchronization.
- The distributed image server may transfer the virtual machine image using the servers, distributed across the network, in a distributed fashion.
- 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.
- 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.
- 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.
- 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.
- The transferring a virtual machine image to the terminal may include transferring the virtual machine image to the terminal using the distributed synchronization module.
- 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.
- 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.
- 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:
-
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; -
FIG. 2 is a drawing schematically illustrating the apparatus for synchronizing a virtual machine shown inFIG. 1 ; -
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 inFIG. 2 ; -
FIG. 4 is a flowchart illustrating a method for the apparatus for synchronizing a virtual machine shown inFIG. 1 to provide a virtual machine synchronization service; and -
FIG. 5 is a flowchart illustrating a method of receiving a virtual machine synchronization service from the apparatus for synchronizing a virtual machine shown inFIG. 1 . - 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.
- 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.
-
FIG. 1 is a drawing schematically illustrating a network including anapparatus 100 for synchronizing a virtual machine according to an embodiment of the present invention. -
FIG. 2 is a drawing schematically illustrating theapparatus 100 for synchronizing a virtual machine shown inFIG. 1 . - As shown in
FIG. 1 , theapparatus 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 aterminal 200 over a network and then moved to aterminal 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 theterminal 200, to be kept consistent, thereby rendering it possible to provide a virtual machine synchronization service regardless of the movement of the user. - In detail, referring to
FIG. 2 , theapparatus 100 for synchronizing a virtual machine includes adistributed image server 110 and a virtual machineoperation management unit 120. - 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, thedistributed 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. - 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 virtualmachine management program 121 installed on the terminal which is currently being used by the user. Thedistributed image server 110 updates the virtual machine image for the user with the changed COW image. Furthermore, when the user changes between terminals, thedistributed image server 110 provides the virtual machine image recently updated with the COW image, thereby synchronizing the virtual machine image for the user. - 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.
- The virtual machine
operation management unit 120 creates the virtualmachine 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 machineoperation management unit 120 transfers the virtualmachine management program 121 to the terminal currently being used by the user, thereby managing the execution of the virtual machine image. - 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 virtualmachine management program 121 is installed such that the user can use a virtual machine synchronization service. -
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 inFIG. 2 . In conjunction withFIG. 3 , a description will be given on the assumption that the user receives a virtual machine synchronization service using theterminal 200 over the network. - Referring to
FIGS. 1 and 3 , the virtualmachine management program 121 provided by the virtual machineoperation management unit 120 of theapparatus 100 for synchronizing a virtual machine according to an embodiment of the present invention includes a distributedsynchronization module 1211, ahypervisor module 1212, and a virtual machineimage management module 1213. - 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 distributedsynchronization module 1211 divides the virtual machine image into a basic image and a COW image. The distributedsynchronization module 1211 transfers the basic image and the COW image to thehypervisor module 1212 so that they can be executed in theterminal 200. - The
hypervisor module 1212 receives the virtual machine image, which has been divided into the basic image and the COW image, from the virtual machineimage management module 1211, and enables the virtual OS to be executed in the terminal 200 using the separate basic image and COW image. - The virtual machine
image management module 1213 performs management so that the basic image can be maintained in theterminal 200 of the user. The virtual machineimage 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 distributedimage server 110 using the distributedsynchronization module 1211. -
FIG. 4 is a flowchart illustrating a method for the apparatus for synchronizing a virtual machine shown inFIG. 1 to provide a virtual machine synchronization service. In conjunction withFIG. 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. - 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 machineoperation management unit 120 of theapparatus 100 for synchronizing a virtual machine virtual creates themachine management program 121 and transfers it to the terminal 300 at step S100 so that a virtual machine image can be executed on theterminal 300. - When the user installs the virtual
machine management program 121 on the terminal 300 and performs user login, the distributedimage 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. - 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. - 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. -
FIG. 5 is a flowchart illustrating a method of receiving a virtual machine synchronization service from the apparatus for synchronizing a virtual machine shown inFIG. 1 . In conjunction withFIG. 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. - 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 theapparatus 100 for synchronizing a virtual machine so as to provide the virtual machine synchronization service to the user at step S200. - The terminal 300 receives a virtual
machine management program 121 from the virtual machineoperation management unit 120 of theapparatus 100 for synchronizing a virtual machine. The terminal 300 installs the distributedsynchronization module 1211,hypervisor module 1212 and virtual machineimage management module 1213 of the virtualmachine management program 121 at step S210. - 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 thehypervisor module 1212 and the basic image and the COW image at step S230. Then, the terminal 300 performs management using the virtual machineimage 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 machineimage management module 1213 at step S250. - 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 distributedsynchronization 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 distributedimage server 110 at step S270. - 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Claims (17)
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.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2010-0114075 | 2010-11-16 | ||
KR1020100114075A KR20120052769A (en) | 2010-11-16 | 2010-11-16 | Apparatus and method for synchronizing virtual machine |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120122573A1 true US20120122573A1 (en) | 2012-05-17 |
Family
ID=46048266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/297,786 Abandoned US20120122573A1 (en) | 2010-11-16 | 2011-11-16 | Apparatus and method for synchronizing virtual machine |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120122573A1 (en) |
KR (1) | KR20120052769A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268583A1 (en) * | 2012-04-04 | 2013-10-10 | Tangentix Ltd. | Hybrid Client-Server Graphical Content Delivery Method and Apparatus |
US9075789B2 (en) | 2012-12-11 | 2015-07-07 | General Dynamics C4 Systems, Inc. | Methods and apparatus for interleaving priorities of a plurality of virtual processors |
CN105765534A (en) * | 2013-09-23 | 2016-07-13 | Gopc有限公司 | Virtual computing systems and methods |
US9430255B1 (en) * | 2013-03-15 | 2016-08-30 | Google Inc. | Updating virtual machine generated metadata to a distribution service for sharing and backup |
US10067800B2 (en) * | 2014-11-06 | 2018-09-04 | Vmware, Inc. | Peripheral device sharing across virtual machines running on different host computing systems |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101952651B1 (en) | 2015-05-11 | 2019-05-22 | 삼성에스디에스 주식회사 | Method and apparatus for generating unique identifier for distributed computing environment |
KR101890138B1 (en) * | 2016-11-22 | 2018-09-28 | 숭실대학교산학협력단 | SYSTEM AND METHOD FOR DEVELOPMENT ENVIRONMENT CENTERAL MANAGEMENT USING Vagrant, RECORDING MEDIUM FOR PERFORMING THE METHOD |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126242A1 (en) * | 2001-12-28 | 2003-07-03 | Chang Albert H. | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image |
US20040010617A1 (en) * | 2002-07-09 | 2004-01-15 | Hitachi, Ltd. | Request routing network system, request router apparatus, router apparatus and a method for path setting in a network |
US20050283765A1 (en) * | 2004-06-19 | 2005-12-22 | Apple Computer, Inc. | Software performance analysis using data mining |
US20060126903A1 (en) * | 2002-07-25 | 2006-06-15 | David Sharony | Imaging system and method for body condition evaluation |
US7103713B2 (en) * | 2004-03-31 | 2006-09-05 | Hitachi, Ltd. | Storage system, device and method using copy-on-write for synchronous remote copy |
US20070156985A1 (en) * | 2005-12-30 | 2007-07-05 | Industrial Technology Research Institute | Snapshot mechanism in a data processing system and method and apparatus thereof |
US20070242066A1 (en) * | 2006-04-14 | 2007-10-18 | Patrick Levy Rosenthal | Virtual video camera device with three-dimensional tracking and virtual object insertion |
US20080201414A1 (en) * | 2007-02-15 | 2008-08-21 | Amir Husain Syed M | Transferring a Virtual Machine from a Remote Server Computer for Local Execution by a Client Computer |
US7506265B1 (en) * | 2000-07-17 | 2009-03-17 | Microsoft Corporation | System and method for displaying images of virtual machine environments |
US7568080B2 (en) * | 2002-10-07 | 2009-07-28 | Commvault Systems, Inc. | Snapshot storage and management system with indexing and user interface |
US20110022879A1 (en) * | 2009-07-24 | 2011-01-27 | International Business Machines Corporation | Automated disaster recovery planning |
US20110219372A1 (en) * | 2010-03-05 | 2011-09-08 | International Business Machines Corporation | System and method for assisting virtual machine instantiation and migration |
US8468535B1 (en) * | 2008-09-23 | 2013-06-18 | Gogrid, LLC | Automated system and method to provision and allocate hosting resources |
US8566653B2 (en) * | 2009-12-22 | 2013-10-22 | At&T Intellectual Property I, L.P. | Infrastructure for rapid service deployment |
-
2010
- 2010-11-16 KR KR1020100114075A patent/KR20120052769A/en not_active Application Discontinuation
-
2011
- 2011-11-16 US US13/297,786 patent/US20120122573A1/en not_active Abandoned
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506265B1 (en) * | 2000-07-17 | 2009-03-17 | Microsoft Corporation | System and method for displaying images of virtual machine environments |
US20030126242A1 (en) * | 2001-12-28 | 2003-07-03 | Chang Albert H. | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image |
US20040010617A1 (en) * | 2002-07-09 | 2004-01-15 | Hitachi, Ltd. | Request routing network system, request router apparatus, router apparatus and a method for path setting in a network |
US20060126903A1 (en) * | 2002-07-25 | 2006-06-15 | David Sharony | Imaging system and method for body condition evaluation |
US7568080B2 (en) * | 2002-10-07 | 2009-07-28 | Commvault Systems, Inc. | Snapshot storage and management system with indexing and user interface |
US7103713B2 (en) * | 2004-03-31 | 2006-09-05 | Hitachi, Ltd. | Storage system, device and method using copy-on-write for synchronous remote copy |
US20050283765A1 (en) * | 2004-06-19 | 2005-12-22 | Apple Computer, Inc. | Software performance analysis using data mining |
US20070156985A1 (en) * | 2005-12-30 | 2007-07-05 | Industrial Technology Research Institute | Snapshot mechanism in a data processing system and method and apparatus thereof |
US20070242066A1 (en) * | 2006-04-14 | 2007-10-18 | Patrick Levy Rosenthal | Virtual video camera device with three-dimensional tracking and virtual object insertion |
US20080201414A1 (en) * | 2007-02-15 | 2008-08-21 | Amir Husain Syed M | Transferring a Virtual Machine from a Remote Server Computer for Local Execution by a Client Computer |
US8468535B1 (en) * | 2008-09-23 | 2013-06-18 | Gogrid, LLC | Automated system and method to provision and allocate hosting resources |
US20110022879A1 (en) * | 2009-07-24 | 2011-01-27 | International Business Machines Corporation | Automated disaster recovery planning |
US8566653B2 (en) * | 2009-12-22 | 2013-10-22 | At&T Intellectual Property I, L.P. | Infrastructure for rapid service deployment |
US20110219372A1 (en) * | 2010-03-05 | 2011-09-08 | International Business Machines Corporation | System and method for assisting virtual machine instantiation and migration |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268583A1 (en) * | 2012-04-04 | 2013-10-10 | Tangentix Ltd. | Hybrid Client-Server Graphical Content Delivery Method and Apparatus |
US9075789B2 (en) | 2012-12-11 | 2015-07-07 | General Dynamics C4 Systems, Inc. | Methods and apparatus for interleaving priorities of a plurality of virtual processors |
US9430255B1 (en) * | 2013-03-15 | 2016-08-30 | Google Inc. | Updating virtual machine generated metadata to a distribution service for sharing and backup |
CN105765534A (en) * | 2013-09-23 | 2016-07-13 | Gopc有限公司 | Virtual computing systems and methods |
JP2016536661A (en) * | 2013-09-23 | 2016-11-24 | ジーオーピーシー・プロプライエタリー・リミテッドGopc Pty Ltd | Virtual computer system and method |
US11663025B2 (en) | 2013-09-23 | 2023-05-30 | Bankvault Pty Ltd | Maintenance of and caching of suspended virtual computers in a pool of suspended virtual computers |
US11693680B2 (en) | 2013-09-23 | 2023-07-04 | Bankvault Pty Ltd | Virtual computing systems and methods |
US10067800B2 (en) * | 2014-11-06 | 2018-09-04 | Vmware, Inc. | Peripheral device sharing across virtual machines running on different host computing systems |
Also Published As
Publication number | Publication date |
---|---|
KR20120052769A (en) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120122573A1 (en) | Apparatus and method for synchronizing virtual machine | |
AU2016359508B2 (en) | Page jumping method and apparatus | |
US8863138B2 (en) | Application service performance in cloud computing | |
US8973005B2 (en) | Information processing apparatus, information processing method, recording medium and information processing system | |
US9854045B2 (en) | Generic cloud enabling of stateful applications | |
US20170063978A1 (en) | Methods and Systems of Dynamic Management of Resources in a Virtualized Environment | |
CN106687923B (en) | Presentation of computing environments on multiple devices | |
US8806488B2 (en) | System for managing personalization information of virtual machine based on cloud computing and method thereof | |
KR102182295B1 (en) | Apparatus for scheduling task based on hardware and method thereof | |
US10044799B2 (en) | Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner | |
CN113366807B (en) | Method, device and medium for shortening advertisement duration | |
CN102752369A (en) | Providing method of television application service and virtualization content service platform | |
CN102591671A (en) | Method for starting application program in virtual environment | |
CN110968331A (en) | Method and device for running application program | |
CN105100150B (en) | Cloud desktop migration method and device and distributed cloud desktop system | |
CN113590146A (en) | Server and container upgrading method | |
AU2011358857B2 (en) | Method and apparatus for managing content in a processing device | |
CN108958933B (en) | Configuration parameter updating method, device and equipment of task executor | |
CN114296953A (en) | Multi-cloud heterogeneous system and task processing method | |
EP3507050A1 (en) | Computer implemented method, welding system and apparatus for multiple application banks | |
US10367879B2 (en) | Download prioritization | |
CN111245909B (en) | Distributed dynamic scheduling method and device, electronic equipment and storage medium | |
JP5982436B2 (en) | Screen transfer server device and screen transfer method | |
CN111858967A (en) | Method, apparatus and storage medium for processing media content in network-based media processing | |
CN112783613A (en) | Unit scheduling method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTIT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HA, KI-RYONG;LEE, JEUN-WOO;SIGNING DATES FROM 20111111 TO 20111114;REEL/FRAME:027237/0728 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |