  In this paper, we study the resource allocation problem for a cooperative
device-to-device (D2D)-enabled wireless caching network, where each user
randomly caches popular contents to its memory and shares the contents with
nearby users through D2D links. To enhance the throughput of spectrum sharing
D2D links, which may be severely limited by the interference among D2D links,
we enable the cooperation among some of the D2D links to eliminate the
interference among them. We formulate a joint link scheduling and power
allocation problem to maximize the overall throughput of cooperative D2D links
(CDLs) and non-cooperative D2D links (NDLs), which is NP-hard. To solve the
problem, we decompose it into two subproblems that maximize the sum rates of
the CDLs and the NDLs, respectively. For CDL optimization, we propose a
semi-orthogonal-based algorithm for joint user scheduling and power allocation.
For NDL optimization, we propose a novel low-complexity algorithm to perform
link scheduling and develop a Difference of Convex functions (D.C.) programming
method to solve the non-convex power allocation problem. Simulation results
show that the cooperative transmission can significantly increase both the
number of served users and the overall system throughput.
