Latest external dependee entity in transaction record
First Claim
1. A computing system comprising:
- one or more processors;
a hardware storage device having thereon computer-executable instructions that are structured such that, when executed by the one or more processors causes the computing system to create transaction segments records associated with a log, the computer-executable instructions including instructions to perform at least the following;
identify a plurality of transactions of the computing system, each transaction having an associated transaction identifier, each transaction also comprising a plurality of associated tasks; and
separate the plurality of transactions into a plurality of transaction segments within a log, each transaction segment comprising a subset of the plurality of transactions and the plurality of tasks associated with the subset of the plurality of transactions, wherein for each given transaction segment, separating the plurality of transactions into a plurality of transaction segments comprises at least;
defining a transaction identifier range that indicates a range of transaction identifiers of the subset of the plurality of transactions included within the given transaction segment, the transaction identifier range including each of the transaction identifiers associated with each of the subset of the plurality of transactions within the given transaction segment; and
creating, for the given transaction segment, an associated transaction segment record that is placed within the log after completion of the subset of the plurality of transactions defined by the transaction identifier range of the given transaction segment, wherein creating the associated transaction segment record for each given transaction segment of at least one of the plurality of transaction segments includes at least;
identifying a latest external dependee entity that indicates dependence upon completion of a particular transaction included within another transaction segment, such that processing of the given transaction segment cannot begin until completion of processing the particular transaction;
inserting the identified latest external dependee entity into the given transaction segment record;
inserting a log address range at least extending from a first log entry of the given transaction segment to a last data item of the given transaction segment; and
inserting the transaction identifier range into the given transaction segment record.
1 Assignment
0 Petitions
Accused Products
Abstract
The creation of transaction segment records that are each associated with transaction segments within a log that includes multiple tasks, each of at least some associated with a corresponding transaction. The transaction segment records each include a transaction identifier set that define which tasks are included within the transaction segment. The transaction identifier sets are non-overlapping such that the transaction segments may be processed substantially in parallel by dispatching the transaction segment records to different worker threads. The identity of a latest external dependee entity, if any, is included within the transaction segment record. Upon being assigned a transaction segment for processing, the module assigned the transaction segment awaits completion of processing of the latest external dependee entity prior to processing the transaction segment. Accordingly, transaction segments may be processed substantially in parallel, while in those cases in which there is a dependency, the dependency is honored.
93 Citations
17 Claims
-
1. A computing system comprising:
-
one or more processors; a hardware storage device having thereon computer-executable instructions that are structured such that, when executed by the one or more processors causes the computing system to create transaction segments records associated with a log, the computer-executable instructions including instructions to perform at least the following; identify a plurality of transactions of the computing system, each transaction having an associated transaction identifier, each transaction also comprising a plurality of associated tasks; and separate the plurality of transactions into a plurality of transaction segments within a log, each transaction segment comprising a subset of the plurality of transactions and the plurality of tasks associated with the subset of the plurality of transactions, wherein for each given transaction segment, separating the plurality of transactions into a plurality of transaction segments comprises at least; defining a transaction identifier range that indicates a range of transaction identifiers of the subset of the plurality of transactions included within the given transaction segment, the transaction identifier range including each of the transaction identifiers associated with each of the subset of the plurality of transactions within the given transaction segment; and creating, for the given transaction segment, an associated transaction segment record that is placed within the log after completion of the subset of the plurality of transactions defined by the transaction identifier range of the given transaction segment, wherein creating the associated transaction segment record for each given transaction segment of at least one of the plurality of transaction segments includes at least; identifying a latest external dependee entity that indicates dependence upon completion of a particular transaction included within another transaction segment, such that processing of the given transaction segment cannot begin until completion of processing the particular transaction; inserting the identified latest external dependee entity into the given transaction segment record; inserting a log address range at least extending from a first log entry of the given transaction segment to a last data item of the given transaction segment; and inserting the transaction identifier range into the given transaction segment record. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product comprising one or more hardware storage devices having thereon one or more computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to create transaction segments records associated with a log, the computer-executable instructions including instructions that are executable to cause the computing system to perform at least the following:
-
identify a plurality of transactions of the computing system, each transaction having an associated transaction identifier, each transaction also comprising a plurality of associated tasks; and separate the plurality of transactions into a plurality of transaction segments within a log, each transaction segment comprising a subset of the plurality of transactions and the plurality of tasks associated with the subset of the plurality of transactions, wherein for each given transaction segment, separating the plurality of transactions into a plurality of transaction segments comprises at least; defining a transaction identifier set range that indicates a range of transaction identifiers of the subset of the plurality of transactions included within the given transaction segment, the transaction identifier range including each of the transaction identifiers associated with each of the subset of the plurality of transactions within the given transaction segment; and creating, for the given transaction segment, an associated transaction segment record that is placed within the log after completion of the subset of the plurality of transactions defined by the transaction identifier range of the given transaction segment, wherein creating the associated transaction segment record for each given transaction segment of at least one of the plurality of transaction segments includes at least; identifying a latest external dependee entity that indicates dependence upon completion of a particular transaction included within another transaction segment, such that processing of the given transaction segment cannot begin until completion of processing the particular transaction; inserting the identified latest external dependee entity into the given transaction segment record; inserting a log address range at least extending from a first log entry of the given transaction segment to a last data item of the given transaction segment; and inserting the transaction identifier range into the given transaction segment record. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method, implemented at a computing system including one or more processors, for creating transaction segments records associated with a log, the method comprising:
-
identifying a plurality of transactions of the computing system, each transaction having an associated transaction identifier, each transaction also comprising a plurality of associated tasks; and separating the plurality of transactions into a plurality of transaction segments within a log, each transaction segment comprising a subset of the plurality of transactions and the plurality of tasks associated with the subset of the plurality of transactions, wherein for each given transaction segment, separating the plurality of transactions into a plurality of transaction segments comprises at least; defining a transaction identifier range that indicates a range of transaction identifiers of the subset of the plurality of transactions included within the given transaction segment, the transaction identifier range including each of the transaction identifiers associated with each of the subset of the plurality of transactions within the given transaction segment; and creating, for the given transaction segment, an associated transaction segment record that is placed within the log after completion of the subset of the plurality of transactions defined by the transaction identifier range of the given transaction segment, wherein creating the associated transaction segment record for each given transaction segment of at least one of the plurality of transaction segments includes at least; identifying a latest external dependee entity that indicates dependence upon completion of a particular transaction included within another transaction segment, such that processing of the given transaction segment cannot begin until completion of processing the particular transaction; inserting the identified latest external dependee entity into the given transaction segment record; inserting a log address range at least extending from a first log entry of the given transaction segment to a last data item of the given transaction segment; and inserting the transaction identifier range into the given transaction segment record. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification