Skip to Main Content
Adaptive clustering is one of the fundamental problems behind autonomic systems and, more generally, an open research issue in the area of networking and distributed systems. The problem of giving structure to large-scale, dynamic systems through clustering and of electing centrally located nodes (cluster heads) is nontrivial. This is in fact an NP-complete problem when striving for optimality. We propose an innovative strategy based on code mobility that dynamically computes near-optimal clusters in linear time. Our approach is autonomic, does not require any user intervention, is self-configuring, self-optimal, and self-healing. We demonstrate these features through an extensive set of simulations, discussing the viability of the algorithm based on state-of-the art technologies, and elaborating on its applicability to distributed monitoring, peer-to-peer systems, application-level multicast, and content adaptation networks.