IP Library Granted Patent US 11,922,197
Granted Patent B2
US 11,922,197 · App. 17/118,344 · Granted Mar 5, 2024

Virtual server agent load balancing

Inventors: Rajiv Kottomtharayil (Marlboro, NJ); Rahul S. Pawar (Marlboro, NJ); Ashwin Gautamchand Sancheti (Marlboro, NJ); Sumer Dilip Deshpande (Ocean, NJ); Sri Karthik Bhagi (Morganville, NJ); Henry Wallace Dornemann (Eatontown, NJ); Ananda Venkatesha (Cupertino, 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 11,922,197
App. No.
17/118,344
Granted
Mar 5, 2024
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 (24)

1. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform 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 of the virtual server agents.

2. The computer-readable storage medium of claim 1 , wherein the set of virtual machines is part of a secondary storage system.

3. The computer-readable storage medium of claim 1 , wherein the set of virtual machines is part of a primary storage system.

4. The computer-readable storage medium of claim 3 , wherein the data protection operation is a backup operation for backing up virtual machine data to a secondary storage system.

5. The computer-readable storage medium of claim 1 , wherein the data protection operation relates to pruning or aging data associated with the set of virtual machines.

6. The computer-readable storage medium 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.

7. The computer-readable storage medium of claim 1 , further comprising accessing metadata for each virtual machine from the set of virtual machines.

8. The computer-readable storage medium of claim 7 , wherein the distributing is based at least partially on the metadata for each virtual machine from the set.

9. The computer-readable storage medium of claim 1 , wherein said distributing is based on a round-robin allocation of the set of virtual machines.

10. The computer-readable storage medium 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 the virtual server agent and a set of media agents included in a secondary storage system.

11. The computer-readable storage medium of claim 1 , wherein said distributing is based at least partially on a configuration of each virtual machine from the set of virtual machines.

12. The computer-readable storage medium of claim 1 , wherein the method further comprises accessing metadata for each virtual server agent from the set of virtual server agents.

13. The computer-readable storage medium of claim 12 , wherein the distributing is based at least partially on the metadata for each virtual server agent.

14. The computer-readable storage medium 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.

15. A system for virtual server agent load balancing, the system comprising: one or more processors configured to: 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 of the virtual server agents.

16. The system of claim 15 , wherein the data protection operation is a backup operation for backing up primary data to a secondary storage system.

17. The system of claim 15 , wherein the set of virtual machines is part of a secondary storage system.

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

19. The system of claim 15 , wherein the set of virtual server agents are identified from among a subset of virtual server agents assigned to the set of virtual machines.

20. The system of claim 15 , wherein the one or more processors is further configured to: access metadata for each virtual machine from the set of virtual machines; and distribute the set of virtual machines based at least partially on the metadata.

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

22. The system of claim 15 , wherein the one or more processors is further configured to distribute the set of virtual machines based at least partially on a configuration of each virtual server agent from the set of virtual server agents.

23. The system of claim 15 , wherein the one or more processors is further configured to: access metadata for each virtual server agent from the set of virtual server agents; and distribute the set of virtual machines based at least partially on the metadata.

24. The system of claim 15 , wherein the one or more processors is further configured to distribute the set of virtual machines based at least partially on a weight associated with each virtual machine.

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 11, 2020
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 054622/0037 →
Continuity (6)
Continuation 16518107 · Jul 22, 2019
Continuation 15960401 · Apr 23, 2018
Continuation 15196739 · Jun 29, 2016
Continuation 14148507 · Jan 6, 2014
Provisional Application 61750255 · Jan 8, 2013
Related Publication 20210089337A1 · Mar 25, 2021