Clustering in Distributed Systems