Automatic failure detection and recovery of applications
First Claim
1. A method for executing a target application on a computer, comprising the steps of:
- executing program code of said target application;
receiving a notification of an event specifying an unexpected or erroneous behavior in execution of said program code;
searching a configuration file that maintains a listing of events and associated actions, at least one of said actions being a restarting said target application when said target application becomes idle;
retrieving an action from said configuration file that is associated with said event; and
carrying out said action.
27 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for executing target application programs with employment of a supervisor that is coupled to the executing target application through a conventional status reporting port of the computer. Events that represent execution errors or unexpected behavior are provided to the reporting port, or discovered through the reporting port, and the supervisor responds to such events by perusing a configuration that is tailored to the executing target application. For each reported event, the supervisor retrieves one or more actions that the configuration file specifies for the reported events and executes the specified actions. The configuration file includes actions that aim to effect a recovery, from reported events, including restart application, or a thread of the application, based on checkpointed data, restart target application as soon as it becomes idle, and suspend a thread when a thread starvation condition exists.
-
Citations
43 Claims
-
1. A method for executing a target application on a computer, comprising the steps of:
-
executing program code of said target application;
receiving a notification of an event specifying an unexpected or erroneous behavior in execution of said program code;
searching a configuration file that maintains a listing of events and associated actions, at least one of said actions being a restarting said target application when said target application becomes idle;
retrieving an action from said configuration file that is associated with said event; and
carrying out said action. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system including a processing unit including a target application executing on said processing unit;
- and a supervisor software module executing on said processing unit characterized in that;
execution code of said target application is unaware of said supervisor module; and
said supervisor module monitors execution of said target application, and in response to an error or unexpected behavior in said execution, takes action that affects said execution, which action is taken from a set of actions that includes an action for terminating execution of said software module and at least an action that restarts said target application only when said target application becomes idle. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
- and a supervisor software module executing on said processing unit characterized in that;
-
40. A system including a processing unit including an application software module executing on said processing unit;
- and a supervisor software module executing on said processing unit characterized in that;
execution code of said software application module makes no reference to said supervisor module except for sending one or more messages to said supervisor, at one or more locations of said code, specifying a subset of state information of said application module for said supervisor module to keep track of for possible checkpointing; and
said supervisor module monitors execution of said application module, and concurrently keeps tract of scope of said subset of state information specified in a most recently received one of said messages. - View Dependent Claims (41, 42, 43)
- and a supervisor software module executing on said processing unit characterized in that;
Specification