1. A method for placing at least one object at at least one cache of a set of cooperating caching nodes with limited inter-node communication bandwidth, wherein the method comprises: transmitting information from the set of cooperating caching nodes regarding object accesses to a placement computation component; determining object popularity distribution based on the object access information; and instructing, on a periodic basis, the set of cooperating caching nodes of (i) at least one object to cache, (ii) the at least one node at which each object is to be cached, and (iii) a manner in which the at least one cached object is to be shared among the at least one caching node based on (a) the object popularity distribution, (b) cache size, and (c) object size such that a cumulative hit rate at the at least one cache is increased while a constraint on inter-node communication bandwidth is not violated; selecting a number, L, of objects from a list of k objects, wherein k is a number of objects that would collectively fit in any single cache of the at least one cache, arranged in a non-increasing order of bandwidths relative to the sequentially previous element such that the L objects have a combined bandwidth of at most B/N−1, wherein B is offload bandwidth and N is number of nodes; selecting (N−1)L objects with largest bandwidths from objects not in the list of k objects; adding one more object to a set of all objects α 1 chosen from the list of k objects by extending a sub-list of objects chosen from the list of k objects by one, and adding N−1 objects to a set of objects α 2 by extending a sub-list of objects chosen from those objects not in the list of k objects by N−1 if a total bandwidth of the L objects selected in the previous two steps and the objects identified in this step is at most NB/(N−1); repeating (i) said extending the sub-list of objects chosen from the list of k objects by one and (ii). said extending the sub-list of objects chosen from those not in the list of k objects by N−1 as long as a total bandwidth of the L selected objects and the objects identified in (i) said extending of the sub-list of objects chosen from the list of k objects and (ii) said extending of the sub-list of objects chosen from those not in list of k objects is at most NB/(N−1); replicating the set of objects α 2 in all caches; partitioning the chosen objects α 1 among the N nodes in decreasing order of object bandwidth; wherein at least one of the steps is carried out by a computer device.