To achieve the goal of reducing the number of replicas in the system, we essentially want to cluster mutually interested objects on the same node, thereby, limiting the number of remote interest links. Each node periodically performs the following heuristic to determine if it should migrate a primary object to another node . Let denote the set of objects that is interested in on , and be 1 if maintains at least one object interested in , and 0 otherwise. We define as:
If , it implies that has a higher weighted interest in objects on than on the current node, . Hence, we should migrate to if the migration would not push over ; i.e.,
Variants of this heuristic examining multiple primary objects at a time could perform more optimal clustering. However, the above approach is cheap and can be run frequently.