Collection record for overlapping data stream collections
First Claim
Patent Images
1. A computing system comprising:
- one or more processors; and
a computer-readable storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computing system to insert collection records associated with a plurality of collections of transaction segment records into a data stream that contains a plurality of transaction segment records, each of the plurality of transaction segment records corresponding to a transaction identifier and a data stream address, each transaction identifier being assigned sequentially when the corresponding transaction is started, each of the plurality of transaction segment records being entered into the data stream after the transaction segment is completed, at least two different transactions being performed in parallel, and a plurality of data stream addresses corresponding to the at least two different transactions that are performed in parallel overlapping, the computer-executable instructions including instructions that are executable to cause the computing system to perform at least the following;
for a non-overlapping range of transaction identifiers,identify a collection of transaction segment records within the data stream, the collection of transaction segment records comprising a plurality of transaction segment records, each of which corresponds to a transaction identifier that is within the corresponding non-overlapping range of transaction identifiers;
establish a reference count that represents the identified collection of transactions within the range of transaction identifiers that have not yet completed;
each time a transaction that has a transaction identifier within the range of transaction identifiers is detected as completed, alter the reference count so as to represent a decrementing of the identified collection of transactions within the range that have not yet completed;
when the reference count represents that there are no further transactions having transaction identifiers within the range that have not completed, create a corresponding collection record comprising,the corresponding range of the transaction identifiers that is not overlapping with a range of sequential identifiers of another collection of transaction segment records, anda data stream address range at least extending from a first transaction segment record of the collection to a last transaction segment record of the collection; and
insert the created collection record into the data stream at any place after the last transaction segment record of the corresponding collection of transaction segment records, wherein a data stream address range of at least one collection of transaction segment record overlaps a data stream address range of at least another collection of transaction segment, the overlapping address range being caused by the at least two different transactions being performed in parallel.
1 Assignment
0 Petitions
Accused Products
Abstract
The insertion into a data stream of collection records associated with multiple collections of data items in the data stream, for purposes of aiding in subsequent processing of the data stream by collections. Each collection record comprises a collection definition that does not overlap with the collection definition in any of the sequence of collection records including the collection definition of any neighboring collection record in the sequence of collection records. Each collection record also includes a data stream address range extending from the first data item to the last data item in the collection.
97 Citations
24 Claims
-
1. A computing system comprising:
-
one or more processors; and a computer-readable storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computing system to insert collection records associated with a plurality of collections of transaction segment records into a data stream that contains a plurality of transaction segment records, each of the plurality of transaction segment records corresponding to a transaction identifier and a data stream address, each transaction identifier being assigned sequentially when the corresponding transaction is started, each of the plurality of transaction segment records being entered into the data stream after the transaction segment is completed, at least two different transactions being performed in parallel, and a plurality of data stream addresses corresponding to the at least two different transactions that are performed in parallel overlapping, the computer-executable instructions including instructions that are executable to cause the computing system to perform at least the following; for a non-overlapping range of transaction identifiers, identify a collection of transaction segment records within the data stream, the collection of transaction segment records comprising a plurality of transaction segment records, each of which corresponds to a transaction identifier that is within the corresponding non-overlapping range of transaction identifiers; establish a reference count that represents the identified collection of transactions within the range of transaction identifiers that have not yet completed; each time a transaction that has a transaction identifier within the range of transaction identifiers is detected as completed, alter the reference count so as to represent a decrementing of the identified collection of transactions within the range that have not yet completed; when the reference count represents that there are no further transactions having transaction identifiers within the range that have not completed, create a corresponding collection record comprising, the corresponding range of the transaction identifiers that is not overlapping with a range of sequential identifiers of another collection of transaction segment records, and a data stream address range at least extending from a first transaction segment record of the collection to a last transaction segment record of the collection; and insert the created collection record into the data stream at any place after the last transaction segment record of the corresponding collection of transaction segment records, wherein a data stream address range of at least one collection of transaction segment record overlaps a data stream address range of at least another collection of transaction segment, the overlapping address range being caused by the at least two different transactions being performed in parallel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, implemented at a computing system that includes one or more processors, for inserting collection records associated with a plurality of collections of transaction segment records into a data stream that contains a plurality of transaction segment records, each of the plurality of transaction segment records corresponding to a transaction identifier and a data stream address, each transaction identifier being assigned sequentially when the corresponding transaction is started, each of the plurality of transaction segment records being entered into the data stream after the transaction segment is completed, at least two different transactions being performed in parallel, and a plurality of data stream addresses corresponding to the at least two different transactions that are performed in parallel overlapping, the method comprising:
for a non-overlapping range of transaction identifiers, identifying collection of transaction segment records within the data stream, the collection of transaction segment records comprising a plurality of transaction segment records, each of which corresponds to a transaction identifier that is within the corresponding non-overlapping range of transaction identifiers; establishing a reference count that represents the identified collection of transactions within the range of transaction identifiers that have not yet completed; each time a transaction that has a transaction identifier within the range of transaction identifiers is detected as completed, altering the reference count so as to represent a decrementing of the identified collection of transactions within the range that have not yet completed; when the reference count represents that there are no further transactions having transaction identifiers within the range that have not completed, creating a corresponding collection record comprising, the corresponding range of the transaction identifiers that is not overlapping with a range of sequential identifiers of another collection of transaction segment records, and a data stream address range at least extending from a first transaction segment record of the collection to a last transaction segment record of the collection; and inserting the created collection record into the data stream at any place after the last transaction segment record of the corresponding collection of transaction segment records, wherein a data stream address range of at least one collection of transaction segment record overlaps a data stream address range of at least another collection of transaction segment, the overlapping address range being caused by the at least two different transactions being performed in parallel. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
20. A computer program product comprising one or more computer-readable storage media having stored thereon computer-executable instructions that are executable by one or more processors of a computing system to cause the computing system to insert collection records associated with a plurality of collections of transaction segment records into a data stream that contains a plurality transaction segment records, each of the plurality of transaction segment records corresponding to a transaction identifier and a data stream address, each transaction identifier being assigned sequentially when the corresponding transaction is started, each of the plurality of transaction segment records being entered into the data stream after the transaction segment is completed, at least two different transactions being performed in parallel, and a plurality of data stream addresses corresponding to the at least two different transactions that are performed in parallel overlapping, the computer-executable instructions including instructions that are executable to cause the computing system to perform at least the following:
for a non-overlapping range of transaction identifiers, identify a collection of transaction segment records within the data stream, the collection of transaction segment records comprising a plurality of transaction segments records, each of which corresponds to a transaction identifier that is within the corresponding non-overlapping range of transaction identifiers; establish a reference count that represents the identified collection of transactions within the range of transaction identifiers that have not yet completed; each time a transaction that has a transaction identifier within the range of transaction identifiers is detected as completed, alter the reference count so as to represent a decrementing of the identified collection of transactions within the range that have not yet completed; when the reference count represents that there are no further transactions having transaction identifiers within the range that have not completed, create a corresponding collection record comprising, the corresponding range of the transaction identifier that is not overlapping with a range of sequential identifiers of another collection of transaction segment records, a data stream address range at least extending from a first transaction segment record of the collection to a last transaction segment record of the collection; and insert the created collection record into the data stream at any place after the last transaction segment record of the corresponding collection of transaction segment records, wherein a data stream address range of at least one collection of transaction segment record overlaps a data stream address range of at least another collection of transaction segment, the overlapping address range being caused by the at least two different transactions being performed in parallel. - View Dependent Claims (21, 22, 23, 24)
Specification