EFFICIENT STORAGE OF DATA ALLOWING FOR MULTIPLE LEVEL GRANULARITY RETRIEVAL
First Claim
1. A method for storing a data series at multiple resolutions in a computer-readable data storage medium, wherein data of the data series are sequential data from a sensor, the method comprising:
- receiving a first time series data value of the data series, the first time series data value associated with a first timestamp;
identifying a first storage element from a series of storage elements in the computer-readable data storage medium that corresponds to the first time series data value based on the first time stamp, wherein each storage element of the series of storage elements represents a different segment of time;
determining a first aggregate value, wherein the first aggregate value is equal to the sum of the first time series data value and a first stored time series data value, the first stored time series data value stored in the first storage element;
replacing the first stored time series data value with the first aggregate value;
receiving a second time series data value of the data series, the second time series data value associated with a second timestamp;
identifying a second storage element from the series of storage elements that corresponds to the second time series data value based on the second time stamp;
determining a second aggregate value, wherein the second aggregate value is equal to the sum of the second time series data value and a second stored time series data value, the second stored time series data value stored in the second storage element;
replacing the second stored time series data value with the second aggregate value;
receiving a third time series data value of the data series, the third time series data value associated with a third timestamp;
identifying a third storage element from the series of storage elements that corresponds to the third time series data value based on the third timestamp;
determining a third aggregate value, wherein the third aggregate value is equal to the sum of the third time series data value and a third stored time series data value, the third stored time series data value stored in the third storage element;
replacing the third stored time series data value with the third aggregate value;
receiving a fourth time series data value of the data series, the fourth time series data value associated with a fourth timestamp;
identifying a fourth storage element from the series of storage elements that corresponds to the fourth time series data value based on the fourth timestamp;
determining a fourth aggregate value, wherein the fourth aggregate value is equal to the sum of the fourth time series data value and a fourth stored time series data value, the fourth stored time series data value stored in the fourth storage element;
replacing the fourth stored time series data value with the fourth aggregate value;
storing a first combined data value in a fifth storage element in the series of storage elements in the computer-readable data storage medium, the first combined data value equal to the sum of the first and second aggregate values; and
storing a second combined data value in a sixth storage element in the series of storage elements in the computer-readable data storage medium, the second combined data value equal to the sum of the third and fourth aggregate values,wherein the first, second, third, and fourth aggregate values are stored at a first resolution in the computer-readable data storage medium and the first and second combined data values are stored at a second resolution in the computer-readable data storage medium, wherein the second resolution is half of the first resolution.
2 Assignments
0 Petitions
Accused Products
Abstract
Data series are stored at multiple resolutions in a computer-readable data storage medium. In particular, time series data values of the data series are received with associated timestamps. Corresponding storage elements in the computer-readable data storage medium are identified based on the time stamps. Aggregate values are determined by summing the time series data values. The time series data values stored in the corresponding storage elements are replaced by the aggregate values. Combined data values of the aggregate values are stored in storage elements in the computer-readable storage medium at a first resolution and second resolution, where the second resolution is half of the first resolution.
-
Citations
12 Claims
-
1. A method for storing a data series at multiple resolutions in a computer-readable data storage medium, wherein data of the data series are sequential data from a sensor, the method comprising:
-
receiving a first time series data value of the data series, the first time series data value associated with a first timestamp; identifying a first storage element from a series of storage elements in the computer-readable data storage medium that corresponds to the first time series data value based on the first time stamp, wherein each storage element of the series of storage elements represents a different segment of time; determining a first aggregate value, wherein the first aggregate value is equal to the sum of the first time series data value and a first stored time series data value, the first stored time series data value stored in the first storage element; replacing the first stored time series data value with the first aggregate value; receiving a second time series data value of the data series, the second time series data value associated with a second timestamp; identifying a second storage element from the series of storage elements that corresponds to the second time series data value based on the second time stamp; determining a second aggregate value, wherein the second aggregate value is equal to the sum of the second time series data value and a second stored time series data value, the second stored time series data value stored in the second storage element; replacing the second stored time series data value with the second aggregate value; receiving a third time series data value of the data series, the third time series data value associated with a third timestamp; identifying a third storage element from the series of storage elements that corresponds to the third time series data value based on the third timestamp; determining a third aggregate value, wherein the third aggregate value is equal to the sum of the third time series data value and a third stored time series data value, the third stored time series data value stored in the third storage element; replacing the third stored time series data value with the third aggregate value; receiving a fourth time series data value of the data series, the fourth time series data value associated with a fourth timestamp; identifying a fourth storage element from the series of storage elements that corresponds to the fourth time series data value based on the fourth timestamp; determining a fourth aggregate value, wherein the fourth aggregate value is equal to the sum of the fourth time series data value and a fourth stored time series data value, the fourth stored time series data value stored in the fourth storage element; replacing the fourth stored time series data value with the fourth aggregate value; storing a first combined data value in a fifth storage element in the series of storage elements in the computer-readable data storage medium, the first combined data value equal to the sum of the first and second aggregate values; and storing a second combined data value in a sixth storage element in the series of storage elements in the computer-readable data storage medium, the second combined data value equal to the sum of the third and fourth aggregate values, wherein the first, second, third, and fourth aggregate values are stored at a first resolution in the computer-readable data storage medium and the first and second combined data values are stored at a second resolution in the computer-readable data storage medium, wherein the second resolution is half of the first resolution. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable data storage medium comprising program code for storing a data series at multiple resolutions, wherein data of the data series are sequential data from a sensor, comprising program code for:
-
receiving a first time series data value of the data series, the first time series data value associated with a first timestamp; identifying a first storage element from a series of storage elements in the computer-readable data storage medium that corresponds to the first time series data value based on the first time stamp, wherein each storage element of the series of storage elements represents a different segment of time; determining a first aggregate value, wherein the first aggregate value is equal to the sum of the first time series data value and a first stored time series data value, the first stored time series data value stored in the first storage element; replacing the first stored time series data value with the first aggregate value; receiving a second time series data value of the data series, the second time series data value associated with a second timestamp; identifying a second storage element from the series of storage elements that corresponds to the second time series data value based on the second time stamp; determining a second aggregate value, wherein the second aggregate value is equal to the sum of the second time series data value and a second stored time series data value, the second stored time series data value stored in the second storage element; replacing the second stored time series data value with the second aggregate value; receiving a third time series data value of the data series, the third time series data value associated with a third timestamp; identifying a third storage element from the series of storage elements that corresponds to the third time series data value based on the third timestamp; determining a third aggregate value, wherein the third aggregate value is equal to the sum of the third time series data value and a third stored time series data value, the third stored time series data value stored in the third storage element; replacing the third stored time series data value with the third aggregate value; receiving a fourth time series data value of the data series, the fourth time series data value associated with a fourth timestamp; identifying a fourth storage element from the series of storage elements that corresponds to the fourth time series data value based on the fourth timestamp; determining a fourth aggregate value, wherein the fourth aggregate value is equal to the sum of the fourth time series data value and a fourth stored time series data value, the fourth stored time series data value stored in the fourth storage element; replacing the fourth stored time series data value with the fourth aggregate value; and storing a first combined data value in a fifth storage element in the series of storage elements in the computer-readable data storage medium, the first combined data value equal to the sum of the first and second aggregate values; storing a second combined data value in a sixth storage element in the series of storage elements in the computer-readable data storage medium, the second combined data value equal to the sum of the third and fourth aggregate values, wherein the first, second, third, and fourth aggregate values are stored at a first resolution in the computer-readable data storage medium and the first and second combined data values are stored at a second resolution in the computer-readable data storage medium, wherein the second resolution is half of the first resolution. - View Dependent Claims (6, 7, 8)
-
-
9. A system for storing a data series at multiple resolutions, wherein data of the data series are sequential data from a common source, the system comprising:
-
a sensor; memory for storing program code, the program code comprising instructions for; receiving from the sensor a first time series data value of the data series, the first time series data value associated with a first timestamp; identifying a first storage element from a series of storage elements in a computer-readable data storage medium that corresponds to the first time series data value based on the first time stamp, wherein each storage element of the series of storage elements represents a different segment of time; determining a first aggregate value, wherein the first aggregate value is equal to the sum of the first time series data value and a first stored time series data value, the first stored time series data value stored in the first storage element; replacing the first stored time series data value with the first aggregate value; receiving from the sensor a second time series data value of the data series, the second time series data value associated with a second timestamp; identifying a second storage element from the series of storage elements that corresponds to the second time series data value based on the second time stamp; determining a second aggregate value, wherein the second aggregate value is equal to the sum of the second time series data value and a second stored time series data value, the second stored time series data value stored in the second storage element; replacing the second stored time series data value with the second aggregate value; receiving from the sensor a third time series data value of the data series, the third time series data value associated with a third timestamp; identifying a third storage element from the series of storage elements that corresponds to the third time series data value based on the third timestamp; determining a third aggregate value, wherein the third aggregate value is equal to the sum of the third time series data value and a third stored time series data value, the third stored time series data value stored in the third storage element; replacing the third stored time series data value with the third aggregate value; receiving from the sensor a fourth time series data value of the data series, the fourth time series data value associated with a fourth timestamp; identifying a fourth storage element from the series of storage elements that corresponds to the fourth time series data value based on the fourth timestamp; determining a fourth aggregate value, wherein the fourth aggregate value is equal to the sum of the fourth time series data value and a fourth stored time series data value, the fourth stored time series data value stored in the fourth storage element; replacing the fourth stored time series data value with the fourth aggregate value; storing a first combined data value in a fifth storage element in the series of storage elements in the computer-readable data storage medium, the first combined data value equal to the sum of the first and second aggregate values; and storing a second combined data value in a sixth storage element in the series of storage elements in the computer-readable data storage medium, the second combined data value equal to the sum of the third and fourth aggregate values, wherein the first, second, third, and fourth aggregate values are stored at a first resolution in the computer-readable data storage medium and the first and second combined data values are stored at a second resolution in the computer-readable data storage medium, wherein the second resolution is half of the first resolution; and a processor for executing the instructions stored in the memory. - View Dependent Claims (10, 11, 12)
-
Specification