Data storage system with rapid restore capability
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
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A networked information management system comprising:
a client computing device having one or more first hardware processors, wherein the client computing device executes an application that generated a first file; and one or more computing devices in communication with the client computing device, wherein the one or more computing devices comprise a first drive and a second drive, wherein the one or more computing devices each have one or more second hardware processors, wherein the one or more computing devices are configured with computer-executable instructions that, when executed, cause the one or more computing devices to:
process a request received from the client computing device to restore a version of a first file that existed at a first time;
identify a snapshot stored in the first drive that is associated with the first time and that includes a stub corresponding to the first file, wherein the stub references a storage location of the first file in the second drive;
retrieve the first file from the storage location in the second drive based on the identified stub, wherein the first file is stored in the storage location in the second drive in a native format;
transmit the first file retrieved from the storage location to the client computing device;
process a request received from the client computing device to restore a version of the first file that existed at a second time before the first time;
identify a second snapshot stored in the first drive that is associated with the second time and that includes a second stub corresponding to the first file, wherein the second stub references a second storage location of the first file in the second drive;
retrieve the first file from the second storage location in the second drive based on the identified second stub, wherein the first file is stored in the second storage location in the second drive in a secondary copy format;
convert the first file retrieved from the second storage location from the secondary copy format to the native format; and
transmit the converted first file to the client computing device.
2 . The networked information management system of claim 1 , wherein the computer-executable instructions, when executed, further cause the one or more computing devices to shard the version of the first file that existed at the first time into a first file extent and a second file extent.
3 . The networked information management system of claim 2 , wherein the computer-executable instructions, when executed, further cause the one or more computing devices to:
determine that the request received from the client computing device corresponds to the second file extent; identify the snapshot stored in the first drive that includes the stub corresponding to the second file extent; retrieve the second file extent from the second drive based on the identified stub; and transmit the retrieved second file extent to the client computing device.
4 . The networked information management system of claim 1 , wherein the computer-executable instructions, when executed, further cause the one or more computing devices to:
receive an updated version of the first file; store the updated version of the first file in the first drive; determine that the first file has changed since a previous snapshot operation; store the updated version of the first file in the second drive; create a second stub corresponding to the updated version of the first file; and create a skeleton directory in the first drive, wherein the skeleton directory comprises the second stub.
5 . The networked information management system of claim 4 , wherein the computer-executable instructions, when executed, further cause the one or more computing devices to delete the updated version of the first file from the first drive.
6 . The networked information management system of claim 1 , wherein the computer-executable instructions, when executed, further cause the one or more computing devices to transmit the first file retrieved from the storage location to the client computing device without performing a conversion operation to convert the first file into the native format.
7 . The networked information management system of claim 1 , wherein the snapshot is stored in the first drive in association with the client computing device and the application executed by the client computing device.
8 . The networked information management system of claim 1 , wherein the stub comprises an indication of the first file, a product ID identifying a name of a computing system that stores the version of the first file that existed at the first time, a store ID identifying that the second drive stores the version of the first file that existed at the first time, a universally unique identifier (UUID) identifying the storage location of the version of the first file that existed at the first time in the second drive, and an indication of a time that the snapshot was taken.
9 . The networked information management system of claim 1 , wherein the first drive forms at least a portion of a first type of file system, and wherein the second drive forms at least a portion of a second type of file system.
10 . The networked information management system of claim 1 , wherein read times of the second drive are slower than read times of the first drive.
11 . A computer-implemented method comprising:
receiving, by one or more computing devices comprising a first drive and a second drive, a request from a client computing device to restore a version of a first file that existed at a first time, wherein the first file is previously provided by the client computing device to the one or more computing devices, and wherein the first file is generated by an application executed by the client computing device; identifying a snapshot stored in the first drive that is associated with the first time and that includes a stub corresponding to the first file, wherein the stub references a storage location of the first file in the second drive; retrieving the first file from the storage location in the second drive based on the identified stub, wherein the first file is stored in the storage location in the second drive in a native format; transmitting the first file retrieved from the storage location to the client computing device; processing a request received from the client computing device to restore a version of the first file that existed at a second time before the first time; identifying a second snapshot stored in the first drive that is associated with the second time and that includes a second stub corresponding to the first file, wherein the second stub references a second storage location of the first file in the second drive; retrieving the first file from the second storage location in the second drive based on the identified second stub, wherein the first file is stored in the second storage location in the second drive in a secondary copy format; converting the first file retrieved from the second storage location from the secondary copy format to the native format; and transmitting the converted first file to the client computing device.
12 . The computer-implemented method of claim 11 , further comprising sharding the version of the first file that existed at the first time into a first file extent and a second file extent.
13 . The computer-implemented method of claim 12 , further comprising:
determining that the request received from the client computing device corresponds to the second file extent; identifying the snapshot stored in the first drive that includes the stub corresponding to the second file extent; retrieving the second file extent from the second drive based on the identified stub; and transmitting the retrieved second file extent to the client computing device.
14 . The computer-implemented method of claim 11 , further comprising:
receiving an updated version of the first file; storing the updated version of the first file in the first drive; determining that the first file has changed since a previous snapshot operation; storing the updated version of the first file in the second drive; creating a second stub corresponding to the updated version of the first file; and creating a skeleton directory in the first drive, wherein the skeleton directory comprises the second stub.
15 . The computer-implemented method of claim 11 , wherein transmitting the retrieved first file to the client computing device further comprises transmitting the first file retrieved from the storage location to the client computing device without performing a conversion operation to convert the first file into the native format.
16 . The computer-implemented method of claim 11 , wherein the snapshot is stored in the first drive in association with the client computing device and the application executed by the client computing device.
17 . The computer-implemented method of claim 11 , wherein the stub comprises an indication of the first file, a product ID identifying a name of a computing system that stores the version of the first file that existed at the first time, a store ID identifying that the second drive stores the version of the first file that existed at the first time, a universally unique identifier (UUID) identifying the storage location of the version of the first file that existed at the first time in the second drive, and an indication of a time that the snapshot was taken.
18 . The computer-implemented method of claim 11 , wherein the first drive forms at least a portion of a first type of file system, and wherein the second drive forms at least a portion of a second type of file system.
19 . The computer-implemented method of claim 11 , wherein read times of the second drive are slower than read times of the first drive.
20 . A non-transitory computer-readable medium storing instructions, which when executed by one or more computing devices comprising a first drive and a second drive, cause the one or more computing devices to perform a method comprising:
receiving a request from a client computing device to restore a version of a first file that existed at a first time, wherein the first file is previously provided by the client computing device to the one or more computing devices, and wherein the first file is generated by an application executed by the client computing device; identifying a snapshot stored in the first drive that is associated with the first time and that includes a stub corresponding to the first file, wherein the stub references a storage location of the first file in the second drive; retrieving the first file from the storage location in the second drive based on the identified stub, wherein the first file is stored in the storage location in the second drive in a native format; transmitting the first file retrieved from the storage location to the client computing device; processing a request received from the client computing device to restore a version of the first file that existed at a second time before the first time; identifying a second snapshot stored in the first drive that is associated with the second time and that includes a second stub corresponding to the first file, wherein the second stub references a second storage location of the first file in the second drive; retrieving the first file from the second storage location in the second drive based on the identified second stub, wherein the first file is stored in the second storage location in the second drive in a secondary copy format; converting the first file retrieved from the second storage location from the secondary copy format to the native format; and transmitting the converted first file to the client computing device.Join the waitlist — get patent alerts
Track US2021037112A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.