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.