Towards Scalable and Robust Service Discovery in Ubiquitous Computing Environments via Multi-hop Clustering