RoutingBased Delivery in CombinationType Networks with Random Topology
Abstract
The coded caching scheme proposed by MaddahAli and Niesen (MAN) transmits coded multicast messages to users equipped with caches and it is known to be optimal within a constant factor. This work extends this caching scheme to twohop relay networks with one main server with access to a library of files, and relays communicating with users with cache, each of which is connected to a random subset of relays. This topology can be considered as a generalized version of a celebrated family of networks, referred to as combination networks. Our approach is simply based on routing MAN packets through the network. The optimization of the routing can be formulated as a Linear Program (LP). In addition, to reduce the computation complexity, a dynamic algorithm is proposed to approach the LP solution. Numerical simulations show that the proposed scheme outperforms the existing caching schemes for this class of networks.
coded caching, random topology, linear optimization, uncoded placement, relay network, combination network.
I Introduction
Due to the growing consumption of ondemand video and audio streaming services with prominent platforms like Youtube, Netflix and Spotify garnering billions of users on a daily basis, a clever usage of the low cost storage to cache data plays a key role in network design. One of the simplest methods is uncoded caching to duplicate popular files at the edge nodes in the networks. The authors in [1] introduced femto caching in heterogeneous wireless networks, where helpers posses high storage and are placed in a fixed position within the cell. The femto base stations cache popular files requested by mobile users. Recently, Fog Radio Access Network (FRAN) has been proposed as a smart network based on cloudRAN (CRAN). In FRAN the remote radio heads (RRHs) may posses a local cache as well as baseband processing units. In the prefetching phase RRHs store popular files in their cache memory. In [2], the authors study the delivery phase in FRAN and design the cloud and edge processing jointly. Different transfer fronthaul strategies were proposed in [2] to maximize the delivery rate with limited fronthaul capacities and power constraints.
In parallel, coded caching strategy was orginally proposed by Maddah Ali and Niesen (MAN) in [3] for bottleneck networks with a shared errorfree link. In the MAN setting, the server has a library of files of equal size and is connected to users through an errorfree link. Each of the users is equipped with a cache memory. The MAN caching scheme consists of prefetching and delivery phases. The key idea is to treat the cache content as receiver side information and design the caches during the prefetching phase such that, during the delivery phase, the server can send coded multicast messages from which users can retrieve their desired packets with the aid of their own cache content. The MAN caching scheme which can lead to an additional coded caching gain compared to the conventional uncoded caching scheme, was proved in [4] to be optimal under the constraint of uncoded prefetching phase when . By removing the redundant MAN multicast messages when , the authors in [5] proposed an optimal caching scheme under the constraint of uncoded prefetching phase for any and .
Recently, the coded caching approach was applied to different scenarios with specific topologies. [6, 7, 8] have investigated a class of two layered symmetric networks, referred to as combination networks (CN). The topology of these networks in determined by two parameters and . There are a single server that connects to relays, and users each of which is connected to a different subset of relays. All links are errorfree orthogonal. In [6] the authors applied the centralized MAN algorithm to create each coded multicast message, which is then encoded with a MDS code so that any user that receives out of the coded blocks will be able to decode the coded message. The server transmit one different MDS coded symbol for each MAN multicast message to each relay, which then forwards it to the connected users. In [7], the authors improved the coded caching scheme in [6] by using the network topology information. Notice that while the MDS coded scheme of [6] applies to any network topology as long as each user can receive from at least relays, the scheme of [7] critically hinges on the combination network topology and therefore does not generalize to networks with random topology, which is the focus of this work. In [8] an improvement of [7] obtained by removing redundancy is presented, and in [9] optimal use of transport and caching resources is achieved by using network coding on the set of elemental information objects being cached and transported over the network.
Cacheaided multiple relay networks with random topology was considered in [10], where each user is randomly connected to relays. By observing that for each relay, there are some MAN multicast messages which are not desired by any of its connected users, the authors in [10] presents an improved delivery strategy with respect to [6] by using the same MDS coding idea but only transmitting MDS coded symbol to the relays which is connected to at least one user desiring this symbol.
Ia Our Contribution
This paper considers a generalized version of the cacheaided twohop relay networks considered in [10], where a server is connected to multiple relays through unit capacity links and users randomly connect to an identical number of relays. In our work, we consider different capacity links and that the number of connected relays to each user is not necessarily identical. We use the centralized MAN cache placement and in the delivery phase, we first generate coded multicast messages and find the optimal routing for every coded multicast message through Linear Programming (LP). We also propose a dynamic programming which approaches the solution of the LP problem in a recursive manner with much less computational complexity than solving the original LP.
The distinguishing features of this paper are twofold:

We minimize the delivery latency and maxlink load of the coded caching scheme through LP. We remove the transmission of non necessary messages and the parity blocks of the MDS coding.

Our network topology is a general random relay network with links of different capacity and nonidentical number of connected relay to each user. Even though the proposed LPbased delivery schemes require information about the network’s topology, the prefetching phase is independent of the network topology.
Ii System Model and Related Results
Iia System Model
Notation Convention
Calligraphic symbols denote sets, and bold symbols denote vectors. We use to represent the cardinality of a set; and . ;
Our scenario entails a relay network with a random topology and limited capacity errorfree links. The server has access to a library consisting of files each of which contains bits. The server is connected to relays, each of which in turn is serving a random subset of users. All links are errorfree and orthogonal. We focus on parallel transmission in which all links works in parallel. Notice that this is generalized setting of the case where every user is connected to exactly relays as described in [11, 10] and [6]. Additionally, each user is equipped with a cache memory capable of storing up to bits, while relays do not posses any cache memory. The subset of users connected to relay and the subset of relays connected to user are denoted by and , respectively. Similarly, for each subset of users , we define as the union of relays connected to users in . In other words, consists of relays that connect to at least one user in . In this paper, we consider the system with limited capacity. The relay nodes are connected to server via a fronthaul link has capacity bits per channel use, as well as they are connected to users through links with a given capacity bits per channel use.
In the prefetching phase, user stores information about the files in its cache of size bits, where . This phase is done without knowledge of users’ demands. 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 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 for some . The objective is to determine the minimum worstcase transmission time,
(1) 
IiB MAN Caching Scheme
In the following, we introduce the MAN caching scheme for bottleneck caching systems. we assume that the library replication parameter (how many times the library can be contained in the collective cache memory) is an integer in (for noninteger numbers, the memory sharing is used). Each file is divided into nonoverlapping and equallength subfiles with user caching the segments for which . In the delivery phase, The server broadcasts one MAN coded multicast message for each group of users where and as
(2) 
Each user requires and knows all other subfiles in such that it can recover . By considering all the group of users with cardinality , each user can recover its desired file.
Iii main result
Iiia General Optimization Formulation
In this section, we introduce our proposed optimization problem for the routing of the coded multicast messages in (2). In order to deliver each MAN multicast message , we encode into linearly independent random linear combination messages , , with denoting the coded message corresponding to the relay . In the following step the server transmits , to the related relays. After receiving , relay transmits this message to the users in . We define the normalized length of the message as where . We let when ; i.e., the coded multicast message is delivered only through the relays which are connected to at least one user in . When the file size , the messages are linearly independent with high probability such that user can recover the message through these coded messages if
(3) 
The normalized transmission load over the link between the server and each relay is the sum of the loads of all multicast messages and is given by
(4) 
We also define the vector . Similarly, the normalized transmission load between each relay and each user is equal to sum of the loads of all messages as follows
(5) 
We consider the relay nodes are connected to server via a fronthaul link with capacity bits per channel use, as well as they are connected to users though links with a given capacity . We focus on parallel transmission in which fronthaul links and relayuser links works in parallel. The delivery time would be maximum of fronthaul and relaysusers delivery time. For given messages in each block, the required time for fronthaul transmission can be computed as , so that the worstcase delivery time in fronthual can be writen as follows
(6) 
For transmission toward the users the worstcase delivery time from relays to users can be computed as follows
(7) 
We are interested to minimize the worstcase delivery time by finding optimal random linear combination messages length. So that our linear optimization problem can be formalized as follows
(8)  
IiiB Optimization Formulation for Identical Capacity Links
It is straightforward to show that . Therefore, the optimization in the case of identical capacity links (for the simplicity, we consider ) reduces to allocating the lengths of the messages , such that the is minimized. Since for all S, the MAN messages have all the same length, this optimization can be expressed in terms of the normalized loads allocation as the following LP
(9)  
IiiC Dynamic Programming with Low Complexity
Each of the LPs in (8) and (9) contains variables and constraints, which grow exponentially with the number of users. For large value of , it eventually becomes infeasible to solve the optimization problem. In order to overcome this difficulty, we used dynamic programming. In the following, we explain dynamic programming for the optimization with identical and unit capacities in (9). Similarly, the dynamic programming can be easily apply to the worstcase transmission time optimization problem in (8).
Consider the optimization problem in (9). We randomly divide all the MAN multicast messages into nonoverlapping and ‘equallength’ groups.^{1}^{1}1If does not divide , each of the first groups contains MAN multicast messages and each of the remaining groups contains MAN multicast messages. We also let , representing the maximum number of MAN multicast messages included in one group. In addition, the set of the indices of the MAN multicast messages in the th group is denoted by . The optimization problem in (9) can be broken into smaller optimizations by iterating through the groups and using the results from the previous optimization as initial values. This allows us to apply minimization of the delivery load in each group individually in a sequential manner. This means that in the th step we take the previous optimal load allocations as a fixed initial load into the next th step’s optimization problem. We define the load on relay in group as
(10) 
In the first step, we optimize the load allocation in with initial normalized load . The initial normalized load for step is obtained by summing all optimal normalized load allocation from previous steps as following
(11) 
where is optimal normalized load allocation in step for relay and also we denote the vector as the initial normalized load allocation burden on relays in the th step. Accordingly, the total normalized load on relay until step being equal to . Having explained the dynamic programming aspect of Algorithm 1, we will now address the maxlink load minimization problem for the th group with an initial normalized load allocation . Similary, the dynamic programming can be easily apply to the delivery time optimization problem in (8).
(12)  
Consider that is the optimal value for optimization problem in step . We denote as the total optimal normalized load vector for step .
Iv results and discussions
In this section, we focus on the case that each user is connected to relays and compare the worstcase loads or the delivery times achieved by the proposed scheme and the existing schemes. As previously discussed, our scenario is not constrained to have the same number of connections on the user’s side. In order to compare our scheme with previous works based on MDS coding [10, 6], we assume that the users have the same number of connections. In our scheme, the transmitted messages to relays have different length but in the works [10, 6] the transmitted messages have same length.
In all of the figures, the curves labeled “MDS” refer to coded caching scheme for combination networks as described in [6]. In “MDS” work, first the coded multicast messages are created by centralized MAN caching scheme. In the next step, each message is divided into subfiles which are then encoded by MDS code. Lastly, each of these MDS coded messages is transmitted to the related relays, which in broadcast the received coded messages to its users. The scenario proposed in [10] has been modified to our case by considering that the relays are not equipped with cache memory and curves for this scenario are labeled by “MGL ”. The “MGL” scheme removed some redundancy from [6] by avoiding the transmission of coded multicast messages to relays connected to none of users interested in that specific message. The curves labeled by “LP ” refer to the result of our work obtained through the optimization in (12). The numerical results are obtained by using Monte Carlo simulations that rely on repeated random topologies in which each user select L relays at random over all possible relays for 500 times. Fig. 2 and 3 show the worstcase load versus (maximum number of the MAN multicast messages in one group). Notice that the schemes “MGL” and “ MDS” are independent from . As seen from these numerical results, compared to the previous schemes our scenario dramatically reduces the worstcase load. For an increasing each optimization in iterative method will include more messages and as a consequence the load association of the relays performs better. In Fig. 4 we compare the delivery time of the proposed scheme for different capacities and number of connections on the user side with a unit fronthaul capacity . For smaller capacities, the relayuser links are the bottleneck of our scenario. After increasing up to a certain value, the serverrelay links become the bottleneck of our scenario.
We used the simplex and interior point methods to solve the optimization problems. The complexity of simplex on average is and in the worstcase, while the complexity of the interior point method is , where is the number of variables [12, 13]. The complexity order of the interior point method for a scenario is shown in Fig. 5.
V Conclusion
In this paper we investigated relay networks where the end users are equipped with caches. We extended the MAN caching scheme for the bottleneck networks to any cacheaided relay networks. For different scenarios with and without unit/identical link capacities, we design a delivery scheme by solving linear optimization problems. It was concluded in the numerical results that the proposed schemes outperform the stateofthearts schemes in both scenarios. In addition, we also proposed a dynamic algorithm to approach the solution of each optimization problem with a lower computation complexity.
References
 [1] N. Golrezaei, K. Shanmugam, A. G. Dimakis, A. F. Molisch, and G. Caire, “FemtoCaching: Wireless video content delivery through distributed caching helpers,” in 2012 Proceedings IEEE INFOCOM, March 2012, pp. 1107–1115.
 [2] S. Park, O. Simeone, and S. Shamai, “Joint optimization of cloud and edge processing for fog radio access networks,” in 2016 IEEE International Symposium on Information Theory (ISIT), July 2016, pp. 315–319.
 [3] M. A. MaddahAli and U. Niesen, “Fundamental limits of caching,” IEEE Trans. on Inform. Theory, vol. 60, no. 5, pp. 2856–2867, May 2014.
 [4] K. Wan, D. Tuninetti, and P. Piantanida, “On the optimality of uncoded cache placement,” in IEEE Infor. Theory Workshop, Sep. 2016.
 [5] Q. Yu, M. A. MaddahAli, and S. Avestimehr, “The exact ratememory tradeoff for caching with uncoded prefetching,” in IEEE Int. Symp. Inf. Theory, Jun. 2017.
 [6] M. Ji, A. M. Tulino, J. Llorca, and G. Caire, “Caching in combination networks,” in Signals, Systems and Computers, 2015 49th Asilomar Conference on. IEEE, 2015, pp. 1269–1273.
 [7] A. A. Zewail and A. Yener, “Coded caching for combination networks with cacheaided relays,” in Proc. IEEE Int. Symp. Inf. Theory (ISIT), June 2017, pp. 2433–2437.
 [8] K. Wan, M. Ji, P. Piantanida, and D. Tuninetti, “Caching in combination networks: Novel multicast message generation and delivery by leveraging the network topology,” in 2018 IEEE International Conference on Communications (ICC), May 2018, pp. 1–6.
 [9] J. Llorca, A. M. Tulino, K. Guan, and D. C. Kilper, “Networkcoded cachingaided multicast for efficient content delivery,” in 2013 IEEE International Conference on Communications (ICC), June 2013, pp. 3557–3562.
 [10] N. Mital, D. Gündüz, and C. Ling, “Coded caching in a multiserver system with random topology,” in 2018 IEEE Wireless Communications and Networking Conference (WCNC), April 2018, pp. 1–6.
 [11] M. Bayat, R. K. Mungara, and G. Caire, “Coded caching in a cellfree simo network,” in WSA 2018; 22nd International ITG Workshop on Smart Antennas, March 2018, pp. 1–8.
 [12] V. Klee and G. J. Minty, “How good is the simplex algorithm,” WASHINGTON UNIV SEATTLE DEPT OF MATHEMATICS, Tech. Rep., 1970.
 [13] C. H. Papadimitriou and K. Steiglitz, Combinatorial optimization: algorithms and complexity. Courier Corporation, 1998.