IP Library Granted Patent US 7,321,992
Granted Patent B1
US 7,321,992 · App. 10/401,478 · Granted Jan 22, 2008

Reducing application downtime in a cluster using user-defined rules for proactive failover

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,321,992
App. No.
10/401,478
Granted
Jan 22, 2008
Kind
B1
Abstract

An embodiment of the invention is a method for proactive failover using user-defined rules. An event log of a first server node is monitored to check for user-specified application events. One of the user-specified application events corresponding to an impending failure in an application running on a first server node is detected. In automatic response to the detected impending failure, a proactive failover process is executed to transfer the application to a second server node for continued execution, the second server node being connected to the first server node in a cluster.

Claims (113)

1. A method comprising the operations of:

(a) monitoring an event log of a first server node to check for user-specified application events;

(b) detecting one of the user-specified application events, corresponding to an impending failure in an application running on the first server node; and

(c) executing a proactive failover process, in automatic response to the detected impending failure, to transfer the application to a second server node for continued execution, the second server node being connected to the first server node in a cluster;

wherein the proactive failover process includes:

determining if the application is in off-line state; and

if the application is in off-line state:

logging the user-specified application event and corresponding action result; and

terminating the proactive failover process.

2. The method of claim 1 further comprising the operations of:

(d) specifying, via input from a user, application events corresponding to err conditions including an impending failure; and

(e) specifying, via input from the user, cluster-level automatic responses corresponding to the user-specified application events.

3. The method of claim 2 wherein, in operation (e), the cluster-level automatic responses include executing the proactive failover process.

4. The method of claim 2 further comprising:

utilizing at least one message library to access a list of possible application events associated with the application.

5. The method of claim 2 further comprising:

modifying, via user input, one of the user-specified application events and a corresponding user-specified cluster-level automatic response.

6. The method of claim 2 further comprising:

adding, via user input, a new user-specified application event to the user-specified application events and a corresponding user-specified cluster-level automatic response.

7. The method of claim 1 wherein operation (a) includes:

receiving notification of occurrence of a user-specified application event and corresponding application event data.

8. The method of claim 1 wherein the proactive failover process includes:

determining if the second server node is healthy; and

initiating failover if the second server node is healthy.

9. A method comprising the operations of:

(a) monitoring an event log of a first server node to check for user-specified application events;

(b) detecting one of the user-specified application events, corresponding to an impending failure in an application running on the first server node; and

(c) executing a proactive failover process, in automatic response to the detected impending failure, to transfer the application to a second server node for continued execution, the second server node being connected to the first server node in a cluster;

wherein the proactive failover process includes:

determining whether the user-specified application event is reported with a real node name of a node or with a computer name associated with a cluster virtual server, and

if the user-specified application event is reported with a real node name of a node:

determining if the application is owned by the node having the reported real node name; and

if the application is not owned by the node:

logging the user-specified application event and corresponding action result; and

terminating the proactive failover process.

10. An article of manufacture comprising:

a machine-accessible storage medium including data that, when accessed by a machine, causes the machine to perform operations comprising:

(a) monitoring an event log of a first server node to check for user-specified application events;

(b) detecting one of the user-specified application events, corresponding to an impending failure in an application running on the first server node; and

(c) executing a proactive failover process, in automatic response to the detected impending failure, to transfer the application to a second server node for continued execution, the second server node being connected to the first server node in a cluster;

wherein the data causing the machine to perform executing a proactive failover process comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

determining if the application is in off-line state; and

is if the application is in of-line state:

logging the user-specified application event and corresponding action result; and

terminating the proactive failover process.

11. The article of manufacture of claim 10 wherein the data further comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

(d) specifying, via user input, application events corresponding to error conditions including an impending failure; and

(e) specifying, via user input, cluster-level automatic responses corresponding to the user-specified application events.

12. The article of manufacture of claim 11 wherein the data causing the machine to perform operation (e) comprises data that, when accessed by the machine, causes the machine to perform the operation of:

executing the proactive failover process.

13. The article of manufacture of claim 11 wherein the data further comprises data that, when accessed by the machine, causes the machine to perform the operation of:

utilizing at least one message library to access a list of possible application events associated with the application.

14. The article of manufacture of claim 11 wherein the data further comprises data that, when accessed by the machine, causes the machine to perform the operation of:

modifying, via user input, one of the user-specified application events and a corresponding user-specified cluster-level automatic response.

15. The article of manufacture of claim 11 wherein the data further comprises data that, when accessed by the machine, causes the machine to perform the operation of:

adding, via user input, a new user-specified application event to the user-specified application events and a corresponding user-specified cluster-level automatic response.

16. The article of manufacture of claim 10 wherein the data causing the machine to perform monitoring an application event log of a first server node comprises data that, when accessed by the machine, causes the machine to perform the operation of:

receiving notification of occurrence of a user-specified application event and corresponding application event data.

17. The article of manufacture of claim 10 wherein the data causing the machine to perform executing a proactive failover process comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

determining if the second server node is healthy; and

initiating failover if the second server node is healthy.

18. An article of manufacture comprising:

a machine-accessible storage medium including data that, when accessed by a machine, causes the machine to perform operations comprising:

(a) monitoring an event log of a first server node to check for user-specified application events;

(b) detecting one of the user-specified application events, corresponding to an impending failure in an application running on the first server node; and

(c) executing proactive failover process, in automatic response to the detected impending failure, to transfer the application to a second server node for continued execution, the second server node being connected to the first-server node in a cluster;

wherein the data causing the machine to perform executing a proactive failover process comprises data that, when accessed by the machine, causes the machine to perform operations comprising:

determining whether the user-specified application event is reported with a real node name of a node or with a computer name associated with a cluster virtual server; and

if the user-specified application event is reported with a real node name of a node:

determining if the application is owned by the node having the reported real node name; and

if the application is not owned by the node:

logging the user-specified application event and corresponding action result; and

terminating the proactive fail over process.

19. A system comprising:

a cluster including at least a first server node and a second server node; and

a memory included in the cluster, the memory containing instructions that, when executed by at least one of the first and second server nodes, cause the cluster to:

(a) monitor an event log of the first server node to check for user-specified application events;

(b) detect one of the user-specified application events, corresponding to an impending failure in an application running on the first server node; and

(c) execute a proactive failover process, in automatic response to the detected impending failure, to transfer the application to a second server node for continued execution;

wherein the instructions causing the cluster to execute a proactive failover process comprises instructions that, when executed by the cluster, cause the cluster to:

determine if the application is in off-line state; and

if the application is in off-line state:

log the user-specified application event and corresponding action result; and

the proactive failover process.

20. The system of claim 19 wherein the instructions further comprises instructions that, when executed by the cluster, cause the cluster to:

(d) specify, via user input, application events corresponding to error conditions including an impending failure; and

(e) specify, via user input, cluster-level automatic responses corresponding to the user-specified application events.

21. The system of claim 20 wherein the instructions causing the cluster to allow a user to specify cluster-level automatic responses corresponding to the user-specified application events comprises instructions that, when executed by the cluster, cause the cluster to:

specify, via user input, executing the proactive failover process.

22. The system of claim 20 wherein the instructions further comprises instructions that, when executed by the cluster, cause the cluster to:

utilize at least one message library to access a list of possible application events associated with the application.

23. The system of claim 20 wherein the instructions further comprises instructions that, when executed by the cluster, cause the cluster to:

modify, via user input, one of the user-specified application events and a corresponding user-specified cluster-level automatic response.

24. The system of claim 20 wherein the instructions further comprises instructions that, when executed by the cluster, cause the cluster to:

add, via user input, a new user-specified application event to the user-specified application events and a corresponding user-specified cluster-level automatic response.

25. The system of claim 19 wherein the instructions causing the cluster to monitor an application event log of the first server node comprises instructions that, when executed by the cluster, cause the cluster to:

receive notification of occurrence of a user-specified application event and corresponding application event data.

26. The system of claim 19 wherein the instructions causing the cluster to execute a proactive failover process comprises instructions that, when executed by the cluster, cause the cluster to:

determine if the second server node is healthy; and

initiate failover if the second server node is healthy.

27. A system comprising:

a cluster including at least a first server node and a second server node; and

a memory included in the cluster, the memory containing instruction that, when executed by at least one of the first and second server nodes, cause the cluster to:

(a) monitor an event log of the first server node to check for user-specified application events;

(b) detect one of the user-specified application events, corresponding to an impending failure in an application running on the first server node; and

(c) execute a proactive failover process, in automatic response to the detected impending failure, to transfer the application to a second server node for continued execution;

wherein the instructions causing the cluster to execute a proactive failover process comprises instructions that, when executed by the cluster, cause the cluster to:

determine whether the user-specified application event is reported with a real node name of a node or with a computer name associated with a cluster virtual server; and

if the user-specified application event is reported with a real node name of a node:

determine if the application is owned by the node having the reported real node name; and

if the application is not owned by the node:

log the user-specified application event and corresponding action result; and

terminate the proactive failover process.

Assignments (12)
SECURITY INTEREST Recorded Nov 19, 2020
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 054481/0865 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
PATENT SECURITY AGREEMENT (JUNIOR LIEN) Recorded Oct 13, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023364/0098 →
PATENT SECURITY AGREEMENT (PRIORITY LIEN) Recorded Oct 12, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023355/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 1, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0628 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →