IP Library Granted Patent US 12,430,424
Granted Patent B2
US 12,430,424 · App. 18/020,909 · Granted Sep 30, 2025

Anomalous pattern detection for control of computer networks

Inventors: Ananth Geethanath (Bothell, WA); Ali Alam (Sammamish, WA); Shankaranand Arunachalam (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F21/552H04L41/064H04L43/16H04L63/1425H04L43/08
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,430,424
App. No.
18/020,909
Filed
Feb 10, 2023
Granted
Sep 30, 2025
Kind
B2
Examiner
NGUYEN, ANH
Art Unit
2442
USPC
726/23
Abstract

A system and method for detecting anomalies in a data stream is described. The system receives the data stream that comprises values of metrics derived from observations of operation of a computing entity over a time window. A model comprising variances of the data over the time window is formed. The model identifies operating thresholds for each metric based on the variances of the data for each metric in the data stream. The system computes a steady state distance matrix of the data stream. The system determines that the steady state distance matrix exceeds a steady state threshold. In response to determining that the steady state distance matrix exceeds the steady state threshold, the system computes a pattern distance matrix based on the steady state distance matrix. The anomaly in the data stream is detected based on the pattern distance matrix. The system generates an alert indicating the anomaly.

Claims (92)

1. A computer-implemented method for detecting anomalies in a data stream comprising:

receiving the data stream that comprises values of metrics derived from observations of operation of a computing entity over a time window;

forming a model comprising variances of data of the data stream over the time window, the model identifying operating thresholds for each metric based on the variances of the data for each metric in the data stream, wherein the variances are represented as acceleration matrices, and wherein bounds of the operating thresholds are determined using the acceleration matrices;

accessing a value of a metric vector for each metric from the data stream;

comparing the value of the metric vector for each metric with operating thresholds of a corresponding metric from the model, wherein an operating threshold for a first metric is calculated by computing first operating thresholds of the first metric in a first sub-window based on a rate of change of values of the first metric in the first sub-window and computing second operating thresholds for the first metric in a second sub-window based on a rate of change of values of the first metric in the second sub-window;

assigning a first matrix point value in response to the value of the metric vector being within the operating thresholds or a second matrix point value in response to the value of the metric vector being outside the operating thresholds;

forming an anomalous pattern matrix based on the first matrix point value or the second matrix point value of each metric from the data stream;

using the model to compute a steady state distance matrix of the data stream, by calculating a steady state distance between the anomalous pattern matrix and a steady state matrix, the steady state matrix representing a non-anomalous state;

determining that the steady state distance matrix exceeds a steady state threshold that is determined based on the operating thresholds of the model and metric vectors of the data stream;

in response to determining that the steady state distance matrix exceeds the steady state threshold, computing a Hamming distance between the anomalous pattern matrix and a metric matrix of metric vectors from the data stream;

detecting an anomaly in a subsequent time window of the data stream based on the Hamming distance; and

generating, at a computer, an alert indicating the anomaly.

2. The computer-implemented method of claim 1 , further comprising:

identifying a rate of change of the values of each metric in the data stream over the time window; and

determining a top operating threshold and a bottom operating threshold for each metric based on the rate of change of the values of each metric, a range formed between the bottom operating threshold and the top operating threshold for each metric indicative of a non-anomalous rate of change,

wherein the operating thresholds for each metric comprise the top operating threshold and the bottom operating threshold for a corresponding metric.

3. The computer-implemented method of claim 1 , further comprising:

grouping values of the first metric from the first sub-window that comprises a shorter window of the time window based on a seasonality of the data stream;

grouping values of the first metric from the second sub-window based on the seasonality of the data stream, the second sub-window being contiguous to the first sub-window;

identifying the rate of change of values of the first metric in the first sub-window; and

identifying the rate of change of values of the first metric in the second sub-window.

4. The computer-implemented method of claim 1 , further comprising:

forming the anomalous pattern matrix representative of anomalous events in the data stream,

wherein the steady state distance matrix is based on the anomalous pattern matrix.

5. The computer-implemented method of claim 1 , further comprising:

calculating the steady state distance matrix between the anomalous pattern matrix and a steady state matrix, the steady state matrix representing a non-anomalous state; and

calculating a steady state distance score for each metric based on the steady state distance matrix, the steady state distance score indicating a degree of anomaly, wherein the steady state threshold is based on the steady state distance score for each metric.

6. The computer-implemented method of claim 1 , further comprising:

accessing a predefined pattern matrix indicative of an anomalous state.

7. The computer-implemented method of claim 6 , further comprising:

detecting a similarity between the anomalous pattern matrix and the predefined pattern matrix based on the hamming distance; and

in response to detecting the similarity, indicating in the alert that the anomaly corresponds to the anomalous state.

8. The computer-implemented method of claim 1 , further comprising:

accessing a first predefined pattern matrix indicative of a first anomalous state;

accessing a second predefined pattern matrix indicative of a second anomalous state;

computing a first hamming distance matrix based on the anomalous pattern matrix and the first predefined pattern matrix; and

computing a second hamming distance matrix based on the anomalous pattern matrix and the second predefined pattern matrix,

wherein detecting the anomaly is based on the first hamming distance matrix and the second hamming distance matrix, wherein the alert indicates the first predefined pattern matrix or the second predefined pattern matrix in response to detecting the anomaly.

9. The computer-implemented method of claim 8 , further comprising:

detecting a similarity between the anomalous pattern matrix and the first predefined pattern matrix or the second predefined pattern matrix based on the second hamming distance matrix; and

in response to detecting the similarity, indicating in the alert that the anomaly corresponds to the first anomalous state or the second anomalous state.

10. The computer-implemented method of claim 1 , further comprising:

for each metric, forming a metric filter based on a high pass filter, a low pass filter, or a band filter; and

adjusting the model based on the metric filter.

11. The computer-implemented method of claim 1 , further comprising:

adjusting the operating thresholds of the model based on the anomaly identified in the alert.

12. The computer-implemented method of claim 1 , further comprising:

adjusting the operating thresholds of the model based on a pattern distance matrix identified in the alert.

13. A non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium including instructions that when executed by a computer, cause the computer to perform operations comprising:

receiving a data stream that comprises values of metrics derived from observations of operation of a computing entity over a time window;

forming a model comprising variances of data of the data stream over the time window, the model identifying operating thresholds for each metric based on the variances of the data for each metric in the data stream, wherein the variances are represented as acceleration matrices, and wherein bounds of the operating thresholds are determined using the acceleration matrices;

accessing a value of a metric vector for each metric from the data stream;

comparing the value of the metric vector for each metric with operating thresholds of a corresponding metric from the model, wherein an operating threshold for a first metric is calculated by computing first operating thresholds of the first metric in a first sub-window based on a rate of change of values of the first metric in the first sub-window and computing second operating thresholds for the first metric in a second sub-window based on a rate of change of values of the first metric in the second sub-window;

assigning a first matrix point value in response to the value of the metric vector being within the operating thresholds or a second matrix point value in response to the value of the metric vector being outside the operating thresholds;

forming an anomalous pattern matrix based on the first matrix point value or the second matrix point value of each metric from the data stream;

using the model to compute a steady state distance matrix of the data stream, by calculating a steady state distance between the anomalous pattern matrix and a steady state matrix, the steady state matrix representing a non-anomalous state;

determining that the steady state distance matrix exceeds a steady state threshold that is determined based on the operating thresholds of the model and metric vectors of the data stream;

in response to determining that the steady state distance matrix exceeds the steady state threshold, computing a Hamming distance between the anomalous pattern matrix and a metric matrix of metric vectors from the data stream;

detecting an anomaly in a subsequent time window of the data stream based on the Hamming distance; and

generating, at a computer, an alert indicating the anomaly.

14. A computing apparatus, the computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the computing apparatus to perform operations for detecting anomalies in a data stream, the operations comprising:

receiving the data stream that comprises values of metrics derived from observations of operation of a computing entity over a time window;

forming a model comprising variances of data of the data stream over the time window, the model identifying operating thresholds for each metric based on the variances of the data for each metric in the data stream, wherein the variances are represented as acceleration matrices, and wherein bounds of the operating thresholds are determined using the acceleration matrices;

accessing a value of a metric vector for each metric from the data stream;

comparing the value of the metric vector for each metric with operating thresholds of a corresponding metric from the model, wherein an operating threshold for a first metric is calculated by computing first operating thresholds of the first metric in a first sub-window based on a rate of change of values of the first metric in the first sub-window and computing second operating thresholds for the first metric in a second sub-window based on a rate of change of values of the first metric in the second sub-window;

assigning a first matrix point value in response to the value of the metric vector being within the operating thresholds or a second matrix point value in response to the value of the metric vector being outside the operating thresholds;

forming an anomalous pattern matrix based on the first matrix point value or the second matrix point value of each metric from the data stream;

using the model to compute a steady state distance matrix of the data stream, by calculating a steady state distance between the anomalous pattern matrix and a steady state matrix, the steady state matrix representing a non-anomalous state;

determining that the steady state distance matrix exceeds a steady state threshold that is determined based on the operating thresholds of the model and metric vectors of the data stream;

in response to determining that the steady state distance matrix exceeds the steady state threshold, computing a Hamming distance between the anomalous pattern matrix and a metric matrix of metric vectors from the data stream;

detecting an anomaly in a subsequent time window of the data stream based on the Hamming distance; and

generating, at the computing apparatus, an alert indicating the anomaly.

15. The non-transitory computer-readable storage medium of claim 13 , further comprising instructions that cause the computer to perform operations comprising:

identifying a rate of change of the values of each metric in the data stream over the time window; and

determining a top operating threshold and a bottom operating threshold for each metric based on the rate of change of the values of each metric, a range formed between the bottom operating threshold and the top operating threshold for each metric indicative of a non-anomalous rate of change, wherein the operating thresholds for each metric comprise the top operating threshold and the bottom operating threshold for a corresponding metric.

16. The non-transitory computer-readable storage medium of claim 13 , further comprising instructions that cause the computer to perform operations comprising:

grouping values of the first metric from the first sub-window that comprises a shorter window of the time window based on a seasonality of the data stream;

grouping values of the first metric from the second sub-window based on the seasonality of the data stream, the second sub-window being contiguous to the first sub-window;

identifying the rate of change of values of the first metric in the first sub-window; and

identifying the rate of change of values of the first metric in the second sub-window.

17. The computing apparatus of claim 14 , the memory further comprising instructions that configure the computing apparatus to perform operations for detecting anomalies in a data stream, the operations comprising:

identifying a rate of change of the values of each metric in the data stream over the time window; and

determining a top operating threshold and a bottom operating threshold for each metric based on the rate of change of the values of each metric, a range formed between the bottom operating threshold and the top operating threshold for each metric indicative of a non-anomalous rate of change, wherein the operating thresholds for each metric comprise the top operating threshold and the bottom operating threshold for a corresponding metric.

18. The computing apparatus of claim 14 , the memory further comprising instructions that configure the computing apparatus to perform operations for detecting anomalies in a data stream, the operations comprising:

grouping values of the first metric from the first sub-window that comprises a shorter window of the time window based on a seasonality of the data stream;

grouping values of the first metric from the second sub-window based on the seasonality of the data stream, the second sub-window being contiguous to the first sub-window;

identifying the rate of change of values of the first metric in the first sub-window; and

identifying the rate of change of values of the first metric in the second sub-window.

19. The computing apparatus of claim 14 , the memory further comprising instructions that configure the computing apparatus to perform operations for detecting anomalies in a data stream, the operations comprising:

forming an anomalous pattern matrix representative of anomalous events in the data stream, wherein the steady state distance matrix is based on the anomalous pattern matrix.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2023
From: GEETHANATH, ANANTH; ALAM, ALI; ARUNACHALAM, SHANKARANAND
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062872/0253 →
Priority Claims (1)
LU 102090 · Sep 29, 2020 · national
Continuity (1)
Related Publication 20230353588A1 · Nov 2, 2023
References Cited (20)
US 8688620B2 · Viswanathan et al. · 2014 [cited by applicant]
US 9471778B1 · Seo et al. · 2016 [cited by applicant]
US 10140576B2 · Eldardiry et al. · 2018 [cited by applicant]
US 10187326B1 · Anand et al. · 2019 [cited by applicant]
US 20060101402A1 · Miller et al. · 2006 [cited by applicant]
US 20170339168A1 · Balabine · 2017 [cited by examiner]
US 20190081876A1 · Ghare · 2019 [cited by examiner]
US 20190102276A1 · Dang · 2019 [cited by examiner]
US 20190294524A1 · Gupta · 2019 [cited by examiner]
US 20200211325A1 · Kaizerman · 2020 [cited by examiner]
Communication under rule 71(3) received for European Application No. 21766354.1, mailed on May 23, 2024, 9 pages. [cited by applicant]
Communication under rule 71(3) received for European Application No. 21766354.1, mailed on Aug. 23, 2024, 8 pages. [cited by applicant]
“Hamming Distance”, Retrieved From: https://web.archive.org/web/20200718145929/https:/en.wikipedia.org/wiki/Hamming_distance, Jul. 18, 2020, 6 Pages. [cited by applicant]
“Predictive Analytics Fueled by AI & ML”, Retrieved From: https://web.archive.org/web/20200513230955/https:/resolve.io/aiops/predictive-analytics, May 13, 2020, 10 Pages. [cited by applicant]
Cerliani, Marco, “Anomaly Detection in Multivariate Time Series with VAR”, Retrieved From: https://towardsdatascience.com/anomaly-detection-in-multivariate-time-series-with-var-2130f276e5e9, Jun. 17, 2020, 9 Pages. [cited by applicant]
“Search Report Issued in Luxembourg Patent Application No. LU102090”, Mailed Date: May 17, 2021, 10 Pages. [cited by applicant]
Maya, et al., “dLSTM: A New Approach for Anomaly Detection using Deep Learning with Delayed Prediction”, In International Journal of Data Science and Analytics, vol. 8, May 15, 2019, pp. 137-164. [cited by applicant]
“International Search Report & Written Opinion Issued in PCT Application No. PCT/US21/046577”, Mailed Date: Oct. 8, 2021, 15 Pages. [cited by applicant]
Frank, Adam, “Extracting Insights from Metrics with AIOps for Better Observability”, Retrieved From: https://web.archive.org/web/20200621002014/https://www.moogsoft.com/blog/aiops/better-observability/, Apr. 20, 2020, 1… [cited by applicant]
Decision to Grant pursuant to Article 97(1) received for European Application No. 21766354.1, mailed on Nov. 21, 2024, 02 pages. [cited by applicant]