IP Library Granted Patent US 9,934,103
Granted Patent B2
US 9,934,103 · App. 14/253,704 · Granted Apr 3, 2018

Managing multi-source restore operations in an information management system

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 9,934,103
App. No.
14/253,704
Granted
Apr 3, 2018
Kind
B2
Abstract

According to certain aspects, an information management system may instruct a first secondary storage computing device in a set of secondary storage computing devices to initiate a restore of a first group of a plurality of files from a first storage device associated with the first secondary storage computing device, the first group including a first file. The computing system may instruct a second secondary storage computing device in the set to initiate a restore a second group of the plurality of files from a second storage device associated with the second secondary storage computing device, the second group including the first file. The computing system can, upon receiving notification that the restore of the first file from the first storage device has completed prior to completion of the restore of the first file from the second storage device, cancel restoration of the first file from the second storage device.

Claims (32)

1. A method of restoring data from multiple storage devices in an information management system, the method comprising:

receiving a request to restore a set of files from a secondary storage subsystem to a client computing device residing in a primary storage subsystem, wherein the secondary storage subsystem comprises a plurality of storage devices, at least two of the plurality of storage devices each store a corresponding copy of at least a first file of the set of files, and each of the at least two storage devices is associated with at least one secondary storage computing device in a set of secondary storage computing devices residing in the secondary storage subsystem;

instructing a first secondary storage computing device in the set of secondary storage computing devices to initiate a first parallel restore of at least a first group of files in the set of files from a first storage device of the at least two storage devices, wherein the first storage device is associated with at least the first secondary storage computing device, and the first group of files includes the first file;

instructing a second secondary storage computing device in the set of secondary storage computing devices to initiate a second parallel restore of at least a second group of files in the set of files from a second storage device of the at least two storage devices, wherein the second storage device is associated with at least the second secondary storage computing device, and the second group of files includes the first file; and

upon detecting, before the first file is restored from the second storage device to the client computing device as part of the second parallel restore, that the first file is restored from the first storage device to the client computing device as part of the first parallel restore, cancelling restoration of the first file from the second storage device to the client computing device as part of the second parallel restore.

2. The method of claim 1 , wherein said cancelling comprises cancelling scheduled restoration of the first file from the second storage device.

3. The method of claim 1 , wherein said cancelling comprises terminating an already in-progress transmission of the first file from the second storage device to the client computing device.

4. The method of claim 1 , further comprising:

subsequent to notifying the second secondary storage computing device that a copy of the first file has been restored from the first storage device to the client computing device, deleting a partially restored copy of the first file that was restored to the client computing device from the second storage device.

5. The method of claim 1 , wherein the second group of files comprises a plurality of files including the first file and a second file, and the method further comprises instructing the second secondary storage computing device to initiate restore of the second file in addition to the first file, and wherein the second secondary storage computing device schedules the restore of the second file prior to the restore of the first file.

6. The method of claim 1 , wherein at least a portion of the restore of the first file from the first storage device and at least a portion of the restore of the first file from the second storage device overlap in time.

7. The method of claim 1 , further comprising:

selecting based on stored selection criteria a subset of the secondary storage computing devices in the set of secondary storage computing devices, wherein the subset includes the first secondary storage computing device and the second secondary storage computing device.

8. The method of claim 7 , wherein a third secondary storage computing device is included in the set of secondary storage computing devices, the method further comprising not selecting the third secondary storage computing device to be in the subset based at least on a determination that the third secondary storage computing device is geographically remote from the client computing device.

9. The method of claim 7 , wherein the stored selection criteria comprises one or more of: a geographical location of the client computing device, a geographical location of a secondary storage computing device, a speed of network connection between the client computing device and a secondary storage computing device, a speed of network connection between a secondary storage computing device and a storage device, availability of network connection between the client computing device and a secondary storage computing device, or availability of network connection between a secondary storage computing device and a storage device.

10. The method of claim 1 , wherein the first file is a virtual machine file or a database file.

11. An information management system configured to restore data from multiple storage devices, the system comprising:

a computing system comprising one or more computing devices that include computer hardware, the computing system configured to:

receive a request to restore a set of files from a secondary storage subsystem to a client computing device residing in a primary storage subsystem, wherein the secondary storage subsystem comprises a plurality of storage devices, at least two of the plurality of storage devices each store a corresponding copy of at least a first file of the set of files, and each of the at least two storage devices is associated with at least one secondary storage computing device in a set of secondary storage computing devices residing in the secondary storage subsystem;

instruct a first secondary storage computing device in the set of secondary storage computing devices to initiate a first parallel restore of at least a first group of files in the set of files from a first storage device of the at least two storage devices, wherein the first storage device is associated with the first secondary storage computing device, and the first group of files includes the first file;

instruct a second secondary storage computing device in the set of secondary storage computing devices to initiate a second parallel restore of at least a second group of files in the set of files from a second storage device of the at least two storage devices, wherein the second storage device is associated with the second secondary storage computing device, and the second group of files includes the first file; and

upon detecting, before the first file is restored from the second storage device to the client computing device as part of the second parallel restore, that the first file is restored from the first storage device to the client computing device as part of the first parallel restore, cancel restoration of the first file from the second storage device to the client computing device as part of the second parallel restore.

12. The system of claim 11 , wherein the computing system is configured to cancel a scheduled restoration of the first file from the second storage device upon detecting that the first file is restored from the first storage device to the client computing device as part of the first parallel restore.

13. The system of claim 11 , wherein the computing system is configured to terminate already in-progress transmission of the first file from the second storage device to the client computing device detecting that the first file is restored from the first storage device to the client computing device as part of the first parallel restore.

14. The system of claim 11 , wherein the computing system is further configured to:

subsequent to notifying the second secondary storage computing device that a copy of the first file has been restored from the first storage device to the client computing device, delete a partially restored copy of the first file that was restored to the client computing device from the secondary storage device.

15. The system of claim 11 , wherein the second group of files comprises a plurality of files including the first file and a second file, and wherein the computing system is further configured to instruct the second secondary storage computing device to initiate restore of the second file in addition to the first file, and wherein the second secondary storage computing device is configured to schedule the restore of the second file prior to the restore of the first file.

16. The system of claim 11 , wherein at least a portion of the restore of the first file from the first storage device and at least a portion of the restore of the first file from the second storage device overlap in time.

17. The system of claim 11 , wherein the computing system is further configured to select based on stored selection criteria a subset of the secondary storage computing devices in the set of secondary storage computing devices, wherein the subset includes the first secondary storage computing device and the second secondary storage computing device.

18. The system of claim 17 , wherein a third secondary storage computing device is included in the set of secondary storage computing devices, wherein the computing system is further configured not to select the third secondary storage computing device to be in the subset based at least on a determination that the third secondary storage computing device is geographically remote from the client computing device.

19. The system of claim 17 , wherein the stored selection criteria comprises one or more of: a geographical location of the client computing device, a geographical location of a secondary storage computing device, a speed of network connection between the client computing device and a secondary storage computing device, a speed of network connection between a secondary storage computing device and a storage device, availability of network connection between the client computing device and a secondary storage computing device, or availability of network connection between a secondary storage computing device and a storage device.

20. The system of claim 11 , wherein the first file is a virtual machine file or a database file.

Assignments (5)
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 →
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 Apr 18, 2014
From: VIJAYAN, MANOJ KUMAR; PAWAR, RAHUL S.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 032709/0466 →