1. A method of clustering network nodes comprising: using a processor to perform steps comprising: forming network attribute maps of network constraints; forming a communication interest space map of application constraints; extracting feature vectors from the communication interest space map; extracting network feature vectors from the network attribute maps; obtaining network quality of service constraints; and forming a list of labeled nodes based on the network and the application constraints.