IP Library Granted Patent US 10,592,145
Granted Patent B2
US 10,592,145 · App. 15/896,943 · Granted Mar 17, 2020

Machine learning-based data object storage

Inventors: Pavan Kumar Reddy Bedadala (Piscataway, NJ); Praveen Veeramachaneni (Morganville, NJ)
Assignee: Commvault Systems, Inc.
G06F3/0638G06F3/067G06F3/0653G06K9/6256G06N20/00
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 10,592,145
App. No.
15/896,943
Granted
Mar 17, 2020
Kind
B2
Abstract

An information management system is provided herein that uses machine learning (ML) to predict what data to store in a secondary storage device and/or when to perform the storage. For example, a client computing device can be initially configured to store data in a secondary storage device according to one or more storage policies. A media agent in the information management system can monitor data usage on the client computing device, using the data usage data to train a data storage ML model. The data storage ML model may be trained such that the model predicts what data to store in a secondary storage device and/or when to perform the storage. The client computing device can then be configured to use the trained data storage ML model in place of the storage polic(ies) to determine which data to store in a secondary storage device and/or when to perform the storage.

Claims (55)

1. A networked information management system comprising:

a client computing device having one or more first hardware processors, wherein the client computing device is configured with first computer-executable instructions that, when executed, cause the client computing device to store one or more data objects in a secondary storage device according to a storage policy at a first time; and

one or more computing devices in communication with the client computing device, wherein the one or more computing devices each have one or more second hardware processors, wherein the one or more computing devices are configured with second computer-executable instructions that, when executed, cause the one or more computing devices to:

retrieve data object usage data associated with the client computing device;

train a data storage machine learning (ML) model using the data object usage data; and

transmit the data storage ML model to the client computing device such that the client computing device uses the data storage ML model instead of the storage policy to determine which of the one or more data objects to store in the secondary storage device at a second time after the first time.

2. The networked information management system of claim 1 , wherein the second computer-executable instructions, when executed, further cause the one or more computing devices to:

retrieve user directory information from a user directory system, wherein the user directory information comprises an indication of an active or inactive status of one or more user credentials; and

train the data storage ML model using the data object usage data and the user directory information.

3. The networked information management system of claim 1 , wherein the second computer-executable instructions, when executed, further cause the one or more computing devices to:

retrieve second data object usage data associated with the client computing device;

retrieve the data storage ML model;

retrain the data storage ML model using the second data object usage data; and

transmit the retrained data storage ML model to the client computing device such that the client computing device uses the retrained data storage ML model instead of the data storage ML model to determine which of the one or more data objects to store in the secondary storage device at a third time after the second time.

4. The networked information management system of claim 1 , wherein the second computer-executable instructions, when executed, further cause the one or more computing devices to:

obtain a request to store in the secondary storage device a first data object of the one or more data objects from the client computing device, wherein the client computing device generates the request in response to a prediction produced by the data storage ML model;

process the first data object to form a secondary copy of the first data object; and

store the secondary copy of the first data object in the secondary storage device.

5. The networked information management system of claim 1 , wherein the data storage ML model generates a prediction, with an associated confidence level, identifying a first data object of the one or more data objects to store in the secondary storage device at the second time after the first time in response to one or more inputs.

6. The networked information management system of claim 5 , wherein the one or more inputs comprise at least one of a current time, an identification of a second data object of the one or more data objects generated by a first application running on the client computing device, an age of the second data object, a name of the second data object, a size of the second data object, a data object type of the second data object, or information identifying an active or inactive status of one or more user credentials.

7. The networked information management system of claim 1 , wherein the second computer-executable instructions, when executed, further cause the one or more computing devices to train the data storage ML model by deriving patterns from the data object usage data.

8. The networked information management system of claim 1 , wherein the data object usage data comprises at least one of data object access times, data object permissions, data object ownership information, data object datapath information, information indicating which application running on the client computing device generated a data object, data object size, data object type, or data object name information.

9. The networked information management system of claim 1 , wherein the one or more data objects comprise at least one of a file, a folder, a directory, a file system volume, a data block, or an extent.

10. A computer-implemented method comprising:

retrieving data object usage data associated with a client computing device, the client computing device having one or more first hardware processors, wherein the client computing device is configured with computer-executable instructions that, when executed, cause the client computing device to store one or more data objects in a secondary storage device according to a storage policy at a first time;

training a data storage machine learning (ML) model using the data object usage data; and

transmitting the data storage ML model to the client computing device such that the client computing device uses the data storage ML model instead of the storage policy to determine which of the one or more data objects to store in the secondary storage device at a second time after the first time.

11. The computer-implemented method of claim 10 , wherein training a data storage ML model further comprises:

retrieving user directory information from a user directory system, wherein the user directory information comprises an indication of an active or inactive status of one or more user credentials; and

training the data storage ML model using the data object usage data and the user directory information.

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

retrieving second data object usage data associated with the client computing device;

retrieving the data storage ML model;

retraining the data storage ML model using the second data object usage data; and

transmitting the retrained data storage ML model to the client computing device such that the client computing device uses the retrained data storage ML model instead of the data storage ML model to determine which of the one or more data objects to store in the secondary storage device at a third time after the second time.

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

receiving a request to store in the secondary storage device a first data object of the one or more data objects from the client computing device, wherein the client computing device generates the request in response to a prediction produced by the data storage ML model;

processing the first data object to form a secondary copy of the first data object; and

storing the secondary copy of the first data object in the secondary storage device.

14. The computer-implemented method of claim 10 , wherein the data storage ML model generates a prediction, with an associated confidence level, identifying a first data object of the one or more data objects to store in the secondary storage device at the second time after the first time in response to one or more inputs.

15. The computer-implemented method of claim 14 , wherein the one or more inputs comprise at least one of a current time, an identification of a second data object of the one or more data objects generated by a first application running on the client computing device, an age of the second data object, a name of the second data object, a size of the second data object, a data object type of the second data object, or information identifying an active or inactive status of one or more user credentials.

16. The computer-implemented method of claim 10 , wherein training a data storage ML model further comprises training the data storage ML model by deriving patterns from the data object usage data.

17. The computer-implemented method of claim 10 , wherein the data object usage data comprises at least one of data object access times, data object permissions, data object ownership information, data object datapath information, information indicating which application running on the client computing device generated a data object, data object size, data object type, or data object name information.

18. The computer-implemented method of claim 10 , wherein the one or more data objects comprise at least one of a file, a folder, a directory, a file system volume, a data block, or an extent.

19. A networked information management system comprising:

a client computing device having one or more first hardware processors, wherein the client computing device is configured with first computer-executable instructions that, when executed, cause the client computing device to store one or more data objects in a secondary storage device according to a storage policy at a first time; and

one or more computing devices in communication with the client computing device, wherein the one or more computing devices each have one or more second hardware processors, wherein the one or more computing devices are configured with second computer-executable instructions that, when executed, cause the one or more computing devices to:

retrieve data object usage data associated with the client computing device;

train a data storage machine learning (ML) model using the data object in response to a threshold amount of the data object usage being retrieved; and

transmit the data storage ML model to the client computing device such that the client computing device uses at least one of the data storage ML model or the storage policy to determine which of the one or more data objects to store in the secondary storage device at a second time after the first time.

20. The networked information management system of claim 19 , wherein the second computer-executable instructions, when executed, further cause the one or more computing devices to:

retrieve second data object usage data associated with the client computing device;

retrieve the data storage ML model;

retrain the data storage ML model using the second data object usage data; and

transmit the retrained data storage ML model to the client computing device such that the client computing device uses at least one of the retrained data storage ML model or the storage policy instead of the data storage ML model to determine which of the one or more data objects to store in the secondary storage device at a third time after the second time.

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 Jan 29, 2020
From: BEDADALA, PAVAN KUMAR REDDY; VEERAMACHANENI, PRAVEEN
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 051662/0398 →
Continuity (1)
Related Publication 20190250839A1 · Aug 15, 2019
Cited By (36)
US 12,197,293 US 12,204,414 US 12,229,582 US 12,235,744 US 12,248,375 US 12,259,977 US 12,282,585 US 12,292,974 US 12,293,210 US 12,306,725 US 12,323,464 US 12,333,007 US 12,339,747 US 12,353,297 US 12,353,376 US 12,360,942 US 12,360,944 US 12,375,530 US 12,443,757 US 12,450,129 US 12,462,028 US 12,475,226 US 12,481,538 US 12,541,439 US 12,547,886 US 12,579,041 US 12,580,909 US 12,585,552 US 12,585,555 US 12,608,284 US 12,608,286 US 12,645,359 US 12,650,780 US 12,670,072 US 12,681,817 US 12,688,291