IP Library Granted Patent US 12,047,472
Granted Patent B2
US 12,047,472 · App. 18/133,450 · Granted Jul 23, 2024

Data storage system with rapid restore capability

Inventors: Ramachandra Reddy Ankireddypalle (Telangana, IN); Manoj Kumar Vijayan (Marlboro, NJ); Pratima Bapusaheb Kudale (San Jose, CA); Anuradha Talur (Sunnyvale, CA); Manivannan Subramaniam (Edison, NJ)
Assignee: Commvault Systems, Inc.
H04L67/5683H04L67/565H04L67/1097
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 12,047,472
App. No.
18/133,450
Granted
Jul 23, 2024
Kind
B2
Abstract

An improved information management system that implements a staging area or cache to temporarily store primary data in a native format before the primary data is converted into secondary copies in a secondary format is described herein. For example, the improved information management system can include various media agents that each include one or more high speed drives. When a client computing device provides primary data for conversion into secondary copies, the primary data can initially be stored in the native format in the high speed drive(s). If the client computing device then submits a request for the primary data, the media agent can simply retrieve the primary data from the high speed drive(s) and transmit the primary data to the client computing device. Because the primary data is already in the native format, no conversion operations are performed by the media agent, thereby reducing the restore delay.

Claims (36)

1. A system comprising:

a first computing device in communication with a client computing device that comprises one or more hardware processors, wherein the client computing device is configured to execute an application that generates a first data file in a native format, wherein the native format is associated with the application;

a first drive that comprises one or more first data storage devices; and

a second drive that comprises one or more second data storage devices, wherein the first drive is configured to read the first data file from one or more of the one or more first data storage devices faster than the second drive is configured to read the first data file from one or more of the one or more second data storage devices; and

wherein the first computing device comprises one or more hardware processors, and further comprises the first drive and the second drive, and wherein the first computing device is configured with computer-executable instructions that, when executed, cause the first computing device to:

store the first data file in the native format in the first drive, and

after a first amount of time, move the first data file in the native format from the first drive to the second drive, and

after a second amount of time, (a) convert the first data file from the native format into one or more secondary copies that are in a secondary copy format, wherein the secondary copy format is distinct from the native format, and (b) store the one or more secondary copies, in the secondary copy format, in the second drive;

wherein a request for the first data file is served from one of the first drive and the second drive, depending on a timing of the request compared to the first amount of time and the second amount of time.

2. The system of claim 1 , wherein the computer-executable instructions, when executed, further cause the first computing device to: based on a first request for the first data file, wherein the first request is received before the first data file has been moved to the second drive, transmit the first data file in the native format from the first drive.

3. The system of claim 1 , wherein the computer-executable instructions, when executed, further cause the first computing device to: based on a second request for the first data file, wherein the second request is received after the first data file has been moved to the second drive and before the first data file has been converted into the one or more secondary copies, transmit the first data file in the native format from the second drive.

4. The system of claim 1 , wherein the computer-executable instructions, when executed, further cause the first computing device to: based on a third request for the first data file, wherein the third request is received after the first data file has been converted into the one or more secondary copies, (A) restore the one or more secondary copies from the secondary copy format into the first data file in the native format, and (B) transmit the first data file in the native format from the second drive.

5. The system of claim 1 , wherein the computer-executable instructions, when executed, further cause the first computing device to: take a snapshot of the first drive; based on determining that the first data file has changed since a preceding snapshot, store the first data file in the native format at the second drive; and

at the first drive, store a stub that references the first data file at the second drive.

6. The system of claim 1 , wherein the first drive is configured in the system as a faster storage tier than the second drive.

7. The system of claim 1 , wherein the first drive is configured in the system as a faster storage tier than a first portion of the second drive that stores the first data file in the native format, and wherein a second portion of the second drive that stores the one or more secondary copies in the secondary copy format is configured in the system as a slower storage tier than the first portion of the second drive.

8. The system of claim 1 , wherein a storage manager that executes on a third computing device is configured to manage one or more storage policies that define the first amount of time and the second amount of time, wherein the third computing device is distinct from one or more of: the client computing device and the first computing device, and wherein the third computing device comprises one or more hardware processors.

9. The system of claim 1 , wherein the first drive is configured to execute a first file system and wherein the second drive is configured to execute a second file system, which is distinct from, and of a different type than, the first file system.

10. The system of claim 1 , wherein the computer-executable instructions, when executed, further cause the first computing device to: receive an updated version of the first data file, store the updated version of the first data file in the first drive, determine that the first data file has changed since a preceding snapshot operation, store the updated version of the first data file in the second drive, in the native format; and store, at the first drive, a stub that references the updated version of the first data file stored at the second drive.

11. A computer-implemented method performed by a system, wherein the system comprises: a first computing device in communication with a client computing device that is configured to execute an application that generates a first data file in a native format, wherein the native format is associated with the application;

wherein the system further comprises a first drive that comprises one or more first data storage devices; and

wherein the system further comprises a second drive that comprises one or more second data storage devices, wherein the first drive is configured to read the first data file from one or more of the one or more first data storage devices faster than the second drive is configured to read the first data file from one or more of the one or more second data storage devices; and

wherein the method comprises:

storing the first data file in the native format in the first drive;

after a first amount of time, moving the first data file in the native format from the first drive to the second drive; and

after a second amount of time, (a) converting the first data file from the native format into one or more secondary copies that are in a secondary copy format, wherein the secondary copy format is distinct from the native format, and (b) storing the one or more secondary copies, in the secondary copy format, in the second drive; and

serving a request for the first data file from one of the first drive and the second drive, depending on a timing of the request compared to the first amount of time and the second amount of time.

12. The computer-implemented method of claim 11 , further comprising: based on a first request for the first data file, wherein the first request is received before the first data file has been moved to the second drive, transmitting the first data file in the native format from the first drive.

13. The computer-implemented method of claim 11 , further comprising: based on a second request for the first data file, wherein the second request is received after the first data file has been moved to the second drive and before the first data file has been converted into the one or more secondary copies, transmitting the first data file in the native format from the second drive.

14. The computer-implemented method of claim 11 , further comprising: based on a third request for the first data file, wherein the third request is received after the first data file has been converted into the one or more secondary copies, (A) restoring the one or more secondary copies from the secondary copy format into the first data file in the native format, and (B) transmitting the first data file in the native format from the second drive.

15. The computer-implemented method of claim 11 , further comprising: taking a snapshot of the first drive; based on determining that the first data file has changed since a preceding snapshot, storing the first data file in the native format at the second drive; at the first drive, storing a stub that references the first data file at the second drive.

16. The computer-implemented method of claim 11 , wherein the first drive is configured in the system as a faster storage tier than the second drive.

17. The computer-implemented method of claim 11 , wherein the first drive is configured in the system as a faster storage tier than a first portion of the second drive that stores the first data file in the native format, and wherein a second portion of the second drive that stores the one or more secondary copies in the secondary copy format is configured in the system as a slower storage tier than the first portion of the second drive.

18. The computer-implemented method of claim 11 , wherein a storage manager that executes on a third computing device is configured to manage one or more storage policies that define the first amount of time and the second amount of time, wherein the third computing device is distinct from one or more of: the client computing device and the first computing device, and wherein the third computing device comprises one or more hardware processors.

19. The computer-implemented method of claim 11 , wherein the first drive is configured to execute a first file system and wherein the second drive is configured to execute a second file system, which is distinct from, and of a different type than, the first file system.

20. The computer-implemented method of claim 11 , further comprising: receiving an updated version of the first data file; storing the updated version of the first data file in the first drive; determining that the first data file has changed since a preceding snapshot operation; storing the updated version of the first data file in the second drive, in the native format; and storing, at the first drive, a stub that references the updated version of the first data file stored at the second drive.

Assignments (2)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2023
From: ANKIREDDYPALLE, RAMACHANDRA REDDY; VIJAYAN, MANOJ KUMAR; KUDALE, PRATIMA BAPUSAHEB; TALUR, ANURADHA; SUBRAMANIAM, MANIVANNAN
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 063303/0432 →