IP Library Granted Patent US 12,386,839
Granted Patent B2
US 12,386,839 · App. 18/117,306 · Granted Aug 12, 2025

Real-time processing of a data stream using a graph-based data model

Inventor: Richard Neill (Garrison, NY)
Assignee: ADVANCED PRINTED ELECTRONIC SOLUTIONS LLC
G06F16/24568G06F9/541G06F16/254G06F16/9024
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,386,839
App. No.
18/117,306
Granted
Aug 12, 2025
Kind
B2
Abstract

A method for processing of a data stream using a graph-based data model includes receiving a data stream including data messages; disassembling the data messages data elements and metadata; generating a structured data model comprising the set of data elements based on the type of the data elements and the pattern of the data messages; instantiating a workflow to process the structured data model; configuring a CPS-G model sub-graph to add to the CPS-G model based on the type of the data elements and the pattern of the data messages; adding the CPS-G model sub-graph to the CPS-G model to form the CPS-G dataset; and storing the CPS-G dataset including the CPS-G model sub-graph in a data store for further processing by streaming computation and machine learning algorithms.

Claims (41)

1. A method for processing data using a graph-based data model, the method comprising:

receiving data including data messages;

disassembling the data messages into a set of data elements, wherein disassembling each of the data messages into the set of the data elements comprises:

disassembling the data messages into a stream of both real-time and non-real-time workflows based on one or both of a rate analysis and a message velocity analysis, wherein each workflow is annotated with a respective workflow identifier, and wherein the data messages are associated with the respective workflow identifier;

obtaining graph-based data model having a type that is based on a particular format of the set of data elements, the graph-based data model representing a dataset having a structure representing processed data messages, the graph-based data model including the data elements of the data messages;

based on the disassembling, adding a sub-graph to a location in the graph-based data model, the sub-graph representing at least a portion of the data elements of the data messages, wherein the location of the sub-graph in the graph-based data model represents a relationship of the portion of the data elements to other data elements of other processed data messages;

generating output data from the graph-based data model responsive to adding the sub-graph to the graph-based data model;

receiving a specification of one or more target data models; and

transforming the output data into the one or more target data models.

2. The method of claim 1 , wherein the graph-based data model comprises a graph organized as an assembly of sub-graphs comprising at least one of a prefix structure, forest, a Directed Acyclic Graph (DAG), a directed or undirected graph with or without cycles, or a sub-graph data-model structure comprising at least one graph node, and wherein the at least one graph node in the sub-graph data-model structure includes one of a dataset entity, a feature, or a platform.

3. The method of claim 2 , wherein each sub-graph of the assembly of sub-graphs comprises another sub-graph, a node, or a prefix structure that configured to provide storage of datasets sorted by frequency of occurrence in a compact representation of dataset patterns or compact pattern stream trees.

4. The method of claim 2 , wherein a graph node comprises a multi-dimensional data-structure or tensor data-model.

5. The method of claim 2 , wherein a first sub-graph of the assembly of sub-graphs includes a pointer to a second sub-graph, the pointer enabling access to the second sub-graph for an application accessing the first sub-graph.

6. The method of claim 2 , wherein a first sub-graph of the assembly of sub-graphs shares a node with a second sub-graph.

7. The method of claim 2 , further comprising generating a virtual sub-graph or node to include one or more shared prefix structures among a plurality of sub-graphs.

8. The method of claim 1 , wherein the sub-graph represents a subset of the data messages received over one or more of a configurable time-period window, spatial domain, data source, data type of the data messages, and a data pattern of the data-messages.

9. The method of claim 1 , wherein a data store comprises one of an in-memory data store or a persistent database, wherein the data store is configured to store the data messages, the data elements, or both the data messages and the data elements, and wherein the data store is accessible by a plurality of parallel workflows processing the data messages.

10. The method of claim 1 , further comprising:

selecting, based on the type of the graph-based data model, a logic engine for processing the dataset, the logic engine being selected from a set of logic engines, each logic engine of the set including a logic model that is unique to that logic engine, wherein the logic engine generates the output data; and

wherein the logic engine is selected from a list comprising:

a supervised machine learning model, an unsupervised machine learning model, a support vector machine, a neural network, a clustering algorithm, a regression algorithm, a swarm engine, a graph neural network algorithm, a genetic learning algorithm, or an evolutionary learning algorithm.

11. The method of claim 10 , wherein the logic engine is configured to dynamically unroll the dataset in real-time.

12. The method of claim 1 , wherein the one or more target data models are associated with a downstream application; and

wherein transforming the output data comprises:

configuring a target data model of the one or more target data models to a data format specified by the downstream application; and

storing the target data model having the data format for sending to the downstream application.

13. The method of claim 12 , wherein the data format is specified by an application programming interface (API) of the downstream application, and wherein the method comprises:

sending the target data model having the data format to the downstream application based on the API.

14. The method of claim 1 , wherein disassembling each of the data messages comprises:

applying an adaptive windowing rule to partition the data messages into a plurality of data windows, wherein one or more input reservoir windows are provided as a first input stage followed by a second output reservoir window.

15. The method of claim 14 , wherein a first size of the one or more input reservoir windows together is equal or greater than a second size the second output reservoir window, wherein the input reservoir windows aggregate the data messages.

16. The method of claim 1 , further comprising:

receiving the set of the data elements at an extract-transform-load (ETL) processor module comprising a semantic layer configured to identify one or more patterns in the set of the data elements;

determining, by the semantic layer, that the graph-based data model is associated with the one or more patterns in the set of the data elements; and

transforming the set of the data elements to match a template of the graph-based data model,

wherein the graph-based data model is generated based on the transformed set of the data elements that match the template.

17. The method of claim 1 , wherein receiving the data messages includes receiving a first data stream received from a first device, the method comprising:

receiving a second data stream from a second device that is different from the first device; and

wherein the dataset is generated based on the first data stream and the second data stream.

18. The method of claim 17 , wherein the first device comprises a multi-sensor device wherein the second device comprises an autonomous device, and wherein the first device is coupled to the second device.

19. The method of claim 1 , wherein the data messages are generated by at least one autonomous or semi-autonomous system or device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2024
From: RN TECHNOLOGIES, LLC
To: ADVANCED PRINTED ELECTRONIC SOLUTIONS LLC
Reel/Frame 067191/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2023
From: NEILL, RICHARD
To: RN TECHNOLOGIES, LLC
Reel/Frame 062919/0291 →
Continuity (3)
Continuation 17328983 · May 24, 2021
Provisional Application 62704834 · May 29, 2020
Related Publication 20230350901A1 · Nov 2, 2023
References Cited (23)
US 10262271B1 · Doddi et al. · 2019 [cited by applicant]
US 20030189943A1 · Gorti et al. · 2003 [cited by applicant]
US 20140156806A1 · Karpistsenko et al. · 2014 [cited by applicant]
US 20170007148A1 · Kaditz et al. · 2017 [cited by applicant]
US 20170091673A1 · Gupta et al. · 2017 [cited by applicant]
US 20170147709A1 · Ganz · 2017 [cited by applicant]
US 20170289240A1 · Ghare et al. · 2017 [cited by applicant]
US 20180039696A1 · Zhai et al. · 2018 [cited by applicant]
US 20190196795A1 · Cavalier et al. · 2019 [cited by applicant]
US 20190286972A1 · Husseini et al. · 2019 [cited by applicant]
US 20190362016A1 · Xie et al. · 2019 [cited by applicant]
US 20200027196A1 · Wolfson et al. · 2020 [cited by applicant]
US 20200082026A1 · Tian et al. · 2020 [cited by applicant]
US 20210049455A1 · Kursun · 2021 [cited by applicant]
US 20210157858A1 · Stevens et al. · 2021 [cited by applicant]
Al-Kateb et al., “Adaptive-Size Reservoir Sampling over Data Streams,” 19th International Conference on Scientific and Statistical Database Management (SSDBM), Jul. 2007, 10 pages. [cited by applicant]
Chao, “A general purpose unequal probability sampling plan,” Biometrika, Dec. 1982, 69(3):653-656. [cited by applicant]
Efraimidis et al., “Weighted random sampling with a reservoir,” Information Processing Letters, Mar. 2006, 97(5):181-185. [cited by applicant]
Efraimidis, “Weighted Random Sampling over Data Streams,” https://arxiv.org/abs/1012.0256v2, Jul. 2015, 14 pages. [cited by applicant]
Ghatage, “Frequent Pattern Mining Over Data Stream Using Compact Sliding Window Tree & Sliding Window Model,” International Research Journal of Engineering and Technology (IRJET), Jul. 2015, 2(4), 217-223, 8 pages. [cited by applicant]
Scarselli et al., “The Graph Neural Network Model,” IEEE Transactions on Neural Networks, Jan. 2009, 20(1):61-80. [cited by applicant]
Tangwongsan et al., “Parallel Streaming Random Sampling,” https://arxiv.org/abs/1906.04120, Jun. 2019, 1-17. [cited by applicant]
Wu et al., “A Comprehensive Survey on Graph Neural Networks,” IEEE Transactions on Neural Networks and Learning Systems, Jan. 2021, 32(1):4-24, 22 pages. [cited by applicant]