US 11,934,409 B2
Continuous functions in a time-series database
Lonnie J. Princehouse, Seattle, WA (US); Timothy A. Rath, Olympia, WA (US); Gaurav Gupta, Sammamish, WA (US); Mustafa Ozan Ozen, Vancouver (CA); Omer Ahmed Zaki, Bellevue, WA (US); Karthik Gurumoorthy Subramanya Bharathy, Sammamish, WA (US); and Gaurav Saxena, Seattle, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Nov. 23, 2018, as Appl. No. 16/199,102.
Prior Publication US 2020/0167361 A1, May 28, 2020
Int. Cl. G06F 16/00 (2019.01); G06F 3/06 (2006.01); G06F 16/2455 (2019.01); G06F 16/248 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/24568 (2019.01) [G06F 3/0607 (2013.01); G06F 3/0644 (2013.01); G06F 3/067 (2013.01); G06F 16/248 (2019.01); G06F 16/278 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
one or more processors and one or more memories storing computer-executable instructions that, when executed by the one or more processors, implement a distributed time-series database configured to:
store a plurality of discrete data points of a time series using one or more storage tiers, wherein the plurality of discrete data points comprises a plurality of discrete measurements at respective timestamps;
receive, from a client external to the time-series database, a request to analyze the time series, the request comprising a computing operation, wherein to analyze the time series the distributed time-series database is configured to perform the computing operation of the request using, as input, a continuous function of the time-series to represent the time series at every point in time over a time range of the time series specified in the request having a starting time and an ending time; and
responsive to receiving the request:
generate the continuous function of the time-series to perform the request, wherein to generate the continuous function of the time-series the distributed time-series database is configured to:
load a portion of the stored plurality of discrete data points in the indicated time range; and
apply a regression to the loaded portion of the stored plurality of discrete data points according to one or more conversion parameters specified in the request to generate the continuous function of the time series, wherein the continuous function is generated based at least in part on the discrete measurements at respective timestamps within the loaded portion of the stored plurality of discrete data points in the indicated time range;
perform the computing operation of the request using the continuous function of the time-series as input; and
return to the client a result based at least in part on an output of the performing of the computing operation.