IP Library › Granted Patent US 8,862,927
Granted Patent B2
US 8,862,927 · App. 13/238,505 · Granted Oct 14, 2014

Systems and methods for fault recovery in multi-tier applications

Inventors: Anand Bhalerao (Maharashtra, IN); Venkeepuram Satish (Fremont, CA)
Assignee: Symantec Corporation
G06F11/0709G06F11/0793G06F11/3051G06F11/3006
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,862,927
App. No.
13/238,505
Filed
Sep 21, 2011
Granted
Oct 14, 2014
Kind
B2
Examiner
KO, CHAE M
Art Unit
2114
USPC
714/11
Abstract

A computer-implemented method for fault recovery in multi-tier applications may include: 1) identifying a plurality of clusters, 2) identifying a multi-tier application that includes a plurality of components, each cluster within the plurality of clusters hosting a component, 3) identifying a fault of a first component within the plurality of components on a first cluster within the plurality of clusters, the fault requiring a first recovery action, 4) identifying at least one dependency relationship involving the first component and a second component within the plurality of components on a second cluster within the plurality of clusters, 5) determining, based on the fault and the dependency relationship, that the second component requires a second recovery action to ensure that the multi-tier application operates correctly, and 6) performing the second recovery action on the second component. Various other methods, systems, and computer-readable media are also disclosed.

Claims (47)

1. A computer-implemented method for fault recovery in 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 plurality of clusters, wherein a first cluster and a second cluster within the plurality of clusters do not share availability information with each other;

identifying a multi-tier application comprising a plurality of components, each cluster within the plurality of clusters hosting a component within the plurality of components;

identifying a fault of a first component within the plurality of components on the first cluster within the plurality of clusters, the fault requiring a first recovery action to ensure that the multi-tier application operates correctly, wherein identifying the fault comprises probing the first component with an attempted communication and determining the fault based on the outcome of the attempted communication;

identifying at least one dependency relationship involving the first component and a second component within the plurality of components on the second cluster within the plurality of clusters;

determining, based on the fault and the dependency relationship, that the second component requires a second recovery action to ensure that the multi-tier application operates correctly;

performing the second recovery action on the second component.

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

determining, based on the dependency relationship, an order in which to perform the first recovery action and the second recovery action;

performing the first recovery action and the second recovery action in the determined order.

3. The computer-implemented method of claim 1 , wherein the first recovery action comprises restarting the first component.

4. The computer-implemented method of claim 1 , wherein the second recovery action comprises restarting the second component.

5. The computer-implemented method of claim 1 , wherein each cluster within the plurality of clusters comprises a high-availability cluster.

6. The computer-implemented method of claim 5 , wherein identifying the fault comprises receiving availability information from the first cluster.

7. The computer-implemented method of claim 1 , wherein the plurality of clusters comprises a plurality of heterogeneous clustering platforms.

8. The computer-implemented method of claim 1 , wherein each cluster within the plurality of clusters comprises a cross-cluster availability agent for determining dependencies within the plurality of components.

9. A system for fault recovery in multi-tier applications, the system comprising:

an identification module programmed to:

identify a plurality of clusters, wherein a first cluster and a second cluster within the plurality of clusters do not share availability information with each other;

identify a multi-tier application comprising a plurality of components, each cluster within the plurality of clusters hosting a component within the plurality of components;

a monitoring module programmed to identify a fault of a first component within the plurality of components on the first cluster within the plurality of clusters, the fault requiring a first recovery action to ensure that the multi-tier application operates correctly, wherein identifying the fault comprises probing the first component with an attempted communication and determining the fault based on the outcome of the attempted communication;

a dependency module programmed to:

identify at least one dependency relationship involving the first component and a second component within the plurality of components on the second cluster within the plurality of clusters;

determine, based on the fault and the dependency relationship, that the second component requires a second recovery action to ensure that the multi-tier application operates correctly;

a recovery module programmed to perform the second recovery action on the second component;

at least one processor configured to execute the identification module, the monitoring module, the dependency module, and the recovery module.

10. The system of claim 9 , wherein:

the dependency module is further programmed to determine, based on the dependency relationship, an order in which to perform the first recovery action and the second recovery action;

the recovery module is further programmed to perform the first recovery action and the second recovery action in the determined order.

11. The system of claim 9 , wherein the first recovery action comprises restarting the first component.

12. The system of claim 9 , wherein the second recovery action comprises restarting the second component.

13. The system of claim 9 , wherein each cluster within the plurality of clusters comprises a high-availability cluster.

14. The system of claim 13 , wherein the monitoring module is programmed to identify the fault by receiving availability information from the first cluster.

15. The system of claim 9 , wherein the plurality of clusters comprises a plurality of heterogeneous clustering platforms.

16. The system of claim 9 , wherein each cluster within the plurality of clusters comprises a cross-cluster availability agent for determining dependencies within the plurality of components.

17. A 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 plurality of clusters, wherein a first cluster and a second cluster within the plurality of clusters do not share availability information with each other;

identify a multi-tier application comprising a plurality of components, each cluster within the plurality of clusters hosting a component within the plurality of components;

identify a fault of a first component within the plurality of components on the first cluster within the plurality of clusters, the fault requiring a first recovery action to ensure that the multi-tier application operates correctly, wherein identifying the fault comprises probing the first component with an attempted communication and determining the fault based on the outcome of the attempted communication;

identify at least one dependency relationship involving the first component and a second component within the plurality of components on the second cluster within the plurality of clusters;

determine, based on the fault and the dependency relationship, that the second component requires a second recovery action to ensure that the multi-tier application operates correctly;

perform the second recovery action on the second component.

18. The computer-readable medium of claim 17 , wherein the one or more computer-executable instructions further cause the computing device to:

determine, based on the dependency relationship, an order in which to perform the first recovery action and the second recovery action;

perform the first recovery action and the second recovery action in the determined order.

19. The computer-readable medium of claim 17 , wherein the first recovery action comprises restarting the first component.

20. The computer-readable medium of claim 17 , wherein the second recovery action comprises restarting the second component.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA AND CORRECT THE PATENT NUMBERS PREVIOUSLY RECORDED AT REEL: 69548 FRAME: 468. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 4, 2026
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 074876/0584 →
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
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 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
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 Sep 21, 2011
From: BHALERAO, ANAND; SATISH, VENKEEPURAM
To: SYMANTEC CORPORATION
Reel/Frame 026941/0905 →
Priority Claims (1)
IN 1048/KOL/2011 · Aug 9, 2011 · national
Continuity (1)
Related Publication 20130042139A1 · Feb 14, 2013