  Recently, wireless caching techniques have been studied to satisfy lower
delay requirements and offload traffic from peak periods. By storing parts of
the popular files at the mobile users, users can locate some of their requested
files in their own caches or the caches at their neighbors. In the latter case,
when a user receives files from its neighbors, device-to-device (D2D)
communication is enabled. D2D communication underlaid with cellular networks is
also a new paradigm for the upcoming 5G wireless systems. By allowing a pair of
adjacent D2D users to communicate directly, D2D communication can achieve
higher throughput, better energy efficiency and lower traffic delay. In this
work, we propose a very efficient caching algorithm for D2D-enabled cellular
networks to minimize the average transmission delay. Instead of searching over
all possible solutions, our algorithm finds out the best <file,user> pairs,
which provide the best delay improvement in each loop to form a caching policy
with very low transmission delay and high throughput. This algorithm is also
extended to address a more general scenario, in which the distributions of
fading coefficients and values of system parameters potentially change over
time. Via numerical results, the superiority of the proposed algorithm is
verified by comparing it with a naive algorithm, in which all users simply
cache their favorite files.
