The last decades have witnessed a dramatic surge of wireless data due to the proliferation of mobile devices . The increasingly more data-intensive new applications have caused a shift of wireless traffic to content-based data for access and sharing. With the growing data traffic and the requirement of timely content delivery in many wireless services, using network storage resources for content caching has emerged as a compelling technology to alleviate the network traffic load and reduce the content access latency for users [2, 3]. The availability of local caches at the network edge, e.g., base stations or users, creates new network resources and opportunities to increase the user service capacity. Cache-aided communication technologies are expected to bring promising solutions for content delivery in future wireless networks.
The caching design and analysis have attracted increasing research interests. Many studies have investigated into the cache placement and delivery strategies to understand the impact of caching on the wireless networks [4, 5, 6, 7]. Conventional uncoded caching allows users to pre-fetch part of the database to improve the hit rate [4, 5]. However, it is only optimal for the case of a single cache, and is non-optimal for multiple caches. Coded caching is first introduced in, where the authors proposed a Coded Caching Scheme (CCS) that combines a cache placement scheme (uncoded) specifying the cached content and a coded multicasting transmission strategy, assuming uniform file and cache characteristics. With the use of coding, it provides the caching gain that is shown to substantially reduce the traffic load as the network size increases. Coded caching has since attracted considerable attentions for further studies, with extension to the decentralized cache placement scheme , transmitter caching in mobile edge networks [9, 10], considered for both transmitter and receiver caching in wireless interference networks . Instead of proposing specific cache placement schemes or modifying the original scheme in the CCS for improvement, the optimization of cache placement in the CCS was separately studied in [12, 13], where using different approaches, the authors have obtained the optimal cache placement strategy to minimize the peak traffic load.
For the CCS, it is designed assuming the number of users is less than the number of files in the database. It adopts the peak load as the performance metric, targeting at the worst-case scenario of users requesting distinct files. In general, when the user requests have overlapping, some redundancy in the delivery phase exists which increases the load . To address this limitation, a recent new study  proposed a Modified Coded Caching Scheme (MCCS). It proposed a new caching strategy to remove the redundancy introduced in the CCS during the delivery phase, reducing both the average and peak load. The cache placement is further shown to be optimal for the MCCS in . However, the related state-of-the-art studies are only possible for specific cache memory sizes [14, 15]. The general optimal caching solution for the MCCS with an arbitrary cache size remains unknown.
In this paper, considering content caching and delivery between a service provider and multiple cached-enabled users, we develop the optimal cache placement solution for the MCCS with an arbitrary cache size. Specifically, we propose an optimization framework to formulate the cache placement problem, aiming to minimize the average load during the delivery phase, regardless of the randomness in the user requests and the cache size. Through reformulation, we show the optimization problem is in fact a linear programming problem. By exploring the properties in the constraints, we solve the problem to obtain the optimal placement solution in closed-form. We verify that the existing optimal cache placement scheme [14, 15] for specific cache sizes is a special case in our solution. To the best of our knowledge, this is the first work to provide the complete optimal cache placement scheme for the MCCS, regardless of the number of users and their cache memory size. Note that our optimization approach can also be used to derive the optimal cache placement solution for the original CCS with arbitrary cache size, for the peak load minimization. The same solution for the CCS has been obtained through optimization in independent work . However, different approach is used there which cannot be applied to solve the cache placement problem for the MCCS.
Through simulation studies, we analyze the performance of proposed optimal caching scheme as compared with existing schemes, including centralized and decentralized CCS schemes. We show that the optimal cache placement has some interesting characteristics. For the cache size ranging from zero to the total size of all files, the cache placement shows a symmetric pattern. Furthermore, when the number of files and the cache size are fixed, while user population increases, the load increases with an interesting pattern, suggesting a changing caching gain achieved at different cache sizes.
Ii System Model
Consider a cache-aided transmission system with a server connecting to users, each with a local cache, over a shared error-free link. Shown in Fig. 1, examples of the described scenario include mobile edge computing networks where network edge nodes (e.g., base stations) with cache storage are connected through backhaul to a service provider residing in the cloud, or a server in a base station serving its in-cell users with local caches. The server has a database consisting of files, , each of size bits. Denote . We assume uniform popularity distribution of these files, i.e., , for . Denote the set of users by . Each user has a local cache of capacity bits, for , and we denote its cache size (normalized by file size) by .
The system operates in two phases: cache placement phase and content delivery phase. The cache placement is performed in advance during the off-peak hours without knowing the user file requests, and is changed at a longer time scale. During this phase, for a cache placement scheme, each user uses a caching function to map files into its cached content: .
During file requests, each user independently requests one file from the server, with the index of requested file denoted by , . Denote
as the demand vector containing the indices of file requested by all users. In the content delivery phase, based on the demand vectorand the cache placement, the server generates coded messages and transmit them to the users over the shared link. Denote the codeword as , where is the encoding function for demand . Upon receiving the codewords, each user applies a decoding function
to obtain the (estimated) requested filefrom the received signal and its cached content as
Thus, an entire coded caching scheme can be represented by the caching, encoding and decoding functions. The following defines a valid coded caching scheme.
A caching scheme is valid if each user can reconstruct the file it requested, i.e. , , for any demand vector .
Coded Caching: In the CCS [6, 7] and the MCCS ), each file is partitioned into non-overlapping subfiles with equal size, one for each specified user subsets. During the cache placement phase, user caches those subfiles for the user subsets containing user . In the delivery phase, the server delivers the missing subfiles of the requested file not in a user’s local cache, using a coded multicasting delivery scheme.
Iii Problem formulation
A key design issue in a coded caching scheme is the cache placement. Existing coded caching schemes describe specific ways of file partitioning for the cache placement, when cache size is multiple of . Instead of this design approach, we formulate the coded caching problem as a cache placement optimization problem for any given cache size , to minimize the average rate (load) over the shared link, where we consider the delivery strategy specified in the MCCS.
Iii-a Cache placement
To formulate the problem, each file is partitioned into non-overlapping subfiles, one for each unique user subset . Since we assume that file lengths and popularity and the cache sizes are all uniform, a symmetric cache placement is adopted by treating all files equally. Thus, all the files are partitioned in the same way. That is, let denote the subfile of for user subset . Its size satisfies , for all . In addition, the size of these files only depends on the size of user subset under the symmetric cache placement.
Note that there are different user subsets with the same size , for . Let denote user subset of size , i.e., , for . Let denote cache subgroup containing all user subsets of size , for . Thus, all user subsets are partitioned into cache subgroups based on the subset size. Accordingly, all subfiles are partitioned into subgroups: , , where the subfiles in the same group have the same subfile size , for all , .
Let denote the cache placement vector (common to all files) describing the size of subfiles to be cached in each cache subgroup. In the cache placement phase, user caches all the subfiles in , , that are for user subsets containing user . In other words, user caches , .
For a given caching scheme, each original file should be able to be reconstructed by combining all its subfiles. For each file, among the partitioned subfiles, there are subfiles with size (for all user subsets with ). Thus, we have the file partitioning constraint
For the local cache at each user, note that among all user subsets of size , there are total different user subsets containing the same user, for . Since each file is partitioned based on user subsets, it means that for each file, the total number of subfiles a user can possibly cache is ; Considering the subfile size for each cache subgroup , this amounts to bits that can be cached by the user for each file. Define as the normalized cache size. We have the local cache size constraint at each user as
Iii-B Content delivery under the MCCS
The delivery scheme in the CCS is by multicasting a unique coded message to each user subset , , formed by bitwise XOR operation of subfiles (of the same size ) as:
Each user in subset can retrieve the subfile of its requested file. Assuming the worst case of distinct file requests, coded messages as in (3) for all user subsets are delivered. There are user subsets in , to which coded messages of size are delivered. The overall peak load is .
When the file requests are not distinct, the coded delivery in the original CCS contains some redundant subfiles. The recently proposed MCCS  provides a new delivery strategy that removes this redundancy existed in the CCS for further load reduction. Let denote the distinct requests for demand vector . Based on the MCCS, we have the following Definitions 2 and 3.
Leader group: For a demand vector with distinct requests, a leader group is chosen for the delivery phase, where satisfies and users in have exactly distinct requests.
Redundant group: Any user subset is called a redundant group if it does not intersect with the leader group, i.e. ; otherwise, it is a non-redundant group.
We have the following proposition which can be derived straightforwardly from the decentralized MCCS describe in .
A caching strategy is valid as long as all the coded messages formed by the non-redundant groups are delivered.
Iii-C Cache Placement Optimization for the MCCS
Our objective is to minimize the expected load by optimizing the cache placement. From Proposition 1, we know that is equal to the expected size of all the coded messages of the non-redundant groups. There are user subsets with size , and among them, are redundant subgroups, of which coded messages to them are redundant for users to recover the subfiles for their requested files. Removing these redundant transmissions, the expected load is given by
where the expectation is taken with respect to . Following the common practice, we define when or . The cache placement optimization problem is formulated as
Iv Optimal Cache Placement for Average Load Minimization
For the uniform popularity among files, the probability of havingdistinct requests, for , is
It is clear that is linear in ’s. In addition, all the constraints in P1 are also linear in ’s. Thus, P1 is a linear programming problem with respect to , and we can solve it to obtain the optimal cache placement solution which is given bellow.
For any cache size and , the optimal cache placement to minimize the expected load in P1 is , where , and
The minimum expected load is
Remark: Note that the minimization of the expected rate is also considered recently in using a different approach, where the authors show that the solutions proposed by  for the cache size at points are optimal. However, the optimal cache placement remains unknown for arbitrary cache size between those points. Our result in Theorem 1 provides the complete solution for the optimal cache placement for the MCCS, regardless of the relationship among , and . In Section IV-A, we show that the solution in  is one special case of subfile partitioning in our proof of Theorem 1.
Iv-a Proof of Theorem 1
We first reformulate problem P1, and then solve it using the KKT conditions .
Iv-A1 Problem reformulation
Iv-A2 Optimal file partitioning strategy
At the optimality, inequality (12) is attained with equality, i.e., the cache storage is always fully utilized under the optimal cache placement vector for P1.
When , the optimal with the minimum expected load ; when , the optimal with the minimum expected load .
Lemma 2 describes the two extreme cases of having no cache memory () and sufficient cache size to hold all files (). In the following, we only need to discuss the case when .
For , the optimal cache placement vector has at most two non-zero elements.
Lemma 3 implies that the number of nonzero elements of an optimal caching vector can only be one or two (it cannot be zero from constraint (11)). We now derive the solution in these two cases separately.
Case 1) One non-zero element: In this case, there exists for some , and for , . From (11), we have . Thus, we have . To find the cache size that leads to this solution, note that since there is only one non-zero subfile size, from Lemma 1, we have . Thus, the relation of the normalized cache size and index is given by .
Thus, if for some satisfies , the optimal cache placement is , where . For given demand , the corresponding load can be computed based on the redundancy to be removed in the delivery phase, and we have
The expected load can be obtained as
Remark: Note that the optimal solution with one non-zero element in corresponds to equal file partitioning, where all subfiles have equal size. The optimal obtained above exactly matches the cache placement scheme proposed in  for cache size at points , which is shown to be optimal in  using a different approach than ours. Here we see that it is a special case in our general cache placement optimization problem.
Case 2) Two non-zero elements: In this case, there exist some and , such that , and , , . With only two non-zero variables and , from Lemma 1, we can rewrite (15) as
Also from (11), we have
Assume . Since is an increasing function of , we have . Based on (24), we have and , which means and should satisfy .
For and satisfying , the expected rate is a decreasing function of and an increasing function of .
From Lemma 4, we have the conclusion that the minimum expected load can only be obtained when . Any other relation would result in larger . Following this, for satisfying , we have the optimal and as
The corresponding expected load is . Substituting the values of , and into the above expressions, let , we have the following conclusion: For , the optimal cache placement where
Remark: The optimal cache placement indicates that, each file is split into two parts with sizes and . Then each part is further partitioned into subfiles of equal sizes, with the first partitioned into subfiles (for cache subgroup ), and the second partitioned into subfiles (for cache subgroup ). User will cache these two types of subfiles for all user subsets including .
Given any , the resulting load depends on the amount of redundancy removed in the delivery phase in the MCCS:
For : There are redundant coded messages for both user subsets of size and , the load can be derived as
For : The redundant coded message can only be found for user subsets of size , the load is
For : No redundant message for any user subsets, the load is
The minimum expected load in this case can be computed similarly as in (21), which is given by
V Numerical Results
We present the numerical results to evaluate the performance of the optimized cache placement scheme. Consider a system with files of equal size, users with the same cache size .
First, we show in Table I the values of the optimal cache placement vector for different cache size for and . Beside the two extreme cases when or , where all the files are either in the servers, or stored at the local cache, respectively, for in between, we observe that always has two non-zero elements. Also, interesting to observe that the non-zero elements in are shifting to cache subgroup of larger size as increases, and the optimal cache placement is symmetric for cache size moving from between interval .
Fig. 3 shows the trade-off of expected load vs. cache size for and . We compare the performances of the optimal cache placement scheme for the MCCS obtained in Theorem 1 and the state-of-art schemes, including the uncoded cache scheme, the centralized CCS[6, 12], the decentralized CCS and the decentralized MCCS. We see that the optimal placement solution for the MCCS always outperforms all the other schemes regardless the cache size . We also observe that the expected rate monotonically decreases with . Also, at all the points , has one non-zero element (i.e., equal file partitioning), and for in between, has two non-zero elements (i.e., two different subfile sizes for two cache subgroups).
For fixed number of files and cache size and , Fig. 3 shows how the expected load changes with the increasing number of users . The obtained optimal cache placement solution outperforms all the other schemes for all values. Under the optimal solution for both the CCS and the MCCS, the load increases as increases, but the rate of increment exhibits a certain pattern. The load increasing rate slows down when reaches , for , but becomes higher after passes those points. This suggests the caching gain increases as increases from to , with the highest gain achieved at , for . Note that for a given normalized cache size , determines the caching subgroup sizes and the number of user subsets for coded multicasting under the optimal cache placement. For , the optimal only has one cache subgroup (i.e., equal file partitioning), while at the two sides of this point different caching subgroups are used.
|Optimal Cache Placement|
In this paper, we used an optimization approach to formulate the general cache placement design for the MCCS with arbitrary cache size as a cache placement optimization problem to minimize the expected load for file delivery from the server to users. By showing that the resulting problem is a linear programming problem, we obtained the optimal solution. Our result provides a complete optimal cache placement solution that is general for any number of users, files, and cache size. Numerical studies showed the characteristics of the optimal cache placement solution as cache increases, and revealed how the expected load increases as the number of users increases.
-  Cisco, “Global mobile data traffic forecast update, 2016-2021,” 2017.
-  E. Bastug, M. Bennis, and M. Debbah, “Living on the edge: The role of proactive caching in 5g wireless networks,” IEEE Commun. Mag., vol. 52, no. 8, pp. 82–89, 2014.
-  X. Wang, M. Chen, T. Taleb, A. Ksentini, and V. Leung, “Cache in the air: exploiting content caching and delivery techniques for 5g systems,” IEEE Commun. Mag., vol. 52, no. 2, pp. 131–139, 2014.
-  S. Borst, V. Gupta, and A. Walid, “Distributed caching algorithms for content distribution networks,” in Proc. IEEE Conf. on Computer Communications (INFOCOM), 2010, pp. 1–9.
-  S.-H. Park, O. Simeone, and S. Shamai Shitz, “Joint optimization of cloud and edge processing for fog radio access networks,” IEEE Trans. Wireless Commun., vol. 15, no. 11, pp. 7621–7632, 2016.
-  M. A. Maddah-Ali and U. Niesen, “Fundamental limits of caching,” IEEE Trans. Inf. Theory, vol. 60, no. 5, pp. 2856–2867, 2014.
-  ——, “Decentralized coded caching attains order-optimal memory-rate tradeoff,” IEEE/ACM Trans. Netw., vol. 23, no. 4, pp. 1029–1040, 2015.
-  U. Niesen and M. A. Maddah-Ali, “Coded caching with nonuniform demands,” IEEE Trans. Inf. Theory, vol. 63, no. 2, pp. 1146–1158, 2017.
-  A. Sengupta, R. Tandon, and O. Simeone, “Fog-aided wireless networks for content delivery: Fundamental latency tradeoffs,” IEEE Trans. Inf. Theory, vol. 63, no. 10, pp. 6650–6678, 2017.
-  M. A. Maddah-Ali and U. Niesen, “Cache-aided interference channels,” in Proc. IEEE Int. Symp. on Infor. Theory (ISIT), 2015, pp. 809–813.
-  F. Xu, M. Tao, and K. Liu, “Fundamental tradeoff between storage and latency in cache-aided wireless interference networks,” IEEE Trans. Inf. Theory, vol. 63, no. 11, pp. 7464–7491, 2017.
-  A. M. Daniel and W. Yu, “Optimization of heterogeneous coded caching,” arXiv preprint arXiv:1708.04322, 2017.
-  S. Jin, Y. Cui, H. Liu, and G. Caire, “Structural properties of uncoded placement optimization for coded delivery,” arXiv preprint arXiv:1707.07146, 2017.
-  Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr, “The exact rate-memory tradeoff for caching with uncoded prefetching,” IEEE Trans. Inf. Theory, vol. 64, no. 2, pp. 1281–1296, 2018.
-  S. Jin, Y. Cui, H. Liu, and G. Caire, “Uncoded placement optimization for coded delivery,” arXiv preprint arXiv:1709.06462, 2018.
-  J. Riordan, Introduction to combinatorial analysis. Courier Corporation, 2012.
-  S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, March 2004.