Event processing system
OwnerLorenzo ALBERTON, Ashley David JEFFSinventors
Life of this patent
Estimating the term…
Abstract
This disclosure relates to the processing of user events. In particular, it addresses various problems relating to the augmentation of a user event—received in a data stream of sequenced events—with data of one or more cooperating reference data items. For example, the augmented user events may be stored in an index on which queries can be run in real-time to extract aggregate and preferably anonymized information from those events according to the queries. Other example use-cases are also disclosed.
Claims31
An event processing system for creating an index of events relating to published content, wherein the events are stored in the index and the index is queryable to extract aggregate information pertaining to the stored events for releasing to a querying device, the event processing system comprising:
- a processing stage configured to receive content-related events and reference events for the content-related events, the events having identifiers to allow cooperating content-related and reference events to be matched, wherein the events are received in at least one data stream whereby a later content-related event may arrive at the processing stage at a time prior to an earlier cooperating reference event;
- a buffer for holding content-related events;
- computer storage for caching reference events for comparison with later content-related events in the buffer;
- wherein the processing stage is configured to enrich the reference events with metadata, and store in the index the enriched reference events comprising the metadata, wherein a copy of the enriched reference events comprising the metadata is cached in the computer storage;
- and
- wherein the processing stage is configured to check for each received content-related event if there is an earlier cooperating reference event in the computer storage, and:
- 1) if so, augment the received content-related event with a copy of the metadata from the earlier cooperating reference event in the computer storage and store the augmented event in the index, and
- 2) if not, hold the received content-related event in the buffer and check the computer storage again at a later time to determine if the earlier cooperating reference event has arrived.
A method of augmenting user events, relating to user activity on a platform, with data of reference data items having different reference data types, the method comprising:
- receiving, at a data processing stage, the user events to be augmented and the reference data items for augmenting the user events, the user events arriving at the data processing stage as a data stream of sequenced events;
- caching the reference data items in computer storage;
- and
- for each of the user events to be augmented, performing an augmentation process for at least one identifier in the user event by:
- matching a type of the identifier in the user event with a first of the multiple reference data types, and
- checking whether a matching reference data item of the first reference data type is available in the computer storage by comparing the identifier in the user event with identifiers of the cached reference data item of the first reference data type, and if a match is found:
- augmenting the user event with data of the matching reference data item of the first reference data type, and
- repeating the augmentation process for at least one identifier in the matching reference data item of the first reference data type by:
- matching a type of that identifier with a second of the multiple reference data types, and checking whether a matching reference data item of the second reference data type is available in the computer storage by comparing that identifier with identifiers of the cached reference data items of the second reference data type, and if a match is found:
- further augmenting the user event with data of the matching reference data item of the second reference data type.
A computer program product for augmenting user events, relating to user activity on a platform, with data of reference data items having different reference data types, the computer program product comprising computer readable instructions stored on a non-transitory computer readable storage medium, the computer readable instructions being configured, when executed, to implement steps of:
- receiving, at a data processing stage, the user events to be augmented and the reference data items for augmenting the user events, the user events arriving at the data processing stage as a data stream of sequenced events;
- caching the reference data items in computer storage;
- and
- for each of the user events to be augmented, performing an augmentation process for at least one identifier in the user event by:
- matching a type of the identifier in the user event with a first of the multiple reference data types, and
- checking whether a matching reference data item of the first reference data type is available in the computer storage by comparing the identifier in the user event with identifiers of the cached reference data item of the first reference data type, and if a match is found:
- augmenting the user event with data of the matching reference data item of the first reference data type, and
- repeating the augmentation process for at least one identifier in the matching reference data item of the first reference data type by:
- matching a type of that identifier with a second of the multiple reference data types, and checking whether a matching reference data item of the second reference data type is available in the computer storage by comparing that identifier with identifiers of the cached reference data items of the second reference data type, and if a match is found:
- further augmenting the user event with data of the matching reference data item of the second reference data type.
31-38. (canceled)
Dependencies are inferred from the claim text.