US20120122573A1 - Apparatus and method for synchronizing virtual machine - Google Patents

Apparatus and method for synchronizing virtual machine Download PDF

Info

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
Application number
US13/297,786
Inventor
Ki-Ryong HA
Jeun-Woo LEE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Assigned to ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE reassignment ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEE, JEUN-WOO, HA, KI-RYONG
Publication of US20120122573A1 publication Critical patent/US20120122573A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution 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

    CROSS REFERENCE TO RELATED APPLICATION
  • 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
  • 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.
  • SUMMARY OF THE INVENTION
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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 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; 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 in FIG. 1.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • 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 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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. 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.
  • 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.
  • 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.
  • 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 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
US13/297,786 2010-11-16 2011-11-16 Apparatus and method for synchronizing virtual machine Abandoned US20120122573A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (14)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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