Caching in Combination Networks: Novel Multicast Message Generation and Delivery by Leveraging the Network Topology

# Caching in Combination Networks: Novel Multicast Message Generation and Delivery by Leveraging the Network Topology

Kai Wan1, Mingyue Ji2, Pablo Piantanida1, Daniela Tuninetti3 1L2S CentraleSup lec-CNRS-Universit Paris-Sud, Gif-sur-Yvette 91190, France, {kai.wan, pablo.piantanida}@l2s.centralesupelec.fr 2University of Utah, Salt Lake City, UT 84112, USA, mingyue.ji@utah.edu 3University of Illinois at Chicago, Chicago, IL 60607, USA, danielat@uic.edu
###### Abstract

Maddah-Ali and Niesen’s original coded caching scheme for shared-link 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 cache-aided 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 cache-aided relays and users. Also in these cases the proposed scheme outperforms known ones.

\definechangesauthor

[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], Maddah-Ali and Niesen proposed caching schemes for centralized (cMAN) and decentralized (dMAN) shared-link networks, respectively, where users with cache size bits are connected to a central server with files of bits through a single error-free 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 worst-case 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 shared-link 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 error-free and orthogonal. The objective is to minimize the download time for the worst-case demands. The available literature mainly follows the two-step separation principle formalized in [Naderializadeh2017onthoptimality]: (a) cMAN-type 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 shared-link 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 cache-aided 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 sans-serif symbols denote systematic parameters. We use to represent the cardinality of a set or the length of a vector; and ; represents bit-wise XOR. In this paper, we let if or or .

### Ii-a 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 error-free orthogonal links. The relays are connected to users through error-free orthogonal links. If , the system is equivalent to the shared-link model considered by Maddah-Ali 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 max-link load defined as

 R⋆(M):=minZmaxk∈Uh,h∈[H],d∈[N]Kmax{Rh(d,Z),Rh→k(d,Z)}. (1)

The max link-load under the constraint of uncoded cache placement is denoted by .

### Ii-B MAN Caching Schemes in Shared-Link Networks

Since we will use MAN placement in our proposed delivery scheme, we summarize here some known results for the shared-link model (where all the users are directly connected to the server through an error-free shared-link). For sake of space, we consider here only the case .

#### Centralized Cache-aided Systems

Let for some positive integer . In the cMAN placement phase, each file is divided into non-overlapping sub-files of length bits. The sub-files of are denoted by for where . User fills its cache as

 Zk=(Fi,W:k∈W, W⊆[K], |W|=t, i∈[N]). (2)

In the delivery phase with demand vector , for each where , the multicast messages

 WJ:=⊕k∈JFdk,J∖{k}, (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 Cache-aided 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 sub-files , where is the set of bits of file that are only cached only by the users in . When it can be shown that [decentralizedcoded]

 |Fi,W|B→ (MN)|W|(1−MN)K−|W|in probability. (4)

In the delivery phase, for each , all the sub-files 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].

### Ii-C Bit-Borrowing

To conclude this section, we introduce the bit-borrowing idea proposed in [deliveryscheme, wan2017finite], which we will also use in our novel proposed scheme. For decentralized shared-link caching problems with non-uniform demands or finite file size , the sub-files in (3) may have different lengths, as (4) may not hold. If this is the case, instead of zero-padding the sub-files to meet the length of the longest one, which leads to inefficient transmissions, we can borrow bits from some sub-files to ‘lengthen’ short sub-files 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.

### Iii-a Example for r=2

Consider the network in Fig. 1 with and . With cMAN placement, each file is partitioned into sub-files 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 sub-file , 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 . Sub-file 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 equal-length pieces and denote . We add (i.e., ) to the set , and (i.e., ) in the set .

After considering all the sub-files demanded by all the users, for relay (and similarly for all other relays) we have

 T11,{2,3} ={F1,{2,3}}, |T11,{2,3}|=B/15, T11,{2} ={F21,{2,4},1,F21,{2,5},1,F1,{2,6}}, |T11,{2}|=2B/15, T11,{3} ={F21,{3,4},1,F21,{3,5},1,F1,{3,6}}, |T11,{3}|=2B/15, T12,{1,3} ={F2,{1,3}}, |T11,{1,3}|=B/15, T12,{1} ={F22,{1,4},1,F2,{1,5},F22,{1,6},1}, |T12,{1}|=2B/15, T12,{3} ={F22,{3,4},1,F2,{3,5},F22,{3,6},1}, |T12,{3}|=2B/15, T13,{1,2} ={F3,{1,2}}, |T11,{1,2}|=B/15, T13,{1} ={F3,{1,4},F23,{1,5},1,F23,{1,6},1}, |T13,{1}|=2B/15, T13,{2} ={F3,{2,4},F23,{2,5},1,F23,{2,6},1}, |T13,{2}|=2B/15.

#### 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

 W1{1,2}=T11,{2}⊕T12,{1}of length 2B/15 bits, W1{1,3}=T11,{3}⊕T13,{1}of length 2B/15 bits, and W1{2,3}=T12,{3}⊕T13,{2}of length 2B/15 bits.

#### 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 link-load is . The max link-loads of the schemes in [novelwan2017, cachingincom, multiserver, Zewail2017codedcaching] are , , and , respectively. So our proposed scheme performs the best.

### Iii-B 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 bit-borrowing idea described in Section II-C. 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 equal-length 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 bit-borrowing idea described in Section II-C: 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

 WhJ:=⊕k∈JThk,J∖{k}. (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 .

In Appendix A we show that, when the bit-borrowing step is not needed (as in the example in Section III-A). In this case the achieved max link-load is as follows.

###### Theorem 1.

For combination network with end-user caches with and , the max link-load is

 (6) XK,H:=min{t,H−2}∑b1=01b1+1(H−2b1)2((H−22)t−2b1)+ (7) +min{t,H−2}∑b1=0b1−1∑b2=02b1+1(H−2b1)(H−2b2)((H−22)t−b1−b2).

### Iii-D 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 end-users have caches.

### Iv-a 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 sub-files which are only known by users and use our proposed delivery scheme to encode those sub-files. More precisely, to encode the sub-files only known by one user, we use the interference elimination scheme proposed in [novelwan2017], while to encode the sub-files 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 sub-files 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.

### Iv-B General Relay Networks

Since SRDS does not rely on the symmetric topology of combination networks, it can be used in general relay networks with end-user-caches—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 end-user-caches where , , and

 U1={1,2,3},  U2={1,3,4},  U3={1,4,5}, U4={2,4,5},  U5={2,3,5}.

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 link-loads to all the relays. For symmetric networks, minimizing the total link-loads to all the relays is equivalent to minimize the max link-load. However, for asymmetric networks, we may need to further ‘balance’ the link-load to each relay, which will be shown in the following example.

###### Example 2 (Asymmetric Network).

Consider a relay network with end-user-caches where , , and

 U1={1,2,3},  U2={1,3,4},  U3={1,4,5}, U4={3,4,5},  U5={2,3,5},

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

 W1{1,2,3},B/10,W1{1,2},3B/20,W1{1,3},B/30,W1{2,3},B/20 to relay 1,W2{1,3,4},B/10,W2{1,3},B/30,W2{1,4},B/20,W2{3,4},B/10 to relay 2,W3{1,4,5},B/10,W3{1,4},B/20,W3{1,5},B/12,W3{4,5},B/20 to relay 3,W4{3,4,5},B/10,W4{3,4},B/20,W4{3,5},B/30,W4{4,5},B/20 to relay 4,W5{2,3,5},B/10,W5{2,3},B/20,W5{2,5},3B/20,W5{3,5},B/30 to relay 5.

It can be seen that the link-loads to relay to are , , , and , respectively. So the achieved max link-load is ; while the achieved max link-loads by the schemes in [novelwan2017][cachingincom] and in [multiserver] are , and , respectively.

One can further improve on SRDS by observing that the link-load 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 link-load is reduced to , which is equal to the cut-set outer bound under the constraint of uncoded placement proposed in [novelwan2017].

The observation at the end of Example 2 can be translated in an improvement of the Algorithm in Appendix B as described in Appendix C.

### Iv-C Networks with Cache-Aided Relays and Users

Combination networks with both cache-aided 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

 (maxh∈[H]Rh(d,Z),maxh∈[H],k∈UhRh→k(d,Z))

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 non-overlapping 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 non-overlapping equal-length 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 link-load pair is while the scheme in [Zewail2017codedcaching] leads to . We thus see that SRDS is able to lower the link-load 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 non-overlapping equal-length 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 bit-borrowing step. So we encode each (or each partitioned piece of it ) by a sum including sub-files (or partitioned pieces with the same length).Therefore, link-load to all the relays for transmitting is . By considering each integer and that , the max link-load achieved by SRDS is as in (6).

## Appendix B Pseudo Code of Algorithm 1: SRDS

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

2. for each and each where ,

1. ; divide into non-overlapping parts with equal length, ;

2. for each , pad at the end of ;

3. for each and each where ,

1. ;

2. for each , if , then

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

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

3. if , then ; else then

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

2. is the minimum number in ;

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

4. pad the bits in at the end of ;

5. for each , update ;

6. ; if and , then and go to step 3-b-ii);

3. let ;

4. if , and go to step 3);

5. 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