Composing a virtual disk using application delta disk images
US-9367244-B2 · Jun 14, 2016 · US
US10318486B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10318486-B2 |
| Application number | US-201615205056-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 8, 2016 |
| Priority date | Jul 8, 2016 |
| Publication date | Jun 11, 2019 |
| Grant date | Jun 11, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for de-duplicating updates in virtual machines (VMs) is provided that may be executed on a host computer u 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.
Opening claim text (preview).
What is claimed is: 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 to produce an updated temporary virtual machine; identifying modified blocks in an image of the updated temporary virtual machine when compared to the base image, the modified blocks comprising changed block content and added block content; identifying files associated with the modified blocks in the image of the updated temporary virtual machine; determining block identifiers of matching files in an image of the client virtual machine that correspond to the identified files associated with the modified blocks in the image of the updated temporary virtual machine; moving block content of blocks identified by 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 image of the updated temporary virtual machine, the free location within the client virtual machine being identified as unused blocks in the image of the client virtual machine for which corresponding locations in the image of the temporary virtual machine and the image of the base image are also unused; de-duplicating content within the client virtual machine that is duplicative of content within the updated temporary 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 image of the updated temporary virtual machine; generating a complete bootable image of the updated temporary virtual machine by incorporating, into the image of the updated temporary virtual machine, blocks of the base image which have not been updated; and replacing the base image by the complete bootable image of the updated temporary virtual machine, the replacing making the image of the updated temporary virtual machine a new base image. 2. The method according to claim 1 , wherein the creating a temporary virtual machine is performed by a copy-on-write technique. 3. The method according to claim 2 , wherein the identifying modified blocks in the image of the updated temporary virtual machine comprises using block identifiers determined during performing the copy-on-write technique. 4. The method according to claim 1 , wherein the updating the temporary virtual machine with the updates comprises booting the temporary virtual machine before the updating. 5. The method according to claim 1 , wherein the replacing the base image by the image of the temporary virtual machine comprises deleting the base image and replacing all pointers to the base image in the client virtual machine with pointers to the new base image. 6. The method according to claim 1 , wherein the de-duplicating content within the client virtual machine comprises ensuring that an original sequence of blocks of a matching file stays unchanged if compared to an original file. 7. 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 to produce an updated temporary virtual machine; identifying modified blocks in an image of the updated temporary virtual machine when compared to the base image, the modified blocks comprising changed block content and added block content; identifying files associated with the modified blocks in the image of the updated temporary virtual machine; determining block identifiers of matching files in an image of the client virtual machine that correspond to the identified files associated with the modified block in the image of the updated temporary virtual machine; moving block content of blocks identified by 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 image of the updated temporary virtual machine, the free location within the client virtual machine being identified as unused blocks in the image of the client virtual machine for which corresponding locations in the image of the temporary virtual machine and the image of the base image are also unused; de-duplicating content within the client virtual machine that is duplicative of content within the updated temporary 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 image of the updated temporary virtual machine; generating a complete bootable image of the updated temporary virtual machine by incorporating, into the image of the updated temporary virtual machine, blocks of the base image which have not been updated; and replacing the base image by the complete bootable image of the updated temporary virtual machine, the replacing making the image of the updated temporary virtual machine a new base image. 8. The de-duplication system according to claim 7 , wherein the creating a temporary virtual machine is performed by a copy-on-write technique. 9. The de-duplication system according to claim 8 , wherein the identifying modified blocks in the image of the updated temporary virtual machine comprises using block identifiers determined during performing the copy-on-write technique. 10. The de-duplication system according to claim 7 , wherein the updating the temporary virtual machine with the updates comprises booting the temporary virtual machine before the updating. 11. The de-duplication system according to claim 7 , wherein the replacing the base image by the image of the temporary virtual machine comprises deleting the base image and replacing all pointers to the base image in the client virtual machine with pointers to the new base image. 12. The de-duplication system according to claim 7 , wherein the de-duplicating content within the client virtual machine comprises ensuring that an original sequence of blocks of a matching file stays unchanged if compared to an original file. 13. A computer program product 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 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 to produce an updated temporary virtual machine; identifying modified blocks in an image of the updated temporary virtual machine when compared to the base image, the modified blocks comprising changed block content and added block content; identifying files associated with the modified blocks in the image of the updated temporary virtual machine;
Creating, deleting, cloning virtual machine instances · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
Isolation or security of virtual machine instances · CPC title
Memory management, e.g. access or allocation · CPC title
De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.