US 11,886,453 B2
Quantization of data streams of instrumented software and handling of delayed or late data
Sunil Kittinakere Nagesh Koundinya, Newark, CA (US); Ramakrishnan Hariharan Chandrasekharapuram, San Jose, CA (US); and Paul Ingram, Menlo Park, CA (US)
Assigned to SPLUNK Inc., San Francisco, CA (US)
Filed by SPLUNK Inc., San Francisco, CA (US)
Filed on Oct. 29, 2021, as Appl. No. 17/515,137.
Prior Publication US 2023/0137103 A1, May 4, 2023
Int. Cl. G06F 16/2458 (2019.01); G06F 16/22 (2019.01)
CPC G06F 16/2474 (2019.01) [G06F 16/22 (2019.01); G06F 16/2477 (2019.01)] 21 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
receiving, by a data quantizer system, a first data point of a time series of data points via a network, the first data point having a first data point raw time and received at a first data point receipt time;
identifying a first roll-up window for the first data point based on the first data point raw time;
determining that the first data point is received after the first roll-up window is closed;
determining that the first data point is received in an in-order condition based on at least the first data point receipt time;
in response to determining that the first data point is received after the first roll-up window is closed and that the first data point is received in an in-order condition, adding the first data point to the first roll-up window;
generating a first roll-up data point for the first roll-up window using the first data point and at least one other data point added to the first roll-up window;
storing the first roll-up data point to one or more non-transitory data storage devices;
receiving a second data point of the time series of data points via the network, the second data point having a second data point raw time and received at a second data point receipt time;
identifying a second roll-up window for the second data point based on the second data point raw time;
determining that second data point is received after the second roll-up window is closed;
determining that the second data point is received in an out-of-order condition based on the second data point raw time and the second data point receipt time;
generating a second roll-up data point for the second roll-up window using at least one other data point added to the second roll-up window and without using the second data point;
storing the second roll-up data point to the one or more non-transitory data storage devices;
receiving a third data point of the time series of data points via the network, the third data point having a third data point raw time and received at a third data point receipt time;
identifying a third roll-up window for the third data point based on the third data point raw time;
determining that third data point is received while the third roll-up window is open;
generating a third roll-up data point for the third roll-up window using the third data point and at least one other data point added to the third roll-up window; and
storing the third roll-up data point to the one or more non-transitory data storage devices.