IP Library Granted Patent US 12,242,358
Granted Patent B2
US 12,242,358 · App. 18/540,125 · Granted Mar 4, 2025

Streamlined secondary copy operations for data stored on shared file storage

Inventors: Duncan Alden Littlefield (Millstone Township, NJ); Suhas T. Lande (Leander, TX)
Assignee: Commvault Systems, Inc.
G06F11/1464G06F11/1448G06F11/1451G06F11/1458G06F16/176G06F16/1834G06F2201/805
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,242,358
App. No.
18/540,125
Granted
Mar 4, 2025
Kind
B2
Abstract

The present inventors devised techniques and technologies that streamline the protection of data stored on shared file storage e.g., on file servers, network-attached storage (NAS), share drives, network shares, etc., in a data storage management system. Some embodiments feature a proxy-less backup configuration in which backup services hosts are assigned to perform a secondary copy job, at job runtime, based on host attributes relative to the data source. Some embodiments are configured to, at job runtime, automatically resolve data paths to the source data, and automatically mount the data paths, rather than requiring data paths to be expressly pre-administered on all possible candidate backup machines. Some embodiments automatically protect data from shared file storage that was not expressly given a backup plan (“undefined” data) by applying default preferences for protecting undefined data.

Claims (67)

1. A computer-implemented method comprising:

at runtime of a backup operation of first data, wherein the first data is stored at a shared file storage, selecting, from among a plurality of computing devices, a second computing device to perform the backup operation,

wherein the selecting is performed by a first computing device, and

wherein the second computing device is selected based on being configured with one or more of:

(a) a file system that is configured to natively read the first data from the shared file storage, and

(b) a file system communication protocol that is configured to natively access the first data at the shared file storage;

wherein the first computing device comprises a definition of a data grouping that includes the first data, and further comprises a preference for using a secondary storage for storing one or more secondary copies of the first data, and

wherein neither the definition of the data grouping nor the preference indicates that the second computing device is to be selected to perform the backup operation; and

by the first computing device, instructing the second computing device to perform the backup operation of the first data;

wherein the first computing device comprises one or more computer hardware processors and computer memory for carrying computer-programming instructions, and wherein the second computing device comprises one or more computer hardware processors and computer memory for carrying computer-programming instructions and is distinct from the first computing device.

2. The computer-implemented method of claim 1 , wherein the definition of the data grouping comprises a first data path to the first data at the shared file storage; and further comprising:

by the first computing device, transmitting to the second computing device, at runtime of the backup operation, the first data path that is obtained from the definition of the data grouping; and

by the second computing device: mounting the first data path to a mount point on the second computing device to connect the second computing device to the first data at the shared file storage, and performing the backup operation of the first data using the first data path received from the first computing device.

3. The computer-implemented method of claim 2 , wherein the first data path comprises one or more wildcard characters; and further comprising:

before mounting the first data path to the mount point on the second computing device, resolving the one or more wildcard characters into a plurality of distinct data paths including the first data path;

mounting each of the plurality of distinct data paths to a corresponding mount point on the second computing device; and

performing the backup operation using each distinct data path in the plurality of distinct data paths, resulting in the one or more secondary copies of the first data.

4. The computer-implemented method of claim 1 , wherein the definition of the data grouping comprises a first data path to the first data at the shared file storage; and further comprising:

executing a data agent at the second computing device, wherein the data agent receives the first data path and mounts the first data path to a mount point on the second computing device to connect the second computing device to the first data at the shared file storage; and

executing a media agent at the second computing device, wherein the media agent, in conjunction with the data agent, performs the backup operation, which generates the one or more secondary copies of the first data.

5. The computer-implemented method of claim 1 , wherein the definition of the data grouping comprises a first data path to the first data at the shared file storage; and

wherein prior to receiving the first data path at runtime of the backup operation, the second computing device is configured without the first data path.

6. The computer-implemented method of claim 1 , wherein the definition of the data grouping comprises a first data path to the first data at the shared file storage; and further comprising:

by the first computing device, communicating the first data path to the second computing device at runtime of the backup operation.

7. The computer-implemented method of claim 1 , wherein the backup operation comprises file-level backup of the first data, and wherein the first data comprises a plurality of data files.

8. The computer-implemented method of claim 1 , wherein the file system communication protocol comprises Common Internet File System (CIFS).

9. The computer-implemented method of claim 1 , wherein the file system communication protocol comprises Network File System (NFS).

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

by the first computing device, managing a plurality of storage operations within a data storage management system, including managing the backup operation; and

by the second computing device:

executing a data agent that uses the file system communication protocol to access the first data for the backup operation, and

executing a media agent that generates and stores the one or more secondary copies of the first data to the secondary storage.

11. A computer-implemented method comprising:

by a first computing device, initiating a backup operation of first data that is stored at a shared file storage,

wherein the first data is not referenced in any of one or more data grouping definitions that are configured at the first computing device,

wherein the backup operation is initiated based on a first preference that is configured at the first computing device, and

wherein the first preference is configured for data that is not defined in any of the one or more data grouping definitions that are configured at the first computing device;

at runtime of the backup operation, selecting, from among a plurality of computing devices, a second computing device to perform the backup operation,

wherein the selecting is performed by the first computing device, and

wherein the second computing device is selected based on being configured with one or more of:

(a) a file system that is configured to natively read the first data from the shared file storage, and

(b) a file system communication protocol that is configured to natively access the first data at the shared file storage;

wherein the first preference does not indicate that the second computing device is to be selected to perform the backup operation; and

by the first computing device, instructing the second computing device to perform the backup operation of the first data;

wherein the first computing device comprises one or more computer hardware processors and computer memory for carrying computer-programming instructions, and wherein the second computing device comprises one or more computer hardware processors and computer memory for carrying computer-programming instructions and is distinct from the first computing device.

12. The computer-implemented method of claim 11 , wherein the first data is stored at a first data path at the shared file storage; and further comprising:

by the first computing device, transmitting the first data path to the second computing device, at runtime of the backup operation; and

by the second computing device: mounting the first data path to a mount point on the second computing device to connect the second computing device to the first data at the shared file storage, and performing the backup operation of the first data using the first data path received from the first computing device.

13. The computer-implemented method of claim 12 , wherein the first data path comprises one or more wildcard characters; and further comprising:

before mounting the first data path to the mount point on the second computing device, resolving the one or more wildcard characters into a plurality of distinct data paths including the first data path;

mounting each of the plurality of distinct data paths to a corresponding mount point on the second computing device; and

performing the backup operation using each distinct data path in the plurality of distinct data paths, resulting in one or more secondary copies of the first data.

14. The computer-implemented method of claim 11 , wherein the first data is stored at a first data path at the shared file storage; and further comprising:

executing a data agent at the second computing device, wherein the data agent receives the first data path and mounts the first data path to a mount point on the second computing device to connect the second computing device to the first data at the shared file storage; and

executing a media agent at the second computing device, wherein the media agent, in conjunction with the data agent, performs the backup operation, which generates one or more secondary copies of the first data.

15. The computer-implemented method of claim 11 , wherein the first data is stored at a first data path at the shared file storage; and

wherein prior to receiving the first data path at runtime of the backup operation, the second computing device is configured without the first data path.

16. The computer-implemented method of claim 11 , wherein the first data is stored at a first data path at the shared file storage; and further comprising:

by the first computing device, communicating the first data path to the second computing device at runtime of the backup operation.

17. The computer-implemented method of claim 11 , wherein the backup operation comprises file-level backup of the first data, and wherein the first data comprises a plurality of data files.

18. The computer-implemented method of claim 11 , wherein the file system communication protocol comprises Common Internet File System (CIFS).

19. The computer-implemented method of claim 11 , wherein the file system communication protocol comprises Network File System (NFS).

20. The computer-implemented method of claim 11 , further comprising:

by the first computing device, managing a plurality of storage operations within a data storage management system, including managing the backup operation; and

by the second computing device:

executing a data agent that uses the file system communication protocol to access the first data for the backup operation, and

executing a media agent that generates and stores one or more secondary copies of the first data to a secondary storage.

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 Dec 18, 2023
From: LITTLEFIELD, DUNCAN ALDEN; LANDE, SUHAS T.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 065893/0027 →
Continuity (4)
Continuation 17709044 · Mar 30, 2022
Continuation 16377033 · Apr 5, 2019
Provisional Application 62824209 · Mar 26, 2019
Related Publication 20240118978A1 · Apr 11, 2024
References Cited (161)
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 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 · 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 7380072B2 · Kottomtharayil et al. · 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 7769890B2 · Littlefield et al. · 2010 [cited by applicant]
US 7769961B2 · Kottomtharayil et al. · 2010 [cited by applicant]
US 7801864B2 · Prahlad · 2010 [cited by applicant]
US 7809914B2 · Kottomtharayil · 2010 [cited by applicant]
US 8032718B2 · Kottomtharayil et al. · 2011 [cited by applicant]
US 8073969B2 · Littlefield · 2011 [cited by applicant]
US 8078583B2 · Prahlad et al. · 2011 [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 8266106B2 · Prahlad et al. · 2012 [cited by applicant]
US 8285681B2 · Prahlad · 2012 [cited by applicant]
US 8307177B2 · Prahlad · 2012 [cited by applicant]
US 8341359B2 · Kottomtharayil et al. · 2012 [cited by applicant]
US 8364652B2 · Vijayan · 2013 [cited by applicant]
US 8370542B2 · Lu et al. · 2013 [cited by applicant]
US 8510516B2 · Kottomtharayil et al. · 2013 [cited by applicant]
US 8577844B2 · Prahlad et al. · 2013 [cited by applicant]
US 8578120B2 · Attarde · 2013 [cited by applicant]
US 8677091B2 · Littlefield · 2014 [cited by applicant]
US 8930306B1 · Ngo · 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 9021198B1 · Vijayan · 2015 [cited by applicant]
US 9021213B2 · Kottomtharayil et al. · 2015 [cited by applicant]
US 9098495B2 · Gokhale · 2015 [cited by applicant]
US 9104340B2 · Prahlad et al. · 2015 [cited by applicant]
US 9124611B2 · Littlefield · 2015 [cited by applicant]
US 9239687B2 · Vijayan · 2016 [cited by applicant]
US 9251190B2 · Kottomtharayil et al. · 2016 [cited by applicant]
US 9342537B2 · Kumarasamy · 2016 [cited by applicant]
US 9400803B2 · Littlefield · 2016 [cited by applicant]
US 9483201B2 · Kripalani et al. · 2016 [cited by applicant]
US 9483489B2 · Varadharajan et al. · 2016 [cited by applicant]
US 9495382B2 · Agrawal et al. · 2016 [cited by applicant]
US 9578101B2 · Vijayan et al. · 2017 [cited by applicant]
US 9609058B2 · Vallabhaneni et al. · 2017 [cited by applicant]
US 9633033B2 · Vijayan · 2017 [cited by applicant]
US 9639274B2 · Maranna · 2017 [cited by applicant]
US 9639297B2 · Ankireddypalle et al. · 2017 [cited by applicant]
US 9652335B2 · Littlefield et al. · 2017 [cited by applicant]
US 9760444B2 · Varadharajan et al. · 2017 [cited by applicant]
US 9928002B2 · Kumarasamy et al. · 2018 [cited by applicant]
US 9928144B2 · Kumarasamy · 2018 [cited by applicant]
US 10069912B2 · Vallabhaneni et al. · 2018 [cited by applicant]
US 10140037B2 · Varadharajan et al. · 2018 [cited by applicant]
US 10152231B2 · Kripalani · 2018 [cited by applicant]
US 10210048B2 · Sancheti · 2019 [cited by applicant]
US 10268402B2 · Ankireddypalle et al. · 2019 [cited by applicant]
US 10289496B1 · Chopra et al. · 2019 [cited by applicant]
US 10310953B2 · Vijayan · 2019 [cited by applicant]
US 10437937B2 · Kilaru et al. · 2019 [cited by applicant]
US 10540327B2 · Ngo et al. · 2020 [cited by applicant]
US 10547678B2 · Prahlad et al. · 2020 [cited by applicant]
US 10599525B2 · Varadharajan et al. · 2020 [cited by applicant]
US 10635546B2 · Karthikeyan et al. · 2020 [cited by applicant]
US 10664447B2 · Kilaru et al. · 2020 [cited by applicant]
US 10733058B2 · Kumarasamy · 2020 [cited by applicant]
US 10733150B2 · Kilaru et al. · 2020 [cited by applicant]
US 10742735B2 · Kumar et al. · 2020 [cited by applicant]
US 10824337B2 · Kripalani · 2020 [cited by applicant]
US 10853176B2 · Kumarasamy et al. · 2020 [cited by applicant]
US 10895993B2 · Ankireddypalle et al. · 2021 [cited by applicant]
US 10949308B2 · Iyer · 2021 [cited by applicant]
US 10999368B2 · Vallabhaneni et al. · 2021 [cited by applicant]
US 11321184B2 · Littlefield et al. · 2022 [cited by applicant]
US 11886303B2 · Littlefield · 2024 [cited by applicant]
US 20060224846A1 · Amarendran · 2006 [cited by applicant]
US 20070204104A1 · Wan et al. · 2007 [cited by applicant]
US 20090319534A1 · Gokhale · 2009 [cited by applicant]
US 20120150818A1 · Vijayan Retnamma et al. · 2012 [cited by applicant]
US 20160350391A1 · Vijayan et al. · 2016 [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 20170235647A1 · Kilaru et al. · 2017 [cited by applicant]
US 20170242871A1 · Kilaru et al. · 2017 [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]
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]
Eitel, “Backup and Storage Management in Distributed Heterogeneous Environments,” IEEE, Jun. 12-16, 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]
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]