IP Library Granted Patent US 8,650,160
Granted Patent B1
US 8,650,160 · App. 13/341,858 · Granted Feb 11, 2014

Systems and methods for restoring multi-tier applications

Inventors: Louis J. Beatty (Ormond Beach, FL); Deepak Saraf (Windermere, FL)
Assignee: Symantec Corporation
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 8,650,160
App. No.
13/341,858
Filed
Dec 30, 2011
Granted
Feb 11, 2014
Kind
B1
Art Unit
2163
USPC
707/674
Abstract

A computer-implemented method for restoring multi-tier applications may include (1) identifying a request to restore a multi-tier application from a backup of the multi-tier application, the multi-tier application including a plurality of individually relocatable components, (2) in response to the request, retrieving a configuration data store from the backup, the configuration data store including a topology of the plurality of individually relocatable components, (3) parsing the configuration data store to extract at least a portion of the topology from the configuration data store, and (4) restoring at least a portion of the multi-tier application based on the portion of the topology. Various other methods, systems, and computer-readable media are also disclosed.

Claims (69)

1. A computer-implemented method for restoring multi-tier applications, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a request to restore a multi-tier application from a backup of the multi-tier application, the multi-tier application comprising a plurality of individually relocatable components that are capable of being one or more of:

installed separately from other components in the multi-tier application,

configured separately from other components in the multi-tier application, or

executed separately from other components in the multi-tier application;

in response to the request, retrieving a configuration data store from the backup, the configuration data store comprising a topology of the plurality of individually relocatable components;

parsing the configuration data store to extract at least a portion of the topology from the configuration data store to facilitate granular restoration of the multi-tier application, wherein:

a first component of the multi-tier application was located on and executed on a first server of a server farm at a time of the backup, the server farm comprising a cluster of computing devices that communicate with each other as part of the multi-tier application,

a second component of the multi-tier application was located on and executed on a second server of the server farm at the time of the backup, and

the portion of the topology represents the first component on the first server and the second component on the second server;

restoring, based on the portion of the topology, at least a portion of the multi-tier application by separately restoring the plurality of individually relocatable components,

wherein restoring the portion of the multi-tier application based on the portion of the topology comprises restoring at least one component from the plurality of individually relocatable components instead of restoring every component from the plurality of individually relocatable components.

2. The computer-implemented method of claim 1 , wherein:

the server farm comprises a plurality of virtual machines;

the first server comprises a first virtual machine;

the second server comprises a second virtual machine;

the first and second virtual machines operate under a single hypervisor to constitute the server farm.

3. The computer-implemented method of claim 1 , wherein:

parsing the configuration data store to extract the portion of the topology from the configuration data store comprises:

retrieving topological data from the configuration data store;

generating a relationship map of the plurality of individually relocatable components based on the topological data;

restoring the portion of the multi-tier application based on the portion of the topology comprises restoring the portion of the multi-tier application based on the relationship map.

4. The computer-implemented method of claim 1 , wherein:

the topology is accessible from the configuration data store via an application programming interface of the multi-tier application;

parsing the configuration data store comprises parsing the configuration data store without using the application programming interface.

5. The computer-implemented method of claim 1 , wherein parsing the configuration data store comprises parsing the configuration data store while the configuration data store is unmounted as a database.

6. The computer-implemented method of claim 1 , wherein restoring the portion of the multi-tier application comprises restoring the multi-tier application in a modified configuration by restoring the multi-tier application to alternate locations within a server farm.

7. A system for restoring multi-tier applications, the system comprising:

an identification module programmed to identify a request to restore a multi-tier application from a backup of the multi-tier application, the multi-tier application comprising a plurality of individually relocatable components;

a retrieval module programmed to, in response to the request, retrieve a configuration data store from the backup, the configuration data store comprising a topology of the plurality of individually relocatable components that are installed and executed separately from other components in the multi-tier application;

a parsing module programmed to parse the configuration data store to extract at least a portion of the topology from the configuration data store to facilitate granular restoration of the multi-tier application, wherein:

a first component of the multi-tier application was located on and executed on a first server of a server farm at a time of the backup, the server farm comprising a cluster of computing devices that communicate with each other as part of the multi-tier application,

a second component of the multi-tier application was located on and executed on a second server of the server farm at the time of the backup, and

the portion of the topology represents the first component on the first server and the second component on the second server;

a restoration module programmed to restore, based on the portion of the topology, at least a portion of the multi-tier application by separately restoring the plurality of individually relocatable components, wherein restoring the portion of the multi-tier application based on the portion of the topology comprises restoring at least one component from the plurality of individually relocatable components instead of restoring every component from the plurality of individually relocatable components;

at least one processor configured to execute the identification module, the retrieval module, the parsing module, and the restoration module.

8. The system of claim 7 , wherein:

the server farm comprises a plurality of virtual machines;

the first server comprises a first virtual machine;

the second server comprises a second virtual machine;

the first and second virtual machines operate under a single hypervisor to constitute the server farm.

9. The system of claim 7 , wherein:

the parsing module is programmed to parse the configuration data store to extract the portion of the topology from the configuration data store by:

retrieving topological data from the configuration data store;

generating a relationship map of the plurality of individually relocatable components based on the topological data;

the restoration module is programmed to restore the portion of the multi-tier application based on the portion of the topology by restoring the portion of the multi-tier application based on the relationship map.

10. The system of claim 7 , wherein:

the topology is accessible from the configuration data store via an application programming interface of the multi-tier application;

the parsing module is programmed to parse the configuration data store by parsing the configuration data store without using the application programming interface.

11. The system of claim 7 , wherein the parsing module is programmed to parse the configuration data store by parsing the configuration data store while the configuration data store is unmounted as a database.

12. The system of claim 7 , wherein restoring the portion of the multi-tier application comprises restoring the multi-tier application in a modified configuration by restoring the multi-tier application to alternate locations within a server farm.

13. 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:

identify a request to restore a multi-tier application from a backup of the multi-tier application, the multi-tier application comprising a plurality of individually relocatable components that are executed separately from other components in the multi-tier application;

in response to the request, retrieve a configuration data store from the backup, the configuration data store comprising a topology of the plurality of individually relocatable components;

parse the configuration data store to extract at least a portion of the topology from the configuration data store to facilitate granular restoration of the multi-tier application, wherein:

a first component of the multi-tier application was located on and executed on a first server of a server farm at a time of the backup, the server farm comprising a cluster of computing devices that communicate with each other as part of the multi-tier application,

a second component of the multi-tier application was located on and executed on a second server of the server farm at the time of the backup, and

the portion of the topology represents the first component on the first server and the second component on the second server;

restore, based on the portion of the topology, at least a portion of the multi-tier application by separately restoring the plurality of individually relocatable components, wherein restoring the portion of the multi-tier application based on the portion of the topology comprises restoring at least one component from the plurality of individually relocatable components instead of restoring every component from the plurality of individually relocatable components.

14. The computer-readable-storage medium of claim 13 , wherein:

the server farm comprises a plurality of virtual machines;

the first server comprises a first virtual machine;

the second server comprises a second virtual machine;

the first and second virtual machines operate under a single hypervisor to constitute the server farm.

15. The computer-readable-storage medium of claim 13 , wherein:

the one or more computer-executable instructions cause the computing device to parse the configuration data store to extract the portion of the topology from the configuration data store by:

retrieving topological data from the configuration data store;

generating a relationship map of the plurality of individually relocatable components based on the topological data;

the one or more computer-executable instructions cause the computing device to restore the portion of the multi-tier application based on the portion of the topology by restoring the portion of the multi-tier application based on the relationship map.

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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2012
From: BEATTY, LOUIS J.; SARAF, DEEPAK
To: SYMANTEC CORPORATION
Reel/Frame 027692/0406 →