Patent ID: 8438543

Claim:
A method for discovering software components belonging to software products in a data processing system, at least one of the software components being suitable to belong to a plurality of software products, wherein the method comprises: associating each software product with the definition of at least one group of software components based on a relationship among the software components of the group, detecting the software components available in the data processing system being included in each group, identifying the groups being valid according to the inclusion of the software components of the corresponding definition, and assigning each available software component to at least one of the plurality of software products having at least one associated valid group including the available software component, wherein assigning comprises: assigning each available software component included in a valid group associated with a single software product to the single software product, and assigning each available software component included in a plurality of eligible ones of the valid groups associated with a plurality of eligible ones of the software products to a selected one of the eligible software products by: calculating a score of each eligible software product according to the available software components included in the associated valid groups, and selecting the eligible software product having the best score.