Mingzhe Chen
email: chenmingzhe@bupt.edu.cn

Mohammad Mozaffari

Walid Saad
email: walids@vt.edu.

Changchuan Yin
email: ccyin@ieee.org.

Mérouane Debbah
email: merouane.debbah@huawei.com.

Choong-Seon Hong
email: cshong@khu.ac.kr.

Caching in the Sky: Proactive Deployment of Cache-Enabled Unmanned Aerial Vehicles for Optimized Quality-of-Experience

In this paper, the problem of proactive deployment of cache-enabled unmanned aerial vehicles (UAVs) for optimizing the quality-of-experience (QoE) of wireless devices in a cloud radio access network (CRAN) is studied. In the considered model, the network can leverage human-centric information such as users' visited locations, requested contents, gender, job, and device type to predict the content request distribution and mobility pattern of each user. Then, given these behavior predictions, the proposed approach seeks to find the user-UAV associations, the optimal UAVs' locations, and the contents to cache at UAVs. This problem is formulated as an optimization problem whose goal is to maximize the users' QoE while minimizing the transmit power used by the UAVs. To solve this problem, a novel algorithm based on the machine learning framework of conceptor-based echo state networks (ESNs) is proposed. Using ESNs, the network can effectively predict each user's content request distribution and its mobility pattern when limited information on the states of users and the network is available. Based on the predictions of the users' content request distribution and their mobility patterns, we derive the optimal locations of UAVs as well as the content to cache at UAVs. Simulation results using real pedestrian mobility patterns from BUPT and actual content transmission data from Youku show that the proposed algorithm can yield 33.3% and 59.6% gains, respectively, in terms of the average transmit power and the percentage of the users with satisfied QoE compared to a benchmark algorithm without caching and a benchmark solution without UAVs.

I. INTRODUCTION

The next-generation of cellular systems is expected to be largely user centric and, as such, it must be cognizant of human-related information such as users' behavior, mobility patterns, and quality-of-experience (QoE) expectations [START_REF] Chen | User-centric ultra-dense networks for 5g: Challenges, methodologies, and directions[END_REF]. One promising approach to introduce such wireless network designs with human-in-the-loop is through the use of cloud radio access networks (CRANs) [START_REF] Peng | Recent advances in cloud radio access networks: System architectures, key techniques, and open issues[END_REF]. In CRANs, a central cloud processor can parse through the massive users' data to learn the users' information such as content request distribution and mobility patterns, then, determine how to manage resources in the network. However, an effective exploration of human-inthe-loop features in a CRAN faces many challenges that range from effective predictions to user behavior tracking, effective caching, and optimized resource management.

A. Related Works

The existing literature has studied a number of problems related to caching in CRANs and heterogeneous networks with human-in-the-loop such as [START_REF] Nagaraja | Caching with unknown popularity profiles in small cell networks[END_REF]- [START_REF] Ye | Tradeoff caching strategy of outage probability and fronthaul usage in Cloud-RAN[END_REF]. In [START_REF] Nagaraja | Caching with unknown popularity profiles in small cell networks[END_REF], the authors exploited the instantaneous demands of wireless users to estimate the content popularity and devise an optimal random caching strategy. The authors in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF] proposed an echo state network to predict the users' content request distribution and mobility patterns in CRANs. The work in [START_REF] Qiao | Proactive caching for mobile video streaming in millimeter wave 5G networks[END_REF] proposed a caching-based milimiter wave (mmWave) framework, in which base stations pre-store video contents and service users with a high data rate. In [START_REF] Tran | Octopus: A cooperative hierarchical caching strategy for radio access networks[END_REF], a caching framework aimed at fully exploiting the potential of such CRAN systems through cooperative hierarchical caching is proposed. The authors in [START_REF] Guo | Cooperative local caching under heterogeneous file preferences[END_REF] investigated the fully cooperative caching case during which a centralizer helps all base stations to make caching decisions. The work in [START_REF] Bastug | Cache-enabled small cell networks: Modeling and tradeoffs[END_REF] studied the use of cache-enabled small base stations to alleviate the load of backhaul. In [START_REF] Ye | Tradeoff caching strategy of outage probability and fronthaul usage in Cloud-RAN[END_REF], a content caching strategy is proposed to jointly minimize the cell average outage probability and fronthaul usage in CRANs. However, most of these existing caching works [START_REF] Nagaraja | Caching with unknown popularity profiles in small cell networks[END_REF]- [START_REF] Ye | Tradeoff caching strategy of outage probability and fronthaul usage in Cloud-RAN[END_REF] were typically restricted to static networks without mobility and ultra dense users. Note that, in these contributions [START_REF] Nagaraja | Caching with unknown popularity profiles in small cell networks[END_REF]- [START_REF] Ye | Tradeoff caching strategy of outage probability and fronthaul usage in Cloud-RAN[END_REF], the cached content is stored at the terrestrial static base stations. However, in an area with ultra dense users and high rise buildings (i.e. stadium or hotspots), the static ground base stations with caching may not be able to meet high capacity demands of the users. Moreover, caching at ground base stations may not be effective in serving the mobile users once they move outside the coverage range of the ground base stations. For instance, whenever a mobile user moves to a new cell, its requested content may not be available at the new base station and, consequently, the users cannot be serviced properly. In such case, to effectively serve mobile user, the requested content needs to be cached at multiple base stations which may not be efficient. Therefore, there is a need to introduce a more flexible base station that can boost the capacity and track the users' mobility patterns so as to improve the caching efficiency. To this end, unmanned aerial vehicles (UAVs) can be used as flying base stations to dynamically cache the popular contents, track the mobility pattern of the corresponding users then, effectively serve them. In this case, due to the high altitude and flexible deployment of the UAVs, they can establish reliable communication links to the users by mitigating the blockage effect.

The use of UAVs for enhancing wireless communications in cellular and ad hoc networks was studied in [START_REF] Mozaffari | Unmanned aerial vehicle with underlaid device-to-device communications: Performance and tradeoffs[END_REF]- [START_REF] Mozaffari | Drone small cells in the clouds: Design, deployment and performance analysis[END_REF]. However, this existing literature [START_REF] Mozaffari | Unmanned aerial vehicle with underlaid device-to-device communications: Performance and tradeoffs[END_REF]- [START_REF] Mozaffari | Drone small cells in the clouds: Design, deployment and performance analysis[END_REF] was focused on performance analysis and did not consider prediction of usercentric behavioral patterns such as mobility nor it study the use of UAVs for caching purposes. The prediction of the users' mobility patterns can enable the UAVs to effectively move and provide service for the ground users. Moreover, when UAVs are considered within a CRAN system, the network must take into account the fact that the fronthaul links that connect the UAVs to the cloud will be capacity-limited. This is due to the fact that the bandwidth of the UAVs fronthaul links is limited. To overcome this limited-fronthaul capacity challenge, one can use content caching techniques to proactively download and cache content at the UAVs during off peak hours or when the UAVs are back at their docking stations. The use of caching enables the UAVs directly transmit the content to its requested user, thus reducing the fronthaul traffic load.

Some recent works such as in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF] and [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF]- [START_REF] Soysa | Predicting YouTube content popularity via Facebook data: a network spread model for optimizing multimedia delivery[END_REF] have studied a number of ideas related to the predictions of human behavior in wireless networking scenarios. In [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF] and [START_REF] Lee | Modeling steady-state and transient behaviors of user mobility: formulation, analysis, and application[END_REF], the authors proposed a prediction algorithm for the users' mobility patterns based on a deep learning algorithm and a semi-Markov process. In [START_REF] Wang | User-initiated data plan trading via a personal hotspot market[END_REF], a type of user-initiated network is proposed for cellular users to trade data plans by leveraging personal hotspots with users' smartphones. The work in [START_REF] Song | Limits of predictability in human mobility[END_REF] investigated the predictable degree of users' mobility patterns. Nevertheless, the mobility prediction works in [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF]- [START_REF] Song | Limits of predictability in human mobility[END_REF] focused only on the prediction phase and did not study how the users' mobility patterns can be used to optimize the wireless performance using user-centric caching and resource allocation techniques. The authors in [START_REF] Bastug | Big data meets telcos: A proactive caching perspective[END_REF] developed a data extraction method using the Hadoop platform to predict content popularity. The work in [START_REF] Soysa | Predicting YouTube content popularity via Facebook data: a network spread model for optimizing multimedia delivery[END_REF] proposed a fast threshold spread model to predict the future access patterns of multimedia content based on social information. However, the works in [START_REF] Bastug | Big data meets telcos: A proactive caching perspective[END_REF] and [START_REF] Soysa | Predicting YouTube content popularity via Facebook data: a network spread model for optimizing multimedia delivery[END_REF] do not consider the complexity of using the users' traffic data while predicting the users' content popularity. In particular, in a dense network with high traffic demands, the proposed approaches in [START_REF] Bastug | Big data meets telcos: A proactive caching perspective[END_REF] and [START_REF] Soysa | Predicting YouTube content popularity via Facebook data: a network spread model for optimizing multimedia delivery[END_REF] are not practical as they require each base station to store all users' traffic data to predict the users' content popularity. In contrast, our proposed conceptor based ESN algorithm can record the users' historical traffic data and, consequently, use them to predict the users' behavior. In this case, the complexity of the learning algorithm will be significantly lower compared to the algorithms without ability of recording historical data. The most related work here is our work [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF] in which we exploit the echo state network to predict the content request distribution. However, in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF], the ESN-based algorithm can only predict one non-linear system. Here, we proposed an conceptor-based ESN algorithm which can separate the users' behavior into different patterns and learn these patterns independently, thus leading to a significant improvement in the accuracy of predictions. For example, in order to predict the user's mobility patterns, the ESN algorithm in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF] will collect all users' mobility data from Monday to Sunday to train the ESN as a prediction system. However, the conceptor-based ESN algorithm can separate the data from Monday to Sunday into seven patterns and use the data of seven patterns to train the conceptor-based ESN as seven independent prediction systems. In this case, the conceptorbased ESN can use seven independent prediction system to predict the user's mobility during each day. Since in reality the user's mobility pattern in each day will be different, the conceptor-based ESN algorithm can improve the accuracy of the prediction.

B. Contributions

The main contribution of this paper is to develop a novel framework that leverages user-centric information, such as content request distribution and mobility patterns, to effectively deploy cache-enabled UAVs while maximizing the users' QoE using a minimum total transmit power of the UAVs. The adopted QoE metric captures human-in-the-loop features such as transmission delay and the users' perceptions on the rate requirement, depending on their device type. In the proposed framework, the cloud can accurately predict the content request distribution and mobility patterns of each user. These predictions of user's behavior can then be used to find the optimal locations and content caching strategies for the UAVs. Unlike previous studies such as [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF]- [START_REF] Soysa | Predicting YouTube content popularity via Facebook data: a network spread model for optimizing multimedia delivery[END_REF] that predict the users' behavior using only one non-linear system, we propose a conceptor-based echo state network (ESN) approach to perform users' behavior prediction. Such an ESN model with conceptors enables the cloud to separate the users' behaviors into different patterns and learn these patterns independently, thus leading to a significant improvement in the accuracy of predictions. Moreover, unlike previous studies such as [START_REF] Mozaffari | Unmanned aerial vehicle with underlaid device-to-device communications: Performance and tradeoffs[END_REF]- [START_REF] Mozaffari | Mobile Internet of Things: Can UAVs provide an energy-efficient mobile architecture?[END_REF] that consider the deployment of the UAVs assuming static users, we study the deployment of cache-enabled UAVs in CRANs with mobile users. In the proposed CRANs model, we derive the user-UAV association, the optimal locations of the UAVs as well as the content to cache at the UAVs. To our best knowledge, this work is the first to analyze the use of caching at the level of UAVs, given ESN-based predictions on the users' behavior. To evaluate the performance of the proposed approach, we use real data from Youku for content requests as well as realistic measured mobility data from the Beijing University of Posts and Telecommunications for mobility simulations. Simulation results show that the proposed algorithm can yield 33.3% gain in terms of the average transmit power of the UAVs compared to a baseline algorithm without cache. Moreover, the proposed algorithm can also yield 59.6% gain in terms of the percentage of the users with satisfied QoE compared to a benchmark scenario without UAVs. In summary, the main contributions of the paper are as follows:

1) We propose a novel cache-enabled UAV framework in CRANs that can meet the mobile user's QoE requirement while minimizing the transmit power of the UAVs. In this framework, the capacity of the links from the BBUs to the UAVs is limited and the transmission from the UAVs to the users is over mmWave. To our best knowledge, this is the first work that considers the limited capacity links from the BBUs to the UAVs. behavior into different patterns and learn these patterns independently, thus leading to a significant improvement in the accuracy of predictions. 5) We perform fundamental analysis on the user-UAV association, optimal locations of the UAVs as well as the content to cache at UAVs. The rest of this paper is organized as follows. The system model and problem formulation are presented in Section II. The conceptor ESN for content request distribution and mobility patterns predictions is proposed in Section III. The proposed approach for user-UAV association, content caching, and optimal location of each UAV is presented in Section IV. In Section V, we provide numerical and simulation results. Finally, conclusions are drawn in Section VI.

II. SYSTEM MODEL AND PROBLEM FORMULATION

Consider the downlink of a CRAN system servicing a set U of U mobile users via a set R of R remote radio heads (RRHs) acting as distributed antennas. The RRHs are grouped into E clusters using K-mean clustering approach [START_REF] Hoppner | Clustering with Size Constraints[END_REF] so that zero-forcing beamforming (ZFBF) [START_REF] Yoo | On the optimality of multiantenna broadcast scheduling using zero-forcing beamforming[END_REF] can be used to service the users. In this system, a set K of K UAVs equipped with cache storage units can be deployed to act as flying cache-enabled RRHs to serve the ground users along with the terrestrial RRHs. For the UAV-to-users communication links, since the high altitude of the UAVs can significantly reduce the blocking effect due to obstacles, we consider air-to-ground UAV transmissions using the millimeter wave (mmWave) frequency spectrum. Meanwhile, the terrestrial RRHs transmit over the cellular band and are connected to the cloud's pool of the baseband units (BBUs) via capacity-constrained, digital subscriber line (DSL) fronthaul links. Further, the cloud connects to the content servers via fiber backhaul links. The transmissions from the cloud to the UAVs occurs over wireless fronthaul links using the licensed cellular band. Consequently, the UAVs' wireless fronthaul links may interfere with the transmission links from the RRHs to the users when the user's requested content needs to be transmitted from the content server.

In our model, the content server stores a set N of all N contents required by all users. The contents are of equal size L. Caching at the UAVs, referred to as "UAV cache" hereinafter, will be used to store the popular content that the users request. By caching predicted content, the transmission delay from the content server to the UAVs can be significantly reduced as each UAV can directly transmit its stored content to the users. Different from caching at the RRHs or BBUs, caching at UAVs allows servicing mobile users when their QoE requirement cannot be satisfied by the RRHs. We denote the set of C cached contents in the storage units of UAV k by C k , where C ≤ N and k ∈ K. For simplicity, we assume that each user can request at most one content during each specified time slot τ . We also let ∆ τ be the duration of time slot τ that also represents the maximum transmission duration of each content. The maximum transmission duration ∆ τ is determined by the proposed algorithm in Section IV. We assume that the content stored at the UAV cache will be refreshed every period that consists of T time slots and this UAVs caching is performed at off peak hours when the UAVs return to their cloud-based docking stations for purposes such as battery charge. Table I provides a summary of the notations used in this paper.

A. Mobility Model

In our system, we assume that the users can move continuously. In this case, we consider a realistic model for periodic, daily, and pedestrian mobility patterns according to which each user will regularly visit a certain location of interest. For example, certain users will often go to the same office for work at the same time during weekdays. The locations of each user are collected by the BBUs once every H time slots. Here, the duration of H time slots is considered a period of one hour for each user. In addition, we assume that each user moves between two collected locations at a constant speed. The mobility pattern for each user will then be used to determine the content that must be cached as well as the optimal location of each UAV which will naturally impact the QoE of each user.

In this model, the associations of the mobile users with the UAVs or the RRHs can change depending on the QoE requirement. Since the users are moving continuously, the locations of the UAVs must change accordingly so as to serve the users effectively. However, for tractability, we assume that the UAVs will remain static during each content transmission. In essence, the UAVs will update their locations according to the mobility of the users after each content transmission is complete at a current location.

B. Transmission Model

Next, we introduce the models for transmission links between BBUs and UAVs, UAVs and users, and RRHs and users. For ease of exposition, a time slot τ is discretized into F equally spaced time intervals ∆ t , i.e., ∆ τ = F ∆ t . The time interval ∆ t is chosen to be sufficiently small so that each user's location can be considered constant during t as in [START_REF] Zeng | Throughput maximization for UAVenabled mobile relaying systems[END_REF].

1) UAVs-Users Links: The mmWave propagation channel of the UAVs-user link is modeled using the standard lognormal shadowing model of [START_REF] Rappaport | Wireless Communications: Principles and Practice[END_REF]. The standard log-normal shadowing model can be used to model the line-of-sight (LoS) and non-line-of-sight (NLoS) links by choosing specific channel parameters. Therefore, the LoS and NLoS path loss of UAV k located at (x τ,k , y τ,k , h τ,k ) transmitting a content to user i at interval t of time slot τ is [START_REF] Rappaport | Broadband millimeter-wave propagation measurements and models using adaptive-beam antennas for outdoor urban cellular communications[END_REF] (in dB):

l LoS t,ki (w τ,t,k , w τ,t,i ) = L F S (d 0 ) + 10µ LoS log (d t,ki (w τ,t,k , w τ,t,i )) + χ σLoS , (1)
l NLoS t,ki (w τ,t,k , w τ,t,i ) = L F S (d 0 )+10µ NLoS log (d t,ki (w τ,t,k , w τ,t,i ))+χ σNLoS , (2)
where w τ,t,k = [x τ,k , y τ,k , h τ,k ] is the coordinate of UAV k during time slot τ with h τ,k being the altitude of UAV k at time slot τ . Also, w τ,t,k = [x t,i , y t,i ] is the timevarying coordinate of user i at interval t. L F S (d 0 ) is the free space path loss given by 20 log (d 0 f c 4π/c) with d 0 being the free-space reference distance, f c being the carrier frequency and c being the speed of light.

d t,ki (w τ,t,k , w τ,t,i ) = (x t,i -x τ,k ) 2 + (y t,i -y τ,k ) 2 + h 2 τ,k
is the distance between user i and UAV k. µ LoS and µ NLoS are the path loss exponents for LoS and NLoS links. χ σLoS and χ σNLoS are the shadowing random variables which are, respectively, represented as the Gaussian random variables in dB with zero mean and σ LoS , σ NLoS dB standard deviations.

In our model, the probability of LoS connection depends on the environment, density and height of buildings, the locations of the user and the UAV, and the elevation angle between the user and UAV. The LoS probability is given by [START_REF] Mozaffari | Unmanned aerial vehicle with underlaid device-to-device communications: Performance and tradeoffs[END_REF] and [START_REF] Al-Hourani | Modeling air-toground path loss for low altitude platforms in urban environments[END_REF]:

Pr l LoS t,ki = (1 + X exp (-Y [φ t -X])) -1 , (3)
where X and Y are constants which depend on the environment (rural, urban, dense urban, or others) and

φ t = sin -1 (h τ,k /d t,ki (w τ,t,k , w τ,t,i ))
is the elevation angle.

Clearly, the average path loss from the UAV k to user i at interval t is [START_REF] Al-Hourani | Modeling air-toground path loss for low altitude platforms in urban environments[END_REF]:

lt,ki (w τ,t,k , wτ,t,i) = Pr l LoS t,ki × l LoS t,ki + Pr l NLoS t,ki × l NLoS t,ki , (4)
where Pr l NLoS t,ki = 1 -Pr l LoS t,ki . Based on the path loss, the average signal-to-noise ratio (SNR) of user i located at w τ,t,i from the associated UAV k at interval t is given by:

γ V t,ki = P t,ki 10 lt,ki (w τ,t,k ,wτ,t,i)/10 σ 2 , (5)
where P t,ki is the transmit power of UAV k to user i at time t, and σ 2 is the variance of the Gaussian noise. We assume that the total bandwidth available for each UAV is B V which is equally divided among the associated users. The channel capacity between UAV k and user i for each content transmission will be

C V τ,ki = 1 Fτ,i Fτ,i t=1 B V U k log 2 1 + γ V t,ki
, where U k is the number of the users associated with UAV k and F τ,i is the number of the intervals that user i uses to receive a content during time slot τ .

2) BBUs-UAVs Ground-to-Air Links: For the BBUs-UAVs (ground-to-air) link, we consider probabilistic LoS and NLoS links over the licensed band. Since the distance of the UAVs fronthaul link may be larger compared to the distance of the UAV-user link, the cellular band can provide a more reliable transmission and a smaller path loss compared to the mmWave channel. In such a model, NLoS links experience higher attenuations than LoS links due to the shadowing and diffraction loss. The LoS and NLoS path loss from the BBUs to UAV k at time t of time slot τ can be given by [START_REF] Mozaffari | Unmanned aerial vehicle with underlaid device-to-device communications: Performance and tradeoffs[END_REF]:

L LoS t,k = d t,ki (w τ,t,k , w τ,t,B ) -β , (6)
L NLoS t,k = ηd t,ki (w τ,t,k , w τ,t,B ) -β , (7)
where w τ,t,B = [x B , y B ] is the location of the BBUs, and β is the path loss exponent. The LoS connection probability and the average SNR of the link between the BBUs and UAV k can be calculated using ( 3)-( 5).

3) RRHs-Users Links: In our model, RRHs are grouped into E clusters. Then, the RRHs in each cluster use ZFBF to improve the users' rates. The received signals of the users associated with RRHs cluster q at interval t is: b t,q = P R H t,q F t,q a t,q + n, (8) where H t,q ∈ R Uq×Rq is the path loss matrix with U q being the number of users associated with RRH cluster q, and R q is the number of RRHs' antennas. P R is the transmit power of each RRH which is assumed to be equal for all RRHs. a t,q ∈ R Uq×1 is the transmitted content at interval t and n t,q ∈ R Uq×1 is the noise power. Also,

F t,q = H H t,q H t,q H H t,q -1
∈ R Rq×Uq is the beamforming matrix [START_REF] Somekh | Cooperative multicell zero-forcing beamforming in cellular downlink channels[END_REF]. We also assume that the bandwidth of each user associated wth the RRHs is B. Then, the received signal-tointerference-plus-noise-ratio (SINR) of user i in cluster M q at interval t will be:

γ H t,qi = PR ht,qif t,qi 2 E j=1,j =q u∈U j PR ht,jif t,ju 2
other cluster RRHs interference + PBgt,Bid -β t,Bi wireless fronthaul interference +σ 2
, where M j is the set of the RRHs in group j, U j is the set of the users associated with the RRHs in group j, h t,qi ∈ R 1×Rq is the channel gain between the RRHs in cluster M q and user i with h t,ki = g t,ki d t,ki (x i , y i ) -β , g t,ki is the Rayleigh fading parameter at interval t, and

d t,ki (x i , y i ) = (x t,k -x t,i ) 2 + (y t,k -y t,i )
2 is the distance between RRH k and user i at interval t. f t,qi ∈ R Rq×1 is the beamforming vector. Given [START_REF] Ye | Tradeoff caching strategy of outage probability and fronthaul usage in Cloud-RAN[END_REF], the channel capacity between RRH cluster M q and user i for each content transmission is:

C H τ,qi = 1 F τ,i Fτ,i t=1 Blog 2 1 + γ H t,qi . (9)

C. Quality-of-Experience Model

Given the proposed models in the previous subsections, here, we present the QoE model for each user. The qualityof-experience of each user is formally defined as a concrete human-in-the-loop metric that captures each user's data rate, delay, and device type.

1) Delay: In the considered CRAN system, contents can be transmitted to the users via three types of links: (a) content server-BBUs-RRHs-user, (b) content server-BBUs-UAV-user, and (c) UAV cache-user. The backhaul link connecting the cloud to the core network is assumed to be fiber and, therefore, its delay is neglected. We assume that the capacity of the wired fronthaul links between the BBUs and the RRHs is limited to a maximum rate of v F for all users. Consequently, the fronthaul rate for each user receiving a content from the RRHs will be v F U = v F /N F R with N F R being the number of the users receive contents from the RRHs. Thus, the delay of a user i receiving content n over the three types of links at each time slot τ can be written as:

D τ,i,n =        L v F U + L C H τ,qi , link (a) , L C F τ,k + L C V τ,ki , link (b) , L C V τ,ki , link (c) , (10)
where C F τ,k is the rate of content transmission from the BBUs to UAV k which is calculated analogously to (II-B3) and [START_REF] Ye | Tradeoff caching strategy of outage probability and fronthaul usage in Cloud-RAN[END_REF].

Next, we derive the lower bound on the delay that each user can tolerate for each content transmission.

Proposition 1. The lower bound of the delay for each user i receiving content n are given by:

min L v F , L C max K ≤ D τ,i,n , (11)
where

C max K = B V log 2 1+
Pmax 10 (L F S (d 0 )+10µ LoS log(h min )-4σ LoS )/10 σ 2 with P max being the maximum transmit power of each UAV, and h min being the minimum altitude of the UAV.

Proof. See Appendix A.

From Proposition 1, we can see that the minimum delay of each user depends on the rate of the fronthaul links and the maximum transmit power of the UAVs. Therefore, we can improve the QoE of each user by adjusting the UAV's transmit power. In particular, as the number of users increases and the rate of fronthaul links decreases, the QoE requirement of users can be satisfied by adjusting the UAVs' transmit power. Note that, the upper bound of the delay ∆ τ is set by the system requirement. Using the results of Proposition 1, we can categorize the sensitivity to the delay into five groups using the popular mean opinion score (MOS) model [START_REF] Mitra | Context-aware QoE modelling, measurement and prediction in mobile computing systems[END_REF] which is often used to measure the QoE of a wireless user. The mapping between delay and MOS model [START_REF] Mitra | Context-aware QoE modelling, measurement and prediction in mobile computing systems[END_REF] is given by:

Dτ,i,n = ∆ τ -D τ,i,n ∆ τ -min L v F , L C max K , (12)
which is shown in Table II.

2) Device Type: The screen size of each device type of the user will also affect the QoE perception of the user, especially for video-oriented applications. Indeed, users who own devices that have larger screens (such as tablets) will be more sensitive to QoE compared to those who own smaller devices (such as small smartphones). We capture the impact of the screen size of each user i using a parameter S i that reflects the diameter length of the user's device. Typically, devices with a larger screen size, can display content at a higher resolution thus requiring a higher data rate. We assume that the rate requirement of user i with device S i receiving a content n at interval t is δ Si,n = S i Ĉn , where Ĉn is the rate requirement of each user receiving content n. The mapping from the rate requirement of user device to the MOS model is:

V t,i = 1, j ≥ δ Si,n , 0, j < δ Si,n , (13)
where j ∈ C V t,ki , C H t,qi . Here, V t,i = 1 indicates that the user's data rate satisfies the requirement of its device type and 0 represents the user's data rate cannot satisfy the requirement. In this case, the rate requirement of of a user's device is mapped to the MOS. The QoE of each user i receiving content n at time slot τ can be given by [START_REF] Mitra | Context-aware QoE modelling, measurement and prediction in mobile computing systems[END_REF]:

Q τ,i,n = ζ 1 Dτ,i,n + ζ 2 F τ,i Fτ,i t=1 V t,i , (14)
where q 1 and q 2 are weighting parameters with

ζ 1 + ζ 2 = 1.

D. Problem Formulation

Here, we first find the minimum rate required to meet the QoE requirement of each user associated with the UAVs. Next, we determine the minimum transmit power of each UAV required to meet the QoE threshold of the associated users. Finally, we formulate the minimization problem. From Table II, we can see that, for 0.8 ≤ Dτ,i,n ≤ 1, the MOS of delay will be "Excellent", which means that the delay is minimized. In this case, Dmin = 0.8 is the minimum value that maximizes the delay component of user i's QoE, during the transmission of a given content n. We define the rate that achieves the optimal delay as the delay requirement and also, define the rate that meets the rate requirement of device as the device rate requirement. Consider the transmission between a UAV k located at w τ,t,k and a user i located at coordinates w τ,t,i . From [START_REF] Mozaffari | Unmanned aerial vehicle with underlaid device-to-device communications: Performance and tradeoffs[END_REF], the delay requirement for UAV k transmitting content n to user i at time slot τ is:

C R τ,ki,n =        L ∆τ -Dmin ∆τ -min L v F , L C max k -L C F τ,k , n / ∈ C k , L ∆τ -Dmin ∆τ -min L v F , L C max k , n ∈ C k .
(15) From ( 15), we can see that, by storing content n at cache of UAV k, the delay requirement for minimizing delay decreases.

Let δ Si,n be the device rate requirement of user i associated with a UAV. Clearly, the QoE is maximized when C V t,ki ≥ max C R τ,ki,n , δ Si,n . Hence, the minimum rate required to maximize the user's QoE is δ R i,n = max C R τ,ki,n , δ Si,n . Based on (5), the minimum transmit power needed to guarantee the QoE requirement of user i receiving content n at interval t is:

P min t,ki w τ,t,k , δ R i,n , n = 2 δ R i,n U k /B V -1 σ 2 10 lt,ki( w τ,t,k ,w τ,t,i)/ 10 . (16)
From ( 16), we can see that the minimum transmit power of UAV k transmitting content n to user i depends on the UAV's location, the rate needed to satisfy the QoE requirement of user i, and the transmitted content n.

Given this system model, our goal is to find an effective deployment of cache-enabled UAVs to enhance the QoE of each user while minimizing the transmit power of the UAVs. This problem involves predicting the content request distribution and periodic locations for each user, finding the optimal contents to cache at the UAVs, determining the users' associations and adjusting the locations * , and transmit power of the UAVs. This problem can be formulated as follows:

min C k ,U τ,k ,w τ,t,k T τ =1 k∈K i∈U τ,k Fτ,i t=1 P min τ,t,ki w τ,t,k , δ R i,n , n τ,i , (17)
* Typically, the speed of a UAV can reach up to 30 m/s while the average speed of each pedestrian ground user is less than 2 m/s. Therefore, in our model, we ignore the time duration that each UAV uses to change its location.

s. t. h min

≤ h τ,k , k ∈ K, (17a) m = j, m, j ∈ C k , C k ⊆ N , k ∈ K, (17b) 0 < P min τ,t,ki ≤ P max , i ∈ U, k ∈ K, (17c)
where P min τ,t,ki is the minimum transmit power of UAV k to user i at interval t during time slot τ . n τ,i is the content that user i requests at time slot τ , U τ,k is the set of the users that are associated with UAV k at time slot τ . h min is the minimum altitude that each UAV can reach at time slot τ . Here, (17b) captures the fact that each cache storage unit at the UAV stores a single, unique content, and (17c) indicates that the transmit power of the UAVs should be minimized. Since the problem as per ( 17) is to satisfy the rate needed for meeting each user's QoE requirement during the next time period T , the predictions of users behavior will directly impact the solution. From [START_REF] Mozaffari | Drone small cells in the clouds: Design, deployment and performance analysis[END_REF], we can see that the prediction of the users' mobility patterns enable the BBUs to find the optimal locations of the UAVs. Moreover, by predicting the users' content request distribution the BBUs can determine the most popular content to cache at the UAVs. In addition, since the content transmission link affects the transmit power that the UAV must use to satisfy the user's QoE requirement, the problem of minimizing the transmit powers of the UAVs in [START_REF] Mozaffari | Drone small cells in the clouds: Design, deployment and performance analysis[END_REF] inherently incorporates the caching constraints.

III. CONCEPTOR ECHO STATE NETWORKS FOR CONTENT

AND MOBILITY PREDICTIONS In this section, we propose a prediction algorithm using the framework of ESN with conceptors, to find the users' content request distributions and their mobility patterns. The predictions of the users' content request distribution and their mobility patterns will then be used in Section IV to find the user-UAV association, optimal locations of the UAVs and content caching at the UAVs. Echo state networks are a special type of recurrent neural networks designed for performing non-linear systems forecasting [START_REF] Herbert | Harnessing nonlinearity: Predicting chaotic systems and saving energy in wireless communication[END_REF]. The ESN architecture is based on a randomly connected recurrent neural network, called reservoir, which is driven by a temporal input. The state of the reservoir is a rich representation of the history of the inputs so that a simple linear combination of the reservoir units is a good predictor of the future inputs. In our model, the reservoir will be combined with the input to store the users' context information and will also be combined with the trained output matrix to output the predictions of the users' content request distribution and mobility patterns. Here, a user's context is defined as the current state and attribute of a user including time, week, gender, occupation, age, and device type (e.g., tablet or smartphone). Therefore, an ESNbased approach can use the users' context to predict the corresponding behavior such as content request and mobility.

Compared to traditional neural network and deep learning approaches such as in [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF], an ESN-based approach can quickly learn the mobility pattern and content request distribution without requiring significant training data due to the use of the echo state property. However, traditional ESN-based prediction algorithms such as in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF] can be trained to predict only one mobility pattern for each user. In particular, to predict the weekly mobility pattern of each user using the traditional ESN approach, the users' context information for an entire week need to be used as input of the ESNs that act as one non-linear system. In this conventional ESN approach, it is not possible to separate the users' contexts in a week into several days and train the ESNs to predict the user's mobility in each day with one specific non-linear system. To enable the ESN algorithm to predict the user's mobility pattern and content request distribution with various non-linear systems, the notion of a conceptor as defined in [START_REF] Jaeger | Controlling recurrent neural networks by conceptors[END_REF], is an effective solution that allows characterizing the ESN's reservoir. Conceptors enable an ESN to perform a large number of mobility and content request patterns predictions. Moreover, new patterns can be added to the reservoir of the ESN without interfering with previously acquired ones. For each ESN algorithm, an ESN can record a limited number of history input data due to the echo state property of each ESN. Consequently, the learned pattern will be removed as the recorded input data is updated. Here, we call the ability of recording a limited number of history input data as the memory of the ESN's reservoir. The idea of a conceptor can be used to allocate any free memory of an ESN's reservoir to the new learned patterns of the mobility and content request distribution.

Next, we first introduce the components of a conceptor ESN-based prediction algorithm. Then, we formulate the conceptor ESN algorithm to predict the content request distribution and mobility patterns of the users.

A. Conceptor ESN Components

The conceptor ESN-based prediction approach consists of five components: a) agents, b) input, c) output, d) ESN model, and e) conceptor. Since the content request and mobility pattern are user-specific, we design the specific components for the algorithms of the content request distribution and mobility pattern predictions, separately.

1) Content request distribution prediction: The content request distribution prediction algorithm has the following components:

• Agent: The agent in our ESNs is the cloud. Since each ESN scheme typically performs a content request distribution prediction for just one user, the cloud's BBUs must implement U conceptor ESN algorithms.

• Input: The conceptor ESN takes input as a vector

x t,j = [x tj1 , • • • , x tjNx ]
T that represents the context of user j at time t which includes gender, occupation, age, and device type (e.g., tablet or smartphone). Here, N x is the number of properties that constitute the context information of user j. The vector x t,j is then used to determine the content request distribution y t,j for user j. Note that, the input of the ESNs is the information related to the users' content requests. Our goal is to predict the content request distribution using the context of each user.

• Output: The output of the content request distribution prediction ESN at time t is a vector of probabilities y t,j = [p tj1 , p tj2 , . . . , p tjN ] that represents the probability distribution of content request of user j with p tjn being the probability that user j requests content n at time t.

• ESN Model: An ESN model for each user j can find the relationship between the input x t,j and output y t,j , thus building the function between the user's context and the content request distribution. Mathematically, the ESN model consists of the output weight matrix W α,out j ∈ R N ×Nw and the dynamic reservoir containing the input weight matrix W α,in j ∈ R Nw×Nx , and the recurrent matrix W α j ∈ R Nw×Nw with N w being the number of the dynamic reservoir units. For each user j, the dynamic reservoir will be combined with the input x t,j to store the history context of user j. The output weight matrix W α,out j with the reservior is trained to approximate the prediction function. The ESN model of user j is initially randomly generated following a uniform distribution. To ensure that the reservoir has the echo state property, W α j is defined as a sparse matrix with a spectral radius less than one [START_REF] Lukosevicius | A Practical Guide to Applying Echo State Networks[END_REF].

• Conceptors: For content request distribution prediction, we collect the users' context information and the corresponding content requests during the same time slots for different weeks to train one content request distribution. We refer to each content request distribution as one prediction pattern. Given a sequence of the reservoir states

v i j = v i 1,j , . . . , v i t,j with v i t,j = v i t,j1 , . . . , v i t,jNw
T being the reservoir state of prediction pattern i at time t and the state correlation matrix

R i j = E v i t,j v i t,j
T , the conceptor of prediction pattern i will be [START_REF] Jaeger | Controlling recurrent neural networks by conceptors[END_REF]:

M i j = R i j R i j + χ -2 I -1 , ( 18
)
where χ is aperture defined in [START_REF] Jaeger | Controlling recurrent neural networks by conceptors[END_REF]. The aperture χ needs to be appropriately set for accurately learning several mobility patterns. When the aperture is small, the reservoir of the ESN slightly changes for learning each new pattern. However, for a large aperture, the reservoir of the ESN changes significantly.

2) Mobility pattern prediction: The components of mobility pattern prediction algorithm are:

• Agents: The agents in our conceptor ESNs are the BBUs. Since each ESN scheme typically performs mobility prediction for only one user, the BBUs must also implement U conceptor ESN algorithms.

• Input:

m t,j = [m tj1 , • • • , m tjNx+1 ]
T represents the current location of user j and the context of this user at time t. Using input m t,j , the future locations of user j can be predicted.

• Output:

s t,j = [s tj1 , • • • , s tjNs ]
T represents the predicted locations of user j in the next time slots, where N s is the number of locations in the next N s time duration H.

• ESN Model: The ESN model of mobility prediction consists of the output weight matrix W out j ∈ R Ns×Nw , the dynamic reservoir containing the input weight matrix W in j ∈ R Nw×Nx+1 , and the recurrent matrix W j ∈ R Nw×Nw . The generation of the mobility prediction ESN model is similar to the one in the content request distribution prediction case.

• Conceptors: For mobility pattern prediction, we consider each user's mobility in each day during one week as one prediction pattern. The expression of the conceptors is the same as the one for the content request distribution given in [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF].

B. Conceptor ESN Algorithm for Content and Mobility Predictions

Here, we present the proposed conceptor ESN algorithm to predict the content request distribution and mobility. The pro-posed algorithm consists of two stages: training and prediction stages.

1) Training Stage: The dynamic reservoir state v i t,j of prediction pattern i for user j at time t which is used to store the states of user j is given by [START_REF] Lukosevicius | A Practical Guide to Applying Echo State Networks[END_REF]:

v i t,j = f W α j v i t-1,j + W α,in j x t,j , (19)
where f (x) = e x -e -x e x +e -x . Note that, we consider the input and corresponding prediction output as a training data. In this case, we use N tr training data that consists of N tr users' contexts and the corresponding content request to calculate the conceptors and train the output weight matrix W α,out j . Based on N tr training data and ( 19), the reservoir states before update for each prediction pattern j is v i old,j = 0, v i 1,j , . . . , v i Ntr-1,j and the updated reservoir states are v i j = v i 1,j , . . . , v i Ntr,j . The matrix v i old,j will be used to train an input simulation matrix D j ∈ R Nw×Nw and v i j will be combined with the updated reservoir states of other prediction patterns to train the output weight matrix.

Then, D j will be combined with output weight matrix W α,out j to predict the content request distribution pattern for each user. For each added learning pattern i of each user j, the update of D j will be [START_REF] Jaeger | Controlling recurrent neural networks by conceptors[END_REF]:

D j = D old,j + D i inc,j , (20)
where

D i inc,j = SS T Ntr + χ -2 I † ST T Ntr T with S = F i-1 j v i old,j and T = W α,in j x i j -D old,j v i old,j . Here, F i-1 j = ¬ ∨ M 1 j , . . . , M i-1 j
is the free memory of the reservoir with ¬ and ∨ being the boolean operators [START_REF] Jaeger | Controlling recurrent neural networks by conceptors[END_REF], and x i j = x i 1,j , . . . , x i Ntr,j is the input sequences of prediction pattern i. During the learning of each pattern i of user j, the conceptor M i j can be computed using [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF].

In our proposed ESN algorithm, the output weight matrix W α,out j is trained in an offline manner using ridge regression [START_REF] Lukosevicius | A Practical Guide to Applying Echo State Networks[END_REF] to approximate the prediction function which is given by:

W α,out j = y j v T j v T j v j + λ 2 I -1 , (21)
where

v j = v 1 j , v 2 j , . . . , v N M j T with v i j = v i 1,j , . . . , v i Ntr,j
being the reservoir state sequence of prediction pattern i for user j, λ is the learning rate, and N M being the number of the prediction patterns of each user's content request distribution. In ( 21), v i j can also be used to calculate the conceptor M i j for prediction pattern i of user j.

2) Prediction Stage: Based on the learning stage, we can use the input simulation matrix D j , conceptors M j = M 1 j , . . . , M N M j , and output weight matrix W α,out j to obtain the corresponding predictions. In the prediction stage, the reservoir state of pattern i of user j is [START_REF] Jaeger | Controlling recurrent neural networks by conceptors[END_REF]:

v i t,j = C i j f W α j v i t-1,j + D j v i t-1,j . (22)
From ( 22), we can see that the conceptor of pattern j, C j , controls the update of the reservoir states. By changing the conceptor C j , the ESN can predict different patterns in one ESN architecture. The prediction of content request distribution i for user j can be given by: for each prediction pattern i do. if reservoir memory space F i-1 j > 0 do. (a) BBUs collect the states v i old,j and v i j to update D j , using [START_REF] Wang | User-initiated data plan trading via a personal hotspot market[END_REF]. (b) BBUs use the states v i j to calculate the conceptor C i j using [START_REF] Nguyen | Extracting typical users' moving patterns using deep learning[END_REF]. else (c) increase reservoir matrix W α j , re-train all prediction patterns. end if end for (d) BBUs collect states for all patterns v j to train W α,out j , by [START_REF] Song | Limits of predictability in human mobility[END_REF]. Prediction Stage:

y t,j = W α,out j v i t,j . (23)
(a) BBUs chooses the conceptor to obtain the corresponding reservoir state, using [START_REF] Bastug | Big data meets telcos: A proactive caching perspective[END_REF]. (b) Get the prediction of content request distribution based on [START_REF] Soysa | Predicting YouTube content popularity via Facebook data: a network spread model for optimizing multimedia delivery[END_REF] . From ( 22) and ( 23), we can see that the conceptor ESN algorithm exploits an input simulation matrix D j to control the memory of ESN reservoir. The conceptor ESN algorithm for predicting the content request distribution of each user j is shown in Table III.

As shown in Table III, the proposed conceptor ESN algorithm can learn each prediction pattern by a unique nonlinear system. This property of the proposed algorithm enables the ESNs to perform the users' behavior predictions using different non-linear systems during different time periods. Furthermore, using the proposed algorithm, one can have the information of the reservoir memory and extract a specific prediction pattern from the learned patterns.

IV. OPTIMAL LOCATION AND CONTENT CACHING FOR UAVS

In this section, we use the content request distribution and mobility patterns predictions resulting from the proposed conceptor ESN algorithm in Section III to solve the problem in [START_REF] Mozaffari | Drone small cells in the clouds: Design, deployment and performance analysis[END_REF]. In our model, a subset of the users selected by the BBUs are connected to the RRHs. The remaining users are clustered into K clusters and each UAV provides service for one cluster. Based on the associations and predictions, we determine which contents to cache at each UAV and find the optimal location of each UAV. Finally, we analyze the implementation and complexity of the proposed algorithm. Fig. 2 summarizes the proposed framework that is used to solve the problem in [START_REF] Mozaffari | Drone small cells in the clouds: Design, deployment and performance analysis[END_REF].

A. Users-RRH Association

We find the user-RRH association based on the predicted users' locations at the next time interval. Clearly, the prediction accuracy of the users' locations will directly affects the users association. A user is associated with RRHs if the following condition is satisfied: Theorem 1. Given minimum Dmin and device screen size S i of each user i, user i will be associated with a cluster k of RRHs if the following rate requirement is satisfied:

C H t,qi ≥ max    L ∆τ -Dmin ∆τ -min L v F , L C max k -L v F U , δS i ,n    . ( 24
)
Proof. See Appendix B.

From Theorem 1, we can see that the user-RRH association depends on the fronthaul rate of each user, the delay requirement, and the device rate requirement. From [START_REF] Hoppner | Clustering with Size Constraints[END_REF], we can see that the fronthaul rate of each user decreases as the number of the users associated with the RRHs increases. Clearly, the decrease of the fronthaul rate for each user will improve the delay requirement. Note that, the energy consumption of the RRHs is not considered in our optimization problem as the RRHs can have continuous power supply on the ground while the UAVs are powered by on-board batteries with limited energy. Therefore, it is natural to allow the users to first associate with the RRHs when the RRHs can satisfy the users' QoE requirements.

B. Optimal Content Caching for UAVs

In our model, the remaining users who are not associated with RRHs, will be served by the UAVs. In this case, the users-UAVs associations need to be determined. To this end, we use K-mean clustering approach [START_REF] Hoppner | Clustering with Size Constraints[END_REF] in which the users are clustered into K groups. By implementing the K-mean clustering approach, the users that are close to each other will be grouped into one cluster. Thereby, each UAV services one cluster and the user-UAV association will be determined. Then, based on the UAV association, we find the optimal contents to cache at each UAV. The content caching will reduce the transmission delay and, hence, decrease the delay requirement. From [START_REF] Kalantari | On the number and 3D placement of drone base stations in wireless cellular networks[END_REF], we can see that, optimal contents to store at the UAV cache lead to maximum reduction of the UAV's transmit power. The reduction of UAV transmit power is caused by the decrease of the delay requirement. Let p j,i = [p j,i1 , p j,i2 , . . . , p j,iN ] be the content request distribution of user i during period j that consists of H time slots. The optimal contents that will be stored at each UAV cache can be determined based on the following theorem.

Theorem 2. The optimal set of contents C k to cache at each UAV k during period T is: [START_REF] Yoo | On the optimality of multiantenna broadcast scheduling using zero-forcing beamforming[END_REF] where

C k = arg max C k T /H j=1 H τ =1 i∈U τ,k n∈C k (p j,in ∆P j,τ,ki,n ),
∆P j,τ,ki,n =    P min τ,ki C R τ,ki n / ∈C k -P min τ,ki C R τ,ki n∈C k , C R τ,ki,n / ∈C k ≥ δ Si,n , P min τ,ki (δ Si,n ) n / ∈C k -P min τ,ki C R τ,ki n∈C k , δ Si,n > C R τ,ki,n / ∈C k , with P min τ,ki w τ,t,k , C R τ,ki , n being simplified to P min τ,ki C R τ,ki . Proof. See Appendix C.
From Theorem 2, we can see that when the fronthaul rates of all users are the same, the transmit power reduction ∆P j,τ,ki,n will be a constant. Subsequently, the optimal content caching becomes C k = arg max

C k T /H j=1 H τ =1 i∈U τ,k n∈C k p j,
in which corresponds to the result given in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF]. From Theorem 2, we can see that the content caching depends on the pre-knowledge of users association as well as the content request distribution of each user. Therefore, by predicting the mobility pattern and content request distribution for each user, we can determine the optimal content to cache.

C. Optimal Locations of UAVs

Here, we determine the optimal UAVs' locations where the UAVs can serve their associated users using minimum transmit power. Once each UAV selects the suitable contents to cache, the transmission link (BBUs-UAV-user or UAV-user) for each content and the delay requirement C R τ,ki,n in (15) are determined. In this case, the rate δ R i,n which is used to meet the QoE requirment of each user is also determined. Next, we derive a closed-form expression for the optimal location of UAV k during time slot τ in two special cases. Theorem 3. To minimize the transmit power of UAV k, the optimal locations of UAV k during time slot τ for cases: a) UAV k positioned at low altitudes compared to the size of its corresponding coverage, h 2 τ,k

(x t,i -x τ,k ) 2 +(y t,i -y τ,k ) 2
and µ NLoS = 2, b) UAV k is placed at high altitudes compared to the size of its corresponding coverage, h 2 τ,k

(x t,i -x τ,k ) 2 + (y t,i -y τ,k )
2 , are given by:

x τ,k = i∈U τ,k Fτ,i t=1 x t,i ψ t,ki i∈U τ,k Fτ,i t=1 ψ t,ki , y τ,k = i∈U τ,k Fτ,i t=1 y t,i ψ t,ki i∈U τ,k Fτ,i t=1 ψ t,ki , (26)
where ψ t,ki = 2 δ R i,n /B -1 σ 2 10 (L F S (d0)+χσ)/10 with σ = σ NLoS , for case a) , σ LoS , for case b) .

Proof. See Appendix D.

Using Theorem 3, we can find the optimal locations of the UAVs given the users association and altitude h τ,k for the two special cases. For more generic cases, it is highly challenging to find the optimal UAVs' locations using derivation, since the UAV's altitude depends on the x and y coordinates of the UAV. Therefore, we use a learning algorithm given in [START_REF] Bennis | Selforganization in small cell networks: A reinforcement learning approach[END_REF] and [START_REF] Chen | Echo state networks for self-organizing resource allocation in LTE-U with uplink-downlink decoupling[END_REF] to find a sub-optimal solution. The learning algorithm can learn the network state and exploit different actions to adapt the UAV's location according to the network. After the learning step, each UAV will find a sub-optimal location to service the users in a power efficient way.

D. Implementation and Complexity

The complexity of the proposed algorithm pertains to two components: the conceptor ESN algorithm and the optimization algorithm. In the conceptor ESN algorithm, the ESN needs to be trained and hence, the complexity of the training depends on the users' data. The complexity of implementing the conceptor-based ESN algorithm depends on the number of users and the number of needed predictions. Since predictions occur once every H, during a period T , the ESN algorithm needs to be executed T H times. Since the ESN needs to predict the users' content request distribution and mobility patterns, the total complexity of the ESN algorithm is O(U ×2T /H).

The optimization algorithm can be divided into three algorithms: 1) user-UAV association, 2) caching optimization, and 3) optimal location of the UAVs. The complexity of the user-UAV association is O U 2K+1 log U [START_REF] Inaba | Applications of weighted voronoi diagrams and randomization to variance-based k-clustering[END_REF]. The complexity will be significantly decreased since the number of users that associated with UAVs decreases as the users will first associate with RRHs. For each UAV k, the complexity of the caching optimizatation algorithm depends on the number of the associated users U k , the number of the contents N and the number of predictions during a period T , T H . Therefore, the complexity of the caching algorithm can be given as O U k × N × T H . However, in practical scenarios, only a few contents have high request probabilities. In this practical case, the complexity of the caching algorithm can be significantly reduced. Finally, for each UAV k, the complexity of the optimal UAV algorithm depends on the number of the associated users U k and the locations of each associated user during each time slot. Therefore, the complexity of the optimal UAV location algorithm is O (U k × F ).

V. SIMULATION RESULTS

For our simulations, the content request data that the ESN uses to train and predict content request distribution is obtained from Youku of China network video index † . Here, one circular CRAN area with a radius r = 500 m is considered with U = 70 uniformly distributed users and R = 20 uniformly distributed RRHs. The detailed parameters are listed in Table V. Actual pedestrian mobility data is measured from 100 students at the Beijing University of Posts and Telecommunications. We recorded the daily mobility pattern of each student and collected their locations every hour during 9:00 am -12:00 pm in a period of over two months. For comparison purposes, we investigate: a) optimal algorithm that has a prior knowledge of the accurate user's mobility patterns and content request distribution, b) ESN algorithm in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF] to predict the content request distribution and mobility pattern, and c) random caching with ESN algorithm in [START_REF] Chen | Echo state networks for proactive caching in cloud-based radio access networks with mobile users[END_REF] to predict content request distribution. All statistical results are averaged over 5000 independent runs. The accuracy of ESN prediction is measured by normalized root mean square error [START_REF] Jaeger | Controlling recurrent neural networks by conceptors[END_REF].

Fig. 3 shows how the memory of the conceptor ESN reservoir changes as the number of the mobility patterns that were learned by the conceptor ESN varies. Here, one mobility pattern represents the users' trajectory in one day and the colored region represents the memory used by the conceptor ESN. In Fig. 3, we can see that the memory usage increases as the number of the learned mobility patterns increases. This is due to the fact the conceptor ESN uses a limited memory to learn mobility patterns. From Fig. 3, we can also see that the conceptor ESN uses less memory for learning mobility pattern † The data is available at http://index.youku.com/. 2 compared to pattern 6. In fact, mobility pattern 2 is similar to mobility pattern 1, and, hence, the conceptor ESN requires only a small amount of memory to learn mobility pattern 2. However, the conceptor ESN needs to use more memory to learn mobility pattern 6. Clearly, when a new mobility pattern needs to be learned, the proposed approach needs to learn the difference between the learned mobility patterns and the new one.

In Fig. 4, we show the variations of two content request probabilities of a selected user during one day. The user is randomly chosen from the set of users in the network. From Fig. 4, we can see that, the probability with which this user requests content 1 decreases during working hours (9:00-11:00 and 14:00-18:00) and increases at all other times. Similarly, the request probability of content 2 increases during working hours and decreases during the rest of the time. This is due to the fact that content 1 is an entertainment content while content 2 is a work-related content. Fig. 4 also shows that the sum of the probability with which this user requests content 1 and content 2 exceeds 0.5 during each hour. This is because the user always requests a small amount of contents during one day.

Fig. 5 shows how the total transmit power of the UAVs in a time period changes as the number of the users varies. In Fig. 5, we can see that the total UAV transmit power of all algorithms increases as the number of the users increases. This is due to the fact that the number of the users associated with the RRHs and the capacity of the wireless fronthaul link of UAVs are limited. Therefore, the UAVs need to increase their transmit power to satisfy the QoE requirement of each user. From Fig. 5(a), we can also see that the proposed approach can reduce the total transmit power of the UAVs of about 16.7% compared to the ESN algorithm used to predict the content request and mobility for a network with 70 users. This is because the conceptor ESN that separates the users' behavior into multiple patterns and uses the conceptor to learn these patterns, can predict the users' behavior more accurately compared to the ESN algorithm. Fig. 5(b) shows that the proposed algorithm can yield, respectively, 33.3% and 20% gains with respect to reducing the total transmit power compared to the proposed algorithm without cache and the proposed algorithm without optimizing the UAVs' locations for a network with 80 users.

Fig. 6 shows the rate needed for satisfying the QoE requirement of each user versus the wireless fronthaul rate of each user. In this figure, the black and blue lines represent, respectively, the rate requirement of a user that receives a content from the UAV cache and the BBUs. In Fig. 6, we can see that the rate required to maximize the users QoE of BBUs-UAV-user link decreases as the wireless fronthaul rate increases. However, the rate needed to maximize the user's QoE of UAV-user link not change when the fronthaul rate varies. Clearly, the use of caching at the UAVs can significantly reduce the rate required to reach the QoE threshold of each user when the wireless fronthaul rate for each user is low.

In Fig. 7, we show how the percentage of users with satisfied QoE requirement changes as the number of the users varies. From Fig. 7, we can see that the percentage of the satisfied users decreases as the number of the users increases. However, using the proposed approach, the QoE remains maximum for all number of users when the number of the users increases from 30 to 70. In particular, the proposed algorithm can yield a gain of 59.6% gain in terms of the percentage of the users with satisfied QoE compared to the proposed algorithm without UAVs for the network with 120 users. This is due to the fact that the UAVs can maximize the users' QoE when the RRHs are not able to satisfy the QoE requirements.

In Fig. 8, we show how the average minimum transmit power of UAVs changes as the number of the UAVs varies. From Fig. 8, we can see that the average minimum transmit power of each UAV decreases as the number of the UAVs increases. In particular, using the proposed algorithm, the average transmit power of the UAVs decreases by 86% when the number of UAVs increases from 3 to 7. This is due to the fact that for a higher number of UAVs the number of users associated with each UAV decreases, and, hence, the average transmit power per UAV also decreases. As shown in Fig. 8, the proposed approach becomes closer to the optimal one as the number of UAVs increases. The reason is that the location prediction error is higher for a lower number of UAVs (or equivalently the clusters). Fig. 9 shows the total transmit power of the UAVs as a function of the number of the contents stored at the UAV cache. As shown in Fig. 9, the total transmit powers of all considered algorithms increase as the number of storage units increases. The reason is that the probability that the requested contents of the users are stored at the UAV cache increases, and, consequently, the UAV will directly transmit the requested contents to the users. Fig. 9 also shows that the ESN approach that predicts the content request and mobility can yield up to 49% power reduction compared to the ESN approach that predicts the mobility with the random caching scheme.

In Fig. 10, we show how the average transmit power and average altitude of the UAVs change as the number of UAVs varies. In this case, we compare the result of our proposed approach with the optimal result obtained by an exhaustive search method. For the learning algorithm, the interval of the neighboring action of each coordinate is 3 m. Figs. 10(a) shows that the optimal location of the UAV approached by Theorem 3 has only 6.4% deviation compared to the exhaustive search. Furthermore, as shown in Fig. 10(b), by increasing the number of UAVs from 3 to 7, the average altitude of the UAVs decreases from 1080 m to 332 m in the proposed algorithm case. This is due to the fact that for a higher number of the UAVs, each UAV needs to provide coverage for a smaller area and, hence, it can be deployed at a lower altitude. From Figs. 10(a) and 10(b), we can also see that, as the number of the UAVs increases, the result of Theorem 3 approaches the optimal solution that is obtained by the exhaustive search. This is due to the fact that for a higher number of UAVs, the coverage area of each UAV decreases, and, hence, the approximation condition in Theorem 3 will hold with a tighter bound.

VI. CONCLUSIONS

In this paper, we have proposed a novel framework that uses flying UAVs to provide service for the mobile users in a CRAN system. First, we have presented an optimization problem that seeks to guarantee the QoE rquirement of each user using the minimmum transmit power of the UAVs. Next, to solve this problem, we have developed a novel algorithm based on the echo state networks and concepters. The proposed algorithm allows predicting the content request distribution of each user with limited information on the network state and user context. The proposed algorithm also enables the ESNs separate the users behavior into several patterns and learn these patterns with various non-linear systems. Simulation results have shown that the proposed approach yields significant performance gains in terms of minimum transmit power compared to conventional ESN approaches. APPENDIX A. Proof of Proposition 1 From (10), we can see that the delay of link (b) is larger than that of link (c) and the minimum delay of the link (a) is L/v F . Hence, we only need to consider the delay values between L/v F U and L/C V τ,ki , k ∈ K. To maximize C V τ,ki , we consider d t,ki (w τ,t,k , w τ,t,i ) = h, and P t,ki = P max . Then, the rate of the UAV-user link C V τ,ki is given by: C V τ,ki = BV log 2 1 + P t,ki 10 lt,ki( w τ,t,k ,w τ,t,i)/ 10 σ 2 ≤ BV log 2 1 + Pmax

where (a) follows from the fact that with a probability close to one (greater than 99.99%), the Gaussian random variable χ σLoS will have a value larger than -4σ LoS . From [START_REF] Rappaport | Broadband millimeter-wave propagation measurements and models using adaptive-beam antennas for outdoor urban cellular communications[END_REF], we can see that, as h increases, the capacity C V τ,ki decreases. Therefore, we set h = h min . This completes the proof.

B. Proof of Theorem 1

Based on [START_REF] Mozaffari | Efficient deployment of multiple unmanned aerial vehicles for optimal wireless coverage[END_REF] and Dmin , the delay is D τ,i,n = ∆ τ -Dmin ∆ τ -min L v F , L C max k , and, hence, the delay requirement for RRH cluster q transmitting content n to user i during time slot τ will be:

C R τ,qi = L ∆ τ -Dmin ∆ τ -min L v F , L C max k -L v F U . (28)
Therefore, the delay requirement during each interval is equal to C R τ,qi . Since the device rate requirement is δ Si,n , the rate of RRH cluster q transmitting content n to user i, C H τ,qi must satisfy C H t,qi ≥max C R τ,qi , δ Si,n . This completes the proof.

C. Proof of Theorem 2

Since the delay requirement C R τ,ki,n depends on the contents at the UAV cache, it can be written as δ R i,n = max C R τ,ki,n(n∈C k ) , C R τ,ki,n(n / ∈C k ) , δ Si,n . Let P min τ,ki = Fτ,i t=1 P min j,τ,t,ki . Then the reduction of UAV transmit power by content caching during time slot τ of period j will be: where (a) follows the fact that minimizing the transmit power of the UAVs is equivalent to maximizing the reduction of the UAVs' transmit power caused by caching, and (b) is obtained by computing the average power reduction using content request probability distribution of each user. This completes the proof. . This completes the proof.

∆P j,

D. Proof of Theorem

Fig. 1 .

 1 Fig. 1. A CRAN with cache-enabled UAVs.2) We analyze the use of caching at the level of UAVs. Here, caching is used to store the most popular contents that the users may request. Caching with UAVs can reduce the transmission delay and hence, reduce the transmit power of the UAVs. This is the first work that considers caching with UAVs. 3) We develop an effective approach for leveraging the cache-enabled UAVs to service mobile wireless users.The users have their own mobility patterns which are measured from the realistic students. The cache-enabled UAVs will service the users that the RRHs cannot meet the users' rate requirement. 4) We introduce a new conceptor-based ESN learning algorithm to predict the users' content request distribution and mobility patterns with users' contexts. The context represents the users' information related to the users' behavior such as mobility pattern. Such an ESN model with conceptors enables the cloud to separate the users'behavior into different patterns and learn these patterns independently, thus leading to a significant improvement in the accuracy of predictions. 5) We perform fundamental analysis on the user-UAV association, optimal locations of the UAVs as well as the content to cache at UAVs. The rest of this paper is organized as follows. The system model and problem formulation are presented in Section II. The conceptor ESN for content request distribution and mobility patterns predictions is proposed in Section III. The proposed approach for user-UAV association, content caching, and optimal location of each UAV is presented in Section IV. In Section V, we provide numerical and simulation results. Finally, conclusions are drawn in Section VI.

  link of each content Provide users location and content request distribution for BBUs Determine the minimum transmit power for users Determine the remaining users that associate with UAVs Optimize the QoE of each user User-UAV Association

Fig. 2 .

 2 Fig. 2. The procedure used for solving the optimization problem in (17).

Fig. 3 .

 3 Fig. 3. Mobility patterns predictions of Conceptor ESN algorithm. In this figure, the green curve represents the conceptor ESN prediction, the black curve is the real positions, top rectangle j is the index of the mobility pattern learned by ESN, the legend on the bottom left shows the total reservoir memory used by ESN and the legend on the bottom right shows the normalized root mean square error of each mobility pattern prediction.

Fig. 4 .

 4 Fig. 4. Content request probability predictions.

  algorithm with complete information Proposed conceptor ESN algorithm ESN algorithm that predicts content request and mobility ESN algorithm that predicts mobility with random caching algorithm Proposed conceptor ESN algorithm without cache Proposed conceptor ESN algorithm with central location (b) Fig. 5. Total transmit power as the number of users varies. (K = 5 and C = 1.)

Fig. 6 .

 6 Fig.6. Rate required to maximize the users QoE as the fronnthaul rate of each user changes.

Fig. 7 .Fig. 8 .

 78 Fig. 7. The percentage of the users QoE that is maximized as the number of users varies

Fig. 9 .

 9 Fig. 9. Total transmit power as the number of the contents stored in a UAV cache varies (U = 70 and K = 5).

Fig. 10 .

 10 Average minimum transmit power and average altitude vs. the number of UAVs.

10 l

 10 LoSt,ki (wτ,t,k,wτ,t,i)/10 σ 2 (a)≤ BV log 2 1+ Pmax 10 (L F S (d 0 )+10µ LoS log(h)-4σ LoS )/10 σ 2 ,

τ

  in∆P j,τ,ki,n )+ n / ∈C k (pj,in∆P j,τ,ki,n ) =1 i∈U τ,k n∈C k (pj,in∆P j,τ,ki,n ),

  ∈C k ≥ δ Si,n , P min τ,ki (δ Si,n ) n /Considering the fact that the content request distribution changes once every H time slots, the power minimization problem for UAV k during a period that consists of H time slots is:

		τ,ki,n =
	 	P min τ,ki C R τ,ki n / ∈C k -P min τ,ki C R τ,ki n∈C k	, C R τ,ki,n /
		∈C k -P min τ,ki C R τ,ki n∈C k	, δ Si,n > C R τ,ki,n / ∈C k .

  t,ki (w τ,t,k ,wτ,t,i) ≈ 0 leading to φ t = 0 • , and, hence, Pr l NLoS t,ki = 1. Thus, we have lt,ki (w τ,t,k , w τ,t,i ) =l NLoS /B -1 σ 2 10 (LFS(d0)+χσ NLoS )/10 d t,ki (w τ,t,k , w τ,t,i ) -xt,i)ψ t,ki (x τ,k -xt,i) 2 +(y τ,k -yt,i) 2 +h 2 (x t,i -x τ,k ) 2 + (y t,i -y τ,k ) 2 , d t,ki (w τ,t,k , w τ,t,i ) ≈ h τ,k and, hence, h τ,k d t,ki (w τ,t,k ,wτ,t,i) ≈ 1 → φ t = 90• . Consequently, Pr l LoS t,ki = 1. Then, we have lt,ki (w τ,t,k , w τ,t,i ) = l LoS t,ki . The derivation of

	x τ,k is given by:
	∂			F τ,i	P min τ,t,ki	F τ,i	∂P min τ,t,ki
		i∈U τ,k ∂x τ,k t=1		=	i∈U τ,k	t=1 ∂x τ,k	=
		F τ,i	µNLoS(x τ,k τ,k	µ NLoS 2 -1 .
	i∈U τ,k t=1
						(29)
						Fτ,i
	As µ NLoS = 2, (29) is simplified to	2(x τ,k -x t,i ) ψ t,ki =
						i∈U τ,k	t=1
						F τ,i
						xt,iψ t,ki
	0. As a result, x τ,k =	i∈U τ,k	t=1 F τ,i	. Likewise, we can
						ψ t,ki
						i∈U τ,k	t=1
						F τ,i
						yt,iψ t,ki
	show that y τ,k =	i∈U τ,k	t=1 F τ,i	.
						ψ t,ki
						i∈U τ,k	t=1
		For case b), since h 2 τ,k
						Fτ,i
						i∈U τ,k	t=1	P min τ,t,ki
	will be:
	∂	i∈U τ,k ∂x τ,k F τ,i t=1	P min τ,t,ki	=	i∈U τ,k F τ,i
						µ LoS 2 -1
						F τ,i
						≈	τ,k	= 0.
						i∈U τ,k
						F τ,i
						xt,iψ t,ki
	As a result, x τ,k =	i∈U τ,k	t=1 F τ,i	and y τ,k =
						ψ t,ki
						i∈U τ,k	t=1
			F τ,i
				yt,iψ t,ki
	i∈U τ,k	t=1
			F τ,i
				ψ t,ki
		i∈U τ,k	t=1
						3
						At very low altitudes, h 2 τ,k	(x t,i -x τ,k ) 2 +(y t,i -y τ,k )	2 ,
						h τ,k
						t,ki	and (16) can be rewritten as P min τ,t,ki	=
						2 δ R i,n i∈U τ,k	Fτ,i t=1	P min τ,t,ki . In
						Fτ,i
						this case, the derivation of	i∈U τ,k	t=1	P min τ,t,ki with respect to

d µNLoS . Now, we find the optimal location (x τ,k , y τ,k ) of UAV k during time slot τ in order to minimize

t=1 µLoS (x τ,k -xt,i)ψ t,ki × (x τ,k -xt,i) 2 +(y τ,k -yt,i) 2 +h 2 τ,k t=1 µLoS (x τ,k -xt,i) ψ t,ki h µ LoS -2

* This work was supported in part by the National Natural Science Foundation of China under Grants 61671086, 61629101, and 60972073, by the ERC Starting Grant 305123 MORE, and by the U.S. National Science Foundation under Grants IIS-1633363, CNS-1460316 and CNS-1513697.