UPGRADABLE BASE IMAGE OF VIRTUAL MACHINE
First Claim
1. A computer-implemented method for de-duplication of updates in virtual machines being executed on a host computer system using a hypervisor, wherein a client virtual machine is derived from a base image, the method comprising:
- creating a temporary virtual machine based on the base image;
updating the temporary virtual machine with the updates;
identifying modified blocks in a temporary image of the temporary machine when compared to the base image;
identifying files associated with the modified blocks in the updated temporary image;
determining block identifiers of matching files in the temporary image of the temporary virtual machine corresponding to identified files in the image of the updated temporary virtual machine;
moving block content of blocks relating to the determined block identifiers from its initial location to a free location within the client virtual machine if the block content and the matching files are not identical in the image of the client virtual machine and the temporary image of the temporary virtual machine;
de-duplicating content within the client virtual machine by replacing block content at an initial location of the matching files in the image of the client virtual machine with pointers to corresponding blocks in the temporary image of the temporary virtual machine;
generating a complete bootable image of the temporary virtual machine by using blocks of the base image which have not been updated; and
replacing the base image by the image of the temporary virtual machine making the temporary virtual machine a new base image.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for de-duplicating updates in virtual machines (VMs) is provided that may be executed on a host computer using a hypervisor. Client VMs are derived from a base image, and the method includes: creating a temporary virtual machine, updating the temporary virtual machine, identifying modified blocks of the updated temporary virtual machine, and identifying files associated with the modified blocks. Moreover, the method includes determining block identifiers of matching files of a VM corresponding to identified files of the updated temporary VM, moving block content of blocks relating to the determined block identifiers from its initial location to a free location within the client VM if the block content and the matching files are not identical in the client virtual machine and the temporary VM, and de-duplicating content within the client VM, generating a complete bootable image, and replacing the base image by the temporary VM.
-
Citations
17 Claims
-
1. A computer-implemented method for de-duplication of updates in virtual machines being executed on a host computer system using a hypervisor, wherein a client virtual machine is derived from a base image, the method comprising:
-
creating a temporary virtual machine based on the base image; updating the temporary virtual machine with the updates; identifying modified blocks in a temporary image of the temporary machine when compared to the base image; identifying files associated with the modified blocks in the updated temporary image; determining block identifiers of matching files in the temporary image of the temporary virtual machine corresponding to identified files in the image of the updated temporary virtual machine; moving block content of blocks relating to the determined block identifiers from its initial location to a free location within the client virtual machine if the block content and the matching files are not identical in the image of the client virtual machine and the temporary image of the temporary virtual machine; de-duplicating content within the client virtual machine by replacing block content at an initial location of the matching files in the image of the client virtual machine with pointers to corresponding blocks in the temporary image of the temporary virtual machine; generating a complete bootable image of the temporary virtual machine by using blocks of the base image which have not been updated; and replacing the base image by the image of the temporary virtual machine making the temporary virtual machine a new base image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A de-duplication system for updates in virtual machines being executed on a host computer system using a hypervisor, wherein a client virtual machine is derived from a base image stored on a host computer system, the de-duplication system comprising:
-
a memory; and a processor communicatively coupled to the memory, wherein the de-duplication system performs a method comprising; creating a temporary virtual machine based on the base image; updating the temporary virtual machine with the updates; identifying modified blocks in a temporary image of the temporary machine when compared to the base image; identifying files associated with the modified blocks in the updated temporary image; determining block identifiers of matching files in the temporary image of the temporary virtual machine corresponding to identified files in the image of the updated temporary virtual machine; moving block content of blocks relating to the determined block identifiers from its initial location to a free location within the client virtual machine if the block content and the matching files are not identical in the image of the client virtual machine and the temporary image of the temporary virtual machine; de-duplicating content within the client virtual machine by replacing block content at an initial location of the matching files in the image of the client virtual machine with pointers to corresponding blocks in the temporary image of the temporary virtual machine; generating a complete bootable image of the temporary virtual machine by using blocks of the base image which have not been updated; and replacing the base image by the image of the temporary virtual machine making the temporary virtual machine a new base image. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product for de-duplication of common updates in virtual machines being executed on a host computer system using a hypervisor, wherein a plurality of virtual machines are derived from a base image, the computer program product comprising:
a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by a computer system to cause the computer system to perform a method comprising; creating a temporary virtual machine based on the base image; updating the temporary virtual machine with the updates; identifying modified blocks in a temporary image of the temporary machine when compared to the base image; identifying files associated with the modified blocks in the updated temporary image; determining block identifiers of matching files in the temporary image of the temporary virtual machine corresponding to identified files in the image of the updated temporary virtual machine; moving block content of blocks relating to the determined block identifiers from its initial location to a free location within the client virtual machine if the block content and the matching files are not identical in the image of the client virtual machine and the temporary image of the temporary virtual machine; de-duplicating content within the client virtual machine by replacing block content at an initial location of the matching files in the image of the client virtual machine with pointers to corresponding blocks in the temporary image of the temporary virtual machine; generating a complete bootable image of the temporary virtual machine by using blocks of the base image which have not been updated; and replacing the base image by the image of the temporary virtual machine making the temporary virtual machine a new base image.
Specification