Optimizing evaluation patterns and data acquisition for stream analytics in resource-constrained wireless environments
First Claim
1. An apparatus for managing data streams from sensor devices received by a mobile client device, the apparatus comprising:
- a memory configured to store received data from the sensor devices; and
a processor configured to;
identify a plurality of data streams each corresponding to a respective sensor device, each of the plurality of data streams being receivable by the mobile client device;
specify an order for which each of the plurality of data streams is to be processed by an event processing module of the client device;
receive at least one of the plurality of data streams in the specified order;
determine at least a partial result of a query predicate using data from the received at least one of the plurality of data streams; and
if the query predicate is partially resolved, then dynamically modify some property of a process by which a remaining selected set of the plurality of data streams and data are retrieved by the event proceeding module.
1 Assignment
0 Petitions
Accused Products
Abstract
Mobile wireless devices may receive data streams from multiple remote sensors. The sensors may have limited power supplies and memory capacity. Aspects of the invention use statistical characteristics of the sensor data streams and the cost of acquiring a single element of each stream to determine what sequence the sensors should send their data streams in. The cost of acquiring the data may be modified dynamically, depending on parameters such as block size. Additional factors, such as a sensor'"'"'s buffer capacity, may limit the amount of stream elements that may be cached and affect the sensors'"'"' stream transmit sequence. The evaluation order may be dynamically modified using an event processing engine, to reflect both changing statistics of underlying sensor stream tuples and time-varying acquisition costs associated with individual streams. This helps to increase in the operational lifetime of the sensors and associated monitoring applications.
21 Citations
18 Claims
-
1. An apparatus for managing data streams from sensor devices received by a mobile client device, the apparatus comprising:
-
a memory configured to store received data from the sensor devices; and a processor configured to; identify a plurality of data streams each corresponding to a respective sensor device, each of the plurality of data streams being receivable by the mobile client device; specify an order for which each of the plurality of data streams is to be processed by an event processing module of the client device; receive at least one of the plurality of data streams in the specified order; determine at least a partial result of a query predicate using data from the received at least one of the plurality of data streams; and if the query predicate is partially resolved, then dynamically modify some property of a process by which a remaining selected set of the plurality of data streams and data are retrieved by the event proceeding module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A client device for managing data streams from sensor devices, the client device comprising:
-
a processor comprising an event processing module configured to; receive a query which is viewed as a set of query predicates, where each query predicate refers to one or more of the data streams from the sensor devices; determine an order in which each data stream will be acquired using both statistics and acquisition costs of the data streams; acquire at least one of the data streams; apply the set of query predicates to data elements of the acquired at least one of the data streams; and
,if the set of query predicates are partially resolved then dynamically modify some property of a process by which a remaining selected set of the plurality of data streams transmit their data by determining an order in which each data stream of the remaining selected set of data streams will be acquired using both statistics and the acquisition costs of the remaining selected set of data streams and then apply the set of query predicates to data elements of the acquired remaining selected set of data streams; and
,if the set of query predicates is resolved, then output a derived event order as a result of applying the set of query predicates to the data elements of the acquired data streams. - View Dependent Claims (16)
-
-
17. A client device for managing data streams from sensor devices, the client device comprising:
a processor comprising an event processing module configured to; obtain an energy-cost function which represents a total transmission energy consumed by the sensor devices if their data tuples are transmitted proactively in chunks of data tuples; determine the chunk size for each sensor device utilizing the energy-cost function; determine a total weighted cost for each sensor device to proactively transmit data in the chunk size; sort the data streams from the sensor devices in ascending order of the total weighted cost for each sensor device; initiate retrieval of the chunks from the sensor devices starting with the data stream with the lowest total weighted cost from which data is yet to be acquired; upon retrieval of the data stream with the lowest total weighted cost, use the retrieved chunks to refine a result of a query being processed; and
,if the query is not resolved as a result of the retrieved chunks, then return to the second determine operation to select another data stream to be processed per the query and perform the sort operation, the initiate operation and the use operation until the query is resolved. - View Dependent Claims (18)
Specification