{'fraction_non_alphanumeric': 0.026452464788732394, 'fraction_numerical': 0.00897887323943662, 'mean_word_length': 4.408474172815996, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Capacity of Cellular Networks with Femtocache

The capacity of next generation of cellular networks using femtocaches is studied when multihop communications and decentralized cache placement are considered. We show that the storage capability of future network User Terminals (UT) can be effectively used to increase the capacity in random decentralized uncoded caching. We further propose a random decentralized coded caching scheme which achieves higher capacity results than the random decentralized uncoded caching. The result shows that coded caching which is suitable for systems with limited storage capabilities can improve the capacity of cellular networks by a factor of log(n) where n is the number of nodes served by the femtocache.

In this paper, we consider a wireless cellular network in which several helper nodes are deployed throughout the network to create a wireless distributed caching infrastructure. Each helper is serving a wireless ad hoc network of UTs through multihop communications as proposed in [15]. We assume that helpers are connected to the base station through a high bandwidth backhaul infrastructure and have access to all contents. They will use multihop communications to deliver the contents to the UTs. We assume that the UTs also use their under-utilized storage capacity to improve network content delivery. We will compute the capacity of such networks under decentralized random coded and uncoded cache placement algorithms.
In decentralized cache placement algorithms, each UT's cache is populated independently of other UTs. In a random decentralized uncoded cache placement algorithms, contents are chosen randomly and stored in UTs cache locations. However, in a random decentralized coded cache placement algorithm, each UT stores a combination of multiple contents in its cache. The UTs will follow this process until their caches are fully populated. Coded cache placement is of interest in systems when the storage capacity of each node is limited compared to the total number of contents in the network. This paper computes the capacity of cellular networks with multihop communications using helper and relay nodes for both uncoded and coded random decentralized cache placement algorithm. Our prior work [15] focused on multihop communications with helper nodes but without using the contents stored by the relay nodes. In this paper, the requests can be satisfied either by the helper node or a relay on the path between requesting node and the helper. As far as we know, this is the first paper to prove that coded caching which is originally motivated by the lack of sufficient storage capacity in UTs [17] can also increase the network capacity.
The rest of the paper is organized as follows. In section II, the related work is discussed and section III describes the network model considered in this paper. Section IV focuses on the capacity computation of wireless cellular networks operating under a decentralized random uncoded cache placement algorithm and section V reports the capacity for a random coded cache placement algorithm. Simulation results are reported in section VI and the paper is concluded in section VII. arXiv:1604.05282v1 [cs.IT] 18 Apr 2016 II. RELATED WORK The femtocaching network model is proposed in [8], [23] and the capacity improvement for single-hop communication is computed. In [15], the authors considered a femtocaching D2D network with multihop relaying of information from the helper to the UTs. They proposed a solution based on index coding in which the helper is utilizing the side information in the UTs to create index codes which are to be multicasted to the UTs. This way, they reduce bandwidth utilization by grouping multiple unicast transmissions into multicast transmission. However, that paper does not consider the case of coded side information and also it assumes that the relayed message from the helper cannot be changed based on the information in the relaying UTs.
Caching has been a subject of recent interest to many researchers. The fundamental limits of caching is studied in [19]. The results in [19] has been extended to include decentralized coded caching strategies in [9], [13], [18], [20]. Other researchers studied the problem of caching in wireless and D2D networks. Among them are the works of authors in [10]- [12]. The authors in [10] have studied the capacity of wireless D2D networks with caching in certain regimes. Our work is essentially different from all of these works in the sense that the UT always request the content from helper (femtocache) while in these papers, a wireless ad hoc network is considered where UTs' requests can be satisfied by any of the nodes in the network. Clearly, such network model requires significant overhead to locate the nearest UT with the requested content while in our approach, the request always is sent toward the helper.
Coded caching has been previously suggested [6], [17] as an efficient caching technique for devices with small storage capacity. Our results demonstrate that apart from the practical importance of coded caching in small storage systems, it can be useful in increasing the capacity of cached networks.

III. NETWORK MODEL
In this paper we will study the capacity of cellular networks utilizing a distributed femtocaching infrastructure as proposed in [8]. In these networks, it is assumed that several helpers with high storage capacity are deployed throughout the network to assist the base station in delivering the contents to the UTs. The UTs can receive contents from helpers using D2D communications through either single hop [7] or multiple hops [15].
Assume that a helper is serving a D2D network of n nodes. To analyze the capacity of this network, we will use the deterministic routing approach proposed in [16]. Without loss of generality, it is assumed that the UTs are distributed on a square of area one and the helper is located at the center of the square as shown in Figure 1.
When a UT requests a content from the helper, the content is routed from the helper to the UT in a sequence of horizontal and vertical square-lets that are crossing the straight line which connects the helper to the UT. It is proved in [16] that if the UTs are uniformly distributed over the unit square area and the area is divided into Θ( n log n ) square-lets each with area Fig. 1. The helper node which is located at the center of the unit square is serving n UTs which are randomly distributed on a unit square. The square is divided into Θ( n log n ) square-lets of area Θ( log n n ). Gray square-lets can transmit simultaneously. Around each grey square-lets there is a "silence" region of square-lets that are not allowed to transmit in the given time slot.
Θ( log n n ), then with a probability close to one, each squarelet contains Θ(log n) UTs. A minimum transmission range of s(n) = Θ( log n n ) ensures network connectivity [21] in such a dense network. Therefore, assuming a transmission range of s(n) = Θ( log n n ), the proposed routing algorithm is proved to converge and all the UTs will be able to receive their requested contents with probability one.
To avoid multiple access interference, a Protocol Model is considered [24] for the successful communication between UTs. According to this model, if the UT i is placed at the coordinates Y i , then a transmission from i to another UT j is successful if |Y i −Y j | < s(n) and for any other UT k transmitting on the same frequency band, |Y k − Y j | > (1 + ∆)s(n) for a fixed guard zone factor ∆. A Time Division Multiple Access (TDMA) scheme is assumed for the transmission between the square-lets. With the assumption of Protocol Model, it was shown [16] that if the square-lets have a side length of C 1 s(n) for a fixed constant C 1 and if the square-lets with a distance of C 2 = 2+∆ C1 square-lets apart from each other transmit simultaneously, then there will be no interference between the concurrent transmissions.
Lets denote the data rate for each UT by λ, the number of hops between each UT and its helper by x, its average value by E[x], and the total network throughput by nλ. Therefore, on average the network delivers nλE[x] bits in a unit of time. There are exactly 1 (C2C1s(n)) 2 square-lets at any time slot available for transmission and if the total network bandwidth is W which is a constant value independent of n, then the total number of bits that the network is capable of delivering is upper bounded [14] by This result implies that the maximum throughput can be derived by computing E[x]. The capacity problem is therefore reduced to computing the average number of hops traveled between the UTs and the helper.
We assume the number of contents in the network is m which grows polynomially with n [10] as m = C 3 n α . We denote the set of indices of all contents by ξ = {1, 2, . . . , m}. Without loss of generality we assume that the contents with lower indices are more popular compared to the ones with higher indices. We further assume that the contents can be categorized into two groups of highly popular contents and less popular contents. Let's denote the requested content by r, then the probability that r belongs to the highly popular group of contents should be close to one. The highly popular and less popular groups can be defined as We refer to ξ 1− as the group of highly popular contents and ξ as the group of less popular contents. We assume that the helper has access to all the contents in ξ but the UTs are assumed to have a limited cache of size M = C 4 n β . For the purpose of this paper, we assume that all UTs have the same cache size and the helper (or base station) is applying a decentralized caching strategy to populate a UT cache independently of other UTs. Since the UTs have limited cache size, we assume that only popular contents in ξ 1− are stored in UTs caches. Any request for the less popular contents from ξ will be satisfied directly by the helper or base station.
When a UT i requests a content, if that specific content or a group of coded contents which can be used to decode the content are available in the caches of the UTs in the routing path between the UT i and the helper, then the helper informs the UTs which have the coded contents in their caches to send the content to UT i. If the content or a set of coded contents do not exist in the caches of the UTs between UT i and helper, then the content is routed to UT i from the helper through on average s(n) −1 = Θ( n log n ) hops. Since majority of the requests are from popular contents, these requests can be satisfied by the UTs instead of helper which reduces the average number of transmissions per request. Therefore, provided that the content request probability distribution is known, the average number of traveled hops in the network can be written as Remark 1. By choosing = 1 √ n , the average hop count of the contents in ξ will become less than one and therefore the total average hop count can be approximated by the average hop counts of the files in For many web applications [3], [4], the content request popularity follows Zipfian-like distributions. Although we will express our results in general form without any specific assumption, we will later compute explicit capacity results assuming a Zipfian content popularity distribution. Our main results in proving the gain of coded caching over uncoded caching is independent of the content popularity distribution.
For a Zipfian content popularity distribution with parameter s, the probability of requesting a content with popularity index i will have the form P[r where H m,s represents the generalized harmonic number with parameter s.

Remark 2.
In case of Zipfian distribution with s > 1, when few popular contents are widely requested by the UTs, we have Assuming that m = C 3 n α is a large number, H m,s converges to Reimann Zeta function ζ(s). Since the number of popular contents is negligible compared to the total number of contents, m−h Hm,s can be upper bounded by 2m ζ(s) and therefore in case of a Zipfian distribution with s > 1, we have In order to compute h 1 Since we implicitly assume that h 1 equation (6) is valid when α > 1 2(s−1) . Remark 3. In case when β > 1 s (α + 1 2 ), the average number of traveled hops can be zero since in that case, all UTs can store all the popular contents in their caches. Therefore, in this case, the maximum per node capacity Θ(1) is trivially achievable.
For the rest of paper, we compute capacity assuming that the number of popular contents h is known. The capacity for the special case of Zipfian distribution will be derived as well.
IV. DECENTRALIZED UNCODED CACHING This section focuses on computing the capacity of cellular networks when UTs cache uncoded contents in a distributed fashion. It is assumed that the UTs only cache the most popular contents from ξ 1− . Lemma 1. If a content is drawn uniformly at random from the set of most popular contents in ξ 1− , then the average required number of requests to have at least one copy of each content from ξ 1− is equal to where H h is the h th harmonic number. This problem is similar to the well-known coupon collector problem.
Proof: Denote t i as the number of required requests to collect the i th content after (i − 1) th content have been collected. Notice that the probability of collecting a new content given that i − 1 contents have been collected is equal to p i = h −(i−1) h . Therefore, t i has geometric distribution with expected value of 1 pi = h h −(i−1) . By the linearity of expectation we have: Notice that the contents in UT caches should be stored such that each UT does not cache a content more than once. Therefore, this problem cannot exactly be modeled by the coupon collector problem but when h >> M , the probability of having multiple instances of the same content in one UT goes to zero and hence the above argument is valid and Note that during placement phase, we cache contents from the popular set ξ 1− inside the UTs independently and with uniform distribution. The distribution of placement of contents inside the UTs is different from the popularity distribution of the contents. Theorem 1. In a cellular network with femtocaching operating under a decentralized uncoded caching assumption, the average number of traveled hops is Therefore, the following capacity is achievable Proof: Lemma 1 shows that the average number of cache places needed so that all of the requests can be satisfied is Since each UT has a cache size M , it is obvious that the average number of users needed such that at least one copy of each content is available in their caches is . Hence, along the routing path to the helper, the average number of required hops needed so that the UT can reach its desired content is Θ( ). This proves the theorem. Equation (1) can be used to compute the capacity by replacing E[x] with the above result.
We can use equation (6) to simplify the results of theorem 1 to the case of Zipfian content request distribution. Corollary 1. In a cellular femtocaching network with Zipfian content request distribution with parameter s > 1 and assuming α > 1 2(s−1) , the following capacity result is achievable.
V. DECENTRALIZED CODED CACHING In this section we will find capacity results assuming that the UTs are caching coded contents from the set of popular contents in ξ 1− independently of other UTs. We propose a random coding strategy and we will prove that if UTs follow this random coding strategy, the capacity will be increased by a factor of log h . The result proves that not only coded caching is more efficient in small storage scenarios [17], but also it increases the capacity. We first describe the random coding cache placement and the decoding procedure.
Coded cache placement: For the purposes of this paper, we assume that random coding is done over Galois Field GF (2). For each encoded file, the helper node (or base station) randomly selects each one of contents from the set ξ 1− with probability 1 2 and then add all the selected contents to create one encoded file. For a UT with cache size M , the helper node creates M of these encoded files. Therefore, each one of the contents in ξ 1− has been used on average M 2 times to create the M coded files.
Coded file reconstruction: When a UT requests a content, if the content is among the set of popular contents ξ 1− , it sends the request to the helper. The helper then decides to send the file through a routing path as proposed in [16]. However, it is highly possible that the content can be reconstructed using the coded contents in the caches of UTs between the requesting UT and the helper along the routing path. If that is the case, then the helper sends appropriate coding information to the relaying UTs along the routing path and each relay UT that has useful information, add that information to the file that is being relayed to the requesting UT. This procedure continues hop by hop until the content reaches the requesting UT. After the requesting UT receives this file, it can reconstruct the desired content by applying its own coding gains to the received coded file. By doing so, there will not be multiple transmissions by relaying UTs to construct the requested content.
To prove our results we will first prove the following lemma. Proof: We can form a Markov chain to model the problem. The states of this Markov chain are equal to the dimension of the space spanned by vectors v 1 , v 2 , . . . , v l . Let k l (k l ≤ h ) denote the dimension of the space spanned by vectors v 1 , v 2 , . . . , v l . Therefore, the Markov chain will have k l +1 distinct states. Assuming that we are in state k l , we want to find the probability that adding a new vector will change the state to k l + 1. When we are in state k l , adding 2 k l vectors out of the total 2 h possible vectors will not change the dimension while adding any one of 2 h − 2 k l new vectors will change the dimension to k l + 1. Therefore, the Markov chain can be represented as the one in Figure 2. Fig. 2. The state space of the Markov chain used in proof of lemma 2.
The state transition matrix for this Markov chain can be written in the form of a discrete phase-type distribution as where and t denotes transpose operation. If e denotes all one vector of size h , since P is a probability distribution we have . This implies that T e + T 0 = e, hence T 0 = (I − T )e. Therefore, it is easy to show by induction that the state transition matrix in l steps can be written as This equation implies that if we define the absorption time as and if l is strictly less than the absorption time, the probability of transitioning from state i to state j by having l new vectors can be found from the submatrix T l of P l . In other words, Therefore, starting from state i, if t i j denotes the time spent in state j before absorption, t i j can be written as Therefore, starting from state i, the average time spent in state j will be equal to Since the probability is nonzero up to q − 1, then we can extend the summation to infinity adding zero terms in (18). Notice that the equality in the last line comes from equation (16). If we denote matrix U = (E[t i j ]) ij , using equation (18) and using matrix algebra, we have It is not difficult to verify that Therefore, starting at k l = 0, the average time it takes to get to absorption is equal to This proves the lemma. This lemma shows that each UT's request can be satisfied in a smaller number of hops compared to an uncoded caching strategy. Therefore, the capacity will be increased. The following theorem formalizes this.
Theorem 2. In a cellular network with femtocaching, our proposed decentralized coded caching in which each popular content in ξ 1− is present in any cache location with probability 1 2 reduces the required number of traveled hops for each request by UTs to at most Therefore, the following capacity is achievable through decentralized coded caching. Similarly, the results of theorem 2 can be simplified by using equation (6) for the case of Zipfian content request distribution.
Corollary 2. In a cellular femtocaching network with Zipfian content request distribution with parameter s > 1 and assuming α > 1 2(s−1) , the following capacity result is achievable through decentralized coded caching. decentralized uncoded caching (theory) decentralized uncoded caching (simulation) proposed decentralized coded caching (theory) proposed decentralized coded caching (simulation) Fig. 3. Simulation results show that the expected number of hops in case of decentralized coded caching is significantly lower than the expected number of hops for decentralized uncoded caching.
Our proposed coded caching strategy can be done with insignificant overhead as the coding instructions sent from the helper is negligible compared to the size of the files. The computational complexity of in each UT (XOR operation) is also not significant. However, the helper requires to have high computational complexity capability. Future works should concentrate on the ways to reduce the complexity and delay for this approach.
VI. SIMULATIONS The simulation results compare the performance of our proposed decentralized random coded caching with decentralized random uncoded caching. We assume a helper which is serving n = 2500 UTs. The Zipfian content request probability parameter is s = 2.5, α = 1.5, and C 3 = 8 which means that a total of m = 1000000 contents exist in the network and 523 popular contents are considered for this simulation. The cache size parameter β is ranging from 0.3 to 0.8 while C 4 = 1. Figure 3 shows the simulation results comparing the average number of hops required to decode the content in both decentralized coded and uncoded caching. As can be seen from this figure, our proposed decentralized random coded cache placement algorithm can significantly reduce the average number of traveled hops compared to decentralized uncoded cache placement. Further, the theoretical results match the simulation results for both cases.

VII. CONCLUSIONS
In this paper, we studied the content delivery capacity in cellular networks with femtocaching with decentralized uncoded and coded caching for UTs. We computed the capacity of random decentralized uncoded caching. We then proposed a random coded caching strategy for network users and proved that this random coded caching technique can improve the capacity. Note that we did not consider the possibility of congestion near helper node since all contents are moving toward that node. In the future work, we intend to study the effects of congestion on the capacity of the network.