Recovery objects in an object oriented computing environment
First Claim
1. A method for recovering from computer failures in an object oriented computing environment, said method adapted to operate on one or more computer platforms and comprising the steps of:
- (a) creating persistent recovery objects associated with object instances having object instance methods, each of said object instance methods comprising;
(1) multiple committable actions which cannot safely be re-executed; and
(2) multiple commit messages;
(b) storing recovery information sufficient to recover from the failures in said recovery objects;
(c) committing committable data, including said recovery information, to a non-volatile storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention is directed to systems and methods for recovering from unplanned failures in object oriented computing environments. The systems and methods of the present invention recover from unplanned failures in an efficient manner by storing recovery information in recovery objects. During recovery operations from an unplanned failure, object instance methods (which were abnormally terminated by the unplanned failure) use the recovery information to identify committable actions which were executed prior to the unplanned failure. The object instance methods then execute committable actions which were not executed prior to the unplanned failure. Thus, according to the present invention, the committable actions which were executed prior to the unplanned failure are not re-executed, and the committable actions which were not executed prior to the planned failure are executed.
236 Citations
29 Claims
-
1. A method for recovering from computer failures in an object oriented computing environment, said method adapted to operate on one or more computer platforms and comprising the steps of:
-
(a) creating persistent recovery objects associated with object instances having object instance methods, each of said object instance methods comprising; (1) multiple committable actions which cannot safely be re-executed; and (2) multiple commit messages; (b) storing recovery information sufficient to recover from the failures in said recovery objects; (c) committing committable data, including said recovery information, to a non-volatile storage device.
-
-
2. In a computer-based system for performing work, a method adapted to operate in a local and in one or more remote object oriented computing environments, for recovering from computer failures, said method adapted to operate on one or more computer platforms and comprising the steps of:
-
(a) receiving a user command which specifies the work to be performed; (b) creating a queued message request according to said user command, wherein said queue message request comprises a run method including; (1) multiple committable actions for performing the work and which cannot safely be re-executed; (2) multiple commit messages; (c) creating a recovery object comprising recovery information for said queued message request; (d) initializing said recovery information, such that said recovery information refers to a first of said committable actions; (e) identifying object instances which are referenced by said run method; (f) committing committable data including said recovery information to a non-volatile storage device; (g) placing said queued message request on a queue; (h) sending a run message to said run method; and (i) in response to said run message, executing said run method according to said recovery information; wherein said recovery information is sufficient to recover from the computer failures. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In a computer-based system for performing work, a method adapted to operate in one or more object oriented computing environments, for recovering from computer failures, said method adapted to operate on one or more computer platforms and comprising the steps of:
-
(a) receiving a user command which specifies the work to be performed; (b) using said user command to select an object instance, wherein said object instance comprises a run method including; (1) multiple committable actions for performing the work and which cannot safely be re-executed; and (2) multiple commit messages; (c) sending a run message to said run method; and (d) in response to said run message, executing said run method according to a recovery information contained in a recovery object associated with said object instance; wherein said recovery information is sufficient to recover from the computer failures. - View Dependent Claims (13, 14, 15)
-
-
16. A computer-based system adapted to operate on one or more computer platforms and in one or more object oriented computing environments, for recovering from computer failures, said system comprising:
-
(1) one or more object instances comprising object instance methods, each of said object instance methods comprising; (a) multiple committable actions which cannot safely be re-executed; (b) multiple commit messages; (2) persistent recovery objects associated with said object instances; (3) means for storing recovery information sufficient to recover from the failures in said recovery objects; (4) one or more non-volatile storage devices; (5) means for committing committable data including said recovery information to said nonvolatile storage devices
-
-
17. In a computer-based system for performing work, a recovery system adapted to operate on one or more computer platforms and in a local and in one or more remote object oriented computing environments, for recovering from computer failures, said recovery system comprising:
-
(1) means for receiving a user command which specifies the work to be performed; (2) means for creating a queued message request according to said user command, wherein said queue message request comprises a run method including; (a) multiple committable actions for performing the work and which cannot safely be re-executed; (b) multiple commit messages; (3) means for creating a recovery object comprising recovery information for said queued message request; (4) means for initializing said recovery information, such that said recovery information refers to a first of said committable actions; (5) means for identifying object instances which are referenced by said run method; (6) one or more non-volatile storage devices; (7) means for committing committable data including said recovery information to said non-volatile storage devices; (8) means for placing said queued message request on a queue; (9) means for sending a run message to said run method; and (10) in response to said run message, means for executing said run method according to said recovery information; wherein said recovery information is sufficient to recover from the computer failures. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. In a computer-based system for performing work, a recovery system adapted to operate on one or more computer platforms and in one or more object oriented computing environments, for recovering from computer failures, said recovery system comprising:
-
(1) means for receiving a user command which specifies the work to be performed; (2) means for using said user command to select an object instance, wherein said object instance comprises a run method including; (a) multiple committable actions for performing the work and which cannot safely be re-executed; and (b) multiple commit messages; (3) one or more non-volatile storage devices; (4) means for sending a run message to said run method; and (5) in response to said run message, means for executing said run method according to a recovery information contained in a recovery object associated with said object instance; wherein said recovery information is sufficient to recover from the computer failures. - View Dependent Claims (28, 29)
-
Specification