The present invention relates to a method for creating a virtual machine, and more specifically, relates to aspects regarding creating, running and restoration of a virtual machine.
PM (physical machine)-VM (virtual machine) technique is well known in the art. For example, a physical machine (e.g. a server) allocates corresponding hardware resource (which usually is a part of hardware resources of the physical machine) to multiple users in response to requests from the users, such that for these users it looks like they are individually using a separate physical machine (i.e. a virtual machine which comprises an operating system, corresponding hardware, applications, etc.). Users can remotely access a virtual machine through network, for example, a cloud server application. Thus, it is unnecessary for the user to separately purchase a high-performance computer at the expense of money; instead, projects (such as, research, mass operations, or the like) requiring a high-performance computer can be implemented by utilizing service providers that provide the above cloud service.
There generally includes the following ways to create a virtual machine for a user on a physical machine. One is that, when creating a virtual machine on a physical machine, a user can only make a choice regarding types of operating systems, but applications used on the virtual machine need to be installed by the user himself/herself. In such a mode, a service provider provides only an image file of the selected operating system. Image file technique is a technique commonly used at the time of loading operating systems and/or applications when creating a virtual machine. When an image file containing a specific operating system is used for a virtual machine, this specific operating system will be loaded onto the virtual machine. Obviously, if the service provider provides only an image file of an operating system, then applications required by a user need to be installed by the user himself/herself. Another fact is that, the user may request multiple virtual machines for improving working efficiency. For example, one user can apply for 10 virtual machines at the same time, and install the same application(s) for performing mass operations. In such a case, a user needs to install desirable software by himself/herself each time when applying for a virtual machine.
Another way to create a virtual machine is that a service provider provides some predetermined image files on a physical machine in advance. In these image files, combinations of specific operating systems and specific applications are already contained. Illustrative examples of these image files are shown in FIG. 4. For example, image file 1 contains operating system 1 and applications A, B and C. When image file 1 is used at the time of creating a virtual machine, the built virtual machine will obtain the operating system 1 on which applications A, B and C are installed. However, it is known that, there are dozens of popular operating systems (such as, Windows® Series available from Microsoft Company as well as operating systems like Linux Series), and the number of commonly-used applications is large. As shown in FIG. 4, when different applications are contained, even if only one application is different (application D in image file 2 and application E in image file 3), the final image file will be different. As a result, even providing only combinations of the most popular applications and common operating systems results in a large quantity of files. Thus, even if only image files covering the combinations of popular applications and operating systems are prepared on the physical machine in advance, a considerable amount of storage space will be taken, which, needless to say, is not cost-efficient.