{'fraction_non_alphanumeric': 0.03421163575042158, 'fraction_numerical': 0.01022344013490725, 'mean_word_length': 4.589184731385485, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Individual Preference Aware Caching Policy Design in Wireless D2D Networks

Cache-aided wireless device-to-device (D2D) networks allow significant throughput increase, depending on the concentration of the popularity distribution of files. Many studies assume that all users have the same preference distribution; however, this may not be true in practice. This work investigates whether and how the information about individual preferences can benefit cache-aided D2D networks. We examine a clustered network and derive a network utility that considers both the user distribution and channel fading effects into the analysis. We also formulate a utility maximization problem for designing caching policies. This maximization problem can be applied to optimize several important quantities, including throughput, energy efficiency (EE), cost, and hit-rate, and to solve different tradeoff problems. We provide a general approach that can solve the proposed problem under the assumption that users coordinate, then prove that the proposed approach can obtain the stationary point under a mild assumption. Using simulations of practical setups, we show that performance can improve significantly with proper exploitation of individual preferences. We also show that different types of tradeoffs exist between different performance metrics and that they can be managed through caching policy and cooperation distance designs.


I. INTRODUCTION
Wireless networks have been strained by the rapid increase of wireless data traffic, which is predicted to continue over the next several years [2]. Among all the wireless applications, on-demand This work was supported in part by the National Science Foundation (NSF). Part of this work has been presented in the 2017 IEEE Global Communications Conference [1]. video accounts for the largest portion of this traffic. Thus, finding an efficient approach to support this application is a paramount issue for modern wireless communication systems. Conventional approaches for increasing throughput, such as, cell densification, large-scale antenna systems, and millimeter-wave communications [3], are deemed insufficient because of the potential high cost when obtaining more physical resources. Different from those approaches that tend to improve wireless networks without regard to the type of data that are to be transmitted, video caching at the wireless edge exploits the unique video accessing behavior of typical consumers and the cheap storage resources to trade memeory for bandwidth. In essence, different users cache different popular video files on their devices; a file request can then either be satisfied from a user's own cache, or through D2D communication with a nearby user that has stored the requested file.
The potential of D2D-based video caching renders it widely discussed in recent years [4]- [11], and existing papers have demonstrated that, using either theoretical or empirical approaches, the wireless video caching can improve the throughput by orders of magnitude [8]- [11].

A. Literature Review and Motivations
Cache-aided D2D has demonstrated the ability to significantly improve network performance without the need for newly installed infrastructure and complicated coding. 1 Thus, numerous papers have been published on this topic, aiming to understand and improve the hit-rate (file outage) [9], [16], throughput [9], [17], [18], energy efficiency (EE) [18], [19], and latency of the networks [7], [34]. For example, the theoretical throughput-outage tradeoff was investigated in [9], [10]. The difference between the hit-rate and throughput was discussed in [16]. By considering clustering networks, caching policy and cluster size are optimized for throughput in [17]. In [18], the optimizations of throughput, EE, and their tradeoff were investigated. Battery life was taken into account for reducing energy consumption in [19]. In [7], caching policies aiming to optimize the network delay were proposed. Not only different design goals, but also different techniques and scenarios were considered for cache-aided D2D. Stochastic geometry was exploited to analyze networks and propose caching policy designs in [20], [21]. Considering MIMO systems, scaling laws of throughput were discussed in [22] and [23]. In [24], mobility was leveraged to enhance network performance. To accommodate the environmental dynamics, a cache replacement approach was proposed in [25]. We note that the field of cache-aided D2D has been of great interest and several hundred related papers have been published. Hence the above literature review by necessity cites only a sample of papers and topics.
Most of the existing papers for cache-aided D2D networks consider a homogeneous preference model, which assumes all users have the same file preference -in other words, each user requests files independently and randomly according to the same popularity distribution. However, this model is at best an approximation, because different users indeed have different taste and preferences. Such heterogeneity of preferences of users has been observed in [26] and modeled in recent works [27], [28], [32]. Furthermore, based on real-world data, results in [26] have shown that leveraging the individual (user) preferences indeed can improve network performance. Thus, based on the above observations, it becomes clear that by replacing homogeneous modeling with heterogeneous modeling, cache-aided D2D networks could be further improved since the homogeneous preference model can only be an approximation of the true user behavior, and designs based on this model are restricted by their lack of considering individual user preferences.
Consequently, recently investigations started to consider individual preferences and showed the possibility of using this information to improve wireless caching networks [26], [29]- [34]. 2 In [26], individual preferences were studied, and a machine learning approach was used to learn user preferences and decide which video to preload onto a local device cache purely based on preference of the particular user. While this kind of approach (also known as the "Netflix challenge") is very important for recommendation systems and preloading on individual devices, it is not applicable to cache-aided D2D networks. When files are cached at BSs, an indvidual preference aware weighted sum utility of users was formulated and optimized in [29]. In [30], by considering users in different groups to have different preferences for files, a caching policy was designed to maximize the successful file discovery probability of different groups without considering the possible interference. In [31], a content push strategy was designed to maximize the D2D offloading gain for a particular demand realization by jointly considering the influences of the user preference and sharing willingness. In [32], user preferences were used to maximize the offloading probability without considering details of the physical layer. Using individual preference and user similarity, [33] proposed a caching content allocation approach to maximize 2 Note that most of the paper discussed below were published in parallel with, or after, the conference version of our paper [1]. a specifically defined utility. While the focus is on estimating the indivdiual preferences using a learning-based algorithm, in [34], a caching policy exploiting the estimated preferences is provided to minimize the average delay of D2D networks. Despite this progress, understanding of how to use individual preference to improve the cache-aided D2D networks is still far from complete. Especially, it is unclear whether considering indvidual preferences can significantly improve the network in practice and how different performance metrics, such as throughput, EE, and hit-rate, interplay and trade off with one another. Most importantly, existing papers lack of providing sufficient evaluations based on real-world data. Our paper aims to resolve these issues.

B. Contributions
We consider BS-assisted cache-aided D2D networks, where users can obtain the desired files from the BS, caches of neighboring users via D2D links, and their local caches. Using different approaches to obtain the files thus leads to different utilities of the networks. Allowing different users to have different random caching policies, our goal is to maximize the utility by appropriately designing the individual preference aware caching policies. Based on clustering and random-push scheduling [18], we analyze the network and propose a utility maximization problem formulation that is non-convex. Observing that this utility maximization problem can be cast as different practical problems, such as, the throughput, hit-rate, and EE optimization problems, and several tradeoff problems, we provide discussions to reveal their relationship.
Besides, we also discuss how the proposed utility maximization problem can accommodate scenarios with different fading and user distributions.
To solve the utility maximization problem, we first propose a coordinated caching policy, in which users need coordination when designing the policy. A solution approach that iteratively updates the caching policies of users is proposed. We prove that this approach can improve at each iteration and converge to a stationary point under a mild assumption. We also propose a non-coordinated approach by assuming all users to adopt the same caching policy while knowing the individual preferences. 3 We evaluate the proposed caching policies in networks considering realistic setups; especially, we adopt a practical individual preference generator proposed in [27] based on extensive real-world data. The results show that by properly exploiting the information of individual preferences, network performance can be significantly improved. We also compare 3 Note that this is different from designing a caching policy considering a homogeneous user preference. between designs optimizing throughput, EE, and hit-rate, and investigate the influences of the cooperation range of the D2D network. The results indicate that tradeoffs exist between these important metrics, and we can manage the tradeoffs by properly exploiting our designs. Finally, we show how the proposed systems can be used as good reference systems for obtaining effective designs in networks with complicated scheduling. We emphasize that this is the first work to validate the benefits of exploiting the individual preferences of users and obtain insights by simulations based on extensive real-world data. To sum up, our paper has the following contributions: • Considering the individual preferences, we analyze a cache-aided network and formulate a network utility maximization problem.
• Based on the utility maximization problem, we provide designs optimizing the network utility and several practically important metrics, e.g., throughput, EE, and hit-rate.
• Considering realistic setups based on extensive real-world data, comprehensive simulations are conducted to show the benefits of exploiting individual preferences and provide insights.
• We use simulations to demonstrate that tradeoff exists between different metrics, and we could obtain efficient tradeoffs by appropriately designing the caching policy and cluster size. We also demonstrate how the results in this paper can help in designing caching policies in the networks without tractable problem formulations.

C. Organization of This Paper
The remainder of the paper is organized as follows. In Sec. II, the network and individual preference models are presented. We provide analysis of the networks, and formulate the utility maximization problem in Sec. III. Also in Sec. III, we relate the proposed problem to different practical problems and show the effects of fading. The coordinated and non-coordinated caching policy designs are proposed in Sec. IV. Extensive simulation results are provided in Sec. V. We conclude the paper in Sec. VI. Proofs are relegated to Appendices.

II. NETWORK AND INDIVIDUAL PREFERENCE MODELS
We consider a BS-assisted cache-aided wireless D2D network with a single BS. Users can obtain desired files by retrieval from their own caches, D2D communications, or BS links. The file library consists of M files, and we assume all files have the same size for simplicity. Each user is able to cache S files in the device storage. Users can be active or inactive: an active user is a user who places a request that needs to be satisfied and participates in the D2D cooperation (i.e., sends files to other users that request them); an inactive user is a user who does not place a request of its own but still participates in the D2D cooperation.
Following a widely used model [9], [17], [18], [22], [23], we consider a clustering network, in which a cell is divided into equal-sized square clusters with side length D. Users are allowed to cooperate via D2D communications only with users in the same cluster. We assume no interference between users of different clusters; this can be achieved by letting different clusters use different time/frequency resources with "spatial reuse". The "communication radius" or "cluster size" we henceforth reference thus corresponds to the dimension D of such a cluster, not the cell radius of the macro BS. We thus focus on a single cluster. 4 We denote the number of active users in a cluster as K A ; the number of inactive users as K I . The total number of users is then K = K A + K I .
We consider serving users via "random-push" scheduling [18], which functions as follows.
For a cluster, the BS first randomly selects an active user without knowing whether this request can be satisfied by the user's own (local) cache. If the selected user can obtain the desired file from the local cache, i.e., the desired file is actually cached by the selected user, the user request is satisfied immediately. Otherwise, the user checks whether other users in the D2D network store the desired content and whether the channel quality between the user and the other users storing the desired file is sufficiently good for D2D communications. If so, a D2D link is used to transmit the desired content; otherwise, the user needs to use the BS link to access the content.
It is assumed that the BS has an unlimited bandwidth backhaul to repositories that store all files in the library, which guarantees that any request from a selected user can always be satisfied, though potentially at high cost. After the scheduling for the selected user, the remaining active users check whether their requests can be satisfied by files in their local caches. If yes, their requests are satisfied. Clearly, such scheduling can guarantee that at least one user is served and all users are scheduled fairly. 5 4 That being said, our results can be easily extended to multi-cluster scenarios provided that the intra-cluster interference of D2D links are appropriately handled, e.g., [18]. 5 Of course, there exists more effective scheduling, e.g., the priority-push scheduling [18], though at the price of higher complexity. Most importantly, it is very challenging to obtain tractable formulations for such advanced scheduling scheme [18], [35]. On the other hand, the random-push scheduling leads to tractable expressions for different critical metrics and is easy to implement; thus serving as a good reference system. Individual preferences for requesting video files are considered and represented in the form of probabilities. We denote the request probability of user k for file m, i.e., probability that user k wants file m in the future as a k m , in which 0 ≤ a k m ≤ 1, ∀m, k, and M m=1 a k m = 1, ∀k. Different users can have different caching policies. Denoting b k m as the probability for user k to cache file m, the caching policy of user k is described by 6 In the limiting case that b m k becomes 1 or 0, the caching policy becomes deterministic. This is meaningful in the situation where the central controller knows a priori which users are going to be in a cluster, so that the caching policy can avoid detrimental file overlap (compare [7]). Such a deterministic predictability of user location occurs, e.g., in an office scenario, where the same people are in geographical proximity every day.
In this work, users could access the desired files from their local caches, caches of other users, and BS. We consider different utilities when different types of approaches are used. We denote the utility of accessing a file via a BS link as U B , the utility of accessing a file via a D2D link as U D , and the utility of accessing a file via the users' own cache as U S . We generally assume 7 The utility can be used for different practical goals, such as throughput, cost, and etc.. We will discuss this in Sec. III.C.

III. CACHING POLICY DESIGN PROBLEM
Our goal in this work is to design caching policies that optimize the network utility by exploiting the knowledge of individual preferences. In this section, firstly the access probabilities of different accessing approaches for a user are derived. Based on the results, we formulate a caching policy design problem aiming to maximize the network utility.

A. Fundamental Access Probability
Consider the system model in Sec. II. We denote U A as the index set of active users and U I as the index set of inactive users, and U = U A U I . We denote the channel between user k 6 An implementation of this caching policy could be found in [13]. 7 This implies that using self-access is superior to using a D2D link, and using a D2D link is superior to using a BS link.
Besides, although we consider all users to have the same utility, the extension to the case that different users have different utilities is straightforward. and user l as h k,l and the corresponding signal-to-noise ratio (SNR) as SNR k,l . When user k is selected, the probability user k accesses the desired file through a BS link is C} is the probability that file m is not in the caches of any user device, and a k m l∈U 1 − b l m 1 {h k,l ,C} is the probability that the user wants file m but file m is not in the caches of user devices. We define the self-access probability, i.e., the probability that user k can obtain the desired file from the local cache as By using P k B and P k S , the probability that user k reaches the desired file via a D2D link is

B. Utility Maximization Problem Formulation
Now, we derive the expected utility of the network. We assume that, for any user k, the channel gains of all the possibly associated D2D links are independent, i.e., 1 {h k,l ,C} , ∀l, are independent (see use cases in Sec. III.D). By using the results in Sec. III.A, when the user k is selected by the BS, the expected utility of the selected user k is Given some weights w 1 , w 2 , ..., w K A , the weighted sum expected utility of the selected users is Since users not being selected by the BS can still check whether their desired files are cached in their local caches, we obtain additional local gains coming from the ability of users to satisfy their own requests. Thus, the expected utility of the network is Proof. The derivation of (6) is provided in appendix A.
Using (6), the caching policy design problem maximizing the network utility is We then have the following Proposition.

Proposition 1:
The optimal solution of (7) must be tight at the equality of the sum constraint, i.e., for the optimal solution (b k m ) * , ∀k, m, we have Proof. By (6), the first order partial derivatives of U net is: Therefore U net is non-decreasing with respect to b k m , ∀k, m. This indicates the optimal solution of (7) must be tight at the equality of the sum constraint.

C. Interpretations of the Utility Maximization Problem and its relationship to Practice
The utility maximization problem can be specialized to various practically important problem, as elaborated in the following. Note that in this subsection, we consider the equal-weight case, i.e., w 1 = w 2 = ... = w K A = 1, for notational simplicity, and the extensions to other weights are straightforward.

1) Throughput Maximization Problem: When letting
and T S is the throughput of self-access, the utility maximization problem becomes the throughput maximization problem, in which the expected throughput is

2) Cost Minimization Problem: Then when letting
where C B is the cost of a BS link, C D is the cost of a D2D link, and C S is the cost of self-access, the problem can be cast as the cost minimization problem, expressed as It should be noted that when the cost is equal to energy consumption, the problem is the energy minimization problem.
3) Hit-Rate Maximization Problem: When letting U B = 0, U D = 1, and U S = 1 K A , the problem is to maximize which is to maximize the file hit-rate of the network.

4) Throughput-Cost Weighted Sum Problem:
To trade off between different metrics in a desired manner, a common approach is to maximize the weighted sum/difference of different metrics [36]. 8 For example, considering the tradeoff between throughput and cost, we can consider maximizing where w T ≥ 0 and w C ≥ 0. Such a weighted sum/difference problem is equivalent to the utility maximization problem as we let Note that the similar concept can also be used for the throughput-hit-rate tradeoff.

5) Cost Efficiency Problem:
In some situations, we also want to optimize the cost efficiency, e.g., we want to maximize EE (bits/Joule). Such efficiency maximization problem can be considered as a special case of the weighted sum problem as shown in the following.
Suppose we want to maximize EE. The problem is: This problem is then equivalent to 8 The same concept can also be applied to trade off between more than two objectives.
Assuming that the optimal t * is known, the problem in (15) is equivalent to finding the optimal Observing (16), it is clear that we have a weighted difference problem, in which w T = 1 and w C = −t * . Thus, it can be cast into the utility maximization framework. Also, the optimal policy The remaining issue is to find t * . Assume that we can find the global optimum of the utility maximization problem. Considering the same problem in (16) but replacing t * with t, we know that if the solution results in a positive number, i.e., T net − tC net > 0, our solution can provide an EE larger than t. On the other hand, if the solution gives T net − tC net < 0, we know that such t is not achievable. By adjusting t according to the results, we can then find the t such that it is arbitrarily close to t * . We note that this concept is identical to the approach for solving a quasiconvex problem [37]. Although the above approach is based on the assumption that the global optimum of the utility maximization problem is attainable, the concept can be applied even if the globally optimal solution might not be obtained. 9 This is because whenever a solution gives T net − tC net > 0, we know that such solution can achieve EE = t. Then by carefully adjusting t and solving the utility maximization problem efficiently, we could still obtain an effective design.

D. Effects of the Statistics of Wireless Channels and User Distributions
By (6), it can be observed that the expected utility is influenced by the channel quality via L k,l . Thus understanding the general expression of L k,l and its relationship to channel physics is important. In this section, we provide several useful expressions for L k,l and discuss its relationship to the possible scenarios. It should be noted that if k = l, L k,l = L k,k = 1. Therefore in the following, we consider k = l.
Let d k,l be the distance between user k and user l. We consider the input-output relationship between users k and l to follow the general expression: where y l is the received signal at user l, x k is the transmit signal from user k, PG(d k,l ) is the path gain effect (channel (power) gain averaged over small-scale and large-scale fading), s k,l is 9 Since the utility maximization problem is non-convex, this is the case we might encounter.
the shadowing power gain, h k,l is the small-scale fading amplitude, and n l is the Gaussian noise with power σ 2 n . Denote E D as the transmission power of the D2D link. By (17), the received SNR is SNR k,l = , and therefore In the following, we show some practical examples and demonstrate the computations of (18) using user fading distributions. The extensions to other models are feasible by leveraging the existing results of fading [38] and distance distributions [39].
1) Case 1: Systems with effective quality control: In modern wireless communication systems, approaches such as adaptive power control and frequency-and-antenna-diversity, are used to combat fading effects in wireless channels. Thus, in systems with effective quality control, we can assume that D2D channels between users in a area can be guaranteed, leading to L k,l = 1, ∀k, l.
2) Case 2: Systems with deterministic path-loss and shadow fading: When users are in lowmobility or no-mobility modes, the joint effect of path-loss and shadow fading between users is deterministic. In this case, we focus on characterizing the small-scale fading. Thus, where the closed-form expressions are attainable for commonly used fading distribution. For example, considering normalized Rayleigh fading whose average power is 1, we have 3) Case 3: K users uniformly distributed in a square with side length D and with shadowing and small-scale fading: Here we consider using lognormal shadowing and normalized Rayleigh fading as an example. According to results in [40], the distance d between two users independently and uniformly distributed over a square area with unit side length is described by the probability density function: Then when fixing the shadowing s k,l , by using the property of Rayleigh fading again, we have Assume that the shadowing and small-scale fading effects of different links between different users are independent. We can then generalize (22) as where f s k,l (s) is the pdf of the shadowing effect for the channel link between user k and l.
Consider the the mean and standard deviation of the lognormal distribution to be u dB and σ F , respectively. We then obtain It should be noted that the inner integral of (24) is the complement of the channel outage when the joint effect of the fading is the Suzuki distribution [38].

A. Proposed Coordinated Caching Policy Design
To solve (7), we propose an approach that iteratively optimizes the caching policies of users. Specifically, denoting b k ′ = [b k ′ 1 , ..., b k ′ M ] T , for user k ′ , we iteratively solve the following subproblem for different k ′ : in which, when k ′ ∈ U A , we obtain when k ′ ∈ U I , we obtain We remark that (26) and (27) are simply reformulations of (6), in which we isolate the terms containing variables to be optimized. Observing (26) and (27), it is then clear that (25) is a linear program. Note that we consider only equality constraints in (25b) because of Proposition 1.
To solve (25), general linear program solvers can be applied. However, we herein provide a more insightful and efficient solution approach via using the analytical closed-form expressions in (26) and (27). By letting we notice that maximizing U k ′ LP is equivalent to maximizing Then by observing that the optimal solution of (29) subject to constraints (25b) and (25c) can be obtained by allocating the cache space to the terms offering larger payoffs, the optimal solution of (25) is expressed as where Φ k ′ = {m : U k ′ ,m LP,S is among the S largest of all U k ′ ,m LP,S }. By iteratively solving (25) via using (30) for different k ′ until convergence, the caching policy design problem in (7) can be The solution approach is summarized in Alg. 1. We note that since (30) suggests that the probability for a user to cache file m is either 1 or 0, we actually eliminate the probabilistic interpretation and attain the deterministic policies of users. To characterize the performance of the proposed solution approach, we provide the following theorem:

B. Proposed Non-Coordinated Caching Policy Design
The previous design needs coordination between users. Here we propose an intuitive design without coordination. By considering that users adopt the same caching policy {b m } M 1 but are aware of the individual preference of the demanding user set, the utility function U net is lower bounded as where L min k = min l∈U ,l =k L k,l . We should note that the lower bound is tight at the equality if all the users encounter the same fading and are independently and randomly distributed in a D2D area.
Denote the lower bound in (31) as U nc , the non-coordinated caching policy design problem is Since every user designs the caching policy by independently solving the same problem in (32), the design can be conducted without coordination. Note that to leverage the user preferences, users still need to exchange information regarding their preferences. The following proposition then indicates how we can solve (32):

Proposition 2:
The problem in (32) is a standard concave optimization problem. Besides, the optimal caching policy must be tight at the equality of the sum constraint.
Proof. Trivial when looking at the gradient and Hessian of U nc .

V. NUMERICAL RESULTS
In this section, simulation results are provided to validate the analysis, evaluate the proposed designs, compare between different designs, and provide insights.

A. Simulation Setup
In the simulations, we evaluate the performance of a cluster whose coverage is a square with side length D. Users are uniformly distributed within the cluster. We assume the randompush scheduling for users unless otherwise indicated. We assume equal-weight for users, i.e., w k = 1, ∀k ∈ U A . We consider a practical channel model, consisting of the path-loss, shadowing, Rayleigh fading, and Gaussian noise, for D2D links. The noise power spectral density is N 0 = −174 dBm/Hz. The path-loss model of the D2D link between users k and l is described as [8], [38] 20 log 10 4πd 0 λ c + 10α log 10 d k,l d 0 , where d 0 = 10 m is the breakpoint distance, λ c = 3×10 8 fc m, where f c = 2 GHz is the carrier frequency, α = 3.68 is the path-loss exponent, and d k,l is the distance between users k and l. The shadowing is modeled by a log-normal distribution with mean µ dB = 0 dB and standard deviation σ F = 8 dB, and the small-scale fading is Rayleigh fading. We denote E D as the transmission power of the device, and SNR min = 5 dB as the minimum SNR requirement for a successful transmission of a D2D link. Thus, R min = log 2 (1 + 3.16) is the minimum transmission rate of a D2D link. We then let T D = B D R min be the throughput of a D2D link, where B D = 20 MHz is the bandwidth of a D2D link. We assume a BS link always exists when a user is scheduled to use it. Since the BS must supply users in many clusters, we assume that a BS link can only share 1 100 of the BS resources. The transmission power for a BS link is E B = 26 dBm, which is 1 100 of the total 46 dBm of the BS power. Similar, the bandwidth of a BS link is B B = 200 kHz, which is 1 100 of the total 20 MHz bandwidth. We thus let T B = B B R min . We assume no cost when users can obtain the desired file from their local caches, and consider T S = 2T D to indicate the slightly better quality of the video when self-access is possible. 11 For simplicity, we assume here that energy cost is purely determined by RF energy required for transmission; access to storage and coding/decoding is assumed to be negligible in comparison. Thus, based on the above setup, we obtain C B = E B , C B = E D , and C S = 0; the network EE is thus given as EE = Tnet Cnet by definition in Sec. III.C.5. To generate the practical individual preference probabilities for users, the generation approach and parameters in [27] are adopted. 12 Individual preference probabilties in [27] are modeled by a hierarchical structure in which the preference probability of a user for a file is modeled as the probability that a user wants a certain video genre, and then the conditional probability a user wants a file within the genre. Therefore, each file in the model can be categorized into a genre, and we have M = G g=1 M g , where M g is the number of files in a genre and G is the total number of genres in the library.
In the following, we want to show the benefits of exploiting the individual preferences. To provide a fair comparisons, we observe that both the coordinated and non-coordinated designs can be implemented either by using the knowledge of individual preference probabilities as in Sec. IV or simply by using the system-wide popularity distribution. When implementing using system popularity distribution, the individual preference probabilities of all users in (14) are replaced by the global (system) popularity distribution, i.e., all users assume the same preference probabilities described by the global popularity distribution. To generate the system popularity of the simulations, we average the individual preference probabilities of 10000 users generated by the same generation model, meaning that the global popularity distribution is constructed by averaging 10000 individuals. According to our experiences, such construction is relatively stable and only minor differences are observed between different constructions.

B. Effects of the Individual Preferences and Network Parameters
In this subsection, we validate the analytical results provided in Sec. III and show the results with different network parameters. For all simulations in this subsection, we adopt D = 80 and E D = 20 dBm. In the figures, the results of the designs adopting the individual preferences are 11 Note that although we can immediately obtain the file when this file is in the local cache, the throughput is bounded by the rate that the user watches the file. Also, mathematically, we should not let TS go to infinity if we want meaningful results. 12 Please refer to [28] for the detailed recipe of the generator.   In Fig. 2, we consider both S = 5 and S = 20 and no inactive users (K I = 0), and evaluate different designs in terms of the EE. We observe again that our analytical results match the simulation results. Besides, the coordinated design exploiting the individual preferences once again show the benefits of using the individual preferences, while the non-coordinated design still cannot induce obvious improvement. Therefore, a better non-coordinated design that can smartly provide the sufficiently large degree of the heterogeneity between users in terms of the 13 There are some cases that the non-coordinated design with individual preferences can provide better improvement than the results in Fig. 1 (as well as in Fig. 2), e.g., when the design goal is to minimize cost [1] or maximize hit-rate. However, the improvement is still less than the coordinated design.   caching policy without much imposed coordination between users is necessary. This is one of our important future directions.
We next show the impact of inactive users. In Fig. 3, we consider S = 20, and compare results between networks with two different numbers of inactive users, i.e., K I = 0 and K I = 25. We show only the results of the coordinated designs. From the figure, we see that the benefits of the inactive users are more significant when the number of active users in a cluster is small. Compared to the results with no active users, when K A = 3, the improvement of having 25 inactive users is 96%; when K A = 53, the improvement of having 25 inactive users is 3.0%. This is clearly because although the inactive users can improve the hit-rate, such hit-rate improvement becomes insignificant for the throughput when there are too many users (in the same cluster) to share a single D2D band and the number of active users is enough for bringing good hit-rate without the aid of inactive users. This implies that when the number of inactive users is large, we might want to have multiple D2D links to benefits more from the inactive users or adjust the number of users in a cluster by reducing the cluster size. 14

C. Tradeoff Behaviors between Different Performance Metrics
In this subsection, we compare different designs and show the tradeoffs between throughput, EE, and hit-rate. Specifically, in all the following figures, we compare between different coordinated designs in pursuit of different goals, i.e., throughput, EE, hit-rate, and the throughput-hitrate tradeoff, in terms of all these performance metrics. For the throughput-hit-rate tradeoff 14 Of course, either approach should be subject to careful considerations between different aspects, such as interference management, power control, reduction of hit-rate, and etc.. Considering S = 20, M = 934, R = 80, E D = 13 dBm, and K I = 0, we compare different designs in Fig. 4. Unsurprisingly, the throughput-based, EE-based, and hit-rate-based designs provide the best throughput, EE, and hit-rate, respectively. Besides, the selfish design is wellperforming in terms of throughput, while it is very poor in terms of EE and hit-rate. This is because, when all users are active, the network throughput can be effectively enhanced by having large local gains. On the other hand, such selfish design inherently provides very poor hit-rate, leading to poor EE because of the frequent use of BS links. The hit-rate-based design provides poor throughput because it does not consider the local gains possibly brought by letting users to cache their desired files. In contrast, the throughput-based design is not effective in terms of hitrate due to emphasis on obtaining the local gains. To strike a balanced viewpoint between them, the appropriate throughput-hit-rate tradeoff designs can efficiently trade throughput for hit-rate, resulting in significant improvement of the hit-rate with little degradation on throughput. By  adjusting ζ, we can effectively adjust the tradeoff behavior. Finally, we observe that to design a caching policy that is effective in terms of EE, we shall balance between throughput and hit-rate. 15 Also, it is worthwhile noting that when compared to Figs. 1 and 2, the E D is significantly lower, resulting in significantly better EE. However, such transmission power reduction only slightly increases the channel outage 16 so that the throughput (also the hit-rate) is almost identical to those in Figs. 2(b). This implies the usefulness of a good power control policy of the network.
In Figs. 5 and 6, we evaluate the proposed designs with respect to the cluster size D. Since changing the cluster size should accompany a suitable transmission power control of D2D links in order to appropriately manage the average SNR of the received signal and the interference between clusters, the power control policy proposed in [18] is adopted: where K = 16 is the reuse factor and ν = 2 α 2 N 0 B D is the maximal allowable interference between clusters. 17  We can also see that the selfish design is relatively effective again because all users are active.
Interestingly, we observe that the area throughput of the EE-based design first decreases with respect to D, and then increase as D ≥ 50 m. This is because when D is small, the EE-based 17 The value of ν is at the level of noise power so that we can ignore the inter-cluster interference in the simulations for brevity. ν is only used to compute the ED.  design strives to increase hit-rate for optimal EE (thus sacrificing the local gains), and then when the hit-rate is sufficiently large, it gradually improves the local gains of the users, leading to a bounce back of the area throughput. As expected, hit-rate-based design provides the best hit-rate while the area throughput of the hit-rate-based design continuously decreases with respect to D since it strives to improve hit-rate without considering the local gains. In contrast, the throughputbased design is again not effective in terms of hit-rate. In terms of EE, the EE-based design outperforms others significantly. Besides, it is observed that we can trade off between the area throughput and EE not only by means of using different caching policies but by means of using different cluster sizes. Thus, a network designer should take both caching policy and cluster into consideration. Finally, we note that exploiting individual preferences can bring benefits as expected. Furthermore, we see that the proposed design can outperform the design operating with users with homogeneous distribution. Such result implies, rather than being detrimental, the diverse preferences of users on files can actually be used to further improve the network.
In Fig. 6, we conduct a similar evaluation as in Fig. 5  observed in Fig. 5 can be observed again. Besides, since we now have inactive users, to obtain the optimal throughput, while the active users are still fairly selfish, the inactive users should be cooperative. This thus smoothes the area throughput of the throughput-based design; distinguishes the selfish design from the proposed designs; and renders the throughput-based design well-performing in terms of EE and hit-rate. We can actually observe that the performance differences between the throughput-and EE-based designs is smaller. However, the tradeoff between throughput and EE is still significant as we change the cluster size. Finally, we see that the proposed designs outperform the design with pure homogeneous modeling, again validating our points that users having preference diversity is beneficial.

D. Evaluations with Different Schedulers
Finally, we evaluate the proposed designs in the clustering networks with two different schedulers to show how the proposed designs can help designs for a network that has a very complicated scheduler. Specifically, in addition to evaluating using the random-push scheduler, we 10   evaluate (under the same caching policy) the "priority-push scheduler" [18], which functions as follows: every user first checks whether their requests can be satisfied by files in their local caches. If yes, the requests are satisfied; otherwise, they send requests to the BS. The BS then checks whether there exists users that can be satisfied by using D2D links. If yes, the BS randomly selects one to be served by the D2D link; otherwise, the BS randomly selects one user from those sending the requests to serve via a BS link. Obviously, such scheduler maximizes the usage of the D2D communications, and thus is expected to have better network performance in terms of throughput and EE as compared to the random-push scheduler. On the other hand, it might be unfair to those whose preferences are not similar to the mainstream -they might be less likely to be selected to serve. More importantly, such complicated scheduler results in an intractable expression for designing caching policies. We demonstrate how to exploit the proposed designs in this work along with some numerical results to provide guidance for obtaining the effective designs for it.
In Fig. 7, we evaluate the proposed coordinated designs in both networks with random-push and priority-push schedulers, labeled as "Random" (dash line) and "Priority" (solid line), respectively. We observe that the priority-push network generally outperforms the random-push network in terms of the area throughput and EE. Besides, we observe that, in terms of the area throughput, the proposed designs can be fairly representative as the best cluster size of both random-push and priority-push networks and the orders of the throughput results of different designs are the same. The results for EE show some more subtle effects. We can see that the optimal cluster size for the priority-push network is smaller. Besides, to obtain the best EE in the priority-push network, it is unnecessary to have high hit-rate. The reason is that the priority-push scheduler would schedule a D2D link as long as there exists one, implying higher rate for scheduling D2D links than simply the hit-rate -the probability for at least one user to find the desired file in the D2D network is higher than a particular user to find his/her desired file. Thus, to obtain an effective design in the priority-push network in terms of EE, we might choose a design with the smaller cluster size and lower hit-rate as compared to the optimal EE design in the random-push network. Overall, we observe that to obtain an effective design in the priority-push network, on the basis of the results of the random-push networks, we should reduce the cluster size and consider various throughput-hit-rate tradeoff designs. Since our proposed tradeoff designs can efficiently evaluate the throughput and hit-rate, such try-and-error procedure might not be challenging.

VI. CONCLUSIONS
In this work, we improved cache-aided D2D networks by considering the individual preferences of users. Using an individual preference probability model, we derived the network utility of a clustering network that fairly serves users in a cluster, and proposed a utility optimization problem. Such problem can be specialized to different important practical problems, such as throughput, EE, hit-rate optimization, and different tradeoff problems. Two solution approaches that solve the utility optimization problem coordinatedly and non-coordinatedly were proposed.
Comprehensive numerical evaluations were conducted with the practical individual preference and network setups. The results show that when appropriately exploiting the information of individual preferences, the cache-aided D2D network can be significantly improved thank to the preference diversity of users. The results also show that the throughput and hit-rate significantly conflict with each other, and such conflict can be resolved through a suitable tradeoff design.
To obtain an effective EE design, in addition to directly optimizing EE, we can solve a properly designed throughput-hit-rate tradeoff design, offering another perspective for EE optimization.
Besides optimizing the network by means of optimizing caching policy, the network performance can be optimized by changing the cooperation range of the D2D; a tradeoff again exists in this regard. Finally, we demonstrate how to use results in our work to serve as a foundation for designing effective caching polices in networks with more involved scheduling policies.
APPENDIX A

DERIVATIONS OF THE EXPECTED UTILITY
We first derive the expression of U. Using (1) To prove the Theorem, we first note that the problem in (7) satisfies the block separable structure as follows: max Eq. (36) indicates that the constrains on different blocks are separable. Denote u(b k ′ ; B r ) = U(b r 1 , ..., b r k ′ −1 , b k ′ , b r k ′ +1 , ..., b r K ) for brevity. From Alg. 1, we notice that since constraints are block separable and b r+1 k ′ = arg max b k ′ ∈B i u(b k ′ ; B r ) at each iteration, we have Thus, we know the algorithm is monotonically non-decreasing. Then since the optimal objective function of (7) should not be infinity, the algorithm must converge.
To prove that Alg. 1 converges to a stationary point if every iteration has an unique maximization, we note that the proposed algorithm can be analyzed by the framework of block coordinate descent methods in [41]. Then by directly applying the Proposition 2.7.1 in [41], the proof is complete.