Event Abstractor
First Claim
1. A computer-implemented method comprising:
- receiving a stream model that defines a plurality of elements of a data domain;
receiving a stream mapping that defines a sensor identifier for each sensor of a plurality of real-world sensors and associates each sensor identifier with a respective element of the plurality of elements of the data domain, wherein each of the real-world sensors generates a respective stream of real-time data elements received by a stream processing system;
receiving a user-specified stream matching pattern, wherein the stream matching pattern specifies respective sensor identifiers of two or more sensor identifiers of the plurality of real-world sensors, and for each sensor identifier, a tuple of data elements of the stream model and, for each tuple of data elements, one or more co-occurrence criteria, wherein the co-occurrence criteria includes at least one time window;
obtaining a stream of events from the plurality of real-world sensors;
determining that two or more events co-occur within the time window specified by the stream matching pattern;
determining whether the one or more co-occurrence criteria of the stream matching pattern are satisfied; and
whenever the one or more co-occurrence criteria are satisfied, generating an output data element of an output data stream.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for detecting higher level events based on lower level events. In one aspect, a method includes receiving a stream model that defines elements of a data domain. A stream mapping that defines sensor identifiers for real-world sensors and associates each sensor identifier with a respective element of the data domain is received. A user-specified stream matching pattern is received. The stream matching pattern specifies respective sensor identifiers of sensor identifiers of the real-world sensors, and for each sensor identifier, a tuple of data elements of the stream model and, for each tuple of data elements, co-occurrence criteria including at least one time window. A stream of events is obtained from the real-world sensors. A determination is made that two or more events co-occur within the time window and whether the one or more co-occurrence criteria are satisfied.
11 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving a stream model that defines a plurality of elements of a data domain; receiving a stream mapping that defines a sensor identifier for each sensor of a plurality of real-world sensors and associates each sensor identifier with a respective element of the plurality of elements of the data domain, wherein each of the real-world sensors generates a respective stream of real-time data elements received by a stream processing system; receiving a user-specified stream matching pattern, wherein the stream matching pattern specifies respective sensor identifiers of two or more sensor identifiers of the plurality of real-world sensors, and for each sensor identifier, a tuple of data elements of the stream model and, for each tuple of data elements, one or more co-occurrence criteria, wherein the co-occurrence criteria includes at least one time window; obtaining a stream of events from the plurality of real-world sensors; determining that two or more events co-occur within the time window specified by the stream matching pattern; determining whether the one or more co-occurrence criteria of the stream matching pattern are satisfied; and whenever the one or more co-occurrence criteria are satisfied, generating an output data element of an output data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a data processing apparatus; and a memory storage apparatus in data communication with the data processing apparatus, the memory storage apparatus storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising; receiving a stream model that defines a plurality of elements of a data domain; receiving a stream mapping that defines a sensor identifier for each sensor of a plurality of real-world sensors and associates each sensor identifier with a respective element of the plurality of elements of the data domain, wherein each of the real-world sensors generates a respective stream of real-time data elements received by a stream processing system; receiving a user-specified stream matching pattern, wherein the stream matching pattern specifies respective sensor identifiers of two or more sensor identifiers of the plurality of real-world sensors, and for each sensor identifier, a tuple of data elements of the stream model and, for each tuple of data elements, one or more co-occurrence criteria, wherein the co-occurrence criteria includes at least one time window; obtaining a stream of events from the plurality of real-world sensors; determining that two or more events co-occur within the time window specified by the stream matching pattern; determining whether the one or more co-occurrence criteria of the stream matching pattern are satisfied; and whenever the one or more co-occurrence criteria are satisfied, generating an output data element of an output data stream. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
receiving a stream model that defines a plurality of elements of a data domain; receiving a stream mapping that defines a sensor identifier for each sensor of a plurality of real-world sensors and associates each sensor identifier with a respective element of the plurality of elements of the data domain, wherein each of the real-world sensors generates a respective stream of real-time data elements received by a stream processing system; receiving a user-specified stream matching pattern, wherein the stream matching pattern specifies respective sensor identifiers of two or more sensor identifiers of the plurality of real-world sensors, and for each sensor identifier, a tuple of data elements of the stream model and, for each tuple of data elements, one or more co-occurrence criteria, wherein the co-occurrence criteria includes at least one time window; obtaining a stream of events from the plurality of real-world sensors; determining that two or more events co-occur within the time window specified by the stream matching pattern; determining whether the one or more co-occurrence criteria of the stream matching pattern are satisfied; and whenever the one or more co-occurrence criteria are satisfied, generating an output data element of an output data stream. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification