Persistent stateful component-based applications via automatic recovery
First Claim
1. A method of providing recovery in a computer system, comprising:
- intercepting events comprising at least one of a plurality of method calls, component activations, and component deactivations;
logging the events during execution of stateful piece-wise deterministic (PWD) components having a component state;
detecting a failure of one of the components based on an error detected during execution;
replaying the logged events to transparently and automatically recover the component state; and
verifying that the component state has not already been recovered prior to recovering the component state.
1 Assignment
0 Petitions
Accused Products
Abstract
Persistent components are provided across both process and server failures, without the application programmer needing take actions for component recoverability. Application interactions with a stateful component are transparently intercepted and stably logged to persistent storage. A “virtual” component isolates an application from component failures, permitting the mapping of a component to an arbitrary “physical” component. Component failures are detected and masked from the application. A virtual component is re-mapped to a new physical component, and the operations required to recreate a component and reinstall state up to the point of the last logged interaction is replayed from the log automatically.
-
Citations
23 Claims
-
1. A method of providing recovery in a computer system, comprising:
-
intercepting events comprising at least one of a plurality of method calls, component activations, and component deactivations; logging the events during execution of stateful piece-wise deterministic (PWD) components having a component state; detecting a failure of one of the components based on an error detected during execution; replaying the logged events to transparently and automatically recover the component state; and verifying that the component state has not already been recovered prior to recovering the component state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for providing recovery in a computer system, comprising:
-
a storage device that logs events comprising at least one of a plurality of method calls, component activations, and component deactivations during execution of stateful piece-wise deterministic (PWD) components having a component state; a component runtime that receives the events from the storage device; a error handler that receives the events from the component runtime and identifies the component based on the events; and a recovery manager that receives the events from the storage device and replays the events to transparently and automatically recover the component state, wherein the recovery manager logs the recovery of the component state in the storage device, verifies that the component state has not already been recovered prior to recovering the component state, and communicates to the error handler additional information about the component. - View Dependent Claims (13, 14, 15)
-
-
16. A computer readable medium having computer-executable instructions for performing the steps comprising:
-
intercepting events comprising at least one of a plurality of method calls, component activations, and component deactivations; logging the events during execution of at least one stateful piece-wise deterministic (PWD) component having a component state in a computer system; detecting a failure of one of the components based on an error detected during execution; replaying the logged events to transparently and automatically recover the component state; and verifying that the component state has not already been recovered prior to recovering the component state. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
Specification