Collection record location as log tail beginning
First Claim
1. A computing system comprising:
- one or more processors; and
one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processors to recover the computing system using a log comprising multiple collections of events and checkpointed data including a last collection of events, the computer-executable instructions including instructions that are executable to cause the computing system to perform at least the following;
identify a data stream comprising a sequence of events associated with the computing system;
separate the sequence of events into a sequence of a plurality of collections of events within a log, each event collection comprising a plurality of events that have one or more common attributes;
generate a corresponding collection record for each of the plurality of event collections, each given collection record being recorded within the log after completion of the corresponding event collection;
in response to a failure, recover data within the computing system, including at least;
recovering the checkpointed data in the computing system, the checkpointed data comprising a saved subset of the log that includes a subset of the plurality of collection records and a subset of the plurality of event collections;
within the log of a sequence of collection records and event collections, determining that a beginning of a tail of the log is located at or before a location of a next-to-last collection record corresponding to a next-to-last event collection that is located immediately prior to the last event collection, the last event collection comprising a most recent collection of events that is included within the checkpointed data, and the next-to-last event collection comprising a second most recent event collection that is included within the checkpointed data; and
after recovering the checkpointed data, restoring the computing system by performing each event of the log from the identified beginning of the tail of the log onward.
1 Assignment
0 Petitions
Accused Products
Abstract
The logging of tasks associated with multiple transactions in the context in which the computing system is capable of having multiple of the transactions active at a given time, and thus in which the order of completion of the transactions is not guaranteed to be the same as the order of initiation of the transactions. A sequence of transaction segment records is added to the log. Each transaction segment record comprises a transaction identifier range that does not overlap with the transaction identifier range in any of the sequence of transaction segment records including the transaction identifier range of any neighboring transaction segment record in the sequence of transaction segment records. Each transaction segment record also includes a log entry identifier range extending from the first task of the first of the transactions to be initiated to the last task of the last transaction to complete.
91 Citations
18 Claims
-
1. A computing system comprising:
-
one or more processors; and one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processors to recover the computing system using a log comprising multiple collections of events and checkpointed data including a last collection of events, the computer-executable instructions including instructions that are executable to cause the computing system to perform at least the following; identify a data stream comprising a sequence of events associated with the computing system; separate the sequence of events into a sequence of a plurality of collections of events within a log, each event collection comprising a plurality of events that have one or more common attributes; generate a corresponding collection record for each of the plurality of event collections, each given collection record being recorded within the log after completion of the corresponding event collection; in response to a failure, recover data within the computing system, including at least; recovering the checkpointed data in the computing system, the checkpointed data comprising a saved subset of the log that includes a subset of the plurality of collection records and a subset of the plurality of event collections; within the log of a sequence of collection records and event collections, determining that a beginning of a tail of the log is located at or before a location of a next-to-last collection record corresponding to a next-to-last event collection that is located immediately prior to the last event collection, the last event collection comprising a most recent collection of events that is included within the checkpointed data, and the next-to-last event collection comprising a second most recent event collection that is included within the checkpointed data; and after recovering the checkpointed data, restoring the computing system by performing each event of the log from the identified beginning of the tail of the log onward. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, implemented at one or more computer processors, for recovering in a system that has multiple collections of events, each collection having associated therewith a collection record in a log, the method comprising:
-
identifying a data stream comprising a sequence of events associated with the computing system; separating the sequence of events into a sequence of a plurality of collections of events within a log, each event collection comprising a plurality of events that have one or more common attributes; generating a corresponding collection record for each of the plurality of event collections, each given collection record being recorded within the log after completion of the corresponding event collection; in response to a failure, recovering data within the computing system, including at least; recovering checkpointed data in the system, the checkpointed data comprising a saved subset of the log that includes a subset of the plurality of collection records and a subset of the plurality of event collections;
within the log of a sequence of collection records and event collections, determining that a beginning of a tail of the log is located at or before a location of a next-to-last collection record corresponding to a next-to-last event collection that is located immediately prior to a last event collection, the last event collection comprising a most recent collection of events that is included within the checkpointed data, and the next-to-last event collection comprising a second most recent event collection that is included within the checkpointed data; andafter recovering the checkpointed data, restoring the computing system by performing each event included within the tail of the log in the system from the identified beginning of the tail of the log. - View Dependent Claims (14)
-
-
13. The method in accordance with Calm 14,
the beginning of the tail of the log also being identified as at a location within the log that is after a location of a collection record for a third to last collection of events included in the checkpointed data.
-
15. A computer program product comprising one or more hardware storage devices having stored thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, the computer-executable instructions cause the computing system to perform a recovery in a system that has multiple collections of events, each collection having associated therewith a collection record in a log, the computer-executable instructions being executable to cause the computing system to perform at least the following:
-
identify a data stream comprising a sequence of events associated with the computing system;
separate the sequence of events into a sequence of a plurality of collections of events within a log, each event collection comprising a plurality of events that have one or more common attributes;generate a corresponding collection record for each of the plurality of event collections, each given collection record being recorded within the log after completion of the corresponding event collection; in response to a failure, recover data within the computing system, including at least; recovering checkpointed data in the system, the checkpointed data comprising a saved subset of the log that includes a subset of the plurality of collection records and a subset of the plurality of event collections; within the log of a sequence of collection records and event collections, determining that a beginning of a tail of the log is located at or before a location of a next-to-last collection record corresponding to a next-to-last event collection that is located immediately prior to a last event collection, the last event collection comprising a most recent collection of events that is included within the checkpointed data, and the next-to-last event collection comprising a second most recent event collection that is included within the checkpointed data; and after recovering the checkpointed data, restoring the computing system by performing each event of the log from the identified beginning of the tail of the log onward. - View Dependent Claims (16, 17, 18)
-
Specification