Patent ID: 8010947

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 each available software component to at least one of the plurality of software products comprises: calculating a score of each software product according to available software components included in the at least one associated valid group, and selecting an eligible software product having a best score, and wherein calculating the score of each software product comprises: combining a first number, a second number, a third number and a fourth number of the available software components included in the associated valid groups, wherein the associated valid groups being required and exclusive, required and shared, optional and exclusive, and optional and shared, respectively, according to a corresponding first weight, second weight, third weight and fourth weight, respectively.