1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a data de-duplication apparatus control the data de-duplication apparatus to perform a method, the method comprising: transmitting a request associated with de-duplication to a plurality of nodes associated with a global coherent de-duplication repository, where the plurality of nodes are arranged in groups associated with the global coherent de-duplication repository; receiving responses to the request from at least a subset of nodes of the plurality of nodes associated with the global coherent de-duplication repository; calculating affinity scores for nodes of the subset of nodes based, at least in part, on affinity factors received in the responses from the nodes, where calculating an affinity score employs a group calculation that is used when a node belongs to a group; calculating a total cost of de-duplication for a node by determining a number of unstored blocks by subtracting sub-blocks to be deduplicated by a number of previously stored blocks, and multiplying the number of unstored blocks by a cost per sub-block storage; including the total cost of de-duplication for the node in the affinity score for the node; and selecting a node from the subset of the plurality of nodes to perform the request based, at least in part, on the affinity scores calculated for the nodes.