Digital signal processing over data streams
First Claim
1. A computer-implemented method comprising:
- receiving streaming data from one or more sensors, wherein the streaming data includes a first functional payload associated with a first time interval and a second functional payload associated with a second time interval;
applying an aggregation operation to the streaming data to generate aggregated streaming data;
applying a uniformity operation to the aggregated streaming data to generate a uniform signal, wherein applying the uniformity operation comprises;
generating a first materialized value based on the first functional payload; and
generating a second materialized value based on the second functional payload;
storing the uniform signal in a batched columnar representation in a memory, wherein the uniform signal includes the first materialized value and the second materialized value;
accessing, from the batched columnar representation stored in the memory, a columnar array including a plurality of field values;
storing a portion of the plurality of the field values in a circular buffer in accordance with a data window, the data window associated with a digital signal processing (DSP) operation; and
applying the DSP operation to the portion of the plurality of the field values stored in the circular buffer to generate a DSP output.
1 Assignment
0 Petitions
Accused Products
Abstract
The techniques and systems described herein are directed to providing deep integration of digital signal processing (DSP) operations with a general-purpose query processor. The techniques and systems provide a unified query language for processing tempo-relational and signal data, provide mechanisms for defining DSP operators, and support incremental computation in both offline and online analysis. The techniques and systems include receiving streaming data, aggregating and performing uniformity processing to generate a uniform signal, and storing the uniform signal in a batched columnar representation. Data can be copied from the batched columnar representation to a circular buffer, where DSP operations are applied to the data. Incremental processing can avoid redundant processing. Improvements to the functioning of a computer are provided by reducing an amount of data that to be passed back and forth between separate query databases and DSP processors, and by reducing a latency of processing and/or memory usage.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving streaming data from one or more sensors, wherein the streaming data includes a first functional payload associated with a first time interval and a second functional payload associated with a second time interval; applying an aggregation operation to the streaming data to generate aggregated streaming data; applying a uniformity operation to the aggregated streaming data to generate a uniform signal, wherein applying the uniformity operation comprises; generating a first materialized value based on the first functional payload; and generating a second materialized value based on the second functional payload; storing the uniform signal in a batched columnar representation in a memory, wherein the uniform signal includes the first materialized value and the second materialized value; accessing, from the batched columnar representation stored in the memory, a columnar array including a plurality of field values; storing a portion of the plurality of the field values in a circular buffer in accordance with a data window, the data window associated with a digital signal processing (DSP) operation; and applying the DSP operation to the portion of the plurality of the field values stored in the circular buffer to generate a DSP output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
one or more processors; and memory storing modules that, when executed by the one or more processors, cause the system to perform operations comprising; receiving streaming data from one or more sensors, wherein the streaming data includes a first functional payload associated with a first time interval and a second functional payload associated with a second time interval; applying an aggregation operation to the streaming data to generate aggregated streaming data; applying a uniformity operation to the aggregated streaming data to generate a uniform signal, wherein applying the uniformity operation comprises; generating a first materialized value based on the first functional payload; and generating a second materialized value based on the second functional payload; storing the uniform signal in a batched columnar representation in a memory, wherein the uniform signal includes the first materialized value and the second materialized value; accessing, from the batched columnar representation stored m the memory, a columnar array including a plurality of field values; storing a portion of the plurality of the field values in a circular buffer in accordance with a data window, the data window associated with a digital signal processing (DSP) operation; and applying the DSP operation to the portion of the plurality of the field values stored in the circular buffer to generate a DSP output. - View Dependent Claims (13, 14, 15)
-
-
16. A system comprising:
-
one or more processors; and memory storing modules that, when executed by the one or more processors, cause the system to perform operations comprising; receiving streaming data from a plurality of sensors, the streaming data including a first plurality of payloads associated with a first time value and a second plurality of payloads associated with a second time value; applying an aggregation operation to the streaming data to generate aggregated streaming data, the aggregated streaming data including a first single payload associated with the first time value and a second single payload associated with the second time value; applying an interpolation operation to the aggregated streaming data to generate a uniform signal, wherein the uniform signal includes a first interpolated value based on the first single payload and a second interpolated value based on the second single payload, wherein the first interpolated value and the second interpolated value are associated with a uniform sampling period and an offset value; storing the uniform signal in a batched columnar representation in the memory, wherein the batched columnar representation comprises at least a first columnar array and a second columnar array, the first columnar array comprising a plurality of data fields stored in the memory, a first data field of the plurality of data fields storing the first interpolated value and a second data field of the plurality of data fields storing the second interpolated value, the second columnar array comprising at least a first array of grouping keys associated with a first data batch and a second array of grouping keys associated with a second data batch; accessing, from the batched columnar representation stored in the memory, the first columnar array, the accessing performed without accessing the second columnar array; storing at least the first data field and the second data field in a circular buffer in accordance with a data window, the data window associated with a digital signal processing (DSP) operation; and applying the DSP operation to the first data field and the second data field stored in the circular buffer to generate a first DSP output. - View Dependent Claims (17, 18, 19, 20)
-
Specification