IP Library Granted Patent US 7,770,057
Granted Patent B1
US 7,770,057 · App. 11/260,840 · Granted Aug 3, 2010

System and method for customized disaster recovery reports

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 7,770,057
App. No.
11/260,840
Granted
Aug 3, 2010
Kind
B1
Abstract

Data protection systems and methods may be used to automatically gather and assemble configuration information needed for the successful recovery of distributed applications running on several servers. In one implementation, a data protection system includes a collection module and a recovery report generation module. The collection module may gather configuration information regarding several servers used by a distributed application. The configuration information may include information regarding data archived from the servers and information for restoring the archived data, such as hardware configurations and path locations of original data stored on the servers and of archived data. The recovery report generation module may assemble recovery instructions based on the configuration information. The recovery instructions may be usable for restoring the distributed computing system in the event of a disaster or other failure involving one or more of the servers.

Claims (101)

1. A method comprising:

automatically gathering, using one or more processors, configuration information regarding a plurality of servers, where

the configuration information comprises information regarding data archived from the servers, and

the configuration information comprises information for restoring the archived data onto one or more of the plurality of servers;

storing the configuration information in at least one computer readable medium;

assembling recovery instructions, where

the recovery instructions are based at least in part on the automatically gathered configuration information,

the recovery instructions are usable for restoring the servers and for restoring the archived data, and

the assembling comprises:

determining whether the recovery instructions are to be used for an automated recovery, and

if the recovery instructions are not to be used for an automated recovery, generating a list of user instructions for recovery, where the list of user instructions is based at least in part on the automatically gathered configuration information; and

storing the recovery instructions on one or more computer-readable storage media.

2. The method of claim 1 , where the gathering comprises discovering locations of the configuration information in a distributed system.

3. The method of claim 1 , where the servers execute a distributed application and the recovery instructions are usable for restoring the distributed application.

4. The method of claim 1 , where the gathering comprises:

monitoring the servers for data backup jobs; and

gathering the configuration information in response to the data backup jobs.

5. The method of claim 1 , where the gathering comprises discovering locations of the configuration information and the gathering is performed by a centralized disaster-recovery server.

6. The method of claim 1 , where the assembling comprises assembling tailored user-readable recovery instructions in response to limitations in the configuration information.

7. The method of claim 1 , where the gathering comprises selecting configuration information necessary for restoration of one or more of the servers.

8. The method of claim 1 , where the assembling comprises assembling tailored recovery instructions in response to types of information comprised in the configuration information.

9. The method of claim 1 , where the configuration information comprises at least one of:

information regarding the structure of original data stored on the servers;

information regarding hardware configuration of the servers; or

user-selected parameters for applications on the servers.

10. The method of claim 1 , where the assembling comprises generating an automated script.

11. A system comprising:

a collection module comprising a processor and configured to gather configuration information regarding a plurality of servers, where the configuration information comprises information regarding data archived from the servers and information for restoring the archived data; and

a recovery report generation module configured to:

determining whether recovery instructions are to be used for an automated recovery, and

assemble the recovery instructions based at least in part on the gathered configuration information, where the recovery instructions are usable for restoring the servers, and

if the recovery instructions are not to be used for an automated recovery, generate a list of user instructions for recovery, where the list of user instructions is based at least in part on the gathered configuration information.

12. The system of claim 11 , where the collection module is configured to discover locations of the configuration information in a distributed system.

13. The system of claim 11 , where the servers execute a distributed application and the recovery instructions are usable for restoring the distributed application.

14. The system of claim 11 , where the collection module is further configured to monitor the servers for data backup jobs, and to gather the configuration information in response to the data backup jobs.

15. The system of claim 11 , where the collection module is further configured to discover locations of the configuration information.

16. The system of claim 11 , where the configuration information comprises at least one of:

information regarding the structure of original data stored on the servers;

information regarding hardware configuration of the servers; or

user-selected parameters for applications on the servers.

17. A system comprising:

means for gathering configuration information regarding a plurality of servers, where the configuration information comprises information regarding data archived from the servers and information for restoring the archived data; and

means for generating a recovery report, where the means for generating a recovery report comprises a processor configured to:

determine whether the recovery report is to be used for an automated recovery, and

assemble recovery instructions based at least in part on the gathered configuration information, where the recovery instructions are usable for restoring the servers, and

if the recovery instructions are not to be used for an automated recovery, generate a list of user instructions for recovery, where the list of user instructions is based at least in part on the gathered configuration information.

18. The system of claim 17 , where:

the means for gathering the configuration information is configured to discover locations of the configuration information in a distributed system; and

the servers execute a distributed application and the recovery instructions are usable for restoring the distributed application.

19. The system of claim 17 , where the means for gathering the configuration information is configured to monitor the servers for data backup jobs, and to gather the configuration information in response to the data backup jobs.

20. A computer readable storage medium comprising program instructions executable on one or more processor, the computer readable medium being at least one of an electronic storage medium, a magnetic storage medium, or an optical storage medium, where the program instructions are executable by the processor to implement each of:

automatically gathering configuration information regarding a plurality of servers, where the configuration information comprises information regarding data archived from the servers and information for restoring the archived data; and

assembling recovery instructions based at least in part on the automatically gathered configuration information, where the recovery instructions are usable for restoring the servers and for restoring the archived data, and the assembling comprises:

determining whether the recovery instructions are to be used for an automated recovery, and

if the recovery instructions are not to be used for an automated recovery, generating a list of user instructions for recovery, where the list of user instructions is based at least in part on the automatically gathered configuration information.

21. The method of claim 1 , where the assembling comprises:

if the recovery instructions are to be used for an automated recovery, generating a

machine-readable list of instructions for the automated recovery.

22. The method of claim 1 , where the assembling comprises:

determining whether the recovery instructions are to be used for a hybrid recovery, and if the recovery instructions are to be used for a hybrid recovery, generating instructions for automated recovery with step-by-step options for manual override.

23. The method of claim 1 , where at least one server among the plurality of servers is a virtual server, and the gathering comprises:

gathering configuration information for the virtual server;

gathering configuration information for a physical server that underlies the virtual server; and

gathering hardware component configuration for the physical server that underlies the virtual server.

24. The method of claim 1 , further comprising:

detecting that a server has been added or removed from a group of servers that execute a distributed application; and

in response to the detecting, modifying a definition of the plurality of servers for which the configuration information is gathered.

25. The method of claim 1 , where:

the configuration information comprises information regarding a network topology of the plurality of servers.

26. A method comprising:

automatically gathering, using one or more processors, configuration information regarding a plurality of servers, where

at least one server among the plurality of servers is a virtual server,

the configuration information comprises information regarding data archived from each of the servers,

the configuration information comprises configuration information for a physical server that underlies the virtual server,

the configuration information comprises hardware component configuration information for the physical server that underlies the virtual server, and

the configuration information comprises information for restoring the archived data onto the plurality of servers;

storing the configuration information in at least one computer readable medium;

assembling recovery instructions, where

the recovery instructions are based at least in part on the automatically gathered configuration information,

the recovery instructions are usable for restoring the servers, and

the recovery instructions are usable for restoring the archived data to the servers; and

storing the recovery instructions on one or more computer-readable storage media.

27. The method of claim 26 , where:

the configuration information comprises information regarding a network topology of the plurality of servers;

the gathering comprises discovering locations of the configuration information in a distributed system;

the servers execute a distributed application on two or more servers in the distributed system; and

the recovery instructions are usable for restoring the distributed application.

28. The method of claim 26 , where the gathering comprises:

monitoring the servers for data backup jobs; and

gathering the configuration information in response to the data backup jobs.

29. The method of claim 26 , further comprising:

detecting that a server has been added or removed from a group of servers that execute a distributed application; and

in response to the detecting, modifying a definition of the plurality of servers for which the configuration information is gathered.

30. A system comprising:

a collection module comprising a processor and configured to gather configuration information regarding a plurality of servers, where

at least one server among the plurality of servers is a virtual server, and the configuration information comprises

information regarding data archived from each of the servers,

configuration information for a physical server that underlies the virtual server,

hardware component configuration information for the physical server that underlies the virtual server, and

information for restoring the archived data onto the plurality of servers; and

a recovery report generation module configured to assemble the recovery instructions based at least in part on the gathered configuration information, where the recovery instructions are usable for restoring the servers.

Assignments (14)
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 AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
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 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2005
From: GRAHAM, DEBRA H.; WEISGERBER, WILLIAM R.
To: VERITAS OPERATING CORPORATION
Reel/Frame 017165/0970 →