Data replication and recursive tree structure searching
AssigneeBlue Origin Manufacturing, LLC
InventorAlexander Chiang Wei
Life of this patent
Estimating the term…
Abstract
Systems, methods, and non-transitory storage media are provided for replication of data and/or retrieval of (replicated) data using recursive tree structure searching. For instance, a system may use one or more self join operations to expand a tree graph in fewer iterations that are taken with typical tree graph expansion methods. Once the tree graph is expanded, the system can respond to a query by providing a list of child paths of a node referenced in the query or a list of parent nodes of a node referenced in the query.
Claims9
A computer-implemented method, comprising:
- transmitting, to a product lifecycle management (PLM) system, a request for PLM data;
- generating a tree graph and migrating the PLM data to nodes of the tree graph;
- storing the tree graph in a model data store;
- identifying, in a first iteration, a plurality of first paths in a tree graph, wherein each first path in the plurality of first paths is a path between a parent node in the tree graph and a child node of the parent node;
- joining, in a second iteration that is subsequent to the first iteration, each first path in the plurality of first paths identified in the first iteration with a second first path in the plurality of first paths identified in the first iteration that starts at a node in the tree graph at which the respective first path ends to form a plurality of joined paths, wherein each joined path in the plurality of joined paths has a length of three;
- joining, in a third iteration that is subsequent to the second iteration, each joined path in the plurality of joined paths from the second iteration with another joined path in the plurality of joined paths from the second iteration that starts at a node in the tree graph at which the respective joined path ends to form a plurality of second joined paths, wherein each second joined path in the plurality of second joined paths has a length of five;
- receiving, from a client device, a query that identifies a target node in the tree graph that corresponds to a component part of a system;
- in response to receiving the query,
- searching the plurality of second joined paths for child paths of the target node;
- and
- generating a list of the child paths of the target node based on the searching;
- retrieving, from the model data store, a portion of the PLM data associated with the child paths of the target node;
- and
- transmitting the list and the portion of the PLM data associated with the child paths of the target node to the client device.
A system, comprising:
- at least one processor;
- and
- at least one non-transitory storage media storing instructions that, when executed by the at least one processor, cause the at least one processor to:
- transmit, to a product lifecycle management (PLM) system, a request for PLM data;
- generate a tree graph and migrating the PLM data to nodes of the tree graph;
- store the tree graph in a model data store
- identify, in a first iteration, a plurality of first paths in a tree graph, wherein each first path in the plurality of first paths is a path between a parent node in the tree graph and a child node of the parent node;
- join, in a second iteration that is subsequent to the first iteration, each first path in the plurality of first paths identified in the first iteration with a second first path in the plurality of first paths identified in the first iteration that starts at a node in the tree graph at which the respective first path ends to form a plurality of joined paths, wherein each joined path in the plurality of joined paths has a length of three;
- join, in a third iteration that is subsequent to the second iteration, each joined path in the plurality of joined paths from the second iteration with another joined path in the plurality of joined paths from the second iteration that starts at a node in the tree graph at which the respective joined path ends to form a plurality of second joined paths, wherein each second joined path in the plurality of second joined paths has a length of five;
- receive, from a client device, a query that identifies a target node in the tree graph that corresponds to a component part of a system;
- in response to reception of the query,
- search the plurality of second joined paths for child paths of the target node;
- and
- generate a list of the child paths of the target node based on the search;
- retrieve, from the model data store, a portion of the PLM data associated with the child paths of the target node;
- and
- transmit the list and the portion of the PLM data associated with the child paths of the target node to the client device.
At least one non-transitory storage media storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations, the operations comprising:
- transmitting, to a product lifecycle management (PLM) system, a request for PLM data;
- generating a tree graph and migrating the PLM data to nodes of the tree graph;
- storing the tree graph in a model data store;
- identifying, in a first iteration, a plurality of first paths in a tree graph, wherein each first path in the plurality of first paths is a path between a parent node in the tree graph and a child node of the parent node;
- joining, in a second iteration that is subsequent to the first iteration, each first path in the plurality of first paths identified in the first iteration with a second first path in the plurality of first paths identified in the first iteration that starts at a node in the tree graph at which the respective first path ends to form a plurality of joined paths, wherein each joined path in the plurality of joined paths has a length of three;
- joining, in a third iteration that is subsequent to the second iteration, each joined path in the plurality of joined paths from the second iteration with another joined path in the plurality of joined paths from the second iteration that starts at a node in the tree graph at which the respective joined path ends to form a plurality of second joined paths, wherein each second joined path in the plurality of second joined paths has a length of five;
- receiving, from a client device, a query that identifies a target node in the tree graph that corresponds to a component part of a system;
- in response to reception of the query,
- searching the plurality of second joined paths for child paths of the target node;
- and
- generating a list of the child paths of the target node based on the search;
- retrieving, from the model data store, a portion of the PLM data associated with the child paths of the target node;
- and
- transmiting the list and the portion of the PLM data associated with the child paths of the target node to the client device.
Dependencies are inferred from the claim text.