Patent ID: 7752229

Claim:
A computer implemented method for managing an ancestry tree of an order management system, the computer implemented method comprising: responsive to receiving an order to build a product, creating, by a processor, the ancestry tree for the order management system, wherein the ancestry tree comprises a plurality of nodes, wherein each node in the plurality of nodes represents at least one of a subassembly and a part, and each node contains a data field, a parent pointer to a parent node, one or more child pointers to one or more child nodes and an ancestor pointer to a highest level sub-assembly that contains a particular part, wherein a child pointer may point to a lower level sub-assembly node or to a part node, and wherein the highest level sub-assembly node is a last node in one or more chains of nodes beginning with the part node and ending in the highest level sub-assembly node, and wherein each node in the one or more chains of nodes contains the ancestor pointer to the highest level sub-assembly node; responsive to a request to change a specific part to a different part, identifying, by the processor, all nodes from each specific part node to each highest level sub-assembly node in the ancestry tree that contains an ancestor pointer to the specific part; replacing, by the processor, a specific part data in each specific part node data field with a new part data to form a new part node with a new part data field; updating, by the processor, all ancestor nodes and all parent nodes, in the one or more chains of nodes that begin with the new part node and that end in the highest level sub-assembly node, to indicate a new part identifier in all child pointers that previously pointed to the specific part node in each node in the chain.