IP Library Granted Patent US 11,593,227
Granted Patent B2
US 11,593,227 · App. 17/399,519 · Granted Feb 28, 2023

Load balancing across multiple data paths

Inventors: Jaidev Oppath Kochunni (Santa Clara, CA); Chong Liu (Ellicott City, MD); Manoj Kumar Vijayan (Marlboro, NJ); Rajiv Kottomtharayil (Marlboro, NJ)
Assignee: Commvault Systems, Inc.
G06F11/1464G06F3/065G06F3/067G06F3/0619G06F3/0626G06F3/0641G06F11/1435G06F11/1448G06F11/1451G06F11/1453G06F11/349G06F11/3433G06F11/3485G06F11/1461G06F11/1469G06F2201/84
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,593,227
App. No.
17/399,519
Granted
Feb 28, 2023
Kind
B2
Abstract

Multiple data paths may be available to a data management system for transferring data between a primary storage device and a secondary storage device. The data management system may be able to gain operational advantages by performing load balancing across the multiple data paths. The system may use application layer characteristics of the data for transferring from a primary storage to a backup storage during data backup operation, and correspondingly from a secondary or backup storage system to a primary storage system during restoration.

Claims (43)

1. A computer implemented method, which when executed by at least one processor, restores data from a secondary storage device to a primary storage device, the method comprising:

identifying a primary storage location in the primary storage device into which the data is to be restored;

determine a type of the data;

reserving a plurality of system resources for performing a load balancing restore operation across multiple data paths that are based on the type of data; and

causing the load balancing restore operation to be performed for the data from the secondary storage device to the primary storage location in the primary storage device using the multiple data paths.

2. The method of claim 1 wherein the identifying of the primary storage location comprises determining, for each unit of data to be restored from the secondary storage device to the primary storage device, information that identifies the primary storage location in the primary storage device for the unit of data to be restored.

3. The method of claim 1 further comprising:

assigning data paths among the multiple data paths for restoring multiple subsets of the data stored at the secondary storage device; and

restoring the multiple subsets of the data, wherein at least two subsets of the multiple subsets of the data are restored using two different data paths among the multiple data paths.

4. The method of claim 1 wherein the secondary storage device comprises a plurality of secondary storage locations and each data path among the multiple data paths is associated with a corresponding secondary storage location of the plurality of secondary storage locations.

5. The method of claim 4 further comprising:

assigning a data path among the multiple data paths for restoring a subset of the data stored at the corresponding secondary storage location among the plurality of secondary storage locations.

6. The method of claim 4 further comprising:

allocating a job for transferring the data from the secondary storage device to the primary storage device.

7. The method of claim 6 further comprising:

configuring, for the job, a storage policy to specify use of the multiple data paths; and

allocating the plurality of system resources for the multiple data paths according to the storage policy.

8. The method of claim 1 wherein the data comprises a first subset of data and a second subset of data, wherein the method further comprises:

tagging the first subset of data as an application-level characteristic of user data and tagging the second subset of data as an application-level characteristic of one of: index data and log data.

9. The method of claim 1 , wherein the load balancing restore operation provides a balanced use of the plurality of system resources, including one of host bus adapters and data storage devices having different characteristics of one or more of: read/write speeds, read/write life cycles, and error tolerances.

10. The method of claim 1 , wherein the load balancing restore operation allows for use of least one application-level characteristic associated with the data.

11. A system for restoring data from a secondary storage device to a primary storage device, the system comprising:

a computer memory and a computing device communicatively coupled to the computer memory, wherein the computing device is configured to:

identify a primary storage location in the primary storage device into which the data is to be restored;

determine a type of the data;

reserve a plurality of system resources for performing a load balancing restore operation across multiple data paths that are based on the type of data;

cause the load balancing restore operation to be performed for the data from the secondary storage device to the primary storage location in the primary storage device, using the multiple data paths based on the type of the data.

12. The system of claim 11 wherein to identify the primary storage location, the computing device is configured to determine, for each unit of data to be restored from the secondary storage device to the primary storage device, information that identifies the primary storage location in the primary storage device for the unit of data to be restored.

13. The system of claim 11 wherein the computing device is configured to:

assign data paths among the multiple data paths for restoring multiple subsets of the data stored at the secondary storage device; and

restore the multiple subsets of the data, wherein at least two subsets of the multiple subsets of the data are restored using two different data paths among the multiple data paths.

14. The system of claim 11 wherein the secondary storage device comprises a plurality of secondary storage locations and each data path among the multiple data paths is associated with a corresponding secondary storage location of the plurality of secondary storage locations.

15. The system of claim 14 wherein the computing device is configured to:

assign a data path among the multiple data paths for restoring a subset of the data stored at the corresponding secondary storage location among the plurality of secondary storage locations.

16. The system of claim 14 wherein the computing device is configured to:

allocate a job for transferring the data from the secondary storage device to the primary storage device using the multiple data paths.

17. The system of claim 16 wherein the computing device is configured to:

configure, for the job, a storage policy to specify use of the multiple data paths; and

allocate the plurality of system resources for the multiple data paths according to the storage policy.

18. The system of claim 11 wherein the data comprises a first subset of data and a second subset of data, wherein the computing device is further configured to:

tag the first subset of data as an application-level characteristic of user data and tag the second subset of data as an application-level characteristic of one of: index data and log data.

19. The system of claim 11 , wherein the load balancing restore operation provides a balanced use of the plurality of system resources, including one of host bus adapters and data storage devices having different characteristics of one or more of: read/write speeds, read/write life cycles, and error tolerances.

20. The system of claim 11 , wherein the load balancing restore operation allows for use of at least one application-level characteristic associated with the data.

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 Aug 11, 2021
From: KOCHUNNI, JAIDEV OPPATH; LIU, CHONG; VIJAYAN, MANOJ KUMAR; KOTTOMTHARAYIL, RAJIV
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 057151/0060 →