US 12,013,879 B2
Dynamic resolution estimation in metric time series data
Nishant Agarwal, San Jose, CA (US); Houwu Bai, San Jose, CA (US); Darshan Patel, Sunnyvale, CA (US); Rajesh Raman, Palo Alto, CA (US); and Joseph Ari Ross, Redwood City, CA (US)
Assigned to SPLUNK Inc., San Francisco, CA (US)
Filed by SPLUNK Inc., San Francisco, CA (US)
Filed on Apr. 14, 2022, as Appl. No. 17/721,248.
Claims priority of provisional application 63/256,916, filed on Oct. 18, 2021.
Prior Publication US 2023/0118988 A1, Apr. 20, 2023
Int. Cl. G06F 16/2458 (2019.01); G06F 16/2455 (2019.01); G06F 16/28 (2019.01); H04L 43/08 (2022.01)
CPC G06F 16/287 (2019.01) [G06F 16/24568 (2019.01); G06F 16/2477 (2019.01); H04L 43/08 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
receiving a first plurality of data points of a stream of data points at a first data resolution, each data point in the stream of data points including a data point value and an associated time stamp, wherein the first data resolution corresponds to an inter-arrival time between data points in the first plurality of data points;
setting an output resolution for an output data stream to a first value;
generating a first set of output data points for the output data stream based upon the data points in the first plurality of data points received via the stream of data points;
transmitting the first set of output data points for the output data stream according to the output resolution set to the first value, wherein the first value represents a time between transmitting data points in the first set of output data points;
based upon monitoring of the stream of data points, detecting a change in data resolution of data points in the stream of data points from the first data resolution to a second data resolution that is different from the first data resolution;
responsive to detecting the change in data resolution of data points in the stream of data points from the first data resolution to the second data resolution, setting the output resolution for the output data stream to a second value different from the first value;
generating a second set of output data points for the output data stream based upon a second plurality of data points of the stream of data points; and
transmitting the second set of output data points for the output data stream according to the output resolution set to the second value, wherein the second value represents a time between transmitting data points in the second set of output data points.