US 11,815,943 B1
Systems and methods for processing using directed acyclic graphs
Colin D. Rosendahl, Richardson, TX (US); Temitope Ibukunoluwa Oladipo, Plano, TX (US); Adam Benjamin Nunez, Wylie, TX (US); Matthew Joshua Tijerina, Richardson, TX (US); Adam Smith, McKinney, TX (US); and Hugens Ulysse, Dallas, TX (US)
Assigned to STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY, Bloomington, IL (US)
Filed by State Farm Mutual Automobile Insurance Company, Bloomington, IL (US)
Filed on Oct. 19, 2020, as Appl. No. 17/074,283.
Claims priority of provisional application 63/064,702, filed on Aug. 12, 2020.
Claims priority of provisional application 63/035,279, filed on Jun. 5, 2020.
Int. Cl. G06F 16/901 (2019.01); G06F 9/54 (2006.01)
CPC G06F 16/9024 (2019.01) [G06F 9/547 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer system for executing a processing graph,
the computer system comprising at least one processor in communication with at least one memory device, the at least one processor programmed to:
access a graph definition of the processing graph from a nodes database, the graph definition being a virtual data structure that identifies a plurality of nodes and one or more edges, each edge of the one or more edges connecting a pair of nodes of the plurality of nodes and representing a hierarchical relationship between the pair of nodes in which a lower tier node of the pair of nodes generates outputs that a higher tier node of the pair of nodes consumes to generate its outputs, each node of the processing graph representing a software component of computation steps performed by at least one program referenced by that node to generate an output to provide to one or more other nodes in the graph;
construct the processing graph in the at least one memory device;
provide a graphical user interface configured to receive input from a user prior to execution of the processing graph, the user input modifying the virtual data structure of the processing graph by adding, editing, replacing, or deleting one or more of the plurality of nodes within the processing graph, thereby reducing memory consumption by loading only the modified virtual structure and associated computations for executing the processing graph;
traverse the processing graph to visit and process each node in the processing graph;
upon visiting a node of the processing graph, access a node definition of the node from the nodes database, the node definition identifies a program associated with the node;
execute the associated program to generate an output; and
pass the output to a parent node of the node, the parent node uses the output during processing of the parent node.