×

Lockless open collection data structure

  • US 10,102,251 B2
  • Filed: 04/14/2015
  • Issued: 10/16/2018
  • Est. Priority Date: 04/14/2015
  • Status: Active Grant
First Claim
Patent Images

1. A computing system comprising:

  • one or more processors;

    a hardware storage device having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computing system to use an open collection data structure to create a sequence of collection records, the computer-executable instructions including instructions to perform at least the following;

    access an open collection data structure that is lockless and re-usable for creating a corresponding collection record for each of a plurality of collections of data items within a data stream of a plurality of different types of data items, each collection of data items comprising a plurality of data items that include one or more common attributes, each given collection record including a collection definition that defines the collection of data items to which the given collection record corresponds; and

    evaluate the data stream that includes the plurality of different types of data items;

    use the lockless data structure to create a sequence of collection records by performing the following for at least one of the sequence of collection records;

    identify an expandable collection definition associated with an open collection for which a collection record is to be created, wherein the expandable collection definition is expandable to include data items of a particular data item type if the last data item of that particular data item type is encountered in the data stream;

    represent the expandable collection definition within the open collection data structure;

    represent a data stream address range associated with the open collection within the open collection data structure;

    upon detecting an event, determine that the expandable collection definition is no longer expandable;

    upon determining that the expandable collection definition for the collection is no longer expandable, create a collection record based on state within the open collection data structure; and

    once the collection record for a collection has been created, make the open collection data structure available for a next collection record in the sequence of collection records.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×