IP Library Granted Patent US 11,615,002
Granted Patent B2
US 11,615,002 · App. 17/227,118 · Granted Mar 28, 2023

Dynamically allocating streams during restoration of data

Inventors: Waqas Ashraf (Manalapan, NJ); Nadejda Nekrassova (Atlantic Highlands, NJ)
Assignee: Commvault Systems, Inc.
G06F11/1469G06F11/1448G06F11/1453G06F11/1464G06F11/2056G06F16/128G06F16/173G06F16/27G06F11/2048
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,615,002
App. No.
17/227,118
Granted
Mar 28, 2023
Kind
B2
Abstract

The systems and methods described herein dynamically allocate streams when restoring data from databases. In some embodiments, the system and methods restore data from a database by determining a number of streams to allocate to the database for restoring files of data from the database. The determined number of streams may be based on a total amount of data within the database, and/or may be based, at least in part, on the previous number of streams used during backup operations, in order to balance the benefit of allocating streams to a restoration of data with any detriments associated with changing the number of streams from the number used during previous backup operations.

Claims (55)

1. A system, comprising:

at least one processor; and

at least one data storage device coupled to the at least one processor and storing instructions for performing a process of restoring data from a database to a client computing device within an information management system, wherein the process comprises:

determining a number of streams to allocate to the database for restoring database data from the database,

wherein a stream is a data channel that connects a client computing device to a secondary storage device where at least a portion of the database is stored,

wherein the determining the number of streams is based, at least in part, on:

a type of data storage system performing the process of restoring the database data,

one or more characteristics of data storage resources associated with the client computing device, and

available bandwidth of at least one stream available for restoring;

grouping the database data into a number of groups, wherein the number of groups equals the determined number of streams;

allocating a stream of the determined number of streams to database data associated with one of the groups; and

restoring the database data associated with the one of the groups, via the allocated stream, to the client computing device.

2. The system of claim 1 , wherein the determining the number of streams to allocate to the database data is based on a number of streams used during a prior backup operation associated with the client computing device.

3. The system of claim 1 , wherein the determining the number of streams to allocate to the database data an available bandwidth of each available stream.

4. The system of claim 1 , wherein the grouping of the database data results in, a least, a first group and a second group, wherein a total amount of data within the first group substantially matches a total amount of data within the second group.

5. The system of claim 1 , wherein the determined number of streams is different than a total number of streams used to back up the database data.

6. The system of claim 1 , wherein restoring the database data comprises restoring the database data using a media agent associated with the database.

7. The system of claim 1 , the process further comprising identifying characteristics of one or more resources that have changed since the database data was backed up.

8. The system of claim 1 , the process further comprising identifying characteristics of one or more resources that have increased in bandwidth since the database data was backed up.

9. A method for restoring data from a database to a client computing device, the method comprising:

receiving a request to restore a copy of database data to a client computing device;

determining a number of streams to allocate to the database for restoring database data from the database,

wherein a stream is a data channel that connects a client computing device to a secondary storage device where at least a portion of the database is stored,

wherein the determining the number of streams is based, at least in part, on:

a type of data storage system performing the method for restoring database data to the client computing device,

one or more characteristics of data storage resources associated with the client computing device, and

available bandwidth of at least one stream available for restoring;

grouping the database data into a number of groups, wherein the number of groups equals the determined number of streams;

allocating a stream of the determined number of streams to database data associated with one of the groups; and

restoring the database data associated with the one of the groups, via the allocated stream, to the client computing device.

10. The method of claim 9 , wherein the determining the number of streams to allocate to the database data is based on a number of streams used during a prior backup operation associated with the client computing device.

11. The method of claim 9 , wherein the determining the number of streams to allocate to the database data an available bandwidth of each available stream.

12. The method of claim 9 , wherein the grouping of the database data results in, a least, a first group and a second group, wherein a total amount of data within the first group substantially matches a total amount of data within the second group.

13. The method of claim 9 , wherein the determined number of streams is different than a total number of streams used to back up the database data.

14. The method of claim 9 , wherein restoring the database data comprises restoring the database data using a media agent associated with the database.

15. The method of claim 9 , the method further comprising identifying characteristics of one or more resources that have changed since the database data was backed up.

16. The method of claim 9 , the method further comprising identifying characteristics of one or more resources that have increased in bandwidth since the database data was backed up.

17. A computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by an information management system, cause the information management system to perform a method for restoring data to a client computing device, the method comprising:

receiving a request to restore a copy of database data to a client computing device;

determining a number of streams to allocate to the database for restoring database data from a secondary copy of the database,

wherein a stream is a data channel that connects a client computing device to a secondary storage device where at least a portion of the database is stored,

wherein the determining the number of streams is based, at least in part, on:

a type of data storage system performing the method for restoring database data to the client computing device,

one or more characteristics of data storage resources associated with the client computing device, and

available bandwidth of at least one stream available for restoring;

grouping the database data into a number of groups, wherein the number of groups equals the determined number of streams;

allocating a stream of the determined number of streams to database data associated with one of the groups; and

restoring the database data associated with the one of the groups, via the allocated stream, to the client computing device.

18. The computer-readable medium of claim 17 , wherein the determining the number of streams to allocate to the database data is based on a number of streams used during a prior backup operation associated with the client computing device.

19. The computer-readable medium of claim 17 , wherein the determining the number of streams to allocate to the database data an available bandwidth of each available stream.

20. The computer-readable medium of claim 17 , wherein the grouping of the database data results in, a least, a first group and a second group, wherein a total amount of data within the first group substantially matches a total amount of data within the second group.

21. The computer-readable medium of claim 17 , wherein the determined number of streams is different than a total number of streams used to back up the database data.

22. The computer-readable medium of claim 17 , wherein restoring the database data comprises restoring the database data using a media agent associated with the database.

23. The computer-readable medium of claim 17 , the method further comprising identifying characteristics of one or more resources that have changed since the database data was backed up.

24. The computer-readable medium of claim 17 , the method further comprising identifying characteristics of one or more resources that have increased in bandwidth since the database data was backed up.

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 Apr 15, 2021
From: ASHRAF, WAQAS; NEKRASSOVA, NADEJDA
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 055934/0001 →
Continuity (3)
Continuation 15934318 · Mar 23, 2018
Provisional Application 62479958 · Mar 31, 2017
Related Publication 20210334174A1 · Oct 28, 2021