IP Library › Granted Patent US 12,681,823
Granted Patent B1
US 12,681,823 · App. 19/020,125 · Granted Jul 14, 2026

Techniques for analyzing streaming data

Inventors: Xilong Chen (Chapel Hill, NC); Sylvie Tchumtchoua Kabisa (Morrisville, NC); Dillon Frame (Chapel Hill, NC); Ming-Chun Chang (Cary, NC); Wanxi Gu (Beijing, CN); Gunce Eryuruk Walton (Raleigh, NC); David Bruce Elsheimer (Clayton, NC)
Assignee: SAS INSTITUTE INC.
G06F11/3006G06F9/546G06F11/3447G06F2201/80
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,681,823
App. No.
19/020,125
Filed
Jan 14, 2025
Granted
Jul 14, 2026
Kind
B1
Art Unit
2113
USPC
714/37
Abstract

A system and method include receiving a request to analyze streaming data on a grid computing environment, sending, by a primary control node, a portion of the streaming data to each of the plurality of worker nodes, such that each of the plurality of worker nodes analyzes the portion of the streaming data received from the primary control node, receiving, by the primary control node, sub-results from each of the plurality of worker nodes, combining, by the primary control node, the sub-results to compute a result, and outputting, by the primary control node, the result analyzing the streaming data.

Claims (99)

1 . A non-transitory computer-readable medium having computer-readable instructions stored thereon for learning a causal structure from multivariate input data that when executed by a processing circuit causes the processing circuit to:

receive multivariate observation data from a plurality of data sources, the multivariate observation data comprising variable values associated with a plurality of variables;

initialize, by the processing circuit executing a graph-learning module stored in memory, a structural dependency model comprising a directed acyclic graph (DAG) template that defines potential causal relationships among the plurality of variables;

transform, by the processing circuit, the multivariate observation data into a structured dependency representation configured for causal structure analysis, wherein the structured dependency representation captures relationships among the plurality of variables for use in learning causal connections;

execute, by the processing circuit executing the graph-learning module, an iterative structure-learning operation to determine a topological order of the DAG based on the structured dependency representation, wherein each iteration dynamically updates:

(i) an index identifying a candidate variable for edge evaluation,

(ii) a model evaluation score representing a causal consistency metric, and

(iii) an ordered list of variables stored in the memory, and

wherein the updates are applied through memory-level transformations of the structured dependency representation without exposing intermediate computation results externally;

detect convergence of the topological order when the model evaluation score satisfies a predefined accuracy criterion; and

store the learned topological order in memory for implementation in subsequent causal inference operations that utilize the learned causal relationships of the DAG to perform predictive, discovery, estimation, or diagnostic computations.

2 . The non-transitory computer-readable medium of claim 1 , wherein:

the plurality of data sources comprises two or more network devices, and

the topological order of the DAG is used to analyze the multivariate observation data and transform the multivariate observation data to output data.

3 . The non-transitory computer-readable medium of claim 2 , wherein the computer-readable instructions further cause the processing circuit to:

determine a correct set of edges for the DAG;

generate the DAG based on the topological order of the DAG and the correct set of edges; and

analyze the multivariate observation data based on the DAG to generate the output data.

4 . The non-transitory computer-readable medium of claim 2 , wherein the multivariate observation data is based on input streaming or non-streaming data received from the one or more network devices.

5 . A non-transitory computer-readable medium having computer-readable instructions stored thereon for accelerating a machine learning of a causal graph using a single processing circuit that when executed by a processor cause the processor to:

receive, by an analytical compute environment, multivariate observation data from a plurality of distributed data sources, wherein the observation data comprises variable values associated with a plurality of variables representing causal input parameters in a monitored system;

initialize, by the single processing circuit executing a graph-learning module, a structural dependency model for the monitored system, the structural dependency model comprising a directed acyclic graph (DAG) template stored in memory;

generate, by the single processing circuit, a correlation representation of the observation data by transforming the variable values into a computational structure configured for causal structure analysis;

execute, by the single processing circuit executing the graph-learning circuit, an iterative structure-learning operation to determine a topological order of the DAG based on the correlation representation, wherein each iteration dynamically updates:

(i) a dependency index identifying a next candidate node for edge determination,

(ii) a model evaluation score representing a causal fit metric, and

(iii) a variable order list stored in the memory, and

wherein the dynamic updates are applied through memory-mapped transformations of the correlation representation without exposing intermediate computational results externally;

detect, by the analytical compute environment, convergence of the topological order based on the model evaluation score satisfying a predefined performance threshold;

deploy, by the analytical compute environment, the learned DAG model into a real-time causal inference pipeline that executes predictive operations for the monitored system based on the learned topological order; and

update, by the analytical compute environment, internal configuration parameters associated with machine-learning components executed within the real-time causal inference pipeline based on updates to the learned DAG model, wherein the updated configuration parameters cause dynamic optimization of causal prediction operations.

6 . The non-transitory computer-readable medium of claim 5 , wherein:

the plurality of data sources comprises two or more network devices, and

the topological order of the DAG is used to analyze the multivariate observation data and transform the multivariate observation data to output data.

7 . The non-transitory computer-readable medium of claim 6 , wherein the computer-readable instructions further cause the single processing circuit to:

determine a correct set of edges for the DAG;

generate the DAG based on the topological order of the DAG and the correct set of edges; and

analyze the multivariate observation data based on the DAG to generate the output data.

8 . The non-transitory computer-readable medium of claim 6 , wherein the multivariate observation data is based on input streaming or non-streaming data received from the one or more network devices.

9 . A method for learning a causal structure from multivariate input data comprising:

receiving multivariate observation data from a plurality of data sources, the multivariate observation data comprising variable values associated with a plurality of variables;

initializing, by processing circuit executing a graph-learning module stored in memory, a structural dependency model comprising a directed acyclic graph (DAG) template that defines potential causal relationships among the plurality of variables;

transforming, by the processing circuit, the multivariate observation data into a structured dependency representation configured for causal structure analysis, wherein the structured dependency representation captures relationships among the plurality of variables for use in learning causal connections;

executing, by the processing circuit executing the graph-learning module, an iterative structure-learning operation to determine a topological order of the DAG based on the structured dependency representation, wherein each iteration dynamically updates:

(i) an index identifying a candidate variable for edge evaluation,

(ii) a model evaluation score representing a causal consistency metric, and

(iii) an ordered list of variables stored in the memory, and

wherein the updates are applied through memory-level transformations of the structured dependency representation without exposing intermediate computation results externally;

detecting convergence of the topological order when the model evaluation score satisfies a predefined accuracy criterion; and

storing the learned topological order in memory for implementation in subsequent causal inference operations that utilize the learned causal relationships of the DAG to perform predictive, discovery, estimation, or diagnostic computations.

10 . The method of claim 9 , wherein:

the plurality of data sources comprises two or more network devices, and

the topological order of the DAG is used to analyze the multivariate observation data and transform the multivariate observation data to output data.

11 . The method of claim 10 , further comprising:

determining a correct set of edges for the DAG;

generating the DAG based on the topological order of the DAG and the correct set of edges; and

analyzing the multivariate observation data based on the DAG to generate the output data.

12 . The method of claim 10 , wherein the multivariate observation data is based on input streaming or non-streaming data received from the one or more network devices.

13 . A method for learning a causal structure from multivariate input data comprising:

receiving, by an analytical compute environment, multivariate observation data from a plurality of distributed data sources, wherein the observation data comprises variable values associated with a plurality of variables representing causal input parameters in a monitored system;

initializing, by a single processing circuit executing a graph-learning module, a structural dependency model for the monitored system, the structural dependency model comprising a directed acyclic graph (DAG) template stored in memory;

generating, by the single processing circuit, a correlation representation of the observation data by transforming the variable values into a computational structure configured for causal structure analysis;

executing, by the single processing circuit executing the graph-learning circuit, an iterative structure-learning operation to determine a topological order of the DAG based on the correlation representation, wherein each iteration dynamically updates:

(i) a dependency index identifying a next candidate node for edge determination,

(ii) a model evaluation score representing a causal fit metric, and

(iii) a variable order list stored in the memory, and

wherein the dynamic updates are applied through memory-mapped transformations of the correlation representation without exposing intermediate computational results externally;

detecting, by the analytical compute environment, convergence of the topological order based on the model evaluation score satisfying a predefined performance threshold;

deploying, by the analytical compute environment, the learned DAG model into a real-time causal inference pipeline that executes predictive operations for the monitored system based on the learned topological order; and

updating, by the analytical compute environment, internal configuration parameters associated with machine-learning components executed within the real-time causal inference pipeline based on updates to the learned DAG model, wherein the updated configuration parameters cause dynamic optimization of causal prediction operations.

14 . The method of claim 13 , wherein:

the plurality of data sources comprises two or more network devices, and

the topological order of the DAG is used to analyze the multivariate observation data and transform the multivariate observation data to output data.

15 . The method of claim 14 , further comprising:

determining a correct set of edges for the DAG;

generating the DAG based on the topological order of the DAG and the correct set of edges; and

analyzing the multivariate observation data based on the DAG to generate the output data.

16 . The method of claim 14 , wherein the multivariate observation data is based on input streaming or non-streaming data received from the one or more network devices.

17 . A system for learning a causal structure from multivariate input data comprising:

a memory having computer-readable instructions stored thereon; and

a processing circuit that executes the computer-readable instructions to:

receive multivariate observation data from a plurality of data sources, the multivariate observation data comprising variable values associated with a plurality of variables;

initialize, by the processing circuit executing a graph-learning module stored in memory, a structural dependency model comprising a directed acyclic graph (DAG) template that defines potential causal relationships among the plurality of variables;

transform, by the processing circuit, the multivariate observation data into a structured dependency representation configured for causal structure analysis, wherein the structured dependency representation captures relationships among the plurality of variables for use in learning causal connections;

execute, by the processing circuit executing the graph-learning module, an iterative structure-learning operation to determine a topological order of the DAG based on the structured dependency representation, wherein each iteration dynamically updates:

(i) an index identifying a candidate variable for edge evaluation,

(ii) a model evaluation score representing a causal consistency metric, and

(iii) an ordered list of variables stored in the memory, and

wherein the updates are applied through memory-level transformations of the structured dependency representation without exposing intermediate computation results externally;

detect convergence of the topological order when the model evaluation score satisfies a predefined accuracy criterion; and

store the learned topological order in memory for implementation in subsequent causal inference operations that utilize the learned causal relationships of the DAG to perform predictive, discovery, estimation, or diagnostic computations.

18 . The system of claim 17 , wherein:

the plurality of data sources comprises two or more network devices, and

the topological order of the DAG is used to analyze the multivariate observation data and transform the multivariate observation data to output data.

19 . The system of claim 18 , wherein the processing circuit further executes the computer-readable instructions to:

determine a correct set of edges for the DAG;

generate the DAG based on the topological order of the DAG and the correct set of edges; and

analyze the multivariate observation data based on the DAG to generate the output data.

20 . The system of claim 18 , wherein the multivariate observation data is based on input streaming or non-streaming data received from the one or more network devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2025
From: CHEN, XILONG; KABISA, SYLVIE TCHUMTCHOUA; FRAME, DILLON; CHANG, MING-CHUN; GU, WANXI; WALTON, GUNCE ERYURUK; ELSHEIMER, DAVID BRUCE
To: SAS INSTITUTE INC.
Reel/Frame 069860/0606 →
Continuity (1)
Continuation In Part 18761865 · Jul 2, 2024
References Cited (50)
US 7475048B2 · Weston · 2009 [cited by applicant]
US 11443198B1 · Chen · 2022 [cited by examiner]
US 12056207B1 · Chen et al. · 2024 [cited by applicant]
US 20150134626A1 · Theimer · 2015 [cited by examiner]
US 20160004610A1 · Knight · 2016 [cited by examiner]
US 20180011882A1 · Taylor · 2018 [cited by examiner]
US 20180137155A1 · Majumdar · 2018 [cited by applicant]
US 20180241764A1 · Nadolski · 2018 [cited by examiner]
US 20190042911A1 · Koren · 2019 [cited by applicant]
US 20200387747A1 · Cha · 2020 [cited by examiner]
US 20210224051A1 · Bequet · 2021 [cited by examiner]
US 20210342490A1 · Briancon · 2021 [cited by examiner]
US 20220108334A1 · Chauhan · 2022 [cited by applicant]
US 20220138502A1 · Li · 2022 [cited by applicant]
US 20230138016A1 · Kaiser · 2023 [cited by applicant]
US 20250045263A1 · Chen et al. · 2025 [cited by applicant]
US 20250045355A1 · Chen et al. · 2025 [cited by applicant]
US 20250045611A1 · Chen et al. · 2025 [cited by applicant]
US 20250053615A1 · Chen et al. · 2025 [cited by applicant]
Ruiz, Gabriel, Oscar Hernan Madrid Padilla, and Qing Zhou. “Sequentially learning the topological ordering of causal directed acyclic graphs with likelihood ratio scores.” arXiv preprint arXiv:2202.01748 (2022). (Year: … [cited by examiner]
Non-Final Office Action in U.S. Appl. No. 18/751,584 dated Apr. 24, 2025, 59 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 18/905,480 dated Apr. 30, 2025, 66 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 18/802,737 dated Mar. 18, 2025, 18 pages. [cited by applicant]
Goodnight, James H., “A Tutorial on the SWEEP Operator,” The American Statistician, Aug. 1979, pp. 149-158, vol. 33, No. 3. [cited by applicant]
Wang, et al., “Efficient test for nonlinear dependence of two continuous variables,” BMC Bioinformatics, 2015, 8 pages, vol. 16, No. 260. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/751,509 dated Sep. 29, 2024, 14 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/751,584 dated Sep. 29, 2024, 15 pages. [cited by applicant]
Rolland, et al., “Score matching enables causal discovery of nonlinear additive noise models,” In International Conference on Machine Learning, PMLR, 2022, pp. 18741-18753. [cited by applicant]
Montagna, et al., “Scalable causal discovery with score matching,” 2nd Conference on Causal Learning and Reasoning, 2023, pp. 752-771, vol. 213: 1-20. [cited by applicant]
“Anderson-Darling Test,” Wikipedia, The Free Encyclopedia, 6 pages, retrieved Feb. 24, 2024, https://en.wikipedia.org/wiki/Anderson%E2%80%93Darling_test. [cited by applicant]
Li, Adam, dodiscover.toporder.SCORE, 2024, 3 pages, https://www.pywhy.org/dodiscover/dev/generated/dodiscover.toporder.SCORE.html. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/761,865 dated Oct. 11, 2024, 17 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/905,480 dated Nov. 29, 2024, 16 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 18/761,865 dated Dec. 30, 2024, 13 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 18/751,509 dated Dec. 31, 2024, 18 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 18/751,584 dated Dec. 31, 2024, 15 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/947,502 dated Feb. 13, 2025, 15 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/802,737 dated Dec. 2, 2024, 15 pages. [cited by applicant]
Chen, et al., “Directed Acyclic Graphs With Tears,” IEEE Transactions on Artificial Intelligence, Aug. 2023, pp. 972—vol. 4, No., 4. [cited by applicant]
Fang, et al., “On Low-Rank Dircted Acyclic Graphs and Causal Structure Learning,” IEEE Transations on Neural Networks and Learning Systems, Apr. 2024, pp. 4924-4937, vol. 35, No. 4. [cited by applicant]
Wang, et al., “Learning directed acyclic graphs via bootstrap aggregating,” Jun. 9, 2014, 47 pages. [cited by applicant]
“Erdös-Rényi model,” Wikipedia, The Free Encyclopedia, 7 pages, retrieved Mar. 26, 2024, https://en.wikipedia.org/w/index.php?title=Erd%C5%91s%E2%80%93R%C3%A9nyi_model&oldid=1215607832. [cited by applicant]
“Scale-free network.” Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 16 pages, retrieved Mar. 26, 2024. https://en.wikipedia.org/w/index.php?title=Scale-free_network&oldid=1215607982. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/538,066 dated Mar. 27, 2024, 34 pages. [cited by applicant]
Ruiz, et al., “Sequentially learning the topological ordering of causal directed acyclic graphs with likelihood ratio scores,” May 19, 2022, 22 pages. [cited by applicant]
Gagrani, et al., “Neural Topological Ordering for Computation Graphs,” Oct. 7, 2022, 18 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 18/538,066 dated Jul. 18, 2024, 29 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/538,070 dated Feb. 12, 2024, 18 pages. [cited by applicant]
Notice of Allowance in U.S. Appl. No. 19/175,902 dated Jun. 25, 2025, 10 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/7661,865 dated Sep. 11, 2025, 13 pages. [cited by applicant]