Patent ID: 7512590

Claim:
A method in a data processing system for configuring and scheduling logical discovery processes in a data processing system, the method comprising: receiving a plurality of discovery directives, wherein each discovery directive within the plurality of discovery directives defines classes of resources and relationships to be discovered; creating an optimized provider execution plan to satisfy the plurality of discovery directives and to minimize overlapping discovery, wherein the optimized provider execution plan comprises a plurality of directive/schedule pairs; and executing the optimized provider execution plan, wherein a discovery controller receives the one or more discovery directives; wherein the discovery controller passes the one or more discovery directives to an information provider; wherein the information provider creates a provider execution plan; wherein the discovery controller optimizes the execution plan to form the optimized provider execution plan; and wherein executing the optimized provider execution plan comprises: creating a job for each directive/schedule pair within the plurality of directive/schedule pairs to form a plurality of jobs; passing the plurality of jobs with associated schedule information to a scheduler; instructing the information provider to create instances of resource objects, wherein the information provider discovers resource information defined in the optimized provider execution plan and stores the resource information in a persistent store; and responsive to a given job within the plurality of jobs completing, generating an event to indicate directives associated with the given job are satisfied.