Patent ID: 8261232

Claim:
A system for automatically discovering associations between applications and data in a multi-tiered distributed system, comprising: system configuration template description modeling a system configuration of a computer system, the system configuration template description including at least description of one or more software components on the computer system; software template description modeling at least one of use and transformation of data by one or more software components on a computer system, each software component on the computer system having a corresponding software template description; a processor operable to extract information associated with the computer system to use for creating the system configuration template description and the software template description, the processor further operable to traverse the system configuration template description and the software template description to discover application and data associations, a system configuration meta-model including at least a definition of distributed system infrastructure; a first software component meta-model including at least a definition of at least one of use and transformation of data by one or more software components; a second software component meta-model extending the first software component meta-model to include at least installation-specific information related to the at least one of use and transformation of data by one or more software components, wherein the processor is further operable to build the system configuration template description and the software template description using the system configuration meta-model, the first software component meta-model, and the software component meta-model, wherein to discover application and data associations, the processor further applies one or more rules of data transformation section of the traversed software component, determine whether data in data consumption section of the traversed software component is a file, and if the data in data consumption section of the traversed software component is a file, record the traversed software component and the file in an application-data relationship repository, and if the data in the data consumption section of the traversed software component is not a file, then determine another software component that is a provider of the data and traverse an extended model of said another software component to discover application-data relationship.