IP Library Granted Patent US 12,199,952
Granted Patent B2
US 12,199,952 · App. 18/141,224 · Granted Jan 14, 2025

Data protection component scaling in a cloud- based data storage system

Inventors: Rajesh Polimera (Freehold, NJ); Supreeth Sanur (San Jose, CA); Henry Wallace Dornemann (Eatontown, NJ); Prasanna Kumar Thoppe Ravindran (Eatontown, NJ)
Assignee: Commvault Systems, Inc.
H04L63/0281
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,199,952
App. No.
18/141,224
Granted
Jan 14, 2025
Kind
B2
Abstract

Systems described herein may dynamically add one or more proxy data protection agents to a cloud data storage system to process a data protection job. Upon completion of the job or at some other appropriate interval, the system can power down and decommission the proxy data protection agents and/or the virtual machines on which the data protection proxies reside according to a cleanup schedule (e.g., at hourly or minute intervals). In order to improve the allocation of computing resources, the system takes into account currently existing proxies or virtual machines when processing a backup request to determine the need for new proxies to service the backup request. In this manner the system can save costs and computing resources through efficient virtual machine deployment and retirement.

Claims (34)

1. An information management apparatus comprising:

one or more first computing devices in networked communication with a group of computing resources, the one or more first computing devices configured to:

based on job information associated with a first information management job request, calculate a first number of agents to install within the group of computing resources, the job information identifying a plurality of clients within the group of computing resources for which to perform information management operations; and

cause transmission of one or more commands to the group of computing resources, wherein the one or more commands include commands to:

install the first number of agents on one or more virtual machines within the group of computing resources; and

assign each agent of the first number of agents to a client of the plurality of clients to direct performance of information management operations associated with the client of the plurality of clients.

2. The information management apparatus of claim 1 , wherein the group of computing resources comprises a group of cloud resources, and wherein the one or more first computing devices cause the transmission of the one or more commands by interacting with an application programming interface.

3. The information management apparatus of claim 1 , wherein the one or more first computing devices comprise a resource scaling manager implemented on a first computing device of the one or more first computing devices and further comprises a storage manager implemented on a second computing device of the one or more first computing devices, and wherein the storage manager transmits the first information management job request to the resource scaling manager.

4. The information management apparatus of claim 1 , wherein a first agent of the first number of agents is installed on a first virtual machine of the one or more virtual machines, and wherein the one or more first computing devices are further configured to cause the first virtual machine to power off or shut down in response to one or both of an activity level of the first agent and an activity level of the first virtual machine.

5. The information management apparatus of claim 4 , wherein the one or more first computing devices are further configured to cause decommissioning of the first virtual machine.

6. The information management apparatus of claim 4 , wherein the one or more first computing devices are further configured to cause the first virtual machine to return from power off or shut down to an active state.

7. The information management apparatus of claim 1 , wherein, at a point in time the one or more first computing devices analyze the job information, a second number of agents is already instantiated within the group of computing resources, and wherein the one or more first computing devices use the second number of agents in calculating the first number of agents.

8. The information management apparatus of claim 1 , wherein the one or more first computing devices use a total number of clients of the plurality of clients in calculating the first number of agents.

9. The information management apparatus of claim 1 , wherein the one or more first computing devices use a data size associated with the first information management job request and an agent throughput value in calculating the first number of agents.

10. The information management apparatus of claim 1 wherein each of the first number of agents comprises at least one data agent and at least one media agent.

11. A method comprising:

with a management subsystem implemented in a computing device that is in networked communication with a group of computing resources:

analyzing job information associated with a first information management job request, the job information identifying at least a plurality of clients for which to perform information management operations, the plurality of clients implemented on one or more first computing devices of the group of computing resources;

based on the job information, calculating a first number of agents to install on the one or more first computing devices; and

causing transmission of one or more commands to the group of computing resources, wherein the one or more commands include commands to:

install the first number of agents on one or more virtual machines within the group of computing resources; and

assign each agent of the first number of agents to a client of the plurality of clients to direct performance of information management operations associated with the client of the plurality of clients.

12. The method of claim 11 , wherein the group of computing resources comprises a group of cloud resources, and wherein said causing the transmission of the one or more commands is achieved by interacting with an application programming interface.

13. The method of claim 11 , wherein a first agent of the first number of agents is installed on a first virtual machine of the one or more virtual machines, and the method further comprising causing the first virtual machine to power off or shut down in response to one or both of an activity level of the first agent and an activity level of the first virtual machine.

14. The method of claim 13 , further comprising causing decommissioning of the first virtual machine.

15. The method of claim 13 , further comprising causing the first virtual machine to return to an active state.

16. The method of claim 11 , wherein, at a point in time the management subsystem analyzes the job information, a second number of agents is already instantiated within the group of computing resources, and wherein said calculating comprises using the second number of agents to calculate the first number of agents.

17. The method of claim 11 , wherein said calculating comprises using a total number of clients of the plurality of clients to calculate the first number of agents.

18. The method of claim 11 , wherein said calculating comprises using a data size associated with the first information management job request and an agent throughput value to calculate the first number of agents.

19. An information management apparatus comprising:

one or more first computing devices in networked communication with a group of computing resources, the one or more first computing devices configured to:

based on job information associated with a first information management job request, calculate a first number of agents to install within the group of computing resources, the job information identifying a plurality of clients within the group of computing resources for which to perform information management operations;

install the first number of agents on one or more virtual machines within the group of computing resources; and

assign each agent of the first number of agents to a client of the plurality of clients to direct performance of information management operations associated with the client of the plurality of clients.

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 May 5, 2023
From: POLIMERA, RAJESH; SANUR, SUPREETH; DORNEMANN, HENRY WALLACE; THOPPE RAVINDRAN, PRASANNA KUMAR
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 063550/0355 →
Continuity (3)
Continuation 17538765 · Nov 30, 2021
Continuation 16568075 · Sep 11, 2019
Related Publication 20230388274A1 · Nov 30, 2023
References Cited (182)
US 4084231A · Capozzi et al. · 1978 [cited by applicant]
US 4267568A · Dechant et al. · 1981 [cited by applicant]
US 4283787A · Chambers · 1981 [cited by applicant]
US 4417321A · Chang et al. · 1983 [cited by applicant]
US 4641274A · Swank · 1987 [cited by applicant]
US 4654819A · Stiffler et al. · 1987 [cited by applicant]
US 4686620A · Ng · 1987 [cited by applicant]
US 4912637A · Sheedy et al. · 1990 [cited by applicant]
US 4995035A · Cole et al. · 1991 [cited by applicant]
US 5005122A · Griffin et al. · 1991 [cited by applicant]
US 5093912A · Dong et al. · 1992 [cited by applicant]
US 5133065A · Cheffetz et al. · 1992 [cited by applicant]
US 5193154A · Kitajima et al. · 1993 [cited by applicant]
US 5212772A · Masters · 1993 [cited by applicant]
US 5226157A · Nakano et al. · 1993 [cited by applicant]
US 5239647A · Anglin et al. · 1993 [cited by applicant]
US 5241668A · Eastridge et al. · 1993 [cited by applicant]
US 5241670A · Eastridge et al. · 1993 [cited by applicant]
US 5276860A · Fortier et al. · 1994 [cited by applicant]
US 5276867A · Kenley et al. · 1994 [cited by applicant]
US 5287500A · Stoppani, Jr. · 1994 [cited by applicant]
US 5301286A · Rajani · 1994 [cited by applicant]
US 5321816A · Rogan et al. · 1994 [cited by applicant]
US 5347653A · Flynn et al. · 1994 [cited by applicant]
US 5410700A · Fecteau et al. · 1995 [cited by applicant]
US 5420996A · Aoyagi · 1995 [cited by applicant]
US 5454099A · Myers et al. · 1995 [cited by applicant]
US 5559991A · Kanfi · 1996 [cited by applicant]
US 5642496A · Kanfi · 1997 [cited by applicant]
US 6418478B1 · Ignatius et al. · 2002 [cited by applicant]
US 6542972B2 · Ignatius et al. · 2003 [cited by applicant]
US 6658436B2 · Oshinsky et al. · 2003 [cited by applicant]
US 6721767B2 · De Meno et al. · 2004 [cited by applicant]
US 6760723B2 · Oshinsky et al. · 2004 [cited by applicant]
US 7003641B2 · Prahlad et al. · 2006 [cited by applicant]
US 7035880B1 · Crescenti et al. · 2006 [cited by applicant]
US 7107298B2 · Prahlad et al. · 2006 [cited by applicant]
US 7130970B2 · Devassy et al. · 2006 [cited by applicant]
US 7162496B2 · Amarendran et al. · 2007 [cited by applicant]
US 7174433B2 · Kottomtharayil et al. · 2007 [cited by applicant]
US 7246207B2 · Kottomtharayil et al. · 2007 [cited by applicant]
US 7315923B2 · Retnamma et al. · 2008 [cited by applicant]
US 7343453B2 · Prahlad et al. · 2008 [cited by applicant]
US 7389311B1 · Crescenti et al. · 2008 [cited by applicant]
US 7395282B1 · Crescenti et al. · 2008 [cited by applicant]
US 7440982B2 · Lu et al. · 2008 [cited by applicant]
US 7454569B2 · Kavuri et al. · 2008 [cited by applicant]
US 7490207B2 · Amarendran et al. · 2009 [cited by applicant]
US 7500053B1 · Kavuri et al. · 2009 [cited by applicant]
US 7529782B2 · Prahlad et al. · 2009 [cited by applicant]
US 7536291B1 · Vijayan Retnamma et al. · 2009 [cited by applicant]
US 7543125B2 · Gokhale · 2009 [cited by applicant]
US 7546324B2 · Prahlad et al. · 2009 [cited by applicant]
US 7603386B2 · Amarendran et al. · 2009 [cited by applicant]
US 7606844B2 · Kottomtharayil · 2009 [cited by applicant]
US 7613752B2 · Prahlad et al. · 2009 [cited by applicant]
US 7617253B2 · Prahlad et al. · 2009 [cited by applicant]
US 7617262B2 · Prahlad et al. · 2009 [cited by applicant]
US 7620710B2 · Kottomtharayil et al. · 2009 [cited by applicant]
US 7636743B2 · Erofeev · 2009 [cited by applicant]
US 7651593B2 · Prahlad et al. · 2010 [cited by applicant]
US 7657550B2 · Prahlad et al. · 2010 [cited by applicant]
US 7660807B2 · Prahlad et al. · 2010 [cited by applicant]
US 7661028B2 · Erofeev · 2010 [cited by applicant]
US 7734669B2 · Kottomtharayil et al. · 2010 [cited by applicant]
US 7747579B2 · Prahlad et al. · 2010 [cited by applicant]
US 7801864B2 · Prahlad et al. · 2010 [cited by applicant]
US 7809914B2 · Kottomtharayil et al. · 2010 [cited by applicant]
US 8156086B2 · Lu et al. · 2012 [cited by applicant]
US 8170995B2 · Prahlad et al. · 2012 [cited by applicant]
US 8229954B2 · Kottomtharayil et al. · 2012 [cited by applicant]
US 8285681B2 · Prahlad et al. · 2012 [cited by applicant]
US 8307177B2 · Prahlad et al. · 2012 [cited by applicant]
US 8364652B2 · Vijayan et al. · 2013 [cited by applicant]
US 8370542B2 · Lu et al. · 2013 [cited by applicant]
US 8578120B2 · Attarde et al. · 2013 [cited by applicant]
US 8706867B2 · Vijayan · 2014 [cited by applicant]
US 8707070B2 · Muller · 2014 [cited by applicant]
US 8950009B2 · Vijayan et al. · 2015 [cited by applicant]
US 8954446B2 · Vijayan Retnamma et al. · 2015 [cited by applicant]
US 9020900B2 · Vijayan Retnamma et al. · 2015 [cited by applicant]
US 9098495B2 · Gokhale · 2015 [cited by applicant]
US 9116633B2 · Sancheti et al. · 2015 [cited by applicant]
US 9189170B2 · Kripalani et al. · 2015 [cited by applicant]
US 9239687B2 · Vijayan et al. · 2016 [cited by applicant]
US 9262496B2 · Kumarasamy et al. · 2016 [cited by applicant]
US 9286110B2 · Mitkar et al. · 2016 [cited by applicant]
US 9311121B2 · Deshpande et al. · 2016 [cited by applicant]
US 9378035B2 · Kripalani · 2016 [cited by applicant]
US 9411534B2 · Lakshman et al. · 2016 [cited by applicant]
US 9424151B2 · Lakshman et al. · 2016 [cited by applicant]
US 9461881B2 · Kumarasamy et al. · 2016 [cited by applicant]
US 9495404B2 · Kumarasamy et al. · 2016 [cited by applicant]
US 9575673B2 · Mitkar et al. · 2017 [cited by applicant]
US 9633033B2 · Vijayan et al. · 2017 [cited by applicant]
US 9639274B2 · Maranna et al. · 2017 [cited by applicant]
US 9641388B2 · Kripalani et al. · 2017 [cited by applicant]
US 9710465B2 · Dornemann et al. · 2017 [cited by applicant]
US 9798489B2 · Lakshman et al. · 2017 [cited by applicant]
US 9875063B2 · Lakshman · 2018 [cited by applicant]
US 9977687B2 · Kottomtharayil et al. · 2018 [cited by applicant]
US 9983936B2 · Dornemann et al. · 2018 [cited by applicant]
US 10067722B2 · Lakshman · 2018 [cited by applicant]
US 10084873B2 · Dornemann · 2018 [cited by applicant]
US 10162528B2 · Sancheti et al. · 2018 [cited by applicant]
US 10210048B2 · Sancheti · 2019 [cited by applicant]
US 10228962B2 · Dornemann et al. · 2019 [cited by applicant]
US 10248174B2 · Lakshman et al. · 2019 [cited by applicant]
US 10296368B2 · Dornemann et al. · 2019 [cited by applicant]
US 10346259B2 · Gokhale et al. · 2019 [cited by applicant]
US 10601837B1 · Sharma · 2020 [cited by applicant]
US 11218450B2 · Polimera et al. · 2022 [cited by applicant]
US 20060224846A1 · Amarendran et al. · 2006 [cited by applicant]
US 20070192400A1 · Lee · 2007 [cited by examiner]
US 20090319534A1 · Gokhale · 2009 [cited by applicant]
US 20100325191A1 · Jung · 2010 [cited by examiner]
US 20120150818A1 · Vijayan Retnamma et al. · 2012 [cited by applicant]
US 20120150826A1 · Vijayan Retnamma et al. · 2012 [cited by applicant]
US 20120304277A1 · Li et al. · 2012 [cited by applicant]
US 20140196038A1 · Kottomtharayil et al. · 2014 [cited by applicant]
US 20140201140A1 · Vibhor et al. · 2014 [cited by applicant]
US 20140201157A1 · Pawar et al. · 2014 [cited by applicant]
US 20140201170A1 · Vijayan et al. · 2014 [cited by applicant]
US 20150074536A1 · Varadharajan et al. · 2015 [cited by applicant]
US 20150154039A1 · Zada et al. · 2015 [cited by applicant]
US 20150172205A1 · Anderson · 2015 [cited by examiner]
US 20150378763A1 · Hassine et al. · 2015 [cited by applicant]
US 20160132400A1 · Pawar et al. · 2016 [cited by applicant]
US 20160142485A1 · Mitkar et al. · 2016 [cited by applicant]
US 20160350391A1 · Vijayan et al. · 2016 [cited by applicant]
US 20160352588A1 · Subbarayan et al. · 2016 [cited by applicant]
US 20170102757A1 · Kang · 2017 [cited by examiner]
US 20170168903A1 · Dornemann et al. · 2017 [cited by applicant]
US 20170185488A1 · Kumarasamy et al. · 2017 [cited by applicant]
US 20170192866A1 · Vijayan et al. · 2017 [cited by applicant]
US 20170193003A1 · Vijayan et al. · 2017 [cited by applicant]
US 20170235647A1 · Kilaru et al. · 2017 [cited by applicant]
US 20170242871A1 · Kilaru et al. · 2017 [cited by applicant]
US 20170262347A1 · Dornemann et al. · 2017 [cited by applicant]
US 20180095846A1 · Sanakkayala et al. · 2018 [cited by applicant]
US 20180115525A1 · Chou et al. · 2018 [cited by applicant]
US 20180137139A1 · Bangalore et al. · 2018 [cited by applicant]
US 20180143879A1 · Dornemann · 2018 [cited by applicant]
US 20180253361A1 · Dhatrak · 2018 [cited by applicant]
US 20180276085A1 · Mitkar et al. · 2018 [cited by applicant]
US 20180285202A1 · Bhagi et al. · 2018 [cited by applicant]
US 20180285205A1 · Mehta et al. · 2018 [cited by applicant]
US 20180359255A1 · Stair et al. · 2018 [cited by applicant]
US 20180373597A1 · Rana · 2018 [cited by applicant]
US 20190278662A1 · Nagrale et al. · 2019 [cited by applicant]
US 20200045266A1 · Archer, III · 2020 [cited by examiner]
US 20200045548A1 · Dowlatkhah · 2020 [cited by examiner]
US 20200073574A1 · Pradhan · 2020 [cited by applicant]
US 20200225926A1 · Kammath · 2020 [cited by examiner]
US 20200233845A1 · Dornemann et al. · 2020 [cited by applicant]
US 20200319694A1 · Mohanty et al. · 2020 [cited by applicant]
US 20200351347A1 · Chang · 2020 [cited by examiner]
US 20210075768A1 · Polimera et al. · 2021 [cited by applicant]
US 20220200965A1 · Polimera et al. · 2022 [cited by applicant]
EP 0259912 · 1988 [cited by applicant]
EP 0405926 · 1991 [cited by applicant]
EP 0467546 · 1992 [cited by applicant]
EP 0541281 · 1993 [cited by applicant]
EP 0774715 · 1997 [cited by applicant]
EP 0809184 · 1997 [cited by applicant]
EP 0899662 · 1999 [cited by applicant]
EP 0981090 · 2000 [cited by applicant]
WO WO9513580 · 1995 [cited by applicant]
WO WO9912098 · 1999 [cited by applicant]
WO WO2006052872 · 2006 [cited by applicant]
C. A. Ardagna, E. Damiani, F. Frati, D. Rebeccani and M. Ughetti, “Scalability Patterns for Platform-as-a-Service,” 2012 IEEE Fifth International Conference on Cloud Computing, 2012, pp. 718-725, doi: 10.1109/CLOUD.2012… [cited by examiner]
Arneson, “Mass Storage Archiving in Network Environments” IEEE, Oct. 31-Nov. 1998, pp. 45-50. [cited by applicant]
Cabrera, et al. “ADSM: A Multi-Platform, Scalable, Back-up and Archive Mass Storage System,” Digest of Papers, Compcon '95, Proceedings of the 40th IEEE Computer Society International Conference, Mar. 5, 1995-Mar. 9, 19… [cited by applicant]
Eitel, “Backup and Storage Management in Distributed Heterogeneous Environments,” IEEE, 1994, pp. 124-126. [cited by applicant]
Huff, KL, “Data Set Usage Sequence Number,” IBM Technical Disclosure Bulletin, vol. 24, No. 5, Oct. 1981 New York, US, pp. 2404-2406. [cited by applicant]
Ohoussou et al., “Autonomous Agent Based Intrusion Detection in Virtual Computing Environment”, 2010 IEEE International Conference on Wireless Communications, Networking, and Information Security, 2010, pp. 682-686. [cited by applicant]
Rosenblum et al., “The Design and Implementation of a Log-Structure File System,” Operating Systems Review SIGOPS, vol. 25, No. 5, May 1991, New York, US, pp. 1-15. [cited by applicant]
U.S. Appl. No. 16/121,883, filed Sep. 5, 2018, title: Data Migration Using Stubs, Applicant: Commvault Systems, Inc. [cited by applicant]
U.S. Appl. No. 16/378,328, filed Apr. 8, 2019, title: Power Management of Components Within a Storage Management System, Applicant: Commvault Systems, Inc. [cited by applicant]
U.S. Appl. No. 16/262,721, filed Jan. 30, 2019, title: Cross-Hypervisor Live Mount Of Backed Up Virtual Machine Data, Applicant: Commvault Systems, Inc. [cited by applicant]
U.S. Appl. No. 16/253,643, filed Jan. 22, 2019, title: File Indexing For Virtual Machine Backups Based On Using Live Browse Features, Applicant: Commvault Systems, Inc. [cited by applicant]
Ardagna et al., “Scalability Patterns for Platform-as-a-Service”, IEEE Fifth International Conference on Cloud Computing, 2012, pp. 718-725. [cited by applicant]