IP Library Granted Patent US 12,299,467
Granted Patent B2
US 12,299,467 · App. 18/584,281 · Granted May 13, 2025

Virtual server agent load balancing

Inventors: Rajiv Kottomtharayil (Marlboro, NJ); Rahul S. Pawar (Marlboro, NJ); Ashwin Gautamchand Sancheti (Pune, IN); Sumer Dilip Deshpande (Ocean, NJ); Sri Karthik Bhagi (Morganville, NJ); Henry Wallace Dornemann (Eatontown, NJ); Ananda Venkatesha (San Jose, CA)
Assignee: Commvault Systems, Inc.
G06F9/45533G06F9/505G06F9/5083G06F2209/5022
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 12,299,467
App. No.
18/584,281
Granted
May 13, 2025
Kind
B2
Abstract

Virtual machine (VM) proliferation may be reduced through the use of Virtual Server Agents (VSAs) assigned to a group of VM hosts that may determine the availability of a VM to perform a task. Tasks may be assigned to existing VMs instead of creating a new VM to perform the task. Furthermore, a VSA coordinator may determine a grouping of VMs or VM hosts based on one or more factors associated with the VMs or the VM hosts, such as VM type or geographical location of the VM hosts. The VSA coordinator may also assign one or more VSAs to facilitate managing the group of VM hosts. In some embodiments, the VSA coordinators may facilitate load balancing of VSAs during operation, such as during a backup operation, a restore operation, or any other operation between a primary storage system and a secondary storage system.

Claims (33)

1. A method for virtual server agent load balancing, the method comprising:

identifying a set of virtual machines to perform a data protection operation,

wherein the set of virtual machines hosted by a set of virtual machine provider systems;

identifying a set of virtual server agents available to perform the data protection operation;

determining a number of data streams available to each virtual server agent from the set of virtual server agents; and

distributing the set of virtual machines among the set of virtual server agents based at least partially on the number of data streams available to each virtual server agent from the set of virtual server agents.

2. The method of claim 1 , wherein the set of virtual machines is part of a secondary storage system.

3. The method of claim 1 , wherein the set of virtual machines is part of a primary storage system.

4. The method of claim 1 , wherein the data protection operation relates to pruning or aging data associated with the set of virtual machines.

5. The method of claim 1 , wherein the set of virtual server agents are identified from among a subset of virtual server agents assigned to the set of virtual machines.

6. The method of claim 1 , further comprising accessing metadata for each virtual machine from the set of virtual machines.

7. The method of claim 6 , wherein the distributing is based at least partially on the metadata for each virtual machine from the set of virtual machines.

8. The method of claim 1 , wherein said distributing is based on a round-robin allocation of the set of virtual machines.

9. The method of claim 1 , wherein the number of data streams available to each virtual server agent is based at least partially on a number of communication channels between a virtual server agent and a set of media agents included in a secondary storage system.

10. The method of claim 1 , wherein said distributing is based at least partially on a configuration of each virtual machine from the set of virtual machines.

11. The method of claim 1 , wherein the method further comprises accessing metadata for each virtual server agent from the set of virtual server agents.

12. The method of claim 11 , wherein the distributing is based at least partially on the metadata for each virtual server agent.

13. The method of claim 1 , wherein said identifying is according to a storage policy associated with the set of virtual machines, wherein the storage policy is a collection of settings or preferences for performing data protection operations on data associated with the storage policy.

14. A method for virtual server agent load balancing, the method comprising:

according to a storage policy, identify a set of virtual machines for performing a data protection operation,

wherein the set of virtual machines is hosted by a set of virtual machine provider systems,

wherein the storage policy is a collection of settings or preferences for performing data protection operations on data associated with the storage policy;

identify a set of virtual server agents available to perform a data protection operation on the data associated with the set of virtual machines;

determine a number of data streams available to each virtual server agent from the set of virtual server agents; and

distribute the set of virtual machines among the set of virtual server agents based at least partially on the number of data streams available to each virtual server agent from the set of virtual server agents.

15. The method of claim 14 , wherein the data protection operation relates to pruning or aging data associated with the set of virtual machines.

16. The method of claim 14 , wherein the set of virtual server agents are identified from among a subset of virtual server agents assigned to the set of virtual machines.

17. The method of claim 14 , wherein the method further comprises:

accessing metadata for each virtual machine from the set of virtual machines; and

distributing the set of virtual machines based at least partially on the metadata.

18. The method of claim 14 , wherein the number of data streams available to each virtual server agent is based at least partially on a number of communication channels between a virtual server agent and a set of media agents available in a secondary storage system.

19. The method of claim 14 , wherein the method further comprises:

distributing the set of virtual machines based at least partially on a weight associated with each virtual machine.

Assignments (2)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: KOTTOMTHARAYIL, RAJIV; PAWAR, RAHUL S.; SANCHETI, ASHWIN GAUTAMCHAND; DESHPANDE, SUMER DILIP; BHAGI, SRI KARTHIK; DORNEMANN, HENRY WALLACE; VENKATESHA, ANANDA
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 067807/0637 →