  We introduce the problem of optimal congestion control in cache networks,
whereby \emph{both} rate allocations and content placements are optimized
\emph{jointly}. We formulate this as a maximization problem with non-convex
constraints, and propose solving this problem via (a) a Lagrangian barrier
algorithm and (b) a convex relaxation. We prove different optimality guarantees
for each of these two algorithms; our proofs exploit the fact that the
non-convex constraints of our problem involve DR-submodular functions.
