IP Library Granted Patent US 12,373,324
Granted Patent B1
US 12,373,324 · App. 17/591,535 · Granted Jul 29, 2025

System and method for format drift and format anomaly detection

Inventors: Zhaohui Wang (San Francisco, CA); Ryan Gannon (San Francisco, CA); Xiao Lin (San Jose, CA); Chandrima Sarkar (Dublin, CA)
Assignee: Cisco Technology, Inc.
G06F11/3452G06F16/244G06F16/2462
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,324
App. No.
17/591,535
Granted
Jul 29, 2025
Kind
B1
Abstract

A computerized method for detection of format drift and format anomalies is described. A format representation for each data point of a first data sample is extracted. Transformations of each format representation is conducted, resulting in a first plurality of count values (reference) and a second plurality of count values. Each count value identifies a number of occurrences of a transformed format representation within that data sample. Thereafter, a first probability distribution for the first plurality of count values and a second probability distribution for the second plurality of count values are computed. Analytics using the first and probability distributions are conducted to produce a first metric. A format drift is determined based on an evaluation of the first metric to a second metric operating as a threshold metric. Format anomalies are detected based on analytics of hashed format representation and determination of infrequent usage of a particular format representation.

Claims (58)

1. A computerized method comprising:

extracting a format representation for a first data sample of an incoming data stream by at least accessing a data schema for each field of the first data sample to determine a data point type, wherein the first data sample comprises a plurality of data points, each data point of the plurality of data points is maintained within a field of the first data sample and corresponds to a performance measurement directed to (i) computing resource associated with a source of the incoming data stream or (ii) an operating state of the source of the incoming data stream;

conducting transformations on format representations associated with data point types of the first data sample to produce a first plurality of count values, wherein the transformed format representations associated with each data point type within the first data sample operates as a count reference;

accessing a data schema for each field of a second data sample of the incoming data stream to determine a data point type for identifying changes in field format;

conducting transformations on format representations associated with data point types of a second data sample of the incoming data stream to produce a second plurality of count values, wherein the second plurality of count values identifying a number of occurrences of the transformed format representation associated with each data point type within the second data sample;

computing a first probability distribution based on the first plurality of count values;

computing a second probability distribution based on the second plurality of count values;

conducting analytics using the first probability distribution and the second probability distribution to produce a first metric; and

determining a format drift for the data stream in response to evaluating the first metric to a second metric operating as a threshold metric signifying a format drift condition.

2. The computerized method of claim 1 further comprising:

generating the second metric, based on a bootstrap process, for detecting the format drift condition, the second metric including count values for each change in format detected for each data point type of the first data sample.

3. The computerized method of claim 2 , wherein the generating of the second metric comprises (i) clustering data points of similar types from one or more representative data samples selected from training data samples, (ii) extracting one or more format representations associated with each of the clustered data points, (iii) conducting a transformation on each of the one or more format representations to produce one or more transformed format representations for each of the data points associated with the one or more representative data samples, and (iv) computing count value for transformed format representations for each of the data points to represent a number and frequency of occurrence of the transformed format representations for each of the data points.

4. The computerized method of claim 1 , wherein the conducting of the transformations on format representations associated with each data point type comprises conducting transformations on content within input fields of the first data sample and the second data sample, wherein the transformations include conducting one or more hash operations on each format representation to produce a hashed format representation.

5. The computerized method of claim 1 , wherein the extracting of the format representation for the first data sample comprises accessing the data schema associated with each data point of the first data sample to determine the data point type for identifying changes in field format.

6. The computerized method of claim 1 further comprising:

upon determining of the format drift, performing one or more of operations including (i) utilizing a format representation having the format drift as the reference or (ii) issuing an alert to a customer to advise the customer of the format drift.

7. The computerized method of claim 1 , wherein the first metric corresponds to a result produced by a distance function with the first probability distribution and the second probability distribution as inputs.

8. The computerized method of claim 2 , wherein the determining of the format drift includes determining that the first metric identifying the first plurality of count values associated with the first format representation maintained within the second probability distribution is different from count values associated with the first format representation determined by the bootstrap process.

9. The computerized method of claim 1 further comprising:

monitoring for a prescribed number of data points of the second data sample upon which analytics are conducted and a format drift condition is determined;

including the second data sample as part of training data samples utilized to produce the second metric in response to the format drift condition being detected for at least the prescribed number of data points of the second data sample; and

refraining from providing the second data sample for inclusion as part of the training data samples in response to the data points of the second data sample detected with the format drift condition is less than the prescribed number of data points.

10. A non-transitory storage medium having stored thereon software that, when executed, is configured to perform operations comprising:

extracting a format representation for a first data sample of an incoming data stream by at least accessing a data schema for each field of the first data sample to determine a data point type, wherein the first data sample comprises a plurality of data points, each data point of the plurality of data points is maintained within a field of the first data sample and corresponds to a performance measurement directed to (i) computing resource associated with a source of the incoming data stream or (ii) an operating state of the source of the incoming data stream;

conducting transformations on format representations associated with data point types of the first data sample to produce a first plurality of count values, wherein the transformed format representations associated with each data point type within the first data sample operates as a count reference;

accessing a data schema for each field of a second data sample of the incoming data stream to determine a data point type for identifying changes in field format;

conducting transformations on format representations associated with data point types of a second data sample of the incoming data stream to produce a second plurality of count values, wherein the second plurality of count values identifying one or more detected occurrences of the transformed format representation associated with each data point type within the second data sample;

computing a first probability distribution based on the first plurality of count values;

computing a second probability distribution based on the second plurality of count values;

conducting analytics using the first probability distribution and the second probability distribution to produce a first metric; and

determining a format drift for the data stream in response to evaluating the first metric to a second metric operating as a threshold metric signifying a format drift condition.

11. The non-transitory storage medium of claim 10 including software that, when executed, is configured to further perform operations comprising:

generating the second metric, based on a bootstrap process, for detecting the format drift condition, the second metric including count values for each change in format detected for each data point type of the first data sample.

12. The non-transitory storage medium of claim 10 including software that, when executed, is configured to generate the second metric by at least (i) clustering data points of similar types from one or more representative data samples selected from training data samples, (ii) extracting one or more format representations associated with each of the clustered data points, (iii) conducting a transformation on each of the one or more format representations to produce one or more transformed format representations for each of the data points associated with the one or more representative data samples, and (iv) computing a count value for transformed format representation for each of the data points to represent a number of occurrences of the transformed format representation for each of the data points.

13. The non-transitory storage medium of claim 10 including software that, when executed, is configured to conduct the transformations on format representations associated with each data point type comprises conducting transformations on content within input fields of the first data sample and the second data sample, wherein the transformations include conducting one or more hash operations on each format representation to produce a hashed format representation as the transformed format representation.

14. The non-transitory storage medium of claim 10 including software that, when executed, is configured to extract of the format representation for the first data sample by at least accessing the data schema associated with each data point of the first data sample to determine the data point type for identifying changes in field format.

15. The non-transitory storage medium of claim 10 including software that, when executed, is further configured to perform one or more operations in response to determining the format drift, wherein the one or more of operations comprise (i) utilizing a format representation having the format drift as the reference or (ii) issuing an alert to a customer to advise the customer of the format drift.

16. The non-transitory storage medium of claim 11 including software that, when executed, is configured to determine the format drift by at least determining whether the first metric identifying the first plurality of count values associated with the first format representation maintained within the second probability distribution is different from count values associated with the first format representation determined by the bootstrap process.

17. The non-transitory storage medium of claim 10 including software that, when executed, further comprising:

monitoring for a prescribed number of data points of the second data sample upon which analytics are conducted and a format drift condition is determined;

including the second data sample as part of training data samples utilized to produce the second metric in response to the format drift condition being detected for at least the prescribed number of data points of the second data sample; and

refraining from providing the second data sample for inclusion as part of the training data samples in response to the data points of the second data sample detected with the format drift condition is less than the prescribed number of data points.

18. A computing device, comprising:

one or more streaming data processors; and

a non-transitory storage medium having stored thereon an intake system being software including a plurality of components forming a drift detection subsystem, the drift detection subsystem comprises a format anomaly component configured to perform operations including

(i) extracting a format representation for a first data sample of an incoming data stream by at least accessing a data schema for each field of the first data sample to determine a data point type, wherein the first data sample comprises a plurality of data points, each data point of the plurality of data points is maintained within a field of the first data sample and corresponds to a performance measurement directed to (a) computing resource associated with a source of the incoming data stream or (b) an operating state of the source of the incoming data stream,

(ii) conducting transformations on format representations associated with data point types of the first data sample to produce a first plurality of count values, wherein the transformed format representations associated with each data point type within the first data sample operates as a count reference,

(iii) accessing a data schema for each field of a second data sample of the incoming data stream to determine a data point type for identifying changes in field format

(iv) conducting transformations on format representations associated with data point types of a second data sample of the incoming data stream to produce a second plurality of count values, wherein the second plurality of count values identifying one or more detected occurrences of the transformed format representation associated with each data point type within the second data sample,

(v) computing a first probability distribution based on the first plurality of count values,

(vi) computing a second probability distribution based on the second plurality of count values,

(vii) conducting analytics using the first probability distribution and the second probability distribution to produce a first metric, and

(viii) detecting a format drift for the data stream in response to evaluating the first metric to a second metric operating as a threshold metric signifying a format drift condition.

19. The computing device of claim 18 , wherein the format anomaly component is configured to perform the transformation on each format representation by at least performing a hash operation on each format representation.

20. The computing device of claim 19 , wherein the format anomaly component is configured to maintain the count value for a first hashed format representation associated with the first data point of the data points by incrementing a counter assigned to the first hashed format representation.

21. The computing device of claim 19 , wherein the first data point is a timestamp or a port number.

22. The computing device of claim 19 , wherein the format anomaly component is configured to generate the output by at least generating a probability output from an information decay function that receives a first count value directed to a number of occurrences of a first hashed format representation associated with a first type of data point with the data sample under analysis and a second count value directed to a number of occurrences of a second hashed format representation associated with the first type of data point with the data sample under analysis.

23. The computing device of claim 19 , wherein the first type of data point corresponds to a timestamp.

Assignments (3)
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 Apr 20, 2023
From: WANG, ZHAOHUI; GANNON, RYAN; LIN, XIAO; SARKAR, CHANDRIMA
To: SPLUNK INC.
Reel/Frame 063394/0138 →
Continuity (1)
Provisional Application 63285997 · Dec 3, 2021
References Cited (26)
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 10872031B2 · Ross · 2020 [cited by applicant]
US 11537942B1 · Vogler-Ivashchanka · 2022 [cited by examiner]
US 20080208820A1 · Usey · 2008 [cited by examiner]
US 20160217384A1 · Leonard · 2016 [cited by examiner]
US 20190098106A1 · Mungel et al. · 2019 [cited by applicant]
US 20220395748A1 · Salvi · 2022 [cited by examiner]
Z. Wang et al. “System and Method for Changepoint Detection in Streaming Data,” filed February, 2, 2022, U.S. Appl. No. 17/591,511 including its prosecution history. [cited by applicant]
Z. Wang et al. “System and Method for Categorical Drift Detection,” filed February, 2, 2022, U.S. Appl. No. 17/591,528 including its prosecution history. [cited by applicant]
Bretz, P. et al., “Notes on Bayesian Changepoint Detection” pp. 1-12, Nov. 19, 2020. [cited by applicant]
Ruggieri, E. et al., “Short Communication—A Bayesian approach to detecting change points in climatic records” DOI: 10.1002/joc.3447. Int. J. Climatol. (2012). [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]
K. Curtis, et al. “Automated Determination of Tuned Parameters for Analyzing Observable Metrics,” filed Jan. 31, 2023, U.S. Appl. No. 18/103,966 including its prosecution history. [cited by applicant]
K. Curtis, et al. “Hyperparameter Tuning for Anomaly Detection Service Implementing Machine Learning Forecasting,” iled Oct. 31, 2022, U.S. Appl. No. 17/978,153 including its prosecution history. [cited by applicant]
K. Curtis, et al. “System and Method for Automated Determination of Search Query Parameters for Anomaly Detection,” filed Jun. 10, 2022, U.S. Appl. No. 17/837,931 including its prosecution history. [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]
Splunk, Inc., “Setup Detectors and Alerts for Actionable Insights.” https://www.youtube.com/watch?v=2Gvw_DACcWc, dated Sep. 16, 2021. [cited by applicant]