IP Library Granted Patent US 9,465,710
Granted Patent B1
US 9,465,710 · App. 13/910,645 · Granted Oct 11, 2016

Systems and methods for predictively preparing restore packages

Inventor: Erica Antony (Blaine, MN)
Assignee: Veritas Technologies LLC
G06F11/3055
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,465,710
App. No.
13/910,645
Filed
Jun 5, 2013
Granted
Oct 11, 2016
Kind
B1
Art Unit
2113
USPC
714/47.3
Abstract

A computer-implemented method for predictively preparing restore packages may include (1) monitoring a computing system for evidence of potential data failures within the computing system, (2) detecting evidence that indicates a potential data failure within the computing system while monitoring the computing system, (3) predicting a scope of the potential data failure based at least in part on the evidence that indicates the potential data failure, and then (4) preparing a restore package configured to restore at least a portion of data implicated by the predicted scope of the potential data failure prior to detecting a request to initiate a restore operation in connection with the potential data failure. Various other methods, systems, and computer-readable media are also disclosed.

Claims (63)

1. A computer-implemented method for predictively preparing restore packages, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

monitoring a computing system for evidence of data failures within the computing system;

while monitoring the computing system, detecting evidence that indicates a data failure within the computing system, wherein the evidence comprises a certain number of specific run-time errors that:

are each identified by a numeric code; and

resulted from failed attempts to access at least a portion of data within the computing system;

determining that the certain number of specific run-time errors exceeds a predetermined threshold indicative of the data failure;

in response to determining that the certain number of specific run-time errors exceeds the predetermined threshold:

predicting a scope of the data failure within the computing system based at least in part on the specific run-time errors, wherein the scope of the data failure implicates the portion of data that caused the failed access attempts resulting in the specific run-time errors;

preparing a restore package configured to restore the portion of data implicated by the predicted scope of the data failure within the computing system, the restore package being derived from the most recently captured backup image that includes the portion of data implicated by the predicted scope of the data failure;

maintaining the restore package in anticipation of receiving, from a user of the computing system, a restore request that initiates a restore operation in connection with the data failure to reduce the amount of time needed to restore the portion of data implicated by the predicted scope of the data failure within the computing system upon receiving the restore request from the user of the computing system.

2. The method of claim 1 , further comprising:

detecting the restore request that initiates the restore operation in connection with the data failure;

in response to detecting the restore request that initiates the restore operation, immediately initiating the restore operation to facilitate restoring the portion of data implicated by the predicted scope of the data failure.

3. The method of claim 2 , wherein immediately initiating the restore operation to facilitate restoring the portion of data implicated by the predicted scope of the data failure comprises immediately providing the restore package to the computing system to enable the computing system to launch the restore package.

4. The method of claim 1 , wherein maintaining the restore package in anticipation of receiving the restore request from the user comprises facilitating launching the restore package without having to prepare the restore package in response to receiving the restore request from the user to initiate the restore operation.

5. The method of claim 1 , wherein predicting the scope of the data failure comprises analyzing the evidence that indicates the data failure within the computing system.

6. The method of claim 5 , wherein preparing the restore package comprises:

identifying at least one backup image of the computing system that includes the portion of data based at least in part on analyzing the evidence that indicates the data failure;

preparing the restore package based at least in part on the backup image of the computing system that includes the portion of data.

7. The method of claim 6 , wherein preparing the restore package based at least in part on the backup image of the computing system comprises configuring the restore package to facilitate restoring the computing system to a previous computing state captured in the backup image.

8. The method of claim 6 , wherein preparing the restore package based at least in part on the backup image of the computing system comprises configuring the restore package to facilitate restoring a subset of the data captured in the backup image.

9. The method of claim 1 , wherein preparing the restore package comprises configuring the restore package based at least in part on at least one industry trend or best practice technique.

10. The method of claim 9 , wherein configuring the restore package based at least in part on the industry trend or best practice technique comprises:

identifying a location allocated to store the portion of data implicated by the data failure within the computing system;

configuring the restore package to restore the portion of data implicated by the data failure to a different location within the computing system.

11. The method of claim 1 , wherein monitoring the computing system for evidence of data failures comprises directing a software agent installed on the computing system to monitor the computing system for evidence of data failures.

12. The method of claim 1 , wherein detecting the evidence that indicates the data failure comprises detecting evidence of at least one corrupt application installed on the computing system.

13. The method of claim 1 , wherein detecting the evidence that indicates the data failure comprises determining that the computing system is offline.

14. A system for predictively preparing restore packages, the system comprising:

a monitoring module, stored in memory, that:

monitors a computing system for evidence of data failures within the computing system;

while monitoring the computing system, detects evidence that indicates a data failure within the computing system, wherein the evidence comprises a certain number of specific run-time errors that:

are each identified by a numeric code; and

resulted from failed attempts to access at least a portion of data within the computing system;

a prediction module, stored in memory, that:

determines that the certain number of specific run-time errors exceeds a predetermined threshold indicative of the data failure;

predicts a scope of the data failure within the computing system based at least in part on the specific run-time errors, wherein the scope of the data failure implicates the portion of data that caused the failed access attempts resulting in the specific run-time errors;

a preparation module, stored in memory, that prepares a restore package configured to restore the portion of data implicated by the predicted scope of the data failure within the computing system, the restore package being derived from the most recently captured backup image that includes the portion of data implicated by the predicted scope of the data failure;

a maintenance module, stored in memory, that maintains the restore package in anticipation of receiving, from a user of the computing system, a restore request that initiates a restore operation in connection with the data failure to reduce the amount of time needed to restore the portion of data implicated by the predicted scope of the data failure within the computing system upon receiving the restore request from the user of the computing system;

at least one physical processor configured to execute the monitoring module, the prediction module, the preparation module, and the maintenance module.

15. The system of claim 14 , further comprising a restore module, stored in memory, that:

detects the restore request that initiates the restore operation in connection with the data failure;

immediately initiates the restore operation to facilitate restoring the portion of data implicated by the predicted scope of the data failure in response to detecting the restore request that initiates the restore operation.

16. The system of claim 15 , wherein the restore module immediately provides the restore package to the computing system to enable the computing system to launch the restore package.

17. The system of claim 14 , wherein the preparation module facilitates launching the restore package without having to prepare the restore package in response to the restore request that initiates the restore operation.

18. A non-transitory computer-readable-storage medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

monitor a computing system for evidence of data failures within the computing system;

while monitoring the computing system, detect evidence that indicates a data failure within the computing system, wherein the evidence comprises a certain number of specific run-time errors that:

are each identified by a numeric code; and

resulted from failed attempts to access at least a portion of data within the computing system;

determine that the certain number of specific run-time errors exceeds a predetermined threshold indicative of the data failure;

in response to determining that the certain number of specific run-time errors exceeds the predetermined threshold:

predict a scope of the data failure within the computing system based at least in part on the specific run-time errors, wherein the scope of the data failure implicates the portion of data that caused the failed access attempts resulting in the specific run-time errors;

prepare a restore package configured to restore the portion of data implicated by the predicted scope of the data failure within the computing system, the restore package being derived from the most recently captured backup image that includes the portion of data implicated by the predicted scope of the data failure;

maintain the restore package in anticipation of receiving, from a user of the computing system, a restore request that initiates a restore operation in connection with the data failure to reduce the amount of time needed to restore the portion of data implicated by the predicted scope of the data failure within the computing system upon receiving the restore request from the user of the computing system.

19. The method of claim 1 , wherein preparing the restore package comprises:

searching a set of backup images for the most recently captured backup image that includes the portion of data implicated by the predicted scope of the data failure;

retrieving the portion of data implicated by the predicted scope of the data failure from the most recently captured backup image that includes the portion of data implicated by the predicted scope of the data failure;

upon retrieving the portion of data from the most recently captured backup image that includes the portion of data, incorporating the portion of data implicated by the predicted scope of the data failure.

20. The system of claim 14 , wherein the preparation module prepares the restore package by:

searching a set of backup images for the most recently captured backup image that includes the portion of data implicated by the predicted scope of the data failure;

retrieving the portion of data implicated by the predicted scope of the data failure from the most recently captured backup image that includes the portion of data implicated by the predicted scope of the data failure;

upon retrieving the portion of data from the most recently captured backup image that includes the portion of data, incorporating the portion of data implicated by the predicted scope of the data failure.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075728/0466 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2013
From: ANTONY, ERICA
To: SYMANTEC CORPORATION
Reel/Frame 030551/0974 →