Systems and methods for backup of virtual machines
US-9471441-B1 · Oct 18, 2016 · US
US9753810B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9753810-B1 |
| Application number | US-201414445028-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jul 28, 2014 |
| Priority date | Jul 28, 2014 |
| Publication date | Sep 5, 2017 |
| Grant date | Sep 5, 2017 |
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.
The disclosed computer-implemented method for backing up virtual machines deployed in virtual storage area networks may include (1) detecting an attempt to back up a virtual machine deployed in a virtual storage area network, (2) identifying, within the virtual storage area network, a plurality of virtual servers that are each hosting a portion of the virtual machine, (3) obtaining each portion of the virtual machine in parallel from the plurality of virtual servers within the virtual storage area network, and then (4) backing up each portion of the virtual machine obtained from the plurality of virtual servers. 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 backing up virtual machines deployed in virtual storage area networks, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising: detecting an attempt to back up a virtual machine deployed in a virtual storage area network; identifying, within the virtual storage area network, a plurality of virtual servers that are each hosting a portion of the virtual machine, wherein identifying the plurality of virtual servers comprises: identifying a portion of the virtual machine that is mirrored on multiple virtual servers within the plurality of virtual servers; determining which of the multiple virtual servers mirroring the portion of the virtual machine currently has the lowest resource load; obtaining each portion of the virtual machine in parallel from the plurality of virtual servers within the virtual storage area network, wherein obtaining each portion of the virtual machine comprises obtaining the mirrored portion of the virtual machine from the virtual server that currently has the lowest resource load among the multiple virtual servers; backing up each portion of the virtual machine obtained from the plurality of virtual servers. 2. The method of claim 1 , wherein identifying the plurality of virtual servers that are each hosting a portion of the virtual machine comprises: identifying, within the plurality of virtual servers, a parent virtual server that stores a configuration file for the virtual machine; obtaining the configuration file for the virtual machine from the parent virtual server identified within the plurality of virtual servers; determining, based at least in part on the configuration file for the virtual machine, which virtual servers within the virtual storage area network are hosting a portion of the virtual machine. 3. The method of claim 2 , wherein identifying the parent virtual server that stores the configuration file for the virtual machine comprises determining which of the plurality of virtual servers has registered the virtual machine. 4. The method of claim 2 , wherein the configuration file for the virtual machine identifies: each virtual server that is hosting a portion of the virtual machine; a storage location of each portion of the virtual machine; an extent of each portion of the virtual machine. 5. The method of claim 1 , wherein obtaining each portion of the virtual machine in parallel from the plurality of virtual servers comprises requesting each portion of the virtual machine from the plurality of virtual servers such that the plurality of virtual servers provide each portion of the virtual machine to a backup host in a substantially simultaneous process. 6. The method of claim 1 , wherein obtaining each portion of the virtual machine in parallel from the plurality of virtual servers comprises reading, by a backup host, each portion of the virtual machine from the plurality of virtual servers in a substantially simultaneous process. 7. The method of claim 1 , wherein obtaining each portion of the virtual machine in parallel from the plurality of virtual servers comprises performing a load-balancing operation that enables an underutilized virtual server whose resource load is less than at least one of the plurality of virtual servers to provide at least some of the portion of the virtual machine hosted by the at least one of the plurality of virtual servers to a backup host. 8. The method of claim 7 , wherein performing the load-balancing operation comprises: directing the underutilized virtual server to obtain the at least some of the portion of the virtual machine from the at least one of the plurality of virtual servers via the virtual storage area network; obtaining, by the backup host, the at least some of the portion of the virtual machine from the underutilized virtual server. 9. The method of claim 1 , wherein obtaining each portion of the virtual machine in parallel from the plurality of virtual servers comprises obtaining each portion of the virtual machine directly from the plurality of virtual servers. 10. A system for backing up virtual machines deployed in virtual storage area networks, the system comprising: a detection module, stored in memory, that detects an attempt to back up a virtual machine deployed in a virtual storage area network; an identification module, stored in memory, that identifies, within the virtual storage area network, a plurality of virtual servers that are each hosting a portion of the virtual machine, wherein identifying the plurality of virtual servers comprises: identifying a portion of the virtual machine that is mirrored on multiple virtual servers within the plurality of virtual servers; determining which of the multiple virtual servers mirroring the portion of the virtual machine currently has the lowest resource load; an obtainment module, stored in memory, that obtains each portion of the virtual machine in parallel from the plurality of virtual servers within the virtual storage area network, wherein obtaining each portion of the virtual machine comprises obtaining the mirrored portion of the virtual machine from the virtual server that currently has the lowest resource load among the multiple virtual servers; a backup module, stored in memory, that backs up each portion of the virtual machine obtained from the plurality of virtual servers; at least one processor that executes the detection module, the identification module, the obtainment module, and the backup module. 11. The system of claim 10 , wherein: the identification module identifies, within the plurality of virtual servers, a parent virtual server that stores a configuration file for the virtual machine; the obtainment module obtains the configuration file for the virtual machine from the parent virtual server identified within the plurality of virtual servers; the identification module identifies the plurality of virtual servers by determining, based at least in part on the configuration file for the virtual machine, which virtual servers within the virtual storage area network are hosting a portion of the virtual machine. 12. The system of claim 11 , wherein the identification module identifies the parent virtual server that stores the configuration file for the virtual machine by determining which of the plurality of virtual servers has registered the virtual machine. 13. The system of claim 11 , wherein the configuration file for the virtual machine identifies: each virtual server that is hosting a portion of the virtual machine; a storage location of each portion of the virtual machine; an extent of each portion of the virtual machine. 14. The system of claim 10 , wherein the obtainment module obtains each portion of the virtual machine in parallel by requesting each portion of the virtual machine from the plurality of virtual servers such that the plurality of virtual servers provide each portion of the virtual machine to a backup host in a substantially simultaneous process. 15. The system of claim 10 , wherein the obtainment module obtains each portion of the virtual machine in parallel by reading, by a backup host, each portion of the virtual machine from the plurality of virtual servers in a substantially simultaneous process. 16. The system of claim 10 , wherein the obtainment module performs a load-balancing operation that enables an underutilized virtual server whose resource load is less than at least one of the plurality of virtual servers to provide at least some of the portion
Creating, deleting, cloning virtual machine instances · CPC title
Hypervisor-specific management and integration aspects · CPC title
for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title
where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title
Point-in-time backing up or restoration of persistent data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.