IP Library Granted Patent US 12,284,246
Granted Patent B2
US 12,284,246 · App. 18/465,314 · Granted Apr 22, 2025

Network storage backup using distributed media agents

Inventors: Manoj Kumar Pradhan (East Brunswick, NJ); Hemant Mishra (Englishtown, NJ); Dmitriy Borisovich Zakharkin (Monmouth Junction, NJ); Sanath Kumar (Woodbridge, NJ); Hetalkumar N. Joshi (Manalapan, NJ); Sunil Babu Telagamsetti (Eatontown, NJ); Divakar Radhakrishnan (Hyderabad, IN); Jayasree Yakkala (Marlboro, NJ); Rohit Sivadas (Eatontown, NJ); Pavan Kumar Reddy Bedadala (Cedar Park, TX); Gopikannan Venugopalsamy (Sunnyvale, CA)
Assignee: Commvault Systems, Inc.
H04L67/1095H04L41/046H04L67/1097H04L67/568
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,284,246
App. No.
18/465,314
Granted
Apr 22, 2025
Kind
B2
Abstract

Certain embodiments disclosed herein reduce or eliminate a communication bottleneck at the storage manager by reducing communication with the storage manager while maintaining functionality of an information management system. In some implementations, a client obtains information for enabling a secondary storage job (e.g., a backup or restore) from a storage manager and stores the information (which may be referred to as job metadata) in a local cache. The client may then reuse the job metadata for multiple storage jobs reducing the frequency of communication with the storage manager. When a configuration of the information management system changes, or the availability of resources changes, the storage manager can push updates to the job metadata to the clients. Further, a client can periodically request updated job metadata from the storage manager ensuring that the client does not rely on out-of-date job metadata.

Claims (41)

1. A system comprising:

a first computing device that comprises one or more hardware processors, wherein the first computing device executes a data agent and a data migration system that configure the first computing device to:

detect that first data is to be backed up from a primary storage device to a network storage system that is distinct from the primary storage device,

wherein the first data is generated at the first computing device and is stored in a first data format at the primary storage device;

based on making a determination that the first computing device is capable of interacting with the network storage system, perform a backup process that configures the first computing device to:

obtain the first data from the primary storage device,

transmit the first data, in a backup format, from the first computing device to the network storage system, and

cause the network storage system to store the first data in the backup format,

wherein the backup format is distinct from the first data format; and

wherein the backup process further configures the first computing device to transmit metadata generated by the backup process to a second computing device, which is distinct from the first computing device, and wherein the second computing device is configured to generate a backup index, wherein at least some of the backup index is based on the metadata generated by the backup process at the first computing device.

2. The system of claim 1 , wherein the backup index indicates where the first data is stored at the network storage system.

3. The system of claim 1 , wherein the second computing device is further configured to: generate one or more transaction log files that are based on the metadata generated by the backup process at the first computing device, wherein each transaction log file comprises one or more attributes of at least portions of the first data that was backed up by the backup process.

4. The system of claim 3 , wherein the second computing device is further configured to: back up the one or more transaction log files to the network storage system.

5. The system of claim 1 , wherein the first computing device is further configured to: use a job identifier to perform the backup process, and use the job identifier to perform at least one subsequent backup process without obtaining another job identifier for the at least one subsequent backup process.

6. The system of claim 1 , wherein the first computing device is further configured to: obtain a job identifier from a storage manager computing device, store the job identifier at the first computing device, use the job identifier to perform the backup process, and use the job identifier to perform at least one subsequent backup process without obtaining another job identifier from the storage manager computing device for the at least one subsequent backup process.

7. The system of claim 1 , wherein the network storage system is configured in a cloud-based storage system.

8. The system of claim 1 , wherein the first computing device is further configured to: based on making a determination that the first computing device is not capable of interacting with the network storage system, perform a second backup process at the first computing device, wherein the second backup process configures the first computing device to: obtain the first data from the primary storage device, and transmit the first data from the first computing device to the second computing device; and

wherein the second computing device is configured to: transmit the first data, in a backup format, from the second computing device to the network storage system, and cause the network storage system to store the first data in the backup format.

9. A computer-implemented method, performed by one or more computing devices that comprise one or more hardware processors, which execute computer programming instructions, the method comprising:

by a first computing device among the one or more computing devices:

detecting a trigger to back up first data from a primary storage device to a network storage system that is distinct from the primary storage device,

wherein the first data is generated at the first computing device and is stored in a primary data format at the primary storage device;

based on making a determination that the first computing device is capable of interacting with the network storage system, performing a first backup process comprising:

obtaining the first data from the primary storage device,

transmitting the first data, in a backup format, from the first computing device to the network storage system,

causing the network storage system to store the first data in the backup format,

wherein the backup format is distinct from the primary data format,

causing the first computing device not to transmit the first data to a second computing device that is distinct from the first computing device, and

transmitting, to the second computing device, metadata generated by the first backup process; and

by the second computing device among the one or more computing devices: generating a backup index, wherein at least some of the backup index is based on the metadata generated at the first computing device.

10. The computer-implemented method of claim 9 further comprising:

based on making a determination that the first computing device is not capable of interacting with the network storage system, performing a second backup process comprising: obtaining the first data from the primary storage device, and transmitting, to the second computing device, the first data and metadata generated by the second backup process; and

by the second computing device among the one or more computing devices:

transmitting the first data, in a backup format, from the second computing device to the network storage system, and

causing the network storage system to store the first data in the backup format.

11. The computer-implemented method of claim 9 , wherein the backup index indicates where the first data is stored at the network storage system.

12. The computer-implemented method of claim 9 further comprising: by the second computing device among the one or more computing devices: generating one or more transaction log files that are based on the metadata generated at the first computing device, wherein each transaction log file comprises one or more attributes of at least portions of the first data that was backed up by the first backup process.

13. The computer-implemented method of claim 12 further comprising: by the second computing device among the one or more computing devices: backing up the one or more transaction log files to the network storage system.

14. The computer-implemented method of claim 9 further comprising: by the first computing device: using a job identifier to perform the first backup process, and using the job identifier to perform at least one subsequent first backup process without obtaining another job identifier for the at least one subsequent first backup process.

15. The computer-implemented method of claim 9 further comprising: by the first computing device: obtaining a job identifier from a storage manager computing device, among the one or more computing devices, storing the job identifier at the first computing device, using the job identifier to perform the first backup process, and using the job identifier to perform at least one subsequent first backup process without obtaining another job identifier from the storage manager computing device for the at least one subsequent first backup process.

16. The computer-implemented method of claim 9 , wherein the network storage system is configured in a cloud-based storage system.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2025
From: PRADHAN, MANOJ KUMAR; MISHRA, HEMANT; ZAKHARKIN, DMITRIY BORISOVICH; KUMAR, SANATH; JOSHI, HETALKUMAR N.; TELAGAMSETTI, SUNIL BABU; RADHAKRISHNAN, DIVAKAR; YAKKALA, JAYASREE; SIVADAS, ROHIT; BEDADALA, PAVAN KUMAR REDDY; VENUGOPALSAMY, GOPIKANNAN
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 070420/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2023
From: PRADHAN, MANOJ KUMAR; MISHRA, HEMANT; ZAKHARKIN, DMITRIY BORISOVICH; KUMAR, SANATH; JOSHI, HETALKUMAR N.; TELAGAMSETTI, SUNIL BABU; RADHAKRISHNAN, DIVAKAR; YAKKALA, JAYASREE; SIVADAS, ROHIT; BEDADALA, PAVAN KUMAR REDDY; VENUGOPALSAMY, GOPIKANNAN
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 065219/0907 →
Continuity (4)
Continuation 17719831 · Apr 13, 2022
Continuation 16855379 · Apr 22, 2020
Continuation 15969720 · May 2, 2018
Related Publication 20240048614A1 · Feb 8, 2024
References Cited (193)
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 · 1991 [cited by applicant]
US 5005122A · Griffin · 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 5835915A · Car et al. · 1998 [cited by applicant]
US 5960436A · Chang et al. · 1999 [cited by applicant]
US 6418478B1 · Ignatius et al. · 2002 [cited by applicant]
US 6457014B1 · Parker · 2002 [cited by applicant]
US 6542972B2 · Ignatius et al. · 2003 [cited by applicant]
US 6658436B2 · Oshinsky et al. · 2003 [cited by applicant]
US 6721767B2 · DeMeno et al. · 2004 [cited by applicant]
US 6760723B2 · Oshinsky et al. · 2004 [cited by applicant]
US 7003641B2 · Prahlad · 2006 [cited by applicant]
US 7035880B1 · Crescenti · 2006 [cited by applicant]
US 7107298B2 · Prahlad · 2006 [cited by applicant]
US 7130970B2 · Devassy · 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 · 2007 [cited by applicant]
US 7315923B2 · Retnamma · 2008 [cited by applicant]
US 7343453B2 · Prahlad · 2008 [cited by applicant]
US 7389311B1 · Crescenti et al. · 2008 [cited by applicant]
US 7395282B1 · Crescenti · 2008 [cited by applicant]
US 7440982B2 · Lu · 2008 [cited by applicant]
US 7454569B2 · Kavuri · 2008 [cited by applicant]
US 7490207B2 · Amarendran et al. · 2009 [cited by applicant]
US 7500053B1 · Kavuri · 2009 [cited by applicant]
US 7529782B2 · Prahlad · 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 · 2009 [cited by applicant]
US 7617253B2 · Prahlad et al. · 2009 [cited by applicant]
US 7617262B2 · Prahlad · 2009 [cited by applicant]
US 7620710B2 · Kottomtharayil · 2009 [cited by applicant]
US 7636743B2 · Erofeev · 2009 [cited by applicant]
US 7651593B2 · Prahlad · 2010 [cited by applicant]
US 7657550B2 · Prahlad · 2010 [cited by applicant]
US 7660807B2 · Prahlad · 2010 [cited by applicant]
US 7661028B2 · Erofeev · 2010 [cited by applicant]
US 7734669B2 · Kottomtharayil · 2010 [cited by applicant]
US 7747579B2 · Prahlad · 2010 [cited by applicant]
US 7793148B2 · Beardsley et al. · 2010 [cited by applicant]
US 7801864B2 · Prahlad · 2010 [cited by applicant]
US 7809914B2 · Kottomtharayil · 2010 [cited by applicant]
US 8122211B2 · Stocklein · 2012 [cited by applicant]
US 8156086B2 · Lu et al. · 2012 [cited by applicant]
US 8170995B2 · Prahlad · 2012 [cited by applicant]
US 8229954B2 · Kottomtharayil · 2012 [cited by applicant]
US 8230195B2 · Amarendran · 2012 [cited by applicant]
US 8239647B2 · Stocklein · 2012 [cited by applicant]
US 8285681B2 · Prahlad · 2012 [cited by applicant]
US 8307177B2 · Prahlad · 2012 [cited by applicant]
US 8364652B2 · Vijayan · 2013 [cited by applicant]
US 8370542B2 · Lu et al. · 2013 [cited by applicant]
US 8578120B2 · Attarde · 2013 [cited by applicant]
US 8627025B2 · Doshi et al. · 2014 [cited by applicant]
US 8954446B2 · Retnamma · 2015 [cited by applicant]
US 9020900B2 · Retnamma · 2015 [cited by applicant]
US 9098495B2 · Gokhale · 2015 [cited by applicant]
US 9239687B2 · Vijayan · 2016 [cited by applicant]
US 9305056B1 · Gupta et al. · 2016 [cited by applicant]
US 9444811B2 · Nara · 2016 [cited by applicant]
US 9448731B2 · Nallathambi · 2016 [cited by applicant]
US 9483201B2 · Kripalani et al. · 2016 [cited by applicant]
US 9491112B1 · Patel et al. · 2016 [cited by applicant]
US 9575804B2 · Kochunni et al. · 2017 [cited by applicant]
US 9633033B2 · Vijayan · 2017 [cited by applicant]
US 9639274B2 · Maranna · 2017 [cited by applicant]
US 9645762B2 · Nara · 2017 [cited by applicant]
US 9648105B2 · Nallathambi et al. · 2017 [cited by applicant]
US 9842027B1 · Chopra · 2017 [cited by examiner]
US 9904481B2 · Joshi et al. · 2018 [cited by applicant]
US 9921920B2 · Nallathambi et al. · 2018 [cited by applicant]
US 9939981B2 · Varadharajan et al. · 2018 [cited by applicant]
US 9996428B2 · Nallathambi et al. · 2018 [cited by applicant]
US 10042710B2 · Mutalik · 2018 [cited by applicant]
US 10152231B2 · Kripalani · 2018 [cited by applicant]
US 10275320B2 · Thanasekaran · 2019 [cited by examiner]
US 10474388B2 · Nara et al. · 2019 [cited by applicant]
US 10481826B2 · Vijayan · 2019 [cited by examiner]
US 10521308B2 · Nallathambi et al. · 2019 [cited by applicant]
US 10540236B2 · Mutalik · 2020 [cited by applicant]
US 10628266B2 · Nallathambi et al. · 2020 [cited by applicant]
US 10628267B2 · Pradhan et al. · 2020 [cited by applicant]
US 10673943B2 · Pradhan et al. · 2020 [cited by applicant]
US 10824337B2 · Kripalani · 2020 [cited by applicant]
US 11221983B1 · Chakravarthy et al. · 2022 [cited by applicant]
US 11249863B2 · Pradhan et al. · 2022 [cited by applicant]
US 11263173B2 · Bedadala et al. · 2022 [cited by applicant]
US 11321183B2 · Pradhan et al. · 2022 [cited by applicant]
US 11330052B2 · Pradhan et al. · 2022 [cited by applicant]
US 11799956B2 · Pradhan · 2023 [cited by examiner]
US 20030074600A1 · Tamatsu · 2003 [cited by applicant]
US 20030120636A1 · Bird et al. · 2003 [cited by applicant]
US 20060224846A1 · Amarendran · 2006 [cited by applicant]
US 20070185922A1 · Kapoor et al. · 2007 [cited by applicant]
US 20070186068A1 · Agrawal · 2007 [cited by applicant]
US 20080040551A1 · Gray et al. · 2008 [cited by applicant]
US 20080270718A1 · Stocklein · 2008 [cited by applicant]
US 20090319534A1 · Gokhale · 2009 [cited by applicant]
US 20100005151A1 · Gokhale · 2010 [cited by applicant]
US 20110302140A1 · Gokhale et al. · 2011 [cited by applicant]
US 20120096093A1 · Bouw et al. · 2012 [cited by applicant]
US 20120117346A1 · Stocklein · 2012 [cited by applicant]
US 20120150818A1 · Retnamma et al. · 2012 [cited by applicant]
US 20130077926A1 · Bickham · 2013 [cited by applicant]
US 20140019454A1 · Carter et al. · 2014 [cited by applicant]
US 20140040579A1 · Kripalani · 2014 [cited by applicant]
US 20140040580A1 · Kripalani · 2014 [cited by applicant]
US 20140046908A1 · Patiejunas et al. · 2014 [cited by applicant]
US 20140101113A1 · Zhang et al. · 2014 [cited by applicant]
US 20140181035A1 · Moue et al. · 2014 [cited by applicant]
US 20140189432A1 · Gokhale · 2014 [cited by applicant]
US 20150039931A1 · Blood et al. · 2015 [cited by applicant]
US 20150074536A1 · Varadharajan et al. · 2015 [cited by applicant]
US 20150205682A1 · Gokhale et al. · 2015 [cited by applicant]
US 20150268876A1 · Ahn et al. · 2015 [cited by applicant]
US 20150363319A1 · Qi et al. · 2015 [cited by applicant]
US 20160004721A1 · Iyer et al. · 2016 [cited by applicant]
US 20160077926A1 · Mutalik et al. · 2016 [cited by applicant]
US 20160085797A1 · Patiejunas et al. · 2016 [cited by applicant]
US 20160110266A1 · Nara et al. · 2016 [cited by applicant]
US 20160162369A1 · Ahn · 2016 [cited by examiner]
US 20160283274A1 · Kochunni et al. · 2016 [cited by applicant]
US 20160350391A1 · Vijayan et al. · 2016 [cited by applicant]
US 20170090772A1 · Kripalani · 2017 [cited by applicant]
US 20170168903A1 · Dornemann et al. · 2017 [cited by applicant]
US 20170185488A1 · Kumarasamy et al. · 2017 [cited by applicant]
US 20170193003A1 · Vijayan et al. · 2017 [cited by applicant]
US 20170206018A1 · Nara et al. · 2017 [cited by applicant]
US 20170228290A1 · Macanti 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 20180024862A1 · Nakagawa et al. · 2018 [cited by applicant]
US 20180253192A1 · Varadharajan et al. · 2018 [cited by applicant]
US 20190278661A1 · Mehta et al. · 2019 [cited by applicant]
US 20190278663A1 · Mehta et al. · 2019 [cited by applicant]
US 20190325052A1 · Bastawala et al. · 2019 [cited by applicant]
US 20200192899A1 · Joshi et al. · 2020 [cited by applicant]
US 20220283989A1 · Bedadala et al. · 2022 [cited by applicant]
US 20230289264A1 · Nara · 2023 [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 9513580 · 1995 [cited by applicant]
WO 9912098 · 1999 [cited by applicant]
WO 2006052872 · 2006 [cited by applicant]
Arneson, “Mass Storage Archiving in Network Environments,” Digest of Papers, Ninth IEEE Symposium on Mass Storage Systems, Oct. 31, 1988Nov. 3, 1988, pp. 45-50, Monterey, CA. [cited by applicant]
Arneson, David A., “Development of Omniserver,” Control Data Corporation, Tenth IEEE Symposium on Mass Storage Systems, May 1990, ‘Crisis in Mass Storage’ Digest of Papers, pp. 88-93, Monterey, CA. [cited by applicant]
Cabrera et al., “ADSM: a Multi-Platform, Scalable, Backup and Archive Mass Storage System,” Digest of Papers, Compcon '95, Proceedings of the 40th IEEE Computer Society International Conference, Mar. 5, 1995-Mar. 9, 199… [cited by applicant]
Du et al., “MassStore: A low bandwidth, high De-duplication efficiency network backup system.”, 2012 International Conference on Systems and Informatics (ICSAI 2012), IEEE, 2012, pp. 886-890. [cited by applicant]
Eitel, “Backup and Storage Management in Distributed Heterogeneous Environments,” IEEE, Jun. 12-16, 1994, pp. 124-126. [cited by applicant]
Extended European Search Report in 19797007.2 dated Jan. 4, 2022 in 10 pages. [cited by applicant]
Huai et al., “Grid Job Support System n CGSP”, Advanced Parallel Processing Technologies Lecture Notes in Computer Sciences, Jan. 1, 2005, pp. 323-331. [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]
International Preliminary Report on Patentability in PCT/US2019/029876 dated Nov. 3, 2020 in 8 pages. [cited by applicant]
International Search Report in PCT/US2019/029876 dated Jul. 17, 2019 in 8 pages. [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]
Vrable, et al., “Cumulus: Filesystem Backup to the Cloud”, 2009, pp. 1-28. [cited by applicant]
Written Opinion in PCT/US2019/029876 dated Jul. 17, 2019 in 7 pages. [cited by applicant]