Patent ID: 8677376

Claim:
A computer-implemented method to create a change list to synchronize resources in two software environments, the method comprising: receiving an identification of a source environment and a target environment from which to export a description of resources; creating an identity graph for processing resource changes based on a joined set of resources; sorting the created identity graph to produce an order of traversal that allows a resource to be processed before other resources that depend on the resource; joining descriptions of resources from multiple environments to identify matching resources in both environments based on direct property matches; adding matching resources identified by the join to the identity graph; identifying one or more target resources that are related to a target resource directly matched with a source resource; identifying one or more source resources that are related to a source resource directly matched with a target resource; inferring a match between the related source resource and the related target resource based on their relationship to the directly matching source and target resources; adding the matching related resources to the identity graph; and creating a change list for holding one or more change operations that will conform the target environment to the source environment, wherein the change operations are based on an ordered traversal of the identity graph, wherein the preceding steps are performed by at least one processor.