IP Library Granted Patent US 8,281,028
Granted Patent B2
US 8,281,028 · App. 13/366,082 · Granted Oct 2, 2012

System and method for performing multistream storage operations

Assignee: Commvault Systems, Inc.
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 8,281,028
App. No.
13/366,082
Granted
Oct 2, 2012
Kind
B2
Abstract

Systems and methods for performing storage operations over multi-stream data paths are provided. A first agent receives a request for a storage operation from a storage manager, identifies folders of a client computing device based on one or more file types of files in the folders of the client computing device, weights the folders based on the amount of data in the folders, and groups the folders into two or more sets of folders based at least in part on a file type of one or more of the files in the folders and the weight of the folders. A second agent transmits data from each of the two or more sets of folders to one or more storage devices in via at least one of two or more streaming communications paths based on pathway characteristics.

Claims (43)

1. A method for performing a dynamic multi-stream storage operation to transmit data from a client computing device to one or more storage devices, the method comprising:

receiving a request for a storage operation from a storage manager;

identifying folders of an information store associated with a client computing device based on one or more file types of files in the folders of the information store;

weighting the folders, using one or more processors, based on the amount of data in the folders;

grouping the folders into two or more sets of folders based at least in part on a file type of one or more of files in the folders and on the weighting of the folders; and

transmitting data from each of the two or more sets of folders to one or more storage devices via at least one of two or more streaming communications paths based on pathway characteristics, wherein

the pathway characteristics include a determination of whether a transmission time threshold is exceeded by transmitting data over at least one of the two or more streaming communication paths.

2. The method of claim 1 , further comprising determining whether storage network resources within the two or more streaming communication paths are available.

3. The method of claim 1 , further comprising determining whether performing a multi-stream storage operation over only one streaming communication path would exceed a load threshold.

4. The method of claim 1 , wherein grouping the folders into the two or more sets of folders further comprises grouping the folders based at least in part on a priority level of the folders.

5. The method of claim 1 , wherein grouping the folders into the two or more sets of folders further comprises grouping the folders based at least in part on an impact of scheduled data transmissions.

6. The method of claim 1 , wherein grouping the folders into the two or more sets of folders further comprises grouping the folders based at least in part on the number of items in the folders.

7. The method of claim 1 , wherein grouping the folders into the two or more sets of folders further comprises grouping the folders based at least in part on available storage devices within the streaming communication paths.

8. The method of claim 7 , wherein grouping the folders into the two or more sets of folders further comprises grouping the folders based at least in part on a capacity of the available storage devices.

9. The method of claim 1 , wherein grouping the folders into the two or more sets of folders further comprises grouping the folders based at least in part on a transmission time of data associated with the first sub-client.

10. The method of claim 1 , further comprising allocating each of the two or more sets of folders to a respective one of the two or more streaming communication paths dynamically based at least in part on a number of the sets of folders.

11. The method of claim 1 , wherein the each folder of the client is transmitted via a separate streaming communication path.

12. The method of claim 1 , further comprising allocating a first set of folders of the two or more sets of folders to a first streaming communication path based at least in part on the characteristics of the first streaming communication path and on the weight associated with the folders of the first set of folders.

13. A multi-stream storage operation system comprising:

one or more processors on a computing device;

a first agent, executing in the one or more processors on the computing device, the executing comprising:

receiving a request for a storage operation from a storage manager,

identifying folders of a client computing device based on one or more file types of files in the folders of the client computing device,

weighting the folders based on the amount of data in the folders, and

grouping the folders into two or more sets of folders based at least in part on a file type of one or more of the files in the folders and on the weighting of the folders; and

a second agent, executing in the one or more processors on the computing device, the executing of the second agent comprising:

transmitting data from each of the two or more sets of folders to one or more storage devices via at least one of two or more streaming communications paths based on pathway characteristics, wherein

the pathway characteristics include a determination of whether a transmission time threshold is exceeded by transmitting data over at least one of the two or more streaming communication paths.

14. The system of claim 13 , wherein the first agent is a data agent and the computing device is the client computing device.

15. The system of claim 13 , wherein the first agent groups the folders based at least in part on a bandwidth of the storage network.

16. The system of claim 13 , wherein the first agent groups the folders based at least in part on an impact of scheduled data transmissions.

17. The system of claim 13 , wherein the first agent groups the folders based at least in part on an availability of the storage network resources.

18. A non-transitory computer-readable storage medium having one or more computer-executable modules for multi-stream storage operations, the one or more computer-executable modules comprising:

a weighting module, wherein the weighting module:

receives a request for a storage operation from a storage manager,

identifies folders of a client computing device based on one or more file types of files in the folders of the client computing device,

weights the folders based on the amount of data in the folders, and

groups the folders into two or more sets of folders based at least in part on a file type of one or more of files in the folders and on the weights of the folders; and

a transmission module, wherein the transmission module:

transmits data from each of the two or more sets of folders to one or more storage devices via at least one of two or more streaming communications paths based on pathway characteristics, wherein

the pathway characteristics include a determination of whether a transmission time threshold is exceeded by transmitting data over at least one of the two or more streaming communication paths.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the weighting module groups the folders based at least in part on an impact of scheduled data transmissions.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the weighting module groups the folders based at least in part on the number of items in the folders.

Assignments (4)
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2014
From: KAVURI, SRINIVAS; MADEIRA, ANDRE DUQUE
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 032482/0981 →
Continuity (5)
Continuation 13168748 · Jun 24, 2011
Continuation 11269520 · Nov 7, 2005
Provisional Application 60626076 · Nov 8, 2004
Provisional Application 60625746 · Nov 5, 2004
Related Publication 20120151014A1 · Jun 14, 2012