Cloud-based destination for block-level data replication processing
US-2024354022-A1 · Oct 24, 2024 · US
US9424136B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9424136-B1 |
| Application number | US-201313915682-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jun 12, 2013 |
| Priority date | Jun 12, 2013 |
| Publication date | Aug 23, 2016 |
| Grant date | Aug 23, 2016 |
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 computer-implemented method for creating optimized synthetic backup images may include (1) transferring a backup image that represents a virtual machine at a specific point in time to a server that stores the backup image, (2) identifying a subsequent backup image that represents at least a portion of the virtual machine at a subsequent point in time, (3) creating a data stream that includes (i) at least one changed data block captured in the subsequent backup image and (ii) at least one reference that identifies where at least one unchanged data block is located within the backup image stored on the server, and then (4) transferring the data stream to the server to enable the server to create an optimized synthetic backup image of the virtual machine. Various other methods, systems, and computer-readable media are also disclosed.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for creating optimized synthetic backup images, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising: identifying, at the computing device, a plurality of data blocks included in a backup image that represents a virtual machine at a specific point in time; creating, at the computing device, a state file that identifies where the plurality of data blocks are located within the backup image of the virtual machine at the specific point in time; transferring the backup image from the computing device to a server that stores the backup image via a network that facilitates communication between the computing device and the server; identifying, at the computing device, a subsequent backup image that represents at least a portion of the virtual machine at a subsequent point in time; creating, at the computing device, a data stream that comprises: at least one changed data block captured in the subsequent backup image that changed within the virtual machine between the specific point in time and the subsequent point in time; at least one reference that identifies where at least one unchanged data block that remained unchanged within the virtual machine between the specific point in time and the subsequent point in time is located within the backup image stored on the server; determining, by the computing device, where the at least one unchanged data block is located within the backup image based at least in part on the state file; indexing, by the computing device, the data stream as though the data stream were a full backup by arranging the at least one reference in a specific order with respect to the at least one changed data block such that the at least one reference acts as a placeholder for the at least one unchanged data block included in the backup image stored on the server; upon creating the data stream, transferring the data stream from the computing device to the server via the network to enable the server to: create an optimized synthetic full backup image that: represents the virtual machine at the subsequent point in time based at least in part on the at least one changed data block included in the data stream and the at least one unchanged data block whose location within the backup image is identified by the at least one reference; excludes at least one data block captured in the backup image that was deleted from the virtual machine between the specific point in time and the subsequent point in time; wherein: indexing the data stream as though the data stream were a full backup comprises excluding, from the data stream, any reference to the at least one data block that was deleted from the virtual machine between the specific point in time and the subsequent point in time; creating the optimized synthetic full backup image comprises replacing, at the server, the at least one reference included in the data stream with the at least one unchanged data block from the backup image. 2. The method of claim 1 , wherein determining where the at least one unchanged data block is located within the backup image comprises: searching the state file for the location of the at least one unchanged data block within the backup image of the virtual machine; while searching the state file, identifying the location of the at least one unchanged data block within the backup image of the virtual machine. 3. The method of claim 1 , wherein creating the state file that identifies where the plurality of data blocks are located within the backup image comprises: mapping a plurality of volumes within the backup image of the virtual machine; while mapping the plurality of volumes, identifying a location of each of the plurality of data blocks within the backup image of the virtual machine. 4. The method of claim 1 , wherein: the backup image that represents the virtual machine at the specific point in time comprises a full backup of the virtual machine; the subsequent backup image that represents the virtual machine at the subsequent point in time comprises an incremental backup of the virtual machine. 5. The method of claim 1 , wherein the at least one reference included in the data stream comprises a placeholder for the at least one unchanged data block located within the backup image. 6. The method of claim 1 , wherein creating the data stream comprises: obtaining a list of changed data blocks from virtualization software that facilitates execution of the virtual machine; determining that the at least one changed data block has changed within the virtual machine based at least in part on the list of changed data blocks obtained from the virtualization software. 7. The method of claim 1 , wherein optimizing the synthetic backup image comprises storing the optimized synthetic full backup image to facilitate restoring the virtual machine to a computing state experienced by the virtual machine at the subsequent point in time. 8. The method of claim 7 , wherein restoring the virtual machine to the computing state experienced by the virtual machine at the subsequent point in time comprises restoring the virtual machine without the at least one data block deleted from the virtual machine between the specific point in time and the subsequent point in time. 9. The method of claim 1 , further comprising capturing the backup image of the virtual machine on a host computing system at the specific point in time. 10. The method of claim 1 , further comprising obtaining the backup image from a host computing system that hosts the virtual machine. 11. The method of claim 1 , further comprising capturing the subsequent backup image of the virtual machine on a host computing system at the subsequent point in time. 12. The method of claim 1 , further comprising obtaining the subsequent backup image of the virtual machine from a host computing system that hosts the virtual machine. 13. The method of claim 1 , wherein indexing the data stream as though the data stream were a full backup comprises enabling the server to create the optimized synthetic full backup image by replacing the at least one reference included in the data stream with the at least one unchanged data block identified by the at least one reference. 14. The method of claim 1 , wherein indexing the data stream as though the data stream were a full backup comprises enabling the server to create the optimized synthetic full backup image without mounting any virtual disks of the synthetic full backup. 15. A system for creating optimized synthetic backup images, the system comprising: an identification module, stored in memory, that identifies, at a computing device, a plurality of data blocks included in a backup image that represents a virtual machine at a specific point in time; a creation module, stored in memory, that creates, at the computing device, a state file that identifies where the plurality of data blocks are located within the backup image of the virtual machine at the specific point in time; a transfer module, stored in memory, that transfers the backup image from the computing device to a server that stores the backup image via a network that facilitates communication between the computing device and the server; wherein the identification module further identifies, at the computing device, a subsequent backup image that represents at least a portion of the virtual machine at a subsequent point in time; wherein the creation module further creates, at the computing device, a data stream comprising: at least one cha
Virtual · CPC title
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
for networked environments · CPC title
Management of the backup or restore process · CPC title
Replication mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.