Adaptive recovery from system failure for application instances that govern message transactions
First Claim
1. In a computing system that includes one or more processors, persistent memory configured to store information that persists through power loss of the computing system, and system memory that may more directly accessed by the one or more processors, a method for recovering from a system failure, the method comprising the following:
- an act of receiving a message corresponding to a particular message transaction following a message exchange pattern;
an act of loading state information for the message transaction from persistent memory to system memory in response to having received the message;
an act of determining from the state information whether or not the processing instance associated with the particular message transaction is in recovery mode; and
an act of branching process flow depending on whether or not the processing instance is in recovery mode.
4 Assignments
0 Petitions
Accused Products
Abstract
Mechanisms for adaptively entering and exiting recovery mode. When a message is received from a particular message transaction, the appropriate processing instance is loaded from persistent memory to system memory. The processing instance then determines from its own state information whether or not it is in recovery mode. This indication of recovery or normal mode may be set by a system-wide recovery detection module. If the processing instance determines that it is in normal mode, then the processing instance executes code appropriate for normal operation without needing to execute any recovery code at all. If, on the other hand, the processing instance determines that it is in recovery mode, then it executes recovery code. Once the recovery code has completed successfully, the processing instance may then cause its own normal mode.
11 Citations
32 Claims
-
1. In a computing system that includes one or more processors, persistent memory configured to store information that persists through power loss of the computing system, and system memory that may more directly accessed by the one or more processors, a method for recovering from a system failure, the method comprising the following:
-
an act of receiving a message corresponding to a particular message transaction following a message exchange pattern;
an act of loading state information for the message transaction from persistent memory to system memory in response to having received the message;
an act of determining from the state information whether or not the processing instance associated with the particular message transaction is in recovery mode; and
an act of branching process flow depending on whether or not the processing instance is in recovery mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product for use in a computing system that includes one or more processors, persistent memory configured to store information that persists through power loss of the computing system, and system memory that may more directly accessed by the one or more processors, a computer program product for implementing a method for recovering from a system failure, the computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executing by the one or more processors, cause the computing system to perform the following:
-
an act of detecting receipt of a message corresponding to a particular message transaction that follows a message exchange pattern;
an act of loading state information for the message transaction from persistent memory to system memory in response to having received the message;
an act of determining from the state information whether or not the processing instance associated with the particular message transaction is in recovery mode; and
an act of branching process flow depending on whether or not the processing instance is in recovery mode. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. In a computing system that includes one or more processors, persistent memory configured to store information that persists through power loss of the computing system, and system memory that may more directly accessed by the one or more processors, a method for recovering from a system failure, the method comprising the following:
-
an act of detecting receipt of a message corresponding to a particular message transaction pattern that follows a message exchange pattern; and
a step for identifying an operational mode of a processing instance corresponding to the particular message transaction. - View Dependent Claims (31)
-
-
32. A computer program product for use in a computing system that includes one or more processors, persistent memory configured to store information that persists through power loss of the computing system, and system memory that may more directly accessed by the one or more processors, a computer program product for comprising one or more computer-readable media having thereon computer-executable instructions that, when executing by the one or more processors, cause the computing system to instantiate in the system memory the following:
-
a plurality of processing instances, each associated with a particular message transaction, each processing instance being configured to load state information for the message transaction from persistent memory to system memory in response to having received a message for the message transaction, determine from the state information whether or not the processing instance associated with the particular message transaction is in recovery mode, and branch process flow depending on whether or not the processing instance is in recovery mode; and
a recovery detection component configured to identify the plurality of processing instances as running at the time of a system failure; and
indicating in state information associated with each of the identified plurality of processing instances that the corresponding processing instance is in recovery mode.
-
Specification