I Introduction
Cache is a network component that leverages the device memory to transparently store data so that future requests for that data can be served faster. Two phases are included in a caching system: i) cache placement phase: content is pushed into each cache without knowledge of future demands; ii) delivery phase: after each user has made its request and according to the cache contents, the server transmits coded packets in order to satisfy the user demands. The goal is to minimize the number of transmitted bits (or load or rate).
Coded caching scheme was originally proposed by MaddahAli and Niesen (MAN) in [dvbt2fundamental] for a sharedlink caching systems containing a server with a library of equallength files, which is connected to users through a noiseless sharedlink, each of which can store files in its cache. Each user demands one file in the delivery phase. The MAN scheme uses a combinatorial design in the placement phase such that during delivery multicast messages simultaneously satisfy the demands of different users. Under the constraint of uncoded cache placement (i.e., each user directly caches a subset of the library bits) and for worstcase load, the MAN scheme was proved to be optimal when [ontheoptimality]; later, a modification on the MAN scheme was shown to be optimal for [exactrateuncoded].
The above works assume that the files in the library are independent. However, in practice overlaps among different files is possible (e.g., videos, image streams, etc.). Coded caching with correlated files was considered in [ratecorrectedhass2018], where each subset of files has an exclusively common part; a caching scheme for twofile user system, and for threefile twouser system, was proved to be nearoptimal for worstcase demands. In [yang2018centralizedcorrected] the caching problem with correlated files, where the length of the common part among each files (referred to as a ‘block’) is the same, was considered; each file contains blocks. The achievable scheme in [yang2018centralizedcorrected] contains steps, and in step only blocks are transmitted; there are rounds for the transmission of step , where each round is treated as a MAN caching problem.
The caching problem with correlated files is a special case of the caching problem with multirequests considered in [ji2015multirequest], where each user demands files from the library. If the problem is divided into rounds, where in each round the MAN scheme in [dvbt2fundamental] is used to let each user decode one file, one can show order optimality to within factors of [ji2015multirequest] or [Sengupta2017multirequest]. Instead of using the MAN scheme in each round, one could use the scheme in [exactrateuncoded] to leverage the multicast opportunities, as done in [multireqWei2017]. There are two main limitations in dividing the delivery into rounds and use in each round a caching schemes designed for single requests: (1) a file may exist in different rounds and this rounddivision method may lose some multicast opportunities, and (2) finding the best division of the users’ demands into groups is hard.
Contributions and Paper Organization
In this paper, we consider a simplification of the model in [yang2018centralizedcorrected]: we fix and assume each file only contains blocks (see Section II); In Section III we derive a converse bound on the minimal average load among all possible demands under the constraint of uncoded cache placement, by leveraging the index coding converse bound ideas as in [onthecapacityindex]. In Section IV we propose a novel interference alignment scheme for the caching problem with correlated files which jointly serves users’ multidemands (instead of the rounddivision method). The proposed scheme achieves the optimal average load among all demands with distinct requests under the constraint of uncoded cache placement. For general demands, the scheme achieves the optimal average load under the constraint of uncoded cache placement for or or .
For the caching problem with multirequests [multireqWei2017], our proposed scheme is optimal under the constraint of MAN placement for the only four cases with , , , where the scheme in [multireqWei2017] is suboptimal.
Notation Convention
Calligraphic symbols denote sets, bold symbols denote vectors, and sansserif symbols denote system parameters. We use
to represent the cardinality of a set or the length of a vector; and ; represents bitwise XOR. For dimensional Euclidean space, denotes the unitnorm length vector with all zero entries except the th one.Ii System Model
In a sharedlink caching problem with correlated files, a server has access to a library of files (each of which contains bits) denoted by . The server is connected to users through an errorfree link. Each file where , is composed of independent and equallength blocks, , where the block represents the exclusive common part of all files in . Hence, in the whole library there are independent blocks, each of which has bits.
During the cache placement phase, user stores information about the files in its cache of size bits, where . We denote the content in the cache of user by and let .
During the delivery phase, user demands file . The demand vector is revealed to all nodes. Given , the server broadcasts a message of bits to all users. User must recover its desired file from and .
A demand vector is said to be of type if it has distinct entries. Based on the uniform demand distribution, the objective is to determine the optimal average load among all demands of the same type
(1) 
and the optimal average load among all possible demands
(2) 
The cache placement is uncoded if each user directly copies some bits into its cache. Under the constraint of uncoded cache placement, we divide each block where and in to subblocks, , where represents the bits of which are exclusively cached by users in . The optimal loads under uncoded cache placement and are defined as in (1) and (2), respectively.
Iii Main Results
Theorem 1 (Converse).
For a sharedlink caching problem with correlated files, is lower bounded by the lower convex envelope of the following memoryload pairs
(3) 
for all , where
(4) 
In addition, is lower bounded by the lower convex envelope of the following memoryload pairs
(5) 
Proof:
Inspired by [ourisitinnerbound], we use the “acyclic index coding converse bound” from [onthecapacityindex]. For a demand vector demand of type where , choose users with distinct demands. Generate a directed graph for the delivery phase, where each subblock demanded by each of these users represents one node in the graph. There is a directed edge from node to node if the user demanding the subblock represented by node caches the subblock represented by node . Consider a permutation of these users, denoted by . By [ontheoptimality, Lemma 1], we can prove that the set of subblocks
does not contain a directed cycle. By the “acyclic index coding converse bound”, the number of transmitted bits is not less than total number of bits of the subblocks in this set. Consider all the demands of type , all sets of users with different distinct demands, and all permutations of those users; by summing all the resulting “acyclic index coding converse bound” inequalities, we obtain
(6)  
(7)  
(8)  
(9) 
where represent the fraction of all bits cached exactly by users. After FourierMotzkin elimination of the as in [ourisitinnerbound], one obtains the converse bound in (3). After considering all demand types, one obtains the converse bound in (3). ∎
We propose a multiround interference alignment based scheme in Section IV for the three cases described in Theorem 2. Our scheme contains three main ingredients. First, we divide the delivery phase into steps, and in each step we satisfy the demand of one user. The users to serve are chosen such that they have different demands. Second, in each step, we construct multicast messages by using a grouping method (to be described later). The multicast message for each group is useful to some users while others treat it as noise. Third, after the construction of multicast messages destined for all groups, each user can cancel (or align) all nonintended ‘symbols’ (interferences) in all multicast messages which are useful to it. Different from existing rounddivision methods in [yang2018centralizedcorrected, ji2015multirequest, Sengupta2017multirequest, multireqWei2017], our scheme is designed to jointly serve the users’ multidemands.
Theorem 2 (Optimality).
For a sharedlink caching problem with correlated files, we have

Case 1: When , is equal to the lower convex envelops of where .

Case 2: When , where and are equal to the lower convex envelops of and of where , respectively.

Case 3: When or , where and are equal to the lower convex envelops of and of where , respectively.
Proof:
Comparing the converse bound in Theorem 1 and the achieved load of our scheme (given in the performance paragraph of Section IVB), we have the optimality for Cases 1 and 2. The optimality for Case 3 is due to the fact that in the converse bound (5), is convex in terms of and when , our proposed scheme is optimal. ∎
Remark 1.
When and each user demands a distinct file, the sharedlink caching problem with correlated files is related to the distributed computation problem in [distributedcomputing]. The only difference is that in [distributedcomputing] the link is D2D, as opposed to the sharedlink considered here. In [distributedcomputing], the authors proposed an optimal scheme that requires to exchange messages from a large finite field size. In the contrast, for the sharedlink caching problem, the operations of the optimal scheme proposed in this paper are on the binary field.
Remark 2.
For the caching problem with multirequests considered in [multireqWei2017] where each user demands uncorrelated and equallength files, the scheme in [multireqWei2017] was proved to be optimal under the constraint of the MAN placement for most demands with users, , and , except one demand for and three demands for . We can use the proposed scheme in this paper to achieve the optimality for those four unsolved cases. The detailes are given in Appendix A.
Remark 3.
The proposed caching scheme can be extended to characterize the optimal worstcase load under the cases described in Theorem 2, which is equal to .
Iv Novel Interference Alignment Based Scheme
Iva Example
We first examine an example to highlight the key idea. Consider an sharedlink caching problem with correlated files with , , and . Here as in Case 3 of Theorem 2. There are blocks, , , . The files are , and .
Placement phase
We use the MAN cache placement. Let . We divide each block into nonoverlapping and equallength subblocks, . Each user caches for all of size if . Hence, each subblock contains bits and each user caches bits.
Delivery Phase
Assume , which has distinct demanded files. Pick one user demanding a distinct file, and refer to it as the “leader user” among those demanding the same file. Assume here that the set of leaders is . Consider next a permutation of the leaders, say . Our proposed delivery scheme contains steps; after Step , the element/user in the permutation can decode its desired file; after finishing all steps, the remaining users can also decode their desired file.
The delivery phase has two steps, for which we need the following notation. The union set of blocks demanded by the users in is denoted by , and the intersection set of the same as ; e.g., and .
Delivery Phase Step 1. Each time we consider one set of users where and (recall that is the user indexed by the first element of the chosen permutation). For example, we focus on . We divide the blocks in into groups. For each block , we compute . So we have , , and . Hence, all blocks in are in one group with for each in this group. In addition, since is demanded by user and by user , if they receive , each of them can decode one demanded subblock. Recall that is the standard basis for dimensional Euclidean space. Since the number of blocks in this group demanded by user is two, we transmit two linear combinations,
(10a)  
(10b)  
(10c) 
In other words, the two linear combinations are,
(11)  
(12) 
User knows and then it can decode and . Hence, user can decode and . Similarly, user can decode and , and user can decode and . In addition, the linear combinations in (10) are useful to other users whose demanded file is in (recall here ), i.e., users and , where is an interference to user and is an interference to user .
Let us then focus on , where we have . We can compute , , and . Hence, we divide the blocks in into two groups, where in the first group we have and in the second group we have . In the first group with , the number of blocks demanded by user is one. We transmit the following linear combination,
(13) 
where users can decode , , and , respectively. In addition, the linear combination in (13) is also useful to other user whose demanded file is in , i.e., user . Meanwhile, for the remaining user (user ), it treats the linear combination in (13) as noise. In the second group with , the number of blocks demanded by user is one. So we transmit
(14) 
where users can decode , , and , respectively. In addition, the linear combination in (14) is also useful to other users whose demanded file is in , i.e., users , where is an interference to user .
Similarly, for , we transmit
(15)  
(16) 
For , we transmit
(17)  
(18) 
For , we transmit
(19) 
For , we transmit
(20)  
(21) 
So user can decode and in Step 1. In addition, we prove that user can decode and where in Step 1. From (10), user can decode and . From (13), user can decode . From (14), user can decode . From (15), user can decode . From (16), user can decode . Since user knows and , from (17) it can decode . Since user knows , , and , from the first linear combination of (19) it can decode . Finally, since user knows and , from (20) it can decode . So user can decode and where in Step 1.
Delivery Phase Step 2. Each time we consider one set of users where and (recall that is the user indexed by the second element of the chosen permutation). We first focus on . Different from the previous step, since user has decoded , in Step 2, we only consider the blocks in . Since and , both of these blocks are in the same group. Since in this group the number of blocks demanded by user is one, we transmit
(22) 
Similarly, for , we transmit
(23) 
For , we transmit
(24) 
So user can decode , , and from (22)(24), respectively. Hence, combining with Step 1, user can recover and .
How interference alignment works and successful decoding is achieved. Each leader (here users and ) uses direct decoding, meaning that it does not use any linear combination including interference in order to decode its desired subblocks. For example, user only uses the first linear combination in (19) and does not use the second one of (19) because the second one contains which is an interference to user .
Each nonleader user (here users and ) uses interference alignment decoding. Let us focus on user demanding . Each subblock or where can be directly decoded from the linear combination(s) for . Similarly, each subblock where and can directly decoded from the linear combination(s) for . Since user knows and , it then can decode from (10). Similarly, it can decode and from (13) and (17) in Step 1. User decode the above subblocks by direct decoding and decode from (22) by aligning interferences. Notice that in (22), is the interference to user , which should be cancelled (or aligned). In addition, in (12), is an interference to user . Furthermore, in (14), is an interference of user . We then sum (22),(12), and (14) such that the interferences to user are aligned (cancelled), and we obtain Since user has decoded from (19), from (16), from (21), from (24), it then can decode .
Performance
Based on the above, all users are able to decode their desired blocks. We sent linear combinations, each of length bits. So the load is , which coincides with the conversed bound in Theorem 1 for . Note that the the scheme in [yang2018centralizedcorrected] only achieves a load of .
IvB General Scheme
We focus on the cases where , or , or each user has a distinct request.
Placement Phase
For each integer , we divide each block into nonoverlapping and equallength subblocks, . For each block , each user caches , where and , if . Each subblock contains bits and each user caches bits.
Delivery Phase
We consider a demand vector ; for each demanded file in , we pick a leader user and we let be a permutation of this leader set. Our scheme contains steps.
In Step , we consider each set of users where and . We divide the blocks in into nonoverlapping groups, , where . Since , all blocks where , , and , are in . Hence, in , there are blocks demanded by user . For each group , we assume the blocks in are ,…, , the first of which are demanded by user . We transmit linear combinations,
(25) 
It is proved in Appendix B that for each user in , the subblocks in (25) which it has not cached or decoded previously, are decodable from (25). The linear combinations for this group are also useful to users in
Comments
There are no comments yet.