1. A computer readable storage device containing a program that, when executed by a processor, causes the processor to perform a method for clustering a plurality of network nodes in a multi-type vector space, where the method comprises: 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.