  The increase in demand for spectrum-based services forms a bottleneck in
wireless networks. Device-to-Device (D2D) caching networks tackle this problem
by exploiting user's behavior predictability and the possibility of sharing
data between them to alleviate the network congestion. However, capturing
mobility statistics allows Service Providers (SPs) to enhance their caching
strategies. In this work, we introduce a mobility-aware D2D caching network
where SP harnesses user demand and mobility statistics to minimize the incurred
service cost through an optimal caching policy. We investigate two caching
schemes: centralized and decentralized caching schemes. In the centralized
caching scheme, SP makes the caching decision towards its cost minimization to
increase its profit. However, the complexity of optimal caching policy grows
exponentially with the number of users. Therefore, we discuss a greedy caching
algorithm which has a polynomial order complexity. We also use this greedy
algorithm to establish upper and lower bounds on the proactive service gain
achieved by the optimal caching policy. In the decentralized caching scheme,
users take over and make their caching decisions, in a distributed fashion
affected by the SP pricing policy, towards their payment minimization. We
formulated the tension between the SP and users as a Stackelberg game. The Best
response analysis was used to identify a sub-game perfect Nash equilibrium
(SPNE) between users. The optimal solution of proposed model was found to
depend on the SP reward preference, which affects the assigned memory in users'
devices. We found some regimes for the reward value where the SPNE was
non-unique. A fair allocation caching policy was adopted to choose one of these
SPNEs. To understand the impact of user behavior, we investigated some special
cases to explore how user's mobility statistics affect their caching decision.
