IP Library Granted Patent US 10,169,067
Granted Patent B2
US 10,169,067 · App. 15/376,922 · Granted Jan 1, 2019

Assignment of proxies for virtual-machine secondary copy operations including streaming backup job

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,169,067
App. No.
15/376,922
Granted
Jan 1, 2019
Kind
B2
Abstract

A comprehensive approach to streaming backups for virtual machines (“VMs”) in a storage management system comprises improvements to the assignment of data agent proxies for VM secondary copy operations. New considerations in performing a VM streaming backup job include without limitation: determining and enforcing a system-wide per-proxy limit of concurrent data streams; generating an ordered priority list of the VMs to be backed up as a basis for choosing which proxies will back up the respective VM, though the illustrative system may not strictly adhere to the priority list based on further considerations; identifying a next available proxy based on data stream utilization at the proxy; and dynamically re-generating the priority list and re-evaluating considerations if some VMs become “stranded” due to a failure to be backed up. Secondary copy operations are distributed to proxies in ways that improve the chances of successfully completing VM streaming backups.

Claims (45)

1. A computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by a computing device having one or more processors and non-transitory computer-readable memory, cause the computing device to perform a method comprising:

identifying, by a first data agent executing on the computing device, one or more proxies in a storage management system that are eligible to back up a given virtual machine in a first set of virtual machines in the storage management system,

wherein any one proxy among the one or more proxies is one of:

(a) a first virtual machine that executes on a first computing device, wherein the first virtual machine executes a second data agent for virtual-machine backup, and

(b) a second computing device that executes a second data agent for virtual-machine backup;

wherein the identifying comprises:

(i) determining (A) a set of candidate proxies for backing up the given virtual machine, and (B) a mode of access available to each respective candidate proxy for accessing the given virtual machine's data as a source for backup,

wherein the mode of access has a predefined tier of preference,

wherein the determining is based on analyzing, by the first data agent, data from a database that is associated with a storage manager component that manages the storage management system, and

wherein the storage manager component designates the first data agent as a coordinator data agent for a first backup job for the first set of virtual machines,

(ii) classifying each candidate proxy in the set of candidate proxies based on the predefined tier of preference for the respective candidate proxy's mode of access to the given virtual machine's data as the source for backup, and

(iii) defining one or more candidate proxies that are classified in a highest tier of preference as being eligible to back up the given virtual machine; and

wherein if the defining results in the given virtual machine being stranded without an eligible proxy, subsequently defining one or more candidate proxies, which are classified in a next highest tier of preference that is less than the highest tier of preference, as being eligible to back up the given virtual machine.

2. The computer-readable medium of claim 1 , wherein a first mode of access wherein a candidate proxy has direct access to the given virtual machine's data via a storage area network has a higher tier of preference than a second mode of access wherein the candidate proxy is a virtual machine that executes on the same computing device as the given virtual machine to be backed up and has local access to the given virtual machine's data from the same computing device.

3. The computer-readable medium of claim 2 , wherein the second mode of access has a higher tier of preference than a third mode of access wherein the candidate proxy is a virtual machine that executes on a different computing device from the given virtual machine to be backed up and has networked access to the given virtual machine's data.

4. The computer-readable medium of claim 2 , wherein the second mode of access has a higher tier of preference than a fourth mode of access wherein the candidate proxy has networked access to the given virtual machine's data as a network block device.

5. A method for generating a priority list of a first set of virtual machines to be backed up in a storage management system, the method comprising:

associating each virtual machine in the first set of virtual machines with one or more proxies from a set of candidate proxies in the storage management system,

wherein the associating includes determining which of the set of candidate proxies are eligible to back up a respective virtual machine, and

wherein any one candidate proxy among the set of candidate proxies is one of:

(a) a first virtual machine that executes on a first computing device, wherein the first virtual machine executes a second data agent for virtual-machine backup, and

(b) a second computing device that executes a second data agent for virtual-machine backup, and

wherein if a given virtual machine in the first set is not associated with at least one eligible proxy having a highest tier of preference for a transport mode between the at least one eligible proxy and the given virtual machine's data, associating the given virtual machine with one or more candidate proxies having a next highest tier of preference that is less than the highest tier of preference;

ordering the first set of virtual machines into a priority list in order of increasing number of associated eligible proxies for each respective virtual machine;

while executing a first backup job, assigning to a first virtual machine in the first set, a first eligible proxy based on the priority list, wherein the second data agent executing on the assigned first eligible proxy participates in a backup of the first virtual machine during the first backup job; and

wherein the associating, the ordering, and the assigning are performed by a first data agent designated a coordinator data agent for the first backup job, and wherein a storage manager that manages the storage management system designates the first data agent to be the coordinator data agent.

6. The method of claim 5 wherein the ordering into the priority list comprises breaking a tie among a plurality of virtual machines in the first set by ordering the virtual machines in the plurality in decreasing order of a total amount of storage allocated to each respective virtual machine.

7. The method of claim 5 wherein a given virtual machine has a higher priority in the priority list when one of:the given virtual machine is connected to a storage area network and when the given virtual machine has more data to back up than other virtual machines in the first set of virtual machines.

8. The method of claim 5 wherein the first backup job is configured to perform secondary copy operations for the first set of virtual machines in the storage management system, and

wherein the coordinator data agent executes on a first computing device having one or more processors and non-transitory computer-readable memory which is designated a first proxy.

9. The method of claim 8

wherein any given eligible proxy executes a data agent that is suitable for backing up data associated with one or more virtual machines that the given proxy is eligible to back up.

10. A method for generating a priority list of a first set of virtual machines to be backed up in a storage management system, the method comprising:

designating, by a storage manager that manages a data storage management system, a first virtual-server data agent as a coordinator data agent for a first backup job of the first set of virtual machines;

associating, by the coordinator data agent, each virtual machine in the first set of virtual machines with one or more proxies from a set of candidate proxies in the storage management system,

wherein the associating includes determining which of the set of candidate proxies are eligible to back up a respective virtual machine, and

wherein the associating results in each virtual machine in the first set being associated with at least one eligible proxy, and

wherein if a given virtual machine in the first set is not associated with at least one eligible proxy having a highest tier of preference for a transport mode between the at least one eligible proxy and the given virtual machine's data, associating the given virtual machine with one or more candidate proxies having a next highest tier of preference that is less than the highest tier of preference;

ordering, by the coordinator data agent, the first set of virtual machines into a priority list in order of increasing number of associated eligible proxies for each respective virtual machine; and

assigning, by the coordinator data agent, based on the priority list, a first eligible proxy to a first virtual machine in the first set of virtual machines, wherein the assigned first eligible proxy is to perform one or more storage operations for the first virtual machine during the first backup job.

11. The method of claim 10 wherein the ordering into the priority list comprises breaking a tie among a plurality of virtual machines in the first set by ordering the virtual machines in the plurality in decreasing order of a total amount of storage allocated to each respective virtual machine.

12. The method of claim 10 wherein a given virtual machine has a higher priority in the priority list when the given virtual machine is one of: (a) connected to a storage area network (SAN), and (b) has more data to back up than other virtual machines in the first set of virtual machines.

13. The method of claim 10 wherein the coordinator data agent executes on a first computing device having one or more processors and non-transitory computer-readable memory which is designated a first proxy.

14. The method of claim 10 wherein the coordinator data agent executes on a virtual machine hosted by a first computing device having one or more processors and non-transitory computer-readable memory which is designated a first proxy.

15. The method of claim 10 wherein any given eligible proxy executes a data agent that is suitable for backing up data associated with one or more virtual machines that the given proxy is eligible to back up.

Assignments (3)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2016
From: DORNEMANN, HENRY WALLACE
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 040721/0882 →
Cited By (2)
US 12,373,313 US 12,554,597