Method and system for creation, analysis and navigation of virtual snapshots
US-9465518-B1 · Oct 11, 2016 · US
US10114565B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10114565-B2 |
| Application number | US-201514628033-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 20, 2015 |
| Priority date | Nov 4, 2014 |
| Publication date | Oct 30, 2018 |
| Grant date | Oct 30, 2018 |
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.
Methods and systems for managing, storing, and serving data within a virtualized environment are described. In some embodiments, a data management system may manage the extraction and storage of virtual machine snapshots, provide near instantaneous restoration of a virtual machine or one or more files located on the virtual machine, and enable secondary workloads to directly use the data management system as a primary storage target to read or modify past versions of data. The data management system may allow a virtual machine snapshot of a virtual machine stored within the system to be directly mounted to enable substantially instantaneous virtual machine recovery of the virtual machine.
Opening claim text (preview).
What is claimed is: 1. A method for generating a cloned virtual machine environment, comprising: identifying an application running on a first virtual machine at a particular point in time; determining a set of dependent applications that the application depends on for operation; determining an ordering of the set of dependent applications using a dependency mapping table such that every application that a particular application of the set of dependent applications depends on precedes the particular application in the ordering; determining a set of virtual machines that ran the set of dependent applications at the particular point in time; acquiring a set of snapshots of the set of virtual machines, the set of snapshots corresponds with states of the set of virtual machines at the particular point in time; generating a second set of virtual machines using the set of snapshots, each virtual machine of the second set of virtual machines is generated in an order that satisfies the ordering of the set of dependent applications; identifying a first full image associated with the first virtual machine; generating a first signature using a first full image of the first virtual machine; identifying a third virtual machine based on a comparison of the first signature associated with the first virtual machine and a third signature associated with the third virtual machine; identifying one or more incremental files corresponding with one or more snapshots of the first virtual machine; and generating a second virtual machine corresponding with the first virtual machine subsequent to generating the second set of virtual machines, the generating the second virtual machine includes acquiring the one or more incremental files corresponding with the one or more snapshots of the first virtual machine from a second storage device with a second read speed in parallel with acquiring a third full image of the third virtual machine different from the first virtual machine from a first storage device with a first read speed less than the second read speed, the generating the second virtual machine includes generating the second virtual machine using the third full image of the third virtual machine different from the first virtual machine and the one or more incremental files corresponding with the one or more snapshots of the first virtual machine. 2. The method of claim 1 , wherein: the first storage device comprises a magnetic storage device; the second storage device comprises a solid-state storage device; the second virtual machine comprises a cloned version of the first virtual machine; and the second set of virtual machines comprises cloned versions of the set of virtual machines. 3. The method of claim 1 , wherein: the first virtual machine corresponds with a first virtual machine configuration file; the third virtual machine corresponds with a third virtual machine configuration file different from the first virtual machine configuration file; the application depends on a second application of the set of dependent applications; and the generating the second set of virtual machines includes generating a fourth virtual machine that ran the second application at the particular point in time prior to generating the second virtual machine. 4. The method of claim 1 , wherein: the generating the first signature associated with the first virtual machine includes generating a first plurality of hash values corresponding with a first plurality of data blocks within a first snapshot of the first virtual machine, the first plurality of data blocks within the first snapshot is arranged such that two or more data blocks of a first set of the first plurality of data blocks are spaced at a fixed distance from each other while two or more data blocks of a second set of the first plurality of data blocks are positioned at increasingly greater distances from each other, the first set of the first plurality of data blocks corresponds with a first portion of the first snapshot and the second set of the first plurality of data blocks corresponds with a second portion of the first snapshot that does not overlap with the first portion of the first snapshot. 5. The method of claim 1 , wherein: the generating the second set of virtual machines includes bringing up the second set of virtual machines using the set of snapshots, each virtual machine of the second set of virtual machines is brought up in the order that satisfies the ordering of the set of dependent applications; and the generating the second virtual machine includes bringing up the second virtual machine subsequent to bringing up the second set of virtual machines. 6. The method of claim 5 , wherein: the bringing up the second virtual machine includes booting up the second virtual machine and running a cloned version of the application using the second virtual machine subsequent to booting up the second virtual machine. 7. The method of claim 5 , wherein: the bringing up the second set of virtual machines includes booting up the second set of virtual machines and executing cloned versions of the set of dependent applications using the second set of virtual machines; and the bringing up the second virtual machine includes initiating execution of a cloned version of the application using the second virtual machine subsequent to the executing cloned versions of the set of dependent applications using the second set of virtual machines. 8. The method of claim 5 , further comprising: identifying a set of IP addresses used by the first virtual machine and the set of virtual machines; and configuring the second virtual machine and the second set of virtual machines with the set of IP addresses, the bringing up the second set of virtual machines includes bringing up the second set of virtual machines within a private network, the bringing up the second virtual machine includes bringing up the second virtual machine within the private network. 9. The method of claim 8 , further comprising: configuring a gateway virtual machine to act as a gateway between the private network and a second network outside of the private network. 10. The method of claim 9 , wherein: the configuring a gateway virtual machine includes configuring the gateway virtual machine such that all requests to IP addresses that are not within the set of IP addresses are routed through the gateway virtual machine to the second network; and the configuring a gateway virtual machine includes configuring the gateway virtual machine such that all requests to IP addresses that are within the set of IP addresses are not routed outside of the private network. 11. The method of claim 1 , wherein: the determining the ordering of the set of dependent applications includes acquiring the dependency mapping table for the set of dependent applications and determining the ordering based on the dependency mapping table, the dependency mapping table includes dependency information for each application of the set of dependent applications. 12. A system for generating a cloned virtual machine environment, comprising: a memory configured to store a dependency mapping table that includes dependency information of applications; and one or more processors configured to: identify an application running on a first virtual machine at a particular point in time; determine a set of dependent applications that the application depends on for operation; determine an ordering of the set of dependent applications using the dependency mapping table, the ordering of the set of dependent applications is arranged such that every application that a particular application of the set of depen
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
involving virtual machines · CPC title
by selection of backup contents · CPC title
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.