4. A method of clustering a plurality of network nodes comprising: using a processor to perform steps comprising: forming a plurality of network attribute maps based on one or more network constraints; forming a communication interest space map based on one or more application constraints, wherein the forming the communication interest space map is based on a distance measurement of a similarity between at least two of one or more communication interest feature vectors, and wherein the similarity is measured using a non-linear distance function; extracting the one or more communication interest feature vectors from the communication interest space map; extracting one or more network attribute feature vectors from the plurality of network attribute maps; obtaining one or more network quality of service constraints; forming a single feature vector for each of the plurality of network nodes, the single feature vector being based on the one or more communication interest feature vectors, the one or more network attribute feature vectors, and the one or more network quality of service constraints; and forming a list in which one or more of the plurality of network nodes are labeled based on the single feature vector for each of the plurality of network nodes.
7. The method of claim 4 , wherein the one or more application constraints comprises a collaborative usage of an application described by the one or more application constraints.