Caching in Combination Networks: Novel Multicast Message Generation and Delivery by Leveraging the Network Topology
Abstract
MaddahAli and Niesen’s original coded caching scheme for sharedlink broadcast networks is now known to be optimal to within a factor two, and has been applied to other types of networks. For practical reasons, this paper considers that a server communicates to cacheaided users through intermediate relays. In particular, it focuses on combination networks where each of the users is connected to a distinct subsets of relays. By leveraging the symmetric topology of the network, this paper proposes a novel method to general multicast messages and to deliver them to the users. By numerical evaluations, the proposed scheme is shown to reduce the download time compared to the schemes available in the literature. The idea is then extended to decentralized combination networks, more general relay networks, and combination networks with cacheaided relays and users. Also in these cases the proposed scheme outperforms known ones.
[color=red,name=Mingyue Ji]MJ
I Introduction
Caching locally popular content is known to reduce network load from servers to users during peak traffic times. A caching scheme comprises two phases. (i) Placement phase: a server places parts of its library into the users’ caches without knowledge of later demands. If each user directly stores some bits of the files, the placement is called uncoded. Centralized caching systems allow for coordination among users in the placement phase, while decentralized ones do not. (ii) Delivery phase: each user requests one file. According to the users’ demands and cache contents, the server transmits packets to satisfy all the user demands.
In [dvbt2fundamental] and [decentralizedcoded], MaddahAli and Niesen proposed caching schemes for centralized (cMAN) and decentralized (dMAN) sharedlink networks, respectively, where users with cache size bits are connected to a central server with files of bits through a single errorfree shared link. The placement phase is uncoded, while the delivery phase uses linear network coding to deliver carefully designed multicast messages to the users. The optimality of cMAN, in terms of the number of broadcast bits (referrer to as load) for the worstcase set of demands, under the constraint of uncoded placement and was shown in [ontheoptimality], and later extended to and to dMAN with uniform demands in [exactrateuncoded]. Uncoded placement is optimal to within a factor for sharedlink networks [yas2].
In practice users and servers may communicate through intermediate relays. The caching problem for general relay networks was firstly considered in [multiserver], where a scheme based on cMAN placement and an interference alignment scheme to transmit cMAN multicast messages was proposed. Several worked followed, such as [Karamchandani2016rate, Naderializadeh2017onthoptimality], but since it is hard to characterize the fundamental limits of general relay networks, focus has recently shifted to a symmetric network referred to as combination network [cachingJi2015]. As illustrated in Fig. 1, in a combination network there are relays and users with cache size of bits, where each user is connected to a different subset of relays, and all links are errorfree and orthogonal. The objective is to minimize the download time for the worstcase demands. The available literature mainly follows the twostep separation principle formalized in [Naderializadeh2017onthoptimality]: (a) cMANtype uncoded cache placement and multicast message generation, and (b) message delivery that aims to match the network multicast capacity region (i.e., the generation of the multicast messages is independent to the network topology). Examples of such a separation approach are [cachingincom, novelwan2017, multiserver]. In [cachingincom] two schemes were proposed, one based on routing and the other based on a combination network coding. In [novelwan2017] we proposed a delivery scheme that leverages the structure of the network and then improved upon it for the case by interference elimination. Another approach for this problem was proposed in [Li2016coded, Zewail2017codedcaching], where the combination network was split into sharedlink networks and then cMAN delivery was used in each one. With a coded cache placement based on MDS (maximum separable distance) codes, the scheme in [Zewail2017codedcaching] achieves the same performance of [Li2016coded] but without the constraint in [Li2016coded] that divides . This work departs from these two lines of work and proposes a novel way to generate multicast messages by leveraging the network topology.
Contributions and Paper Organization
We start by considering centralized combination networks. In Section III, we propose a novel delivery scheme which generates multicast messages by leveraging the network topology. Numerical results show that the proposed scheme outperforms existing schemes. We then extend this idea to other classes of relay networks. In Section IV, we extend our novel delivery scheme to decentralized combination networks, to general relay networks, and finally to combination networks with both cacheaided relays and users.
Ii System Model and Some Known Results
We use the following notation convention. Calligraphic symbols denote sets, bold symbols denote vectors, and sansserif symbols denote systematic parameters. We use to represent the cardinality of a set or the length of a vector; and ; represents bitwise XOR. In this paper, we let if or or .
Iia System Model
Consider the combination network in Fig. 1. The server has access to files, denoted by , each composed of i.i.d uniformly distributed bits. The server is connected to relays through errorfree orthogonal links. The relays are connected to users through errorfree orthogonal links. If , the system is equivalent to the sharedlink model considered by MaddahAli and Niesen. So in this paper we assume that . The set of users connected to relay is denoted by . The set of relays connected to user is denoted by . For the network in Fig. 1, for example, and .
In the placement phase, user stores information about the files in its cache of size bits, where . The cache content of user is denoted by ; let . During the delivery phase, user requests file ; the demand vector is revealed to all nodes. Given , the server sends a message of bits to relay . Then, relay transmits a message of bits to user . User must recover its desired file from and with high probability when . The objective is to determine the optimal maxlink load defined as
(1) 
The max linkload under the constraint of uncoded cache placement is denoted by .
IiB MAN Caching Schemes in SharedLink Networks
Since we will use MAN placement in our proposed delivery scheme, we summarize here some known results for the sharedlink model (where all the users are directly connected to the server through an errorfree sharedlink). For sake of space, we consider here only the case .
Centralized Cacheaided Systems
Let for some positive integer . In the cMAN placement phase, each file is divided into nonoverlapping subfiles of length bits. The subfiles of are denoted by for where . User fills its cache as
(2) 
In the delivery phase with demand vector , for each where , the multicast messages
(3) 
are generated—since user wants and knows for all , can be successfully recovered from . The achieved load is . The load can be further reduced when [exactrateuncoded].
Decentralized Cacheaided Systems
In the dMAN placement phase, each user caches a subset of bits of each file, chosen uniformly and independently at random. Given the cache content of users, the bits of the files are naturally grouped into subfiles , where is the set of bits of file that are only cached only by the users in . When it can be shown that [decentralizedcoded]
(4) 
In the delivery phase, for each , all the subfiles are gathered together; since they all have approximately the same normalized length as in (4), the cMAN delivery phase is used for to deliver them. The achieved load is . The load can be further reduced when [exactrateuncoded].
IiC BitBorrowing
To conclude this section, we introduce the bitborrowing idea proposed in [deliveryscheme, wan2017finite], which we will also use in our novel proposed scheme. For decentralized sharedlink caching problems with nonuniform demands or finite file size , the subfiles in (3) may have different lengths, as (4) may not hold. If this is the case, instead of zeropadding the subfiles to meet the length of the longest one, which leads to inefficient transmissions, we can borrow bits from some subfiles to ‘lengthen’ short subfiles in such a way that the borrowed bits need not to be transmitted at a later stage. More precisely, if , we take bits from some , where and (because is also demanded by user and known by the users in ) and add those bits to .
Iii Novel Achievable Delivery Scheme
For combination networks with cMAN placement, the schemes in [cachingincom, multiserver, novelwan2017] first create multicast messages as in (3) and then deliver them to the users by various methods; for example, in [novelwan2017] one approach for is to use network coding to achieve interference elimination. In this section we propose a delivery scheme, referred to as Separate Relay Decoding delivery Scheme (SRDS), based on a novel way to create multicast messages: by leveraging the symmetries in the topology of combination networks, each multicast message sent to relay is such that it is useful for the largest possible subset of (i.e, users connected to relay ). We highlight key novelties by way of an example.
Iiia Example for
Consider the network in Fig. 1 with and . With cMAN placement, each file is partitioned into subfiles of length bits. Let .
Step 1 [Subfile partition]
For each where , we seek to find the set of relays in each of which is connected to the largest number of users in . Consider the following examples.
For subfile , which is demanded by user and cached by the users in , we have that (relay 1 is connected to two users in ) and (relay 2 is not connected to any user in ). So we solve (i.e., relay ). Since we simply add to the set representing the set of bits needed to be recovered by user from relay and already known by the users in who are also connected to relay .
Consider now where and . Subfile is also demanded by user 1, who is connected to relays . Relay 1 is connected to users , while relay 2 is connected to users , and thus we have . Since now , we divide into equallength pieces and denote . We add (i.e., ) to the set , and (i.e., ) in the set .
After considering all the subfiles demanded by all the users, for relay (and similarly for all other relays) we have
Step 2 [Multicast Message Generation]
In this example, for each relay and each , we have , i.e., only a function of . We thus create the multicast messages . For example, the server transmits to relay 1 the following messages
Step 3 [Multicast Message Delivery]
Finally, for each relay and each set where , relay forwards to the users in .
The normalized (by the file length) number of bits sent from the server to each relay is the same, thus the achieved max linkload is . The max linkloads of the schemes in [novelwan2017, cachingincom, multiserver, Zewail2017codedcaching] are , , and , respectively. So our proposed scheme performs the best.
IiiB General Scheme of SRDS
The key in above example is that for each relay and each set , the length of the message only depends on . However, if , we may have . In order to ‘equalize’ the lengths of the various parts involved in the linear combinations for the multicast messages, we propose to use the bitborrowing idea described in Section IIC. The pseudo code of the proposed SRDS delivery scheme is in Appendix B.
Step 1 [Subfile partition]
For each user and each set where , we search for the set of relays , each relay in which is connected to the largest number of users in , i.e., users. We partition into equallength pieces . For each relay , we add to , where represents the set of bits needed to be recovered by user from relay and already known by the users in who are also connected to relay .
Step 2 [Multicast Message Generation]
Focus on each relay and each set where . For each user , if , we use the bitborrowing idea described in Section IIC: we take bits from where and and add them to so that these borrowed bits need not to be transmitted to later. Since , the users in also knows . After considering all the users in , the server forms the multicast messages
(5) 
Step 3 [Multicast Message Delivery]
For each relay and each set where , the server sends to relay , who then forwards it to each user .
IiiC Achievable max linkload for
In Appendix A we show that, when the bitborrowing step is not needed (as in the example in Section IIIA). In this case the achieved max linkload is as follows.
Theorem 1.
For combination network with enduser caches with and , the max linkload is
(6)  
(7)  
IiiD Numerical Evaluations
In this section, we compare the performance of our proposed delivery scheme with that of existing schemes for centralized combination network for , , . Notice that when , for each illustrated scheme in Fig. 2, we use the interference elimination scheme proposed in [novelwan2017]. Fig. 2 shows that our proposed scheme outperforms the schemes in [novelwan2017] and in [Zewail2017codedcaching], which are better than the schemes in [cachingincom] and in [multiserver].
Iv Extensions
In this section, we discuss applications and extensions of our proposed SRDS scheme to models other than centralized combination networks where only endusers have caches.
Iva Decentralized Combination Networks
Following steps similar to [decentralizedcoded], we extend our proposed delivery scheme to decentralized combination networks. The cache placement phase is the same as dMAN. Then for each , we gather the subfiles which are only known by users and use our proposed delivery scheme to encode those subfiles. More precisely, to encode the subfiles only known by one user, we use the interference elimination scheme proposed in [novelwan2017], while to encode the subfiles known by more than one users we use SRDS. In Fig. 3, we compare the performance of the proposed decentralized scheme to those proposed in [cachingincom, multiserver, novelwan2017] for , , . Notice that for each illustrated scheme in Fig. 3, we use the interference elimination scheme proposed in [novelwan2017] to encode the subfiles known by only one user. Notice that the placement of the schemes in [Zewail2017codedcaching, Li2016coded] are designed with the knowledge of the position (the connected relays) of each user in the delivery phase. Hence, it is not possible to extend these schemes to the decentralized case. Fig. 3 shows the superiority of our proposed scheme over known schemes.
IvB General Relay Networks
Since SRDS does not rely on the symmetric topology of combination networks, it can be used in general relay networks with endusercaches—as opposed to the schemes in [Zewail2017codedcaching, Li2016coded] that work for the relay networks where each user is connected to the same number of relays and each relay is connected to the same number of users (we refer to such networks as symmetric networks). In symmetric network, we can directly use SRDS as shown by the next example.
Example 1 (Symmetric Network).
Consider a relay network with endusercaches where , , and
Each user is connected to three relays and each relay is connected to three users. Let . With SRDS, the load to each relay is , outperforming the schemes in [novelwan2017], in [Zewail2017codedcaching], in [cachingincom] and in [multiserver] whose loads equal , , and , respectively.
SRDS is designed to minimize the total linkloads to all the relays. For symmetric networks, minimizing the total linkloads to all the relays is equivalent to minimize the max linkload. However, for asymmetric networks, we may need to further ‘balance’ the linkload to each relay, which will be shown in the following example.
Example 2 (Asymmetric Network).
Consider a relay network with endusercaches where , , and
i.e., we changed from in Example 1 to so that the number of connected relays to each user is not the same. Let . We use SRDS and indicate the multicast messages as , where in this example we added the subscript to indicate that the message has length bits. Then, we have the server transmit
It can be seen that the linkloads to relay to are , , , and , respectively. So the achieved max linkload is ; while the achieved max linkloads by the schemes in [novelwan2017], [cachingincom] and in [multiserver] are , and , respectively.
One can further improve on SRDS by observing that the linkload to relay (or relay ) is the largest. Thus, instead of transmitting to relay , we can transmit it to relay which is also connected to users in . Similarly, instead of transmitting to relay , we can transmit it to relay which is also connected to users in . With this modification, the achieved max linkload is reduced to , which is equal to the cutset outer bound under the constraint of uncoded placement proposed in [novelwan2017].
IvC Networks with CacheAided Relays and Users
Combination networks with both cacheaided relays and users were considered in [Zewail2017codedcaching], where each relay can store bits and each user can store bits, for . The objective is to determine the lower convex envelop of the load (number of transmitted bits in the delivery phase) pairs
for the worst case demands for a given placement .
We propose a placement phase combining the ideas of the placement in [Zewail2017codedcaching] and cMAN. We divide each file where into two nonoverlapping parts, and where and . In the placement phase, each relay caches random linear combinations of for each file . Fix two integers and . Each user firstly randomly and independently caches bits of for each . We then divide each into nonoverlapping equallength parts, each of which is denoted by where and . Each user then caches for each if . Hence, . In the delivery phase, each relay transmits random linear combinations of to each user , and uses SRDS to let each user recover . The following example compares this proposed scheme and the one in [Zewail2017codedcaching].
Example 3.
Consider the network in Fig. 1 with , , and . We divide each file into two parts and , where and . From our proposed caching scheme with and , the achieved linkload pair is while the scheme in [Zewail2017codedcaching] leads to . We thus see that SRDS is able to lower the linkload from the source to the relays.
Acknowledgement
The work of K. Wan and D. Tuninetti is supported by Labex DigiCosme and in part by NSF 1527059, respectively.
Appendix A Proof of Theorem 1
When , each user is connected to two relays and each relay is connected to users, say for which it holds that . We want to compute for one relay , one user and one set . We consider two cases.
Case 1. The number of , where , and , is . Here, is the number of users connected to relay besides , is the number of users which are connected neither to nor to , and represents the number of users in which are not connected to the relays in . For each of this type of , we divide into two nonoverlapping equallength parts and put one part in and the other part in .
Case 2. The number of , where , and , is . For this type of , we put in .
Hence, we showed that for each user , is identical and we need not to use the bitborrowing step. So we encode each (or each partitioned piece of it ) by a sum including subfiles (or partitioned pieces with the same length).Therefore, linkload to all the relays for transmitting is . By considering each integer and that , the max linkload achieved by SRDS is as in (6).
Appendix B Pseudo Code of Algorithm 1: SRDS

input: where , and ; initialization: ; for each , and ;

for each and each where ,

; divide into nonoverlapping parts with equal length, ;

for each , pad at the end of ;


for each and each where ,

;

for each , if , then

; ; ( represents the number of bits to be borrowed.)

; ( represents the set of bits which can be borrowed.)

if , then ; else then

; sort all the sets by the length of such that we let represents the set where while represents the set where ; assume ;

is the minimum number in ;

for each , pad the first bits of at the end of ;


pad the bits in at the end of ;

for each , update ;

; if and , then and go to step 3bii);


let ;


if , and go to step 3);

for each relay and each where , transmit to relay and relay transmits to each user in ;
Remark. If we need to pad bits to the end