  We consider models of content delivery networks in which the servers are
constrained by two main resources: memory and bandwidth. In such systems, the
throughput crucially depends on how contents are replicated across servers and
how the requests of specific contents are matched to servers storing those
contents. In this paper, we first formulate the problem of computing the
optimal replication policy which if combined with the optimal matching policy
maximizes the throughput of the caching system in the stationary regime. It is
shown that computing the optimal replication policy for a given system is an
NP-hard problem. A greedy replication scheme is proposed and it is shown that
the scheme provides a constant factor approximation guarantee. We then propose
a simple randomized matching scheme which avoids the problem of interruption in
service of the ongoing requests due to re-assignment or repacking of the
existing requests in the optimal matching policy. The dynamics of the caching
system is analyzed under the combination of proposed replication and matching
schemes. We study a limiting regime, where the number of servers and the
arrival rates of the contents are scaled proportionally, and show that the
proposed policies achieve asymptotic optimality. Extensive simulation results
are presented to evaluate the performance of different policies and study the
behavior of the caching system under different service time distributions of
the requests.
