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 Maddah-Ali and Niesen (MAN) in [dvbt2fundamental] for a shared-link caching systems containing a server with a library of equal-length files, which is connected to users through a noiseless shared-link, 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 worst-case 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 two-file user system, and for three-file two-user system, was proved to be near-optimal for worst-case 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 multi-requests 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 round-division 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’ multi-demands (instead of the round-division 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 multi-requests [multireqWei2017], our proposed scheme is optimal under the constraint of MAN placement for the only four cases with , , , where the scheme in [multireqWei2017] is sub-optimal.
Calligraphic symbols denote sets, bold symbols denote vectors, and sans-serif symbols denote system parameters. We useto represent the cardinality of a set or the length of a vector; and ; represents bit-wise XOR. For -dimensional Euclidean space, denotes the unit-norm length- vector with all zero entries except the -th one.
Ii System Model
In a shared-link 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 error-free link. Each file where , is composed of independent and equal-length 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
and the optimal average load among all possible demands
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 sub-blocks, , 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 shared-link caching problem with correlated files, is lower bounded by the lower convex envelope of the following memory-load pairs
for all , where
In addition, is lower bounded by the lower convex envelope of the following memory-load pairs
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 sub-block 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 sub-block represented by node caches the sub-block represented by node . Consider a permutation of these users, denoted by . By [ontheoptimality, Lemma 1], we can prove that the set of sub-blocks
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 sub-blocks 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
where represent the fraction of all bits cached exactly by users. After Fourier-Motzkin 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 multi-round 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 non-intended ‘symbols’ (interferences) in all multicast messages which are useful to it. Different from existing round-division methods in [yang2018centralizedcorrected, ji2015multirequest, Sengupta2017multirequest, multireqWei2017], our scheme is designed to jointly serve the users’ multi-demands.
Theorem 2 (Optimality).
For a shared-link 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.
Comparing the converse bound in Theorem 1 and the achieved load of our scheme (given in the performance paragraph of Section IV-B), 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. ∎
When and each user demands a distinct file, the shared-link 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 shared-link 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 shared-link caching problem, the operations of the optimal scheme proposed in this paper are on the binary field.
For the caching problem with multi-requests considered in [multireqWei2017] where each user demands uncorrelated and equal-length 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.
The proposed caching scheme can be extended to characterize the optimal worst-case load under the cases described in Theorem 2, which is equal to .
Iv Novel Interference Alignment Based Scheme
We first examine an example to highlight the key idea. Consider an shared-link caching problem with correlated files with , , and . Here as in Case 3 of Theorem 2. There are blocks, , , . The files are , and .
We use the MAN cache placement. Let . We divide each block into non-overlapping and equal-length sub-blocks, . Each user caches for all of size if . Hence, each sub-block contains bits and each user caches bits.
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 sub-block. 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,
In other words, the two linear combinations are,
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,
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
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
For , we transmit
For , we transmit
For , we transmit
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
Similarly, for , we transmit
For , we transmit
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 sub-blocks. 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 non-leader user (here users and ) uses interference alignment decoding. Let us focus on user demanding . Each sub-block or where can be directly decoded from the linear combination(s) for . Similarly, each sub-block 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 sub-blocks 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 .
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 .
Iv-B General Scheme
We focus on the cases where , or , or each user has a distinct request.
For each integer , we divide each block into non-overlapping and equal-length sub-blocks, . For each block , each user caches , where and , if . Each sub-block contains bits and each user caches bits.
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 non-overlapping 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,
It is proved in Appendix B that for each user in , the sub-blocks 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