Patent ID: 8335987

Claim:
A method of operating a product configurator that comprises a constraint network having a plurality of nodes, the method comprising: receiving a first user choice; propagating the first user choice throughout the constraint network; determining one or more first affected nodes of the plurality of nodes that are affected by the propagating; for each first affected node, storing a first prior domain state of the node and associating the stored first prior domain state with the first user choice, wherein the first prior domain state is a domain state of the first affected node before the propagating, and wherein the stored first prior domain state for each first affected node is different than the domain state of the first affected node after propagating; wherein the first user choice is one of a plurality of user choices received from a user while interacting with the product configurator, and the determining and storing is performed after the first user choice is received and propagated and before a subsequent user choice of the plurality of user choices is propagated; receiving and propagating subsequent user choices after the first user choice to generate the current state of the constraint network after each propagation, wherein each node in the current state comprises a current domain state; while in the current state of the constraint network and after the subsequent user choices, receiving a request to remove the first user choice; and retrieving the stored first prior domain state for each first affected node and changing the current domain state of each first affected node to the first prior domain state.