Energy Efficient Resource Allocation and Scheduling for Delay-Constrained Multi-Cell Broadcast Networks

Resource allocation in wireless cellular networks has been an important and challenging issue. With the rapid development of wireless communications, more and more mobile multimedia and innovative applications (e.g. augmented reality and video conferences) have emerged, which are suitable for wireless broadcast and have requirements on transmission delay. In this paper, we focus on delay-constrained multi-cell broadcast networks, taking user mobility into consideration for future channel estimation. The promising network coding technique is also adopted to improve transmission efficiency. The objective is to minimize total transmission energy consumption via joint resource allocation and scheduling optimization. Both optimal and heuristic solutions are proposed. Simulation results show that the proposed schemes perform better than other benchmark schemes, in terms of transmission energy consumption and success rate.


I. INTRODUCTION
With the rapid development of information and communication technology (ICT) industry, mobile data traffic has been growing tremendously in recent years [1]. Such huge traffic data brings more energy consumption, which is unfriendly for network operators and natural environment. Therefore, energy efficient green communication has attracted significant attention. In addition, 60% to 80% of wireless cellular network energy is consumed by base stations (BSs) [2]. Hence, it is crucial to improve resource utilization and energy efficiency for BSs.
Resource allocation, as a possible solution, has become an important and challenging issue. Since the problem of maximizing network utility was proposed in [3], resource allocation optimization has been a hot topic and a lot of schemes have been suggested [4], [5]. To further improve system performance via resource allocation optimization, one possible way is to design resource allocation schemes based on the emerging characteristics of cellular networks. Nowadays, more and more smart wireless terminals are used. These smart terminals are usually equipped with various The associate editor coordinating the review of this manuscript and approving it for publication was Francisco Rafael Marques Lima . sensors and can obtain a lot of context information, such as users' current location, moving speed and direction, etc. These context information can be used to predict users' future location, channel conditions, etc. [6], [7], thereby improving the accuracy and efficiency of resource allocation.
Another characteristic of modern mobile communication is that more and more multimedia and innovative applications (such as video conference and augmented reality) have appeared. These applications generally have the feature that multiple users request the same file and have requirements on delivery time. For instance, multiple users may access some popular audio or video files on mobile phones at the same time, with quality of service (QoS) requirements on download time. Research [8] shows that most of the downstream traffic comes from downloading the same files. Research [9] shows that on YouTube, the world's leading video site, 80% of the visits come from the top 10% popular video resources. For such applications, wireless broadcast via a common channel to those users can greatly reduce the burden of BSs and improve bandwidth utilization [10]. Besides, network coding (NC) [11] has been shown to be a promising technique to improve network throughput and bandwidth utilization, especially for broadcast transmissions. By taking linear or nonlinear processing of packets, NC can effectively reduce the number of retransmissions, so as to decrease total energy consumption [12]. For example, in Fig. 1, a BS broadcasts three packets (i.e. a, b, and c) to three users (i.e. user 1 , user 2 , and user 3 ). However, due to unsatisfied channel conditions, after some transmissions, user 1 lost packet a, user 2 and user 3 lost packets b and c, respectively. Traditionally, BS needs to retransmit each lost packet sequentially. Whereas, in NC based broadcast, the BS can encode a new packet d = a ⊕ b ⊕ c and retransmits it once to all users via broadcast. Upon receiving d, user 1 can recover the lost a by a = d ⊕ b ⊕ c. user 2 and user 3 can recover their own lost packets in a similar way. By doing so, the minimum number of retransmissions can be reduced from three to one. Considering the above issues, we take the users' moving context into consideration, to estimate the future position and channel state information for users. Network coding technology also applies to improve broadcast efficiency. Then we make the joint resource allocation and scheduling optimization for multi-cell networks, aiming to minimize the transmission energy consumption of all BSs.
The rest of this paper is organized as follows: We review related work and describe the main contributions of this paper in Section II. System model is presented in Section III. Section IV presents the problem formulation and the optimal solution. In Section V, we propose a heuristic algorithm with polynomial complexity to solve the optimization problem. In Section VI, we carry out simulations to evaluate the performance of the proposed schemes. Realistic considerations are discussed in Section VII. Finally, conclusion is drawn in Section VIII.

II. RELATED WORKS AND PAPER CONTRIBUTIONS
Many efforts have been made for resource allocation on energy efficient broadcast. Radio resources such as bandwidth, time slots, transmit antennas, transmit power, etc., can be assigned based on the channel state [13].
In the case of energy efficient broadcast, a well-known problem of looking for a broadcast tree to minimize the total energy consumption, called minimum energy broadcast (MEB), has already been intensively studied. The MEB problem has been proved to be NP-hard and a flurry of heuristic algorithms have been proposed [14]- [19]. Local search is usually employed to integrate with other algorithms for solving the MEB problem, such as nested partitioning and linear programming [16], swarm optimization (PSO) [17] and genetic algorithm (GA) [18]. GA based approach may drop into local optimal solutions or may find the optimal solution by slow convergence speed. To overcome these problems, an enhanced scheme by using memetic algorithm (MA) was proposed [19]. However, these works did not consider user mobility.
For wireless mobile networks, one intricacy lies in the fact that the channel conditions might be changing in time due to environmental factors and user mobility [20]. During movements, the channel degradation may occur due to path loss, fading, or noise. For mobility management, numerous studies have been made in recent years. By analyzing the entropy of each individual's trajectory, a 93% potential predictability in user mobility across the whole user base was found in [21]. Mobility prediction approaches such as Markov chain, Bayesian network, artificial neural network based approaches, and so on, have been suggested [22]. Obviously, it is possible to predict mobile users' future trajectories based on their historical movements. If BSs know a user's future context information (e.g. trajectory) integrated with channel state information (CSI) fed back from the user, they can schedule a corresponding broadcast plan under the delay constraint in advance for energy saving. Vehicle mobility prediction based rebroadcast nodes selecting algorithm was adopted in [23], [24]. The work in [23] proposed a reliable broadcast routing scheme based on mobility prediction (RB-MP), to select rebroadcast nodes in vehicular ad hoc network (VANET). Specifically, RB-MP divides the neighbors into several sets according to the movement direction, firstly; then it utilizes the position and velocity to predict the maintenance time of all neighbors; finally, several rebroadcast nodes are selected. Similarly, the work of [24] selected rebroadcast vehicle by considering link available time which is acquired by the relative speed, radio transmission range, and the inter-vehicle distance between vehicles moving in the same direction and on the same road. Whereas, the work of [25], [26] considered channel conditions for broadcast/multicast. Combining duty-cycle with context-awareness, the work of [25] studied efficient context-aware multi-hop broadcasting protocol, which allows nodes to adapt their behavior according to the changing network dynamics and context. The authors [26] considered two state channel conditions, either good or bad, and investigated an opportunistic multicast scheduling algorithm. The algorithm estimates optimum data rate and optimum number of users having appropriate channel conditions to select user group for multicast. Because when the channel condition is good, less power is required for the transmission of data, therefore energy can be saved.
Nevertheless, the aforementioned works are broadcast/multicast routing optimization approaches and did not consider reducing redundant retransmissions to improve energy efficiency. To process packets and eliminate too much number of retransmission, network coding (NC) has been widely implemented. The work of [27] showed the energy efficiency of network coding over routing, and proposed a minimum energy multicast approach based on network coding. In multicast, two-stage cooperative multicast is part of the most promising schemes to increase system throughput. In the first stage, users, which have successfully received data from BS, can serve as relays to forward the data to other users in the second stage. However, total energy consumption increased. To improve energy efficiency, the authors of [28] applied dynamic network coding at the selected relays. Their simulation showed better energy efficiency. For a lossy network, random linear network coding (RLNC) can achieve a reliable and efficient transmission [29], [30], and enhance other technologies, such as device-to-device (D2D) communications [31], [32]. Additionally, network coding can integrate other ways to further improve energy efficiency. By exploiting network coding and node sleeping scheme, energy efficiency of multicast is improved in [33].
Despite these literature, to the best of our knowledge, no prior work considered the resource allocation optimization for transmission energy minimization, based on both users' future context information and network coding. In our previous work [34], single cell networks were considered. But in real scenarios, users tend to move among multiple cells.
In this paper, we study the joint resource allocation and scheduling problem for delay-constrained multi-cell networks, by utilizing users' moving context information for upcoming channel state information estimation. Network coding technique is also adopted to improve retransmission efficiency. The objective is to minimize the total transmission energy consumed by BSs. The main contributions of this paper are summarized as follows: • A network coding based multi-cell broadcast system model is constructed in the paper; • We formulate the broadcast energy minimization problem as a context-aware network coded broadcast scheduling optimization problem. To get the optimal solution, we transform the optimization problem into an MIP problem; • We propose a polynomial-time heuristic scheme to solve the optimization problem; • Simulation results show that both the MIP based solution and heuristic scheme can significantly reduce transmission energy consumption and improve broadcast success rate, compared with two conventional benchmark schemes.

III. SYSTEM MODEL A. NETWORK OVERVIEW
We consider a time slotted network with M BSs and K users, which are labeled as BS j , j = 1, 2, . . . , M and U i , i = 1, 2, . . . , K , respectively. Each BS is situated in the center of a cell and connected to the base station control center (BSC) via a core network (wired backbone network). BSC acts as routing and BSs management. Frequency reuse is also adopted among cells. Neighboring BSs use different frequencies to avoid co-channel interference. The K users are moving among the cells in a certain mobility pattern. At a particular time slot, we assume that multiple users are requesting a same source file from the network. In this paper, we concentrate on the process that M BSs broadcast the requested file to K users, subject to a delay constraint that the delivery process must be completed in T time slots. The network architecture is illustrated in Fig. 2.
The requested file is transmitted from the server to the BSC, then arrives at all BSs, and finally from BSs to users via wireless channels. In each BS, the file is divided into N equal length packets and only one packet can be transmitted per time slot. The transmitted contents and schedule of all BSs are controlled by the BSC. When a user is moving among the cells, it will be served by different BSs and receives the required packets from the assigned BS. However, at a particular time slot, a user can only be served by one BS at most. It is assumed that each BS can obtain the served users' context information, including the current position, moving direction, and speed. Based on a user's historical context information, BSs are assumed to be able to predict the user's channel gain in the next T time slots [7], and feed the information back to the BSC. We will discuss the value of T and its impact in a practical system (see Section VI-C) later. BSC can schedule the broadcast of BSs by exploiting the users' future channel gain.

B. NETWORK CODING
In order to improve broadcast reliability and reduce the number of retransmissions, NC technology is introduced to encode the transmitted packets. In this paper, we use the property of random linear network coding (RLNC) [35] or deterministic linear network coding (DLNC) [36] for broadcast, and do not specify a specific network coding algorithm. It is assumed that appropriate NC parameters are adopted, so that the RLNC or DLNC based broadcast can ensure that all transmitted encoded packets are useful to all users. Therefore, to decode a source file that is split to N equal-sized packets, a user only needs to receive N encoded packets. Note that this assumption is achievable by both RLNC or DLNC with some constraints. The detail of network coding is out of the scope of this paper, the interested readers might refer to [35], [36].
In this paper, each BS adopts NC to encode the transmitted packets based on the receiving status of the served users, to ensure that the transmitted packets are useful to all the served users. In other words, a user U i can decode the source file successfully as long as it has received N encoded packets, which may be sent from different assigned BSs. In this case, U i is said to be complete. Otherwise, it is incomplete.

C. LINK MODEL AND ENERGY CONSUMPTION
In a transmission, it is assumed that U i is able to successfully receive a transmitted packet from the assigned BS if the received signal-to-interference-plus-noise ratio (SINR) at the user side is no less than a certain fixed threshold γ . Otherwise, U i cannot receive that packet. At a particular time slot t, received SINR of U i relates to BS j is denoted as ijt , and can be written as where G ijt is the channel gain, P jt is the transmit power of BS j at the t-th time slot. The maximum transmit power of all BSs is set as P max . η 0 is the sum of noise and interference from neighbor cells to U i , and modeled as a constant for simplicity. An M ×T matrix P = {P jt } is defined to denote the transmit power of BSs at all T time slots. In this paper, we are aiming to minimize the total transmission energy consumed by all BSs of the whole broadcast process, by determining optimal P. For a transmission with P jt , transmission energy consumption by BS j is P jt times the duration of a time slot. For the convenience of calculation, it is assumed that each time slot is a unit time, and will be ignored throughout the paper. Therefore, the total transmission energy consumption of all BSs is denoted as E, and can be written as

IV. CONTEXT-AWARE NETWORK CODED BROADCAST SCHEDULING
As stated in Section III, each BS can broadcast one packet at most each time slot, and the broadcast must be finished within delay constraint T . T must be no less than N , since otherwise the broadcast cannot be completed. When T > N , BSs do not need to transmit at every time slot in general. Hence, the BSC needs to specify the transmission time slots for each BS. Similarly, users do not have to successfully receive a packet in each time slot, and BSC also needs to determine the users to which a BS needs to transmit. If a user U i is assigned to receive a packet from a BS at a slot, we call that U i is a target user. When T = N , each user must be a target user at every time slot. At a particular slot, once the target users of BS j are determined, based on the packet reception status and CSI of its target users, the transmission contents and required transmit power of BS j at that time slot can be calculated as well.
We define a K × M × T matrix X to indicate whether a user is a target user. If X ijt = 1, U i is a target user of BS j at time slot t. Otherwise, U i is not a target user. That is Now, we will introduce how to determine the optimal transmit power of BSs to cover the target users. In general, it shows a positive correlation between broadcast coverage and transmit power under the constraint of maximum power P max . We say that the minimum power of BS j used to cover a particular user U i at the t-th slot is the required power, and denote it as ijt . ijt can be calculated by (1) when the SINR ijt equals to threshold γ , and can be written as is defined to denote all the required power. For a particular time slot, the minimum transmit power of a BS is generally determined by the target user with the worst channel gain. As long as the 'worst' target user can be covered, the others can be covered as well. Therefore, a BS can determine the minimum transmit power at a time slot by first calculating the required power of all its target users, and then chooses the maximum one as the transmit power. The broadcast with such selected transmit power can ensure that the expected received SINR of target users meets the successful reception SINR requirement with minimum transmit power.
Since BSs already know the channel gains of each user at the next T time slots, they can obtain the required power . The primary job of the paper is to determine X based on , and further determine the optimal P to complete broadcast with minimum energy consumption. It is worth noting that when a user U i is specified as a target user and the assigned BS uses the corresponding required power to transmit a packet, the received SINR is no less than the threshold γ and that packet is treated as successfully received by U i . Therefore, in such a scenario, the number of times that a user is specified as a target user represents the number of packets it will receive. The major notions used in this paper are given in Table 1. The optimization problem of context-aware network coded broadcast scheduling can be formulated as:

C3
: where C1 limits the transmit power of a BS to the maximum required power of all its target users in the cell. C2 ensures that each user can be covered by N times at least, such that it can receive enough packets for decoding the source file. C3 guarantees that at each time slot, each user can only be specified as the target user of one BS at most. C4 limits the transmit power of each BS to the maximum power P max . If the required power of a user is higher than P max , the user cannot be specified as a target user. Context-aware network coded broadcast scheduling in single cell networks has been proved to be an NP-hard problem in our previous work [34]. Single cell networks can be regarded as a special case of multi-cell networks when the number of BSs M is equal to 1. Accordingly, the problem in [34] is reducible to the problem (5) stated above. Thus the problem (5) is also NP-hard.
To obtain the optimal solution of problem (5) Consequently, the optimization problem becomes an mixed integer programming (MIP) problem which can be solved by some standard mathematical tools, such as branch and bound and cutting planes [37]. We call this method context-aware with mixed integer programming (CAMIP). Due to the high computational complexity of the optimal solution, in the next section, we present a polynomial-time heuristic algorithm to solve the minimum energy problem.

V. HEURISTIC ALGORITHM
Now, let us check the optimization problem again. For network coding based broadcast, as long as a user has been covered by N times, it can decode the source file and is said to be complete. However, to a user who has received all the required packets, extra transmitted packets are useless and may cause extra energy waste. Therefore, the ideal broadcast is that each user is exactly covered by N times. Based on this idea, in this section, we propose a polynomial-time heuristic algorithm for the optimization problem.
We first define a K × M × T dynamic cost matrix C = {C ijt }, where C ijt denotes the energy cost of choosing U i as a target user of BS j at j-th time slot. Since the duration of a slot is assumed to be a time unit, the energy cost C ijt is set to be the extra increased transmit power in order to cover U i , based on previously selected target users.
Note that C is dynamically updated once a new target user is selected. Consider the scenario that BS j may need to serve two user U i and U i+1 at t-th slot, where the required power ijt < (i+1)jt ≤ P max . If BS j only wants to cover U i+1 , the energy cost C (i+1)jt = (i+1)jt . However, if U i is already selected as a target user, the minimum transmit power of BS j is P jt = ijt . On that basis, if BS j wants to serve U i+1 further, the minimum transmit power of BS j is P jt = (i+1)jt . Therefore, the extra transmit energy cost used to cover U i+1 Recall that the number of times that a user is specified as a target user represents the number of packets it will receive. The basic idea of the proposed heuristic algorithm is to greedily specify target users by finding the minimum value from the valid elements in cost matrix C, until every user has been selected as a target user for N times. Initially, set X to be zero and C ijt be ijt , since if U i is chosen as the target user of BS j at t-th slot, BS j must increase the transmit power to ijt at t-th slot and will cause extra energy cost C ijt = ijt . Then, find the minimal element C i j t from C and set X i j t = 1, subject to the following constraints: 1) the transmit power of each BS must be no greater than P max , 2) at each time slot, each user can only be specified as the target user of one BS at most, and 3) every user cannot be covered more than N times. After that, update C by setting C ij t to be ( ij t − i j t ), where i = i and X ij t = 1. Since U i has been specified as the target user of BS j at the t -th slot, it cannot be selected as a target user of current BS and any other BSs at the t -th slot again. Thus we increase the costs to be greater than P max to avoid being selected again. Similarly, for all complete users, they should not be covered anymore to avoid unnecessary energy waste. Hence, the related costs of these users need to be greater than P max . Then, specify the target user corresponding to the minimum valid element in C. Repeat the process of updating C and specifying target users greedily, until every user has been selected as a target user for N times. When the process is complete, X indicates the target users' assignments. Transmit power P jt can be determined by max K i=1 {X ijt ijt } and total energy consumption of broadcasting can be computed by (2). This algorithm is called Context-Aware Heuristic Scheme (CAHS) and described in Algorithm 1. Now, we are going to analyze the computational complexity of CAHS. It is assumed that the complexity of finding the minimum or maximum value from n numbers is typical O(n). In STEP 1, it takes KTM operations to initialize X and takes

STEP 4:
Update matrix X by setting X i j t = 1.
ij t ≤ P max and X ij t = 1.
Since U i has been specified as the target user of BS j at t -th slot, it cannot be selected as a target user of any other BSs at t -th slot again. Thus we increase the costs to be greater than P max to avoid being selected again.
If a user is complete, it should not be selected as a target user anymore, so we increase the costs C ijt related to it to be greater than P max to ensure that each user is exactly covered by N times. STEP 8: If any user is incomplete, proceed to STEP 3, otherwise continue. STEP 9: Compute transmit power of BSs T t=1 P jt , and return.
KTM operations to initialize C. The overall complexity of STEP 1 is O(KTM ). In STEP 2, it first takes KTM operations to finish counting for each user, then takes K operations to compare the number of counts with N . The overall complexity of STEP 2 is O(KTM ). In STEP 3, the complexity is O(KTM ) to find the minimum cost from C. In STEP 4, the complexity is O(1) to specify a target user. After a target user is determined, STEP 5 will take maximum (K − 1) operations to update the cost of other users in the same BS at that time slot. So the complexity of STEP 5 is O(K ). In STEP 6, it takes M operations to guarantee the target user cannot be selected as a target user at the time slot again. The maximum complexity is O(M ). In STEP 7, it takes one operation to check whether a user is complete firstly. If so, it takes at most TM operations to update the value of C ijt associated with that user. This procedure will repeat at most K times for all users. Therefore, the maximum complexity is O(KTM ). STEP8 will take at most K operations to check if any user is incomplete, hence the complexity is O(K ). Therefore, for the loop from STEP 3 to STEP 8, the total complexity of each loop is O(KTM ). It may repeat at most NK loops to cover K users for N times. Hence the overall complexity from STEP 3 to STEP 8 is O (K 2 TMN ). Finally, In STEP 9, it first takes K operations to calculate the required power and takes K operations to find the maximum value as the transmit power. These operations will be repeated TM times at most to determine P. Besides, it takes TM operations to compute the energy summation E. The total complexity of STEP 9 is O(KTM ). Consequently, the overall complexity of CAHS is O(K 2 TMN ).

VI. SIMULATION AND PERFORMANCE EVALUATION
In this section, we evaluate the performance of proposed CAMIP and CAHS by simulation. The setting and parameters are introduced firstly. In subsequent part, we introduce two benchmark schemes for comparison and present performance metrics. Lastly, simulation results are discussed.

A. SIMULATION SETUP
A three-tier multi-cell network with 19 BSs is used in the simulation, as shown in Fig. 3. Suppose that K users are randomly distributed in the cells at the beginning. U i , i = 1, 2, . . . , K , moves with an initial angle θ i and a constant speed ν i between 80-100 km/h which is the typical speed of vehicles on highway. Note that the assumption that users move at a constant speed and angle is to simplify the calculation. In real scenarios, this assumption is not needed. Meanwhile, to ensure that all users can possibly decode all the source packets, the number of slots that a user can be covered by at least one cell cannot be less than N in the simulation. Next, we will introduce how to determine the channel gain G ijt . Suppose that BSs already know the users' context information, including current location and future moving trajectories. At a particular time slot t, the path loss between U i and BS j can be determined by PL = 128.1 + 37.6log 10 (d ijt ) + L s (6) where d ijt denotes the distance (in km) between U i and BS j , L s indicates shadow fading. Let A ijt be the attenuation (in dB) VOLUME 8, 2020 caused by shadow fading, and α be the path loss exponent. Then the channel gain G ijt can be rewritten as Note that A ijt is usually modeled as a zero-mean Gaussian random variable with standard deviation σ . In general, the empirical value for σ is between 6 dB and 12 dB, and α is between 4 and 6. In this paper, we assume that network operators can collect shadow fading data, which can be used by BSs. The correlation between shadow fading at different times can be expressed by Gauss Markov process as follows where W t is zero-mean Gaussian random variable with 10dB standard deviation, and ρ ijt is the correction coefficient which can be determined by where | d| is the position change of the mobile user from t − th slot to (t + 1) − th slot, and d cor is the correlation distance and set to 50 meters in our simulation according to 3GPP [38]. For more details of this shadow fading model, we refer the readers to [39]. In practice, in a particular time slot t, for U i , the BS j can know the G ijt from CSI. By using (7), A ijt can be determined. Due to the fading correlation, BSs can use (8) to estimate A ijt for the follow T slots, where t > t. The duration of a time slot is assumed to be 0.167 second, which is same as [40], for wireless video streaming. Additional parameters of the simulation are shown in Table 2. The simulation environment is established by MATLAB, and Gurobi 8.1 [41] is utilized to solve the CAMIP. In the simulation, for each set of parameters, we present the average performance over 3000 realizations.

B. BASELINE APPROACHES AND PERFORMANCE METRICS
This paper mainly focuses on minimizing energy consumption of broadcast in multi-cell networks through power allocation. To the best of our knowledge, there is no reference approach that can be directly applied to our system model for performance evaluation. Therefore, based on related works, we introduce a non-context-aware non-network coding based baseline broadcast approach. Furthermore, a non-contextaware network coding based baseline approach is also introduced to reveal the influence of network coding on broadcast process. Because of non-context-awareness, the two conventional schemes keep broadcasting in chronological order until all users are complete or all time slots are consumed. At the same time, in order to achieve minimum energy consumption, each user will be specified as the target user of BS with minimum required power.
In the case of the first non-network coding based algorithm, BSs transmit source packets and retransmit the lost source packets, which is called general scheme (GS). GS has two phases: initial phase and retransmission phase. In the initial phase, all BSs synchronously transmit the N source packets sequentially, which will consume N time slots.
After sequentially broadcast the N packets once, if any user is still incomplete, the algorithm steps into retransmission phase. BSs first check the lost packets and denote the collection as R. Then, the BSs will retransmit the packets in R to the users. To retransmit a packet r ∈ R, BSs first find all the incomplete users which require r, denoted as users * . Then just like the initial phase, users * will be specified as the target users of the BSs with minimum required power, provided the required power is no more than P max . However, in the retransmission phase, users may need different packets at the same slot, so we can specify different BSs to retransmit different packets at a slot. When all users are complete or all time slots are used, the algorithm halts.
The other benchmark scheme adopts the same transmission pattern as GS, with the only difference that network coding technique is applied, which is referred to as general scheme with network coding (GSNC). GSNC broadcasts network coded packets, and retransmits encoded packets which are beneficial to all users. Therefore, in the retransmission phase, GSNC does not consider that users request different packets at the same time. The pseudo code of GS and GSNC is shown in Algorithm 2 and Algorithm 3 respectively in Appendix I.
Here, metrics used to evaluate the performance of these schemes are described as follows: • Energy consumption (normalized): We use energy consumption (normalized) to indicate the transmission energy consumed by all BSs for broadcasting the file to all users.
• Success rate: In a realization of broadcast, we call that the broadcast succeeds only if all users are complete after T slots. The success rate is defined as the number of successful realizations over the total number of realizations, which can indicate the reliability of transmission.
• Average broadcast latency (slots): Broadcast latency of a realization is defined as the total number of time slots consumed when all users are complete. The average broadcast latency is defined as the averaged value of broadcast latency over all realizations (in time slots).

C. NUMERICAL RESULTS
We evaluate the performance of proposed CAMIP and CAHS by comparing to two conventional schemes GS and GSNC using performance metrics with various K , T , and M . Firstly, let T = 64, N = 16, K varies from 5 to 100, results are shown in Fig. 4. From Fig. 4a, we can find that the energy consumption of CAMIP and CAHS is always far less than GS and GSNC. In particular, when K = 100, CAMIP and CAHS can save energy 75% and 71% respectively, compared to GS. As can be observed from Fig. 4b, three network coding based schemes, CAMIP, CAHS, and GSNC always maintain a success rate of 100%, whereas the success rate of non-network coding based scheme GS gradually decreases with K increasing. When K = 100, the success rate of GS is 68% only. In Fig. 4c, the average broadcast latency of context-aware schemes CAMIP and CAHS are far higher than GS and GSNC. When K = 100, the average broadcast latency of CAMIP and CAHS is 130% and 121% higher than GS, respectively.
Next, let K = 50, N = 16, T varies from 32 to 128, results are shown in Fig. 5. Results illustrated in Fig. 5a indicates that the energy consumption of CAMIP and CAHS decreases when T increasing. On the contrary, it increases in GS and GSNC. That means that when the delay constraint is relaxed, the performance of context-aware schemes gets better. Whereas, GS and GSNC broadcast in chronological order, more relaxed constraint brings more random simulated network, which leads to more energy consumption. Note that the energy consumption of GS and GSNC should show a nearly constant when T increasing. In Fig. 5b, with the increase of T , the success rate of GS increases gradually. When T = 32, the success rate of GS is 54%. While T = 128, the success rate is 99%. This happens because more relaxed time constraint means more time slots for retransmission. Broadcast failure caused by insufficient time slots will reduce, hence the success rate of GS increases. In Fig. 5c, the average broadcast latency of CAMIP and CAHS becomes higher when T increasing, whereas GS and GSNC have little changes. The reason is that CAMIP and CAHS may choose later slots that have better channel gain to reduce energy consumption.
Lastly, let K = 50, T = 64, N varies from 8 to 32, simulation results are depicted in Fig. 6. The energy consumption of the four schemes increases when N increasing in Fig. 6a. Meanwhile, CAMIP and CAHS always outperform GS and GSNC. In Fig. 6b, with the increase of N , the success rate of GS decreases gradually. When N = 8, the success rate is 99%, When N = 32, the success rate is 36%. The reason is same as T increasing. Fig. 6c depicts the increasing average broadcast latency of the four schemes. As N increases, all schemes need more time slots to finish broadcasting.

D. SUMMARY
From Fig. 4 to Fig. 6, compared to the benchmark schemes, we can conclude that the context-aware network coding based schemes, CAMIP and CAHS, can significantly save energy in most cases, and improve success rate as well. However, the payment for less energy consumption is higher broadcast latency, because context-aware schemes would take full advantage of all time slots for energy saving, therefore takes a longer time to complete broadcast. The analysis of the delay constraints shows that when the delay constraint is relaxed, the performance of context-aware schemes can be improved. Besides, from the comparison between GS and GSNC, it is revealed that network coding can significantly improve the VOLUME 8, 2020 success rate of broadcast and save transmission energy for BSs.

VII. REALISTIC CONSIDERATION
In this section, we discuss some problems which may arise in practice and present corresponding solutions. Since all the above parts are finished under the assumption that the channel gain of mobile users can be perfectly predicted, the proposed CAMIP and CAHS exhibit remarkable performance compared with conventional schemes. In practice, because of high variability of users' channel condition or inaccurate prediction, BSs cannot perfectly obtain users' future channel information in general, which will be expected to result in some performance degradation. Meanwhile, to simplify the problem and reduce computation complexity, we only consider noise and omit co-channel interference. However, there does exist many systems suffering co-channel interference from neighbor cells.
For the proposed schemes, both imperfect channel prediction or co-channel interference may cause performance degradation, mainly in terms of packet loss during transmissions. To evaluate how much prediction errors or co-channel interference will affect the proposed schemes, we investigate packet loss ratio under various situations. We define a new metric named valid transmission rate to denote the ratio of the total number of received packets to the total number of transmitted packets for all users.

A. IMPERFECT PREDICTION
In the proposed schemes, the transmit power of a BS is determined based on the predicted channel gain of its target users. To evaluate the impact of prediction errors, we assume the real channel gain of a transmission is the sum of corresponding predicted channel gain plus a zero-mean Gaussian random variable with different standard deviations. Let K = 50, T = 64, N = 16, and the standard deviation varies from 0 to 2 dB, we evaluate the packet loss ratio via simulation. The results are presented in Fig. 7. From the figure, we can find that the valid transmission rate drops down to below 75% when the standard deviation is 0.25 dB. Besides, the valid transmission rate decreases as the standard deviation increases. In other words, the influence of imperfect prediction is more serious when the standard deviation is large. In particular, when the standard deviation is 0.25 dB, the valid transmission rates of CAMIP and CAHS is 73% and 64%, respectively. When the standard deviation is 2 dB, the valid transmission rates of CAMIP and CAHS reduce to 69% and 63%, respectively. Under this situation, to ensure that more packets can be received by users, one possible way is to increase the transmit power of BSs. To investigate whether it is possible to alleviate or overcome the packet loss by increasing transmit power, we choose a specific standard deviation and raise transmit power to different levels. Considering the high degree of mobility prediction [21] and channel prediction [7], we select 0.5 dB standard deviation as the level of imperfect prediction. Note that the real SINR threshold of successful reception, i.e. γ , is still 3 dB. But we increase the target SINR when calculating the minimum required power , instead of using γ directly. Let K = 50, T = 64, N = 16, standard deviation is equal to 0.5 dB, the target SINR varies from 3 to 5 dB, the results are illustrated in Fig. 8. From Fig. 8, we can see that the valid transmission rate increases as the used target SINR increases. The valid transmission rate can get a huge improvement when the target SINR is increased by 0.5 dB. When the target SINR equals to 3.5 dB, the valid transmission rate of CAMIP and CAHS is 92% and 89%, respectively. If the target SINR increases continuously, the valid transmission rate approaches to 100% gradually. As expected, the results show that increasing the target SINR is an efficient way to alleviate the impact of imperfect prediction. It is worth noting that we should choose a proper threshold according to the degree of imperfect prediction to balance the energy consumption and valid transmission rate since the increase of target SINR will also lead to higher energy consumption.
Actually, BSs can dynamically adjust the transmit power, and the problem can be further alleviated based on real time CSI feedback in practice. Specifically, BSs can adjust the transmit power of BSs for the next time slot properly by comparing the predicted channel gain with the current real channel gain. For example, if the real channel gain is lower than the predicted one used in scheduling, the BS can raise the transmit power appropriately, and ensure that the target users can also receive packets at the next time slot. Similarly, if the real channel gain is higher than the predicted one, the BS can reduce the transmit power appropriately to reduce energy consumption.

B. CO-CHANNEL INTERFERENCE
Recall that the noise is modeled as a constant and co-channel interference is omitted when calculating the minimum required power . This assumption holds when the inter-cell interference is negligible, which can be achieved by some inter-cell interference mitigation methods, such as conventional hard frequency reuse with large frequency VOLUME 8, 2020 reuse factors, fractional frequency reuse with multiple cell regions [42], and soft frequency reuse [43]. For these frequency reuse techniques, the co-channel interference is mitigated at the expense of lower spatial bandwidth efficiency [44]. However, it is known that all BSs are simultaneously reusing the same frequency resources can maximize system-wide spectral efficiency [45], which leads to non-negligible co-channel interference. Since co-channel interference is omitted when making resource pre-allocation, the proposed schemes will suffer packet loss when applied to those systems with co-channel interference.
Simulations are carried out to investigate how much performance degradation will cause by co-channel interference. In our simulation, in the resource allocation phase, we still assume the frequency reuse factor is seven and no co-channel interference is considered. While in the transmission phase, the frequency reuse factor is regarded as one and inter-cell interference is counted when calculating the real SINR at user side. Let T = 64, N = 16, K varies from 5 to 100. The results are illustrated in Fig. 9. As the number of users increases, the valid transmission rate decreases first and then increases. Since the number of BSs is 19, when K is small, there exists some spare BSs at each time slot with high probabilities, which will not cause inter-cell interference. As the number of users increases, more and more BSs will work, and the co-channel interference will become more serious, which will make the valid transmission decrease.
When the number of users is larger than 19, each BS may sever multiple users simultaneously. For a given cell, the transmit power is allocated to make the 'worst' user achieve the SINR threshold γ , which means the received SINR of the other users in this cell is larger than γ without considering co-channel interference. In other words, the cochannel interference mainly affects those users located at cell borders, with a negligible impact on those users located close to BS. As the number of users increases, the ratio of border users to total users decreases, which makes the valid transmission increase. Therefore, when the number of users is large, the influence of co-channel interference becomes smaller. Nevertheless, co-channel interference still causes heavy performance degradation. In particular, when K = 50, the valid transmission rates of CAMIP and CAHS is only 45% and 28%, respectively.
To alleviate the impact of co-channel interference, BSs can increase the transmit power to reduce packet loss. Therefore, we can treat co-channel interference as 'noise' and set a larger constant value for η 0 in equation (1). Here, we evaluate how the valid transmission rate changes by setting different constant values for η 0 . Note that the transmission from neighboring cells is regarded as co-channel interference when determine real received SINR at user side. Similarly, we set K = 50, T = 64, N = 16, and test the ratio of successfully transmitted packets by varying η 0 from -130 to -50 dBm. The results are presented in Fig. 10. It is easy to conclude that the valid transmission rate becomes higher with the increase of constant η 0 . When the constant is equal to -50 dBm, both CAMIP and CAHS can achieve 100% valid transmission rate, which means the packet loss caused by co-channel interference can be eliminated when an appropriate value is selected for η 0 .

C. INFEASIBLE SCENARIOS
In our simulation assessment, all users are assumed to be feasible, i.e. all users must be within transmission range of BSs for at least N slots. This requirement is unnecessary in real scenarios. Due to signal attenuation or interference, there may exist some users which cannot be covered for N times by BSs within the latency constraint. For these users, they can never successfully receive all source packets in any case. In this scenario, we can simply skip these users and consider the remaining feasible users only. Take the users who can satisfy the latency constraint as a group, and then use the proposed schemes to allocate resources.
Besides, infeasible situation may also happen during the transmission process. As resource pre-allocation schemes, they are designed to run once before transmission. For a user who is required to receive N packets, the proposed schemes will pre-allocate N transmissions for that user. However, as explained in the previous subsections, both imperfect prediction and co-channel interference may cause packet loss, which will make that user infeasible. To address this issue, on one hand, we can appropriately raise or dynamically adjust transmit power to reduce the probability of packet loss. On the other hand, we can run the proposed resource allocation schemes multiple times during the transmission process, by taking the receiving status of all users as dynamic input. By doing so, extra transmissions can be dynamically allocated for those users which have suffered packet loss, so as to increase the valid transmission rate.
We evaluate the performance of running multiple allocations during broadcasting to cope with potential infeasible situations caused by imperfect prediction and co-channel interference. Instead of making resource allocation before transmission, we run the proposed schemes before every time slot, taking the most recent receiving status as input.
To evaluate the performance improvement under imperfect prediction scenarios, we run simulations with K = 50, T = 64, N = 16 and standard deviation is equivalent to 0.5 dB. If we run the resource allocation schemes once before transmission, the valid transmission rate of CAMIP and CAHS is 73% and 65%, respectively. While for this multiple running method, the valid transmission rate of CAMIP and CAHS can separately achieve 93% and 90%. To evaluate the performance improvement under co-channel interference scenarios, we run simulations with K = 50, T = 64, N = 16, and count co-channel interference at the user side. If the resource allocation schemes run once before transmission, the valid transmission rate of CAMIP and CAHS is only 45% and 28%, respectively. While for this multiple running method, the valid transmission rate of CAMIP and CAHS increases to 76% and 63%, respectively. From the results, we can find that the multiple allocation method shows very considerable improvements.

VIII. CONCLUSION
This paper considers the problem of energy minimization for delay-constrained multi-cell broadcast networks. Network coding integrated with context-awareness which exploits context information to predict users' channel gain in certain future time periods for transmission scheduling is considered for energy saving. We formulate the energy minimization problem as a context-aware network coded broadcast scheduling optimization problem and prove it is NP-hard. In order to get the optimal solution, we transform the optimization problem into an MIP problem which can be solved by some standard tools, called CAMIP. Due to the high complexity of CAMIP, a polynomial-time heuristic algorithm CAHS is proposed. In the simulation, we set a network with 19 BSs, and consider three performance metrics (i.e. energy consumption, success rate, and average broadcast latency) for performance evaluation. Meanwhile, two conventional schemes, GS and GSNC, are introduced for comparison.

Algorithm 2 General Scheme (GS)
Require: Required power matrix . Ensure: Transmit power P and toal energy consumption E. 1: Define a set R as the packet collection, define users * to save the incomplete users, and BSs * to save BSs which can be used to transmit packets at a particular time slot in retransmission phase. 2: Initialize target user indication matrix X=0. 3: // Initial phase, broadcast N packets sequentially 4: for t ∈ [1, N ] do 5: for i ∈ [1, K ] do 6: i j t ← min( ijt ), for all BS j which can cover U i at time slot t 7: X i f t ← 1 8: end for 9: end for 10: // Find the collection of packets need to be retransmitted 11: for i ∈ [1, N ] do 12: if the i-th packet is required by any user then 13: put i-th packet into R 14: end if 15: end for 16: // Retransmission phase, retransmit lost packets 17: while there exists user is incomplete do 18: t = t + 1 19: if t > T then 20: return 21: end if 22: users * ← all incomplete users 23: BSs * ← all BSs 24: for r ∈ R do 25: for all user U i who need packet r of users * do 26: i j t ← min( ijt ), for all BS j which can cover U i at time slot t 27: X i j t ← 1 28: delete U i and BS j from users * and BSs * respectively 29: end for 30: if users * or BSs * is empty then 31: break 32: end if 33: end for 34 Simulation results show that both CAMIP and CAHS could significantly decrease transmission energy consumption of BSs and improve broadcast success rate as well, compared with conventional schemes. However, every coin consists of two sides. The proposed schemes get better energy consumption performance, at the expense of higher average broadcast latency and decoding complexity. Finally, we discuss some Algorithm 3 General Scheme With Network Coding (GSNC) Require: Required power matrix . Ensure: Transmit power P and total energy consumption E. 1: Initialize target user indication matrix X=0 2: // Initial phase, broadcast N packets sequentially 3: for t ∈ [1, N ] do 4: for i ∈ [1, K ] do 5: i j t ← min( ijt ), for all BS j which can cover U i at time slot t 6: X i j t ← 1 7: end for 8: end for 9: // Retransmission phase, retransmit lost packets 10: while there exists user is incomplete do 11: t = t + 1 12: if t > T then 13: return 14: end if 15: for all incomplete users do 16: i j t ← min( ijt ), for all BS j which can cover U i at time slot t 17: X i j t ← 1 18: end for 19 problems which may arise in practice and present the corresponding solutions. We can appropriately raise or dynamically adjust transmit power, or execute multiple allocations according to the receiving status of all users to reduce the probability of packet loss.
In future work, we are going to study a system model considering co-channel interference and to investigate more application scenarios based on the proposed approaches, such as edge computing.

APPENDIX I. CONVENTIONAL SCHEMES
See Algorithms 2 and 3.