IP Library Granted Patent US 12,499,003
Granted Patent B2
US 12,499,003 · App. 18/408,867 · Granted Dec 16, 2025

Configurable circular buffer for streaming multivariate ML estimation

Inventors: Denesh Kumar Krishnan Rajaram (Kenmore, WA); Ruixian Liu (San Diego, CA); Guang Chao Wang (San Diego, CA); Kenny C. Gross (Escondido, CA)
Assignee: Oracle International Corporation
G06F11/079G06F11/0727G06F11/0769G06F11/30G06F11/3442G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,499,003
App. No.
18/408,867
Granted
Dec 16, 2025
Kind
B2
Abstract

Systems, methods, and other embodiments associated with automatic configuration of a circular buffer for ingesting a stream and generating ML estimates in real-time are described. In one embodiment, an example method includes loading a stream of multivariate time series observations into a circular buffer at a real-time pace of input from a target asset. The circular buffer is configured with a buffer configuration that specifies buffer length and choice of arrangement as a single-buffer or dual-buffer. The method then adjusts the buffer configuration until generation of machine learning estimates of the multivariate time series observations that are in the circular buffer satisfies a threshold test for generation at the real-time pace. And, at the real time pace, the method loads additional multivariate time series observations into the circular buffer that is in the adjusted configuration and generates additional machine learning estimates of the additional multivariate time series observations.

Claims (59)

1 . One or more non-transitory computer-readable media that include stored thereon computer-executable instructions that when executed by at least a processor of a computer system cause the computer system to:

load a stream of multivariate time series observations into a circular buffer at a real-time pace of input from a target asset, wherein the circular buffer is configured with a buffer configuration that specifies a length of the circular buffer and whether the circular buffer is arranged as a single-buffer or dual-buffer;

adjust the length of the circular buffer in a memory until generation of machine learning estimates of the multivariate time series observations that are in the circular buffer satisfies a threshold test for generation at the real-time pace; and

at the real time pace, (i) load additional multivariate time series observations into the circular buffer that is in the adjusted length and (ii) generate additional machine learning estimates of the additional multivariate time series observations.

2 . The non-transitory computer-readable media of claim 1 , wherein the computer-executable instructions to adjust the length of the circular buffer in the memory causes the computer system to iteratively test the generation of the additional machine learning estimates with incremental decreases of the length of the circular buffer arranged as the single-buffer and as the dual-buffer until the threshold test is satisfied.

3 . The non-transitory computer-readable media of claim 2 , wherein the computer-executable instructions to adjust the length of the circular buffer in the memory causes the computer system to, when the length of the circular buffer reaches a pre-determined minimum:

downsample the stream of multivariate time series observations; and

reset the length of the circular buffer to a pre-determined maximum.

4 . The non-transitory computer-readable media of claim 1 , wherein the threshold test for the generation of the machine learning estimates at the real time pace is remaining within a maximum for observations missed, wherein the computer-executable instructions further cause the computer system to:

generate the machine learning estimates of the multivariate time series observations that are in the circular buffer;

write the estimates in an output stream as they are generated;

detect a count of the multivariate time series observations that are missed based on absence of estimates that correspond to the multivariate time series observations; and

determine that the threshold test for generation at the real-time pace is satisfied based on comparing the count of the multivariate time series observations that are missed with the maximum for observations missed.

5 . The non-transitory computer-readable media of claim 1 , further comprising instructions that when executed by at least the processor cause the computer system to:

detect an anomaly between the additional multivariate time series observations and the additional machine learning estimates in real time; and

in response to detection of the anomaly, generate an electronic alert in real time.

6 . The non-transitory computer-readable media of claim 1 , wherein the additional multivariate time series observations are from the target asset.

7 . The non-transitory computer-readable media of claim 1 , wherein the additional multivariate time series observations are from an asset that is of similar construction to the target asset.

8 . A configurable circular buffer system for streaming multivariate estimation, comprising:

a circular buffer that is configured to load a stream of multivariate time series observations at a real-time pace of input from a target asset, wherein the circular buffer is configured with a buffer configuration that specifies a length of the circular buffer and whether the circular buffer is arranged as a single-buffer or dual-buffer;

an estimate generator that is configured to generate machine learning estimates of the multivariate time series observations that are in the circular buffer; and

a buffer configurator that is configured to adjust the length of the circular buffer in a memory until generation of the machine learning estimates of the multivariate time series observations that are in the circular buffer satisfies a threshold test for generation at the real-time pace.

9 . The configurable circular buffer system of claim 8 , wherein the buffer configurator is further configured to iteratively test the generation of machine learning estimates with incremental decreases of the length of the circular buffer arranged as the single-buffer and as the dual-buffer until the threshold test is satisfied.

10 . The configurable circular buffer system of claim 9 , wherein the buffer configurator is further configured to to, when the length of the circular buffer reaches a pre-determined minimum:

downsample the stream of multivariate time series observations; and

reset the length of the circular buffer to a pre-determined maximum.

11 . The configurable circular buffer system of claim 8 , wherein the buffer configurator is further configured to determine that the threshold test is satisfied based on a count of observations that are missed by the estimate generator.

12 . The configurable circular buffer system of claim 8 , further comprising an anomaly detector that is configured to:

detect an anomaly between additional time series observations and corresponding additional machine learning estimates in real time; and

in response to detection of the anomaly, generate an electronic alert in real time.

13 . The configurable circular buffer system of claim 8 , wherein the estimate generator further comprises a multivariate state estimation technique model that is configured to generate the machine learning estimates to be consistent with expected values for multivariate observations of the target asset.

14 . A computer-implemented method, comprising:

configuring a circular buffer with a buffer configuration that specifies a length of the circular buffer and whether the circular buffer is arranged as a single-buffer or dual-buffer;

loading a stream of multivariate time series observations into the circular buffer at a real-time pace of input from a target asset;

adjusting the length of the circular buffer in a memory until generation of machine learning estimates of the multivariate time series observations that are in the circular buffer satisfies a threshold test for generation at the real-time pace; and

at the real-time pace,

(i) loading additional multivariate time series observations into the circular buffer that has the adjusted length and

(ii) generating additional machine learning estimates of the additional multivariate time series observations.

15 . The computer-implemented method of claim 14 , wherein adjusting the length of the circular buffer in a memory further comprises iteratively testing the generation of machine learning estimates with incremental decreases of the length of the circular buffer arranged as the single-buffer and as the dual-buffer until the threshold test is satisfied.

16 . The computer-implemented method of claim 15 , wherein adjusting the length of the circular buffer in a memory further comprises:

detecting that the length of the circular buffer has reached a pre-determined minimum;

setting the stream of multivariate time series observations to be downsampled; and

resetting the length of the circular buffer to a pre-determined maximum.

17 . The computer-implemented method of claim 14 , wherein the threshold test for generation at the real time pace is remaining within a maximum for observations missed, the method further comprising:

generating the machine learning estimates of the multivariate time series observations that are in the circular buffer;

writing the estimates in an output stream as they are generated;

detecting a count of the multivariate time series observations that are missed based on absence of estimates that correspond to the multivariate time series observations; and

determining that the threshold test for generation at the real-time pace is satisfied based on comparing the count of the multivariate time series observations that are missed with the maximum for observations missed.

18 . The computer-implemented method of claim 14 , further comprising

detecting an anomaly between the additional multivariate time series observations and the additional machine learning estimates in real time; and

in response to detection of the anomaly, generating an electronic alert in real time.

19 . The computer-implemented method of claim 14 , further comprising:

training a multivariate state estimation technique model to produce estimates that are consistent with what multivariate observations of the target asset are expected to be; and

generating the machine learning estimates of the multivariate time series observations that are in the circular buffer using the trained multivariate state estimation technique model.

20 . The computer-implemented method of claim 14 , further comprising, while loading the additional multivariate time series observations and generating the additional machine learning estimates:

load the additional multivariate time series observations into an alternative configuration of the circular buffer at the real time pace;

adjust the alternative configuration until generation of additional machine learning estimates from the additional multivariate time series observations satisfies the threshold test;

compare the alternative configuration to the adjusted buffer configuration having the adjusted length; and

in response to a difference between the adjusted buffer configuration and the alternative configuration, update the adjusted buffer configuration to the alternative configuration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2024
From: KRISHNAN RAJARAM, DENESH KUMAR; LIU, RUIXIAN; WANG, GUANG CHAO; GROSS, KENNY C.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 066080/0160 →
Continuity (1)
Related Publication 20250225018A1 · Jul 10, 2025
References Cited (103)
US 4686655A · Hyatt · 1987 [cited by applicant]
US 7020802B2 · Gross et al. · 2006 [cited by applicant]
US 7191096B1 · Gross et al. · 2007 [cited by applicant]
US 7281112B1 · Gross et al. · 2007 [cited by applicant]
US 7292659B1 · Gross et al. · 2007 [cited by applicant]
US 7391835B1 · Gross et al. · 2008 [cited by applicant]
US 7542995B2 · Thampy et al. · 2009 [cited by applicant]
US 7573952B1 · Thampy et al. · 2009 [cited by applicant]
US 7613576B2 · Gross et al. · 2009 [cited by applicant]
US 7613580B2 · Gross et al. · 2009 [cited by applicant]
US 7702485B2 · Gross et al. · 2010 [cited by applicant]
US 7869977B2 · Lewis et al. · 2011 [cited by applicant]
US 8055594B2 · Dhanekula et al. · 2011 [cited by applicant]
US 8069490B2 · Gross et al. · 2011 [cited by applicant]
US 8150655B2 · Dhanekula et al. · 2012 [cited by applicant]
US 8200991B2 · Vaidyanathan et al. · 2012 [cited by applicant]
US 8214682B2 · Madyanathan et al. · 2012 [cited by applicant]
US 8275738B2 · Gross et al. · 2012 [cited by applicant]
US 8341759B2 · Gross et al. · 2012 [cited by applicant]
US 8365003B2 · Gross et al. · 2013 [cited by applicant]
US 8543346B2 · Gross et al. · 2013 [cited by applicant]
US 9514213B2 · Wood et al. · 2016 [cited by applicant]
US 9933338B2 · Noda et al. · 2018 [cited by applicant]
US 10015139B2 · Gross et al. · 2018 [cited by applicant]
US 10452510B2 · Gross et al. · 2019 [cited by applicant]
US 10496084B2 · Li et al. · 2019 [cited by applicant]
US 10860011B2 · Gross et al. · 2020 [cited by applicant]
US 10929776B2 · Gross et al. · 2021 [cited by applicant]
US 11042428B2 · Gross et al. · 2021 [cited by applicant]
US 11055396B2 · Gross et al. · 2021 [cited by applicant]
US 11255894B2 · Wetherbee et al. · 2022 [cited by applicant]
US 11392786B2 · Gross et al. · 2022 [cited by applicant]
US 11513718B2 · Liu · 2022 [cited by examiner]
US 12045591B2 · Sheeley · 2024 [cited by examiner]
US 20080140362A1 · Gross et al. · 2008 [cited by applicant]
US 20080252309A1 · Gross et al. · 2008 [cited by applicant]
US 20080252441A1 · McElfresh et al. · 2008 [cited by applicant]
US 20080256398A1 · Gross et al. · 2008 [cited by applicant]
US 20090099830A1 · Gross et al. · 2009 [cited by applicant]
US 20090125467A1 · Dhanekula et al. · 2009 [cited by applicant]
US 20090306920A1 · Zwinger et al. · 2009 [cited by applicant]
US 20100023282A1 · Lewis et al. · 2010 [cited by applicant]
US 20100033386A1 · Lewis et al. · 2010 [cited by applicant]
US 20100161525A1 · Gross et al. · 2010 [cited by applicant]
US 20100305892A1 · Gross et al. · 2010 [cited by applicant]
US 20100306165A1 · Gross et al. · 2010 [cited by applicant]
US 20120030775A1 · Gross et al. · 2012 [cited by applicant]
US 20140140209A1 · Shihada et al. · 2014 [cited by applicant]
US 20170163669A1 · Brown et al. · 2017 [cited by applicant]
US 20180129975A1 · Razin et al. · 2018 [cited by applicant]
US 20180349797A1 · Garvey et al. · 2018 [cited by applicant]
US 20190102718A1 · Agrawal · 2019 [cited by applicant]
US 20190163719A1 · Gross et al. · 2019 [cited by applicant]
US 20190196892A1 · Matei et al. · 2019 [cited by applicant]
US 20190197145A1 · Gross et al. · 2019 [cited by applicant]
US 20190237997A1 · Tsujii et al. · 2019 [cited by applicant]
US 20190243799A1 · Gross et al. · 2019 [cited by applicant]
US 20190286725A1 · Gawlick · 2019 [cited by examiner]
US 20190324430A1 · Herzog et al. · 2019 [cited by applicant]
US 20190378022A1 · Wang et al. · 2019 [cited by applicant]
US 20200125819A1 · Gross et al. · 2020 [cited by applicant]
US 20200144204A1 · Keller, III et al. · 2020 [cited by applicant]
US 20200201950A1 · Wang et al. · 2020 [cited by applicant]
US 20210027152A1 · Van Der Made · 2021 [cited by examiner]
US 20210081573A1 · Gross et al. · 2021 [cited by applicant]
US 20210158202A1 · Backlawski et al. · 2021 [cited by applicant]
US 20210174248A1 · Wetherbee et al. · 2021 [cited by applicant]
US 20210270884A1 · Wetherbee et al. · 2021 [cited by applicant]
US 20220036158A1 · Kuo · 2022 [cited by examiner]
US 20220121955A1 · Chavoshi et al. · 2022 [cited by applicant]
US 20240256947A1 · Ding · 2024 [cited by examiner]
US 20240281393A1 · Lai · 2024 [cited by examiner]
US 20240362296A1 · Shapiro · 2024 [cited by examiner]
US 20240370240A1 · Sheeley · 2024 [cited by examiner]
US 20250225018A1 · Krishnan Rajaram · 2025 [cited by examiner]
CN 109934412A · 2019 [cited by applicant]
CN 113986150A · 2022 [cited by applicant]
CN 114502979A · 2022 [cited by applicant]
DE 4447288A1 · 1995 [cited by applicant]
Gross, Kenny, Oracle Labs; MSET2 Overview: “Anomaly Detection and Prediction” Oracle Cloud Autonomous Prognostics; p. 1-58; Aug. 8, 2019. [cited by applicant]
Gross, K. C. et al., “Application of a Model-Based Fault Detection System to Nuclear Plant Signals,” downloaded from https://www.researchgate.net/publication/236463759; Conference Paper: May 1, 1997, 5 pages. [cited by applicant]
Bergbom et al., “Low-Latency Anomaly Detection Using Stream Processing”; Chalmers University of Technology, Gothenburg, Sweden, 2020, pp. 1-74. [cited by applicant]
Wang et al., “PoTiA: A Popularity and Timeout Analysis Based SDN Controller Protection Approach; IEEE Access”; vol. 6, Publication date: Oct. 10, 2018, pp. 1-15. [cited by applicant]
Tao et al., “ECODA: Enhanced Congestion Detection and Avoidance for Multiple Class of Traffic in Sensor Networks”, IEEE Transactions on Consumer Electronics, vol. 56, No. 3, Aug. 2010, pp. 1387-1394. [cited by applicant]
Anton Kalashnikov, “FLIP-183: Dynamic Buffer Size Adjustment”, Apache Software Foundation; Last modified Sep. 16, 2022; pp. 1-3. [cited by applicant]
Khan et al. “Sizing Buffers of loT Edge Routers”, Virginia Tech, 2018, pp. 1-6. [cited by applicant]
Narasayya et al., Sharing Buffer Pool Memory in Multi-Tenant Relational Database-as-a-Service; Microsoft Resarch, Redmond, WA, Copyright 2015, pp. 1-12. [cited by applicant]
Amazon Web Services; “AWS IoT Sitewise Features”; 2023—pp. 1-4. [cited by applicant]
General Electric Company; “Time Series Service Overview”, Copyright 2023, pp. 1-2. [cited by applicant]
Bhspyder; “Double Buffering Optimization #4262”; May 30, 2023; downloaded from github.com/lvgl/lvgl/issues/4262; pp. 1-6. [cited by applicant]
Sofanit Wubeshet Beyene et al.; “Prioritized Hindsight with Dual Buffer for Meta-Reinforcement Learning”; MDPI, Electronics 2022, 11, 4192; pp. 1-15. [cited by applicant]
Wilmanns et al.; “Buffer SIzing to Reduce Interference and Increase Throughput of Real-Time Stream Processing Applications”, 2015 IEEE; pp. 1-11. [cited by applicant]
Bouali Fatma et al. “Visual mining of time series using a tubular visualization,” Visual Computer, Springer, Berlin, DE, vol. 32, No. 1, Dec. 5, 2014 (Dec. 5, 2014), pp. 15-30. [cited by applicant]
Dickey et al.; Checking for Autocorrelation in Regression Residuals; pp. 959-965; Proceedings of 11th Annual SAS Users Group International Conference; 1986. [cited by applicant]
Hoyer et al.; Spectral Decomposition and Reconstruction of Nuclear Plant Signals; pp. 1153-1158; published Jan. 1, 2005; downloaded on Jul. 14, 2021 from: https://support.sas.com/resources/papers/proceedings-archive/SUG… [cited by applicant]
Whisnant et al.; “Proactive Fault Monitoring in Enterprise Servers,” IEEE—International Multiconference in Computer Science & Computer Engineering (Jun. 27-30, 2005) 11 pgs. [cited by applicant]
US Nuclear Regulatory Commission; “Technical Review of On-Line Monitoring Techniques for Performance Assessment,” vol. 1, Jan. 31, 2006. [cited by applicant]
Gribok, et al.,. “Use of Kernel Based Techniques for Sensor Validation in Nuclear Power Plants,” International Topical Meeting on Nuclear Plant Instrumentation, Controls, and Human-Machine Interface Technologies (NPIC &… [cited by applicant]
Singer, et al., “Model-Based Nuclear Power Plant Monitoring and Fault Detection: Theoretical Foundations,” Intelligent System Application to Power Systems (ISAP '97), Jul. 6-10, 1997, Seoul, Korea pp. 60-65. [cited by applicant]
Wald, A, “Sequential Probability Ratio Test for Reliability Demonstration”, John Wiley & Sons, 1947. [cited by applicant]
Abebe Diro et al.; A Comprehensive Study of Anomaly Detection Schemes in IoT Networks Using Machine Learning Algorithms; pp. 1-13; 2021; downloaded from: https://doi.org/10.3390/s21248320. [cited by applicant]
Zhenlong Xiao, et al.; Anomalous IoT Sensor Data Detection: An Efficient Approach Enabled by Nonlinear Frequency-Domain Graph Analysis; IEEE Internet of Things Journal, Aug. 2020; pp. 1-11. [cited by applicant]
Gross Kenny et al: “AI Decision Support Prognostics for IoT Asset Health Monitoring, Failure Prediction, Time to Failure”, 2019 International Conference on Computational Science and Computational Intelligence (CSCI), IE… [cited by applicant]