IP Library Granted Patent US 12,373,466
Granted Patent B2
US 12,373,466 · App. 18/222,863 · Granted Jul 29, 2025

Anomaly detection through clustering of time-series data subsequences and determination of adaptive thresholding

Inventors: Houwu Bai (San Jose, CA); Kristal Curtis (San Francisco, CA); William Deaderick (Austin, TX); Tanner Gilligan (San Bruno, CA); Poonam Yadav (San Francisco, CA); Om Rajyaguru (San Diego, CA)
Assignee: Cisco Technology, Inc.
G06F16/285G06F16/2462G06F16/2477
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,373,466
App. No.
18/222,863
Granted
Jul 29, 2025
Kind
B2
Abstract

Computerized methodologies are disclosed that are directed to detecting anomalies within a time-series data set. An aspect of the anomaly detection process includes determining one or more seasonality patterns that correspond to a specific time-series data set by evaluating a set of candidate seasonality patterns (e.g., hourly, daily, weekly, day-start off-sets, etc.). The evaluation of a candidate seasonality pattern may include dividing the time-series data set into a collection of subsequences based on the particular candidate seasonality pattern. Further, the collection of subsequences may be divided into clusters and a silhouette score may be computed to measure the clustering quality of the candidate seasonality pattern. In some instances, the candidate seasonality pattern having the highest silhouette score is selected and utilized in anomaly detection process. In other instances, a plurality of seasonality patterns may be combined forming a time policy, where the time policy is utilized in anomaly detection process.

Claims (53)

1. A computer-implemented method, comprising:

obtaining a time-series data set;

performing a data regularity check on the time-series data set;

responsive to the data regularity check not satisfying a data regularity threshold, performing a data aggregation process to regularize the time-series data set;

dividing the time-series data set into a set of subsequences based on a first candidate seasonality pattern;

clustering the set of subsequences in accordance with the first candidate seasonality pattern;

determining a silhouette score measuring a quality of the clustering, wherein the silhouette score indicates how well the first candidate seasonality pattern fits the time-series data set;

establishing an anomaly band for the time-series data set based on the first candidate seasonality pattern when the silhouette score satisfies a threshold comparison; and

detecting one or more anomalies within the time-series data set that are outside of the anomaly band.

2. The method of claim 1 , wherein the first candidate seasonality pattern is a set of parameters corresponding to values of data points comprising the time-series data set indicating an expected pattern of the values of the data points.

3. The method of claim 1 , wherein the first candidate seasonality pattern defines a methodology for dividing the time-series data set based on one or more of time of day or day of week.

4. The method of claim 1 , wherein computing the silhouette score for the first candidate seasonality pattern includes (i) computing a silhouette score for data points of the time-series data set, and (ii) determining a mean or a medium of the silhouette scores for the data points.

5. The method of claim 4 , wherein computing the silhouette score for the first data point of the data points comprising the time-series data set includes:

determining, for each cluster, an average distance between the first data point and data points belonging to clusters to which the first data point does not belong,

dividing (a) a difference between (i) a minimum of the average distances between the first data point and the data points belonging to the clusters to which the first data point does not belong, and (ii) an average distance between the first data point and the other data points belonging to a cluster to which the first data point does belong, by (b) a maximum of (i) the minimum of the average distances between the first data point and the data points belonging to the clusters to which the first data point does not belong, and (ii) the average distance between the first data point and the other data points belonging to the cluster to which the first data point does belong.

6. The method of claim 1 , wherein the anomaly band includes an upper threshold and a lower threshold relative to the time-series data set.

7. The method of claim 1 , wherein the time-series data set includes machine generated data from within a networked environment and comprises a set of data points each associated with a timestamp.

8. A computing device, comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to perform operations including:

obtaining a time-series data set;

performing a data regularity check on the time-series data set;

responsive to the data regularity check not satisfying a data regularity threshold, performing a data aggregation process to regularize the time-series data set;

dividing the time-series data set into a set of subsequences based on a first candidate seasonality pattern;

clustering the set of subsequences in accordance with the first candidate seasonality pattern;

determining a silhouette score measuring a quality of the clustering, wherein the silhouette score indicates how well the first candidate seasonality pattern fits the time-series data set;

establishing an anomaly band for the time-series data set based on the first candidate seasonality pattern when the silhouette score satisfies a threshold comparison; and

detecting one or more anomalies within the time-series data set that are outside of the anomaly band.

9. The computing device of claim 8 , wherein the first candidate seasonality pattern is a set of parameters corresponding to values of data points comprising the time-series data set indicating an expected pattern of the values of the data points.

10. The computing device of claim 8 , wherein the first candidate seasonality pattern defines a methodology for dividing the time-series data set based on one or more of time of day or day of week.

11. The computing device of claim 8 , wherein computing the silhouette score for the first candidate seasonality pattern includes (i) computing a silhouette score for data points of the time-series data set, and (ii) determining a mean or a medium of the silhouette scores for the data points.

12. The computing device of claim 11 , and wherein computing a silhouette score for a first data point of the data points comprising the time-series data set includes:

determining, for each cluster, an average distance between the first data point and data points belonging to clusters to which the first data point does not belong,

dividing (a) a difference between (i) a minimum of the average distances between the first data point and the data points belonging to the clusters to which the first data point does not belong, and (ii) an average distance between the first data point and the other data points belonging to a cluster to which the first data point does belong, by (b) a maximum of (i) the minimum of the average distances between the first data point and the data points belonging to the clusters to which the first data point does not belong, and (ii) the average distance between the first data point and the other data points belonging to the cluster to which the first data point does belong.

13. The computing device of claim 8 , wherein the anomaly band includes an upper threshold and a lower threshold relative to the time-series data set.

14. The computing device of claim 8 , wherein the time-series data set includes machine generated data from within a networked environment and comprises a set of data points each associated with a timestamp.

15. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processor to perform operations including:

obtaining a time-series data set;

performing a data regularity check on the time-series data set;

responsive to the data regularity check not satisfying a data regularity threshold, performing a data aggregation process to regularize the time-series data set;

dividing the time-series data set into a set of subsequences based on a first candidate seasonality pattern;

clustering the set of subsequences in accordance with the first candidate seasonality pattern;

determining a silhouette score measuring a quality of the clustering, wherein the silhouette score indicates how well the first candidate seasonality pattern fits the time-series data set;

establishing an anomaly band for the time-series data set based on the first candidate seasonality pattern when the silhouette score satisfies a threshold comparison; and

detecting one or more anomalies within the time-series data set that are outside of the anomaly band.

16. The non-transitory computer-readable medium of claim 15 , wherein the first candidate seasonality pattern is a set of parameters corresponding to values of data points comprising the time-series data set indicating an expected pattern of the values of the data points.

17. The non-transitory computer-readable medium of claim 15 , wherein the first candidate seasonality pattern defines a methodology for dividing the time-series data set based on one or more of time of day or day of week.

18. The non-transitory computer-readable medium of claim 15 , wherein computing the silhouette score for the first candidate seasonality pattern includes (i) computing a silhouette score for data points of the time-series data set, and (ii) determining a mean or a medium of the silhouette scores for the data points; and

wherein computing the silhouette score for the first data point of the data points comprising the time-series data set includes:

determining, for each cluster, an average distance between the first data point and data points belonging to clusters to which the first data point does not belong,

dividing (a) a difference between (i) a minimum of the average distances between the first data point and the data points belonging to the clusters to which the first data point does not belong, and (ii) an average distance between the first data point and the other data points belonging to a cluster to which the first data point does belong, by (b) a maximum of (i) the minimum of the average distances between the first data point and the data points belonging to the clusters to which the first data point does not belong, and (ii) the average distance between the first data point and the other data points belonging to the cluster to which the first data point does belong.

19. The non-transitory computer-readable medium of claim 15 , wherein the anomaly band includes an upper threshold and a lower threshold relative to the time-series data set.

20. The non-transitory computer-readable medium of claim 15 , wherein the time-series data set includes machine generated data from within a networked environment and comprises a set of data points each associated with a timestamp.

Assignments (4)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2024
From: RAJYAGURU, OM
To: SPLUNK INC.
Reel/Frame 068601/0467 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2023
From: BAI, HOUWU; CURTIS, KRISTAL; DEADERICK, WILLIAM; GILLIGAN, TANNER; YADAV, POONAM
To: SPLUNK INC.
Reel/Frame 064626/0013 →
Continuity (1)
Related Publication 20250028737A1 · Jan 23, 2025
References Cited (23)
US 7937344B2 · Baum et al. · 2011 [cited by applicant]
US 8112425B2 · Baum et al. · 2012 [cited by applicant]
US 8751529B2 · Zhang et al. · 2014 [cited by applicant]
US 8788525B2 · Neels et al. · 2014 [cited by applicant]
US 9215240B2 · Merza et al. · 2015 [cited by applicant]
US 9286413B1 · Coates et al. · 2016 [cited by applicant]
US 10127258B2 · Lamas et al. · 2018 [cited by applicant]
US 20130179381A1 · Kawabata · 2013 [cited by examiner]
US 20160219067A1 · Han · 2016 [cited by examiner]
US 20190098106A1 · Mungel et al. · 2019 [cited by applicant]
US 20210294818A1 · Savalle et al. · 2021 [cited by applicant]
US 20220218261A1 · Jiang · 2022 [cited by examiner]
US 20230367665A1 · Capano · 2023 [cited by examiner]
US 20230368069A1 · Xu · 2023 [cited by examiner]
US 20240265273A1 · Sun · 2024 [cited by examiner]
Alam et al, “Adaptable Anomaly Detection in Traffic Flow Time Series”, IEEE, pp. 1-9 (Year: 2019). [cited by examiner]
Bai, K. et al. “Anomaly Detection System and Method for Implementing a Data Regularity Check and Adaptive Thresholding,” filed Jul. 17, 2023, U.S. Appl. No. 18/222,870 including its prosecution history. [cited by applicant]
Bitincka, Ledion et al., “Optimizing Data Analysis with a Semi-structured Time Series Database,” self-published, first presented at “Workshop on Managing Systems via Log Analysis and Machine Learning Techniques (SLAML)”… [cited by applicant]
Carraso, David, “Exploring Splunk,” published by CITO Research, New York, NY, Apr. 2012. [cited by applicant]
Splunk Cloud 8.0.2004 User Manual, available online, retrieved May 20, 2020 from docs.splunk.com. [cited by applicant]
Splunk Enterprise 8.0.0 Overview, available online, retrieved May 20, 2020 from docs.splunk.com. [cited by applicant]
Splunk Quick Reference Guide, updated 2019, available online at https://www.splunk.com/pdfs/solution-guides/splunk-quick-reference-guide.pdf, retrieved May 20, 2020. [cited by applicant]
PCT/US2024/038419 filed Jul. 17, 2024, International Search Report and Written Opinion dated Oct. 22, 2024. [cited by applicant]
Cited By (1)
US 12,561,338