The throughput of a communication system depends on the offered traffic load and the available capacity to support that load. When an unmanned aerial verhicle (UAV) is responsible for providing the communication service to users within its transmission range, the position of the UAV determines how much capacity each user gets. The closer the UAV to a user, the greater the capacity that the user gets. For a given set of user traffic demands and user locations, it is possible to maximize the total throughput by optimally positioning the UAV. This paper presents two methods, a heuristic method and an approximation algorithm, for determining the UAV position that maximizes the overall system throughput. This paper also considers a related problem of keeping all users within the transmission range while determining the UAV position that maximizes throughput. The proposed schemes were evaluated with extensive simulations using MATLAB and the ns-2 simulator. The results show that significant throughput enhancement is possible by optimally positioning the UAV when user positions are unevenly distributed and/or data rate demands are widely spread.

Introduction

Recently, unmanned aerial vehicles (UAVs) have attracted increasing research and commercial interest [1]. In particular, small-scale UAVs are being considered for a wide range of applications such as surveillance [2], search and rescue [3], forest fire monitoring [4], radiation monitoring [5], and sports [6]. Meanwhile, advancements in wireless and mobile communication technologies have changed all aspects of our lives. The demand for more bandwidth and the ability to communicate anytime and anywhere is increasing. Although the traditional infrastructure-based communication systems (such as cell tower-based LTE and access point-based Wi-Fi) have expanded to every corner in most countries, their lack of mobility hinders their adaptation to dynamic environments. Furthermore, their high cost and lengthy installation procedures make them unsuitable for deployment in remote locations and emergency scenarios. Therefore, non-traditional methods, such as project loon [7] and Facebook drone project [8], have emerged. For more dynamic and ad hoc scenarios, small-scale UAVs are attractive for their maneuverability, ease of deployment, hovering ability, and low cost. Small-scale UAVs are being considered to function as wireless relays to enhance the performance of cellular networks [9, 10] and satellite communication systems [11]. Their ease of deployment and low cost makes UAV-based communication systems attractive for mobile crowds (handling site outage and overload conditions in cellular networks) [10, 12] and emergency scenarios, such as natural or man-made disasters [13, 14].

Positioning of UAVs affects various network performance metrics, such as throughput, coverage, connectivity, and revenue. Bor-Yaliniz and Yanikomeroglu [15] examined the positioning of drone base stations (BSs) for coverage and revenue maximization. Rasario et al. [16] proposed a mechanism for the placement of UAV relays to support the transmission of high-quality live videos. Zhan et al. [17] considered a communication system using a UAV as a relay between ground-based terminals and network BSs. They proposed an algorithm for the performance optimization of the ground-to-relay link by controlling the heading angle of the UAV. Dixon and Frew [18] proposed a mobility control algorithm for optimally positioning a chain of UAVs acting as communication relays to achieve end-to-end communication. Guo et al. [10] derived a closed-form expression for determining the optimal locations for the relays. Although in [10], the optimal locations for UAVs were also discussed, the reported study was fundamentally different from our work. In our work, the UAV position is determined based on the traffic demands and positions of the users, whereas the study in [10] was concerned with obtaining the optimal relay position with respect to other relays. Furthermore, [10] is focused on theoretical analyses, whereas our work is focused on algorithms. Kalantari et al. [19] investigated the three-dimensional (3D) placement of drone BSs in 5G wireless networks constrained by the capacity of the backhaul link. Their objective was to maximize the number of served users and their total rate. In contrast with our work, the model in [19] considered only the physical layer characteristics. In our work, we consider both the physical (PHY) and media access control (MAC) layer characteristics to determine the UAV position that maximizes the throughput.

Throughput is an important network performance metric. It is defined as the actual rate at which information is transferred and is usually measured in bits per second (bps). The throughput of a link depends on the offered load and the link capacity. The link capacity depends on the channel bandwidth and the signal-to-interference-plus-noise ratio (SINR). SINR depends on the transmission power, the distance between the transmitter and receiver, and the propagation (channel) model. Therefore, SINR can be controlled by changing the transmitter/receiver distance. In traditional communication systems, the position of the base transceiver stations (BTS) or access points (or any other device providing communication access) is fixed and cannot be changed to improve the SINR. However, a UAV-based communication system offers the ability to adjust the position (of BTS or access point) according to user traffic demands and maximize throughput. We consider a scenario in which a UAV provides communication service to multiple users located within its transmission range, as shown in Fig. 1. For a given set of data rate demands and user positions, it is obvious that some UAV positions will produce more throughput than others.

In this paper, we address the issue of optimally positioning a single UAV with respect to its associated users to maximize throughput. Our proposed solutions can be used in scenarios where UAVs function as single-hop communication relays. Such scenarios arise when the coverage extension of cellular communication is required. Similarly, such scenarios can arise in post-disaster communication systems. Moreover, the proposed solutions can be adapted for use in centralized multi-hop communication systems (e.g., software-defined networking-based systems) by considering not only the UAV-to-user communication but also the UAV-to-UAV communication.

The contributions of this paper are summarized as follows:

We provide a mathematical formulation of the problem: to maximize throughput, considering the characteristics of the PHY and MAC layers, by optimally positioning a UAV based on the data rate demands and positions of its associated users.

We propose a heuristic method and an approximation algorithm for determining the UAV position that maximizes throughput.

This work also introduces a simple and computationally efficient method for keeping all associated users within the transmission range of the UAV while determining a UAV position that maximizes throughput.

We performed extensive simulations using MATLAB and the ns-2 simulator to evaluate the performance of the proposed schemes for various levels of unevenness in user position distribution. Results show that when user positions are more non-uniformly distributed around the UAV, the potential for throughput maximization is high. Furthermore, data rate demands with various ranges of uniform distribution were generated and evaluated. Results show that when data demands are widely spread, the potential for throughput maximization is high. Moreover, results clearly demonstrate that the approximation algorithm achieves considerably more improvement in throughput as compared to the heuristic method.

The rest of the paper is organized as follows. Section 2 illustrates the context for our idea of throughput maximization and describes a formal formulation of the problem. The heuristic method for throughput maximization is described in Section 3. The approximation algorithm is discussed in Section 4. Section 5 presents the simulation results. Section 6 discusses some associated issues. Finally, Section 7 presents the conclusions and discusses future work.

Background and problem formulation

This section first illustrates the context for our idea of throughput maximization and for the proposed schemes and then describes a formal formulation of the problem.

Background

Effect of transmitter/receiver distance on physical data rate

One of the main factors affecting the physical data rate, C^{phy}, of a wireless link is the signal-to-interference-plus-noise ratio (SINR). Moreover, because of path loss, the received signal power is proportional to d^{−α}, where d is the distance between the transmitter and receiver and α is the path loss exponent. In practical systems, some modulation scheme is used to package bits into symbols for transmission over the wireless channel. For high SINR, modulation schemes package more bits in each symbol. For example, as shown in Table 1, with 802.11a, 54 Mbps data rate can be used when SINR is at least 25 dB. Otherwise, a lower data rate must be used [20]. When the SINR degrades, the bit error rate increases as the receiver is not able to correctly decode the received symbols. Therefore, the modulation schemes resort to packaging fewer bits in each symbol as the SINR decreases. Thus, the data rate drops. Therefore, for any modulation scheme, as the SINR increases, the maximum achievable data rate increases and vice versa. A UAV-based network offers the advantage to move and position nodes as desired for performance improvement. The SINR for a user can be improved by positioning the UAV closer to that user. The problem is simple for a single user but becomes tricky when multiple users are communicating with the UAV.

Throughput capacity at the MAC layer and above

Let \(C_{j}^{\text {phy}}\) denote the physical data rate for user j and C_{
j
} denote the throughput capacity for j at the MAC layer. In practice, C_{
j
} is less than \(C_{j}^{\text {phy}}\) because of the header and protocol overheads. However, it is obvious that higher physical data rates produce higher throughput at MAC layer (layer 2) and above. For example, with IEEE802.11a, the maximum throughput at layer 2 mainly depends on the frame size and the physical rate [21].

If j is not sharing the channel with any other user, then C_{
j
} is also the effective capacity of the user. However, if other users are also sharing the channel, then the effective throughput capacity, \(C_{j}^{\text {eff}}\), will be further reduced. If S is the set of users sharing the channel and t_{
j
} is the fraction of time user j∈S that gets to use the channel, then

$$ C_{j}^{\text{eff}} = t_{j}C_{j}, \forall j \in S $$

(1)

$$ \sum_{j \in S}t_{j} \leq 1, \forall j \in S $$

(2)

Equation (2) implies that no more than one user can use the channel at a time, which effectively eliminates the interference between the users in S. The time fraction, t_{
j
}, is referred to as the airtime of user j. It is important that each user gets a fair share of airtime; otherwise, the system cannot achieve its full throughput potential. This is particularly the case for a multi-rate IEEE802.11 network. The DCF of IEEE802.11 suffers from the rate anomaly problem, wherein the stations transmitting at a slower rate get more airtime as compared with stations transmitting at higher rates [22]. This results in throughput degradation for the faster transmitting stations. In our approximation algorithm, users are allocated airtime according to the max-min fair allocation policy.

Throughput depends on the offered load and the effective capacity

The throughput of a communication system depends on the data rate demands of the communicating users and the effective throughput capacity available to these users. Specifically, if Rate_{
j
} is the data rate demand of user j, and \(C_{j}^{\text {eff}}\) is the effective throughput capacity available to j, then the maximum throughput achievable by j is

The total throughput, τ, of the system can be computed as follows:

$$ \tau = \sum_{j \in S}\tau_{j} $$

(4)

where S is the set of users communicating with the UAV.

Keeping all associated users within the transmission range

It is important to ensure that all users remain inside the transmission range, TxR, of the UAV while positioning it for throughput maximization. Therefore, the UAV cannot be allowed to move to any position. Thus, the UAV should be assigned a position in a certain region such that it can keep all the users within its transmission range. Let us call this region the containing region. The containing region is defined by the intersection of the circles centered at the positions of the users, with each circle having radius TxR. Kratky [23] showed that the intersection region of n circles having the same radii can be derived from the intersection region of fewer circles; however, they did not provide any algorithm. Librino et al. [24] proposed an algorithm for computing the intersection of circles of arbitrary radii, but their algorithm is computationally expensive and, therefore, not suitable for our proposed application. Therefore, we propose a simple and computationally efficient method for approximating the containing region.

When the altitude and the transmission range of the UAV are fixed, we can determine a circular region that approximates the containing region. We call this circular region the containing circle. As long as the UAV remains within the containing circle, all users will be within its transmission range. The containing circle can be determined using user positions as follows:

1.

Determine the smallest enclosing circle for the user positions, as shown in Fig. 2. Its center is denoted by c_{
s
e
c
} and its radius by R_{sec}. The smallest enclosing circle for a set of points is a circle with the smallest radius that encloses all the points [25].

2.

Using information on the smallest enclosing circle, compute the containing circle. Its center is c_{
c
o
n
t
}=c_{
s
e
c
} and radius is R_{cont}=TxR − R_{sec}. As long as the UAV remains inside the containing circle, no users will be outside its transmission range.

To show that all the users will be within the transmission range if the UAV is positioned anywhere inside the containing circle, let distance(a,b) denote the distance between points a and b. By definition, we know that

$$ \text{distance}(\mathbf{p}_{\mathbf{j}}, \mathbf{c}_{\mathbf{sec}}) \leq R_{\text{sec}}, \forall j \in S $$

(5)

where p_{
j
} denotes the position of user j and S is the set of users. Moreover,

Because the containing region is a convex polygon bounded by circular arcs, the containing circle provides a reasonable approximation for the objective of our application.

Problem formulation

We consider a single UAV u. Assuming that the UAV flies at a fixed altitude, it has a fixed transmission range in the user plane, denoted by TxR_{inplane}. For simplicity of notation, in the rest of the paper, we will refer to TxR_{inplane} as TxR. There is a set S of |S| users to which the UAV is providing communication service. All users are inside the TxR of the UAV. All users are located on a flat surface (ground) and are sharing the same channel. Let p_{
u
} denote the position of the UAV and τ(p) represent the total throughput when the UAV is positioned at p. That is,

Equation (9a) is the objective function, which implies that total throughput needs to be maximized by finding an optimal UAV position. Equation (9b) ensures that no more than one user transmits at a time. Equation (9c) ensures that the airtime allocated to a user is not more than the user needs. Equation (9d) ensures the max-min fairness of the airtime allocation among the users. Equation (9e) enforces that the UAV should remain inside the containing circle while finding the optimal position. Equation (9f) computes the distance between each user and the UAV. Equation (9g) shows that the throughput capacity is a function of the transmit power, distance between a user and the UAV, and interference experienced by the user. The throughput capacity also depends on the radio technology used. In Section 4.2.1, we will describe how the throughput capacity can be computed for IEEE802.11a.

A simple example

Figure 3 depicts a very simple scenario, which involves two users and a UAV. Initially, the UAV is positioned at point a, as shown in Fig. 3a. User 1 has a data rate demand, Rate_{1}, of 4 units/s. The throughput capacity, C_{1}, for him/her is 10 units/s; therefore, an airtime t_{1}=0.4 is sufficient to satisfy the data rate demand of user 1. Therefore, the maximum achievable throughput, τ_{1}, between user 1 and the UAV is 4 units/s. User 2 has a data rate demand, Rate_{2}, of 4 units/s, but his/her throughput capacity, C_{2}, is 5 units/s. User 2 gets an airtime t_{2}=0.6. Therefore, the maximum achievable throughput, τ_{2}, between user 2 and the UAV is 3 units/s. Thus, the total throughput, τ(a), is 7 units/s. This throughput can be increased if the UAV is moved to position b (which is closer to user 2) as shown in Fig. 3b. Now, the throughput capacity, C_{1}, for user 1 is 8 units/s. Meanwhile, the throughput capacity, C_{2}, for user 2 has increased to 8 units/s. Thus, user 2 can now achieve a throughput, τ_{2}, of 4 units/s. Therefore, the total throughput, τ(b), has increased from 7 units/s to 8 units/s.

Heuristic method for determining UAV position

Heuristic methods do not guarantee to produce the optimal solution, but they are computationally inexpensive. In this section, we propose a heuristic method for computing the UAV position to maximize the throughput. This method involves computing weight w_{
j
} for each user j∈S and computing the desired UAV position, p_{
u
}, using Eq. (10).

Here, w_{
j
} is the weight assigned to user j and p_{
j
} is the position of user j. This heuristic utilizes the user’s data rate demand to compute the weight for that user.

What is the effect of the weights?

Each user tries to pull the desired UAV position towards itself according to its relative weight value. The greater the relative weight value, the closer the desired UAV position to it.

Computing weights

The data rate of a link depends on the radio propagation model. The Shannon theorem gives the upper bound on the maximum data of a link. The radio propagation models and the Shannon theorem illustrate that data rate of a link is not linearly related to transmitter/receiver distance. Therefore, the computation of weights should capture the characteristics of the propagation model and the radio technology used. Here, we derive a mathematical formula for computing these weights. First, we derive an expression for computing the weights without considering the interference power. We subsequently extend that expression to incorporate the interference power.

Let \(C_{j}^{\text {phy}}\) represent the physical data rate of the link between the UAV and its associated node j. According to Shannon,

$$ C_{j}^{\text{phy}}= B \text{log}_{2}\left(1+ \frac{P_{r,j}}{N}\right) $$

(11)

where P_{
r,j
}is the received signal power for a link between u and j. For a propagation model with path loss exponent α,

where P_{
t
} is the transmit power; G_{
t
} and G_{
r
} are the transmit and receive antenna gains, respectively; λ is the wavelength of the radio frequency used; and d_{
j
} is the transmitter/receiver distance. Substituting for P_{
r,j
} in Eq. (11), we obtain

The parameter β acts as a correction factor because the actual rate achieved by a practical system is less than the Shannon capacity. Therefore, it can be used to capture relevant characteristics of the radio technology used and the protocol overhead.

We use the inverse of d_{
j
} as weight for node j

Therefore, using Eq. (16), the weight for each user can be computed and then Eq. (10) can be used to compute the desired UAV position. When P_{
t
}, G_{
t
}, G_{
r
}, and λ are similar for all users, then Eq. (16) is simplified to

Equations (16) and (17) provide the expressions for computing the weights for each UAV in the absence of interference. It is worth mentioning here that when a MAC protocol is used, the users associated with the UAV will not interfere with each other. For example, the use of RTS/CTS in IEEE802.11 networks ensures that no more than one user transmits at a time. However, if there are other sources of noise that are not part of the network, they might cause interference at the UAV and the users. Therefore, we extend the expression to incorporate the interference caused by sources outside the network. If user j and the UAV experience different levels of interference, then the link between j and the UAV is asymmetrical; therefore, we compute weights for uplink, w_{
j,u
}, and downlink, w_{
j,d
}, directions of the link and subsequently compute the overall weight w_{
j
}.

where I_{
j
} is the interference experienced by j and Rate_{
j,d
} is the data rate demand of j in the downlink direction. The overall weight, w_{
j
}, is w_{
j
}=w_{
j,u
}+w_{
j,d
}.

It is worth mentioning here that, in this paper, we used the large-scale path loss model to derive equations for computing weights; however, using the same procedure, such equations can be derived for other channel models.

Implementation of the heuristic method

Procedure 1 shows the implementation of the heuristic method. It takes as input the set of users, set of positions of users, set of data rate demand of users, and set interference levels experienced by each user and the UAV. Lines 2 and 3 initialize variables. Lines 4 to 9 deal with the case when there is no interference from outside sources, which is indicated by I=∅. Lines 5 to 9 loop over the set of users. Line 6 computes the weight for each user. Line 7 updates the unnormalized UAV position and line 8 updates the sum of weights. Lines 10 to 18 deals with the case when there is interference from outside sources. Line 11 to 17 loop over the set of users. Line 12 to 14 compute the weight for each user. Line 14 updates the unnormalized UAV position, and line 17 updates the sum of weights. Line 19 divides the un-normalized UAV position by the sum of weights to obtain the desired UAV position p_{
u
}. The computational complexity of this heuristic is linear in the number of users. Specifically, it is O(|S|), where |S| is the number of users.

A simple example using the heuristic method

Suppose there are two users and a UAV. For simplicity, we ignore the UAV altitude in this example. The positions of users are p_{
1
}=(5,5) and p_{
2
}=(8,3), and their data rate demands are Rate_{1}=8 and Rate_{2}=3. Computing weights using Eq. (17) and then substituting in 10, we get p_{
u
}=(6.1,4.2). The positions of users and the desired UAV position are displayed in Fig. 4. The desired UAV position is nearer to user 1 because the data rate demand of user 1 is higher than that of user 2.

Ensuring that all associated users remain inside the transmission range

If the desired UAV position determined by the heuristic method is inside the containing circle, then it is guaranteed that all users will be within the transmission range of the UAV. However, if it (the desired position) is outside the containing circle, then some users might be outside the transmission range. For example, as shown in Fig. 5, the users indicated by the black filled circles are left outside the transmission range of the UAV. Therefore, the desired UAV position needs to be adjusted to keep all associated users within its transmission range. We explain the method for keeping all users in the TxR of the UAV while maximizing throughput using Fig. 5. User positions are indicated by small circles.

1.

Based on user traffic demands and user positions, compute the desired UAV position, indicated by p_{
d
e
s
i
r
e
d
}.

2.

The desired UAV position p_{
d
e
s
i
r
e
d
} is outside the containing circle (as shown in Fig. 5). Some users (indicated by the small filled circles) are outside the Tx range. Therefore, we need to adjust the desired position so that all users are inside the Tx range of the UAV.

3.

The adjusted desired position p^{′}_{
d
e
s
i
r
e
d
} lies at the intersection of the containing circle and the line segment c_{
c
o
n
t
}p_{
d
e
s
i
r
e
d
} (that is, the line segment joining c_{
c
o
n
t
} and p_{
d
e
s
i
r
e
d
}.

4.

When the UAV is moved to p^{′}_{
d
e
s
i
r
e
d
}, all users will be within the Tx range. Therefore, a better throughput can be achieved while keeping all users in the transmission range of the UAV.

Approximation algorithm

The optimization problem defined in Eq. (9) is a non-convex optimization problem because the objective function defined in Eq. (9a) can have local maxima (equivalently, the equivalent objective function, \(\underset {\mathbf {p}_{\mathbf {u}}}{\text {minimize}} -\sum _{j \in S} t_{j}C_{j}\), can have local minima) when the number of users is more than one. The non-convexity can cause the solver to produce a suboptimal (locally optimal) solution. Moreover, it can be computationally expensive to solve with general solvers. Therefore, in this section, we present an approximation algorithm for computing a UAV position that maximizes throughput. This algorithm estimates throughput at various positions inside the containing circle and chooses the position that has the maximum estimated throughput.

The approximation algorithm can be conceptually described as follows:

1.

Define a grid of points (candidate positions for the UAV) inside the containing circle.

2.

Estimate the total throughput at each grid point.

3.

Choose the grid point with the maximum estimated throughput as the desired UAV position.

A grid of points inside the containing circle

As discussed in Section 2.1.4, as long as the UAV remains inside the containing circle, all its associated users will remain within its transmission range. By estimating throughput at various points inside the containing circle, it is possible to find a point that is approximately close to the point that produces the maximum throughput.

Given that it is practically impossible to evaluate the estimated throughput at each point inside the containing circle (there are infinitely many points), therefore, we define a grid of points inside the circle as shown in Fig. 6. The resolution of the grid can be adjusted as needed.

Estimating throughput at a grid point

As discussed in Section 2.1.3, the throughput of a user depends on the user data rate demand and the available throughput capacity. The total throughput is obtained by adding the throughput of all users. Therefore, to estimate the total throughput at a grid point (as a UAV position), we need to estimate the throughput for each user and then compute its total.

Estimating throughput capacity, C_{
j
}, for each user at a grid point

To estimate the throughput for users at a grid point, we need to estimate the physical data rate, \(C^{\text {phy}}_{j}\), for each user j∈S. Based on \(C^{\text {phy}}_{j}\), throughput capacity at MAC layer, C_{
j
}, can be determined for each user.

Procedure 2 estimates C_{
j
} for each user at a grid point. It takes as input the set of users S, grid point p_{
g
}, set of positions of the users P_{users}, channel model ChanModel, transmit power P_{
t
}, and set of interference levels I. Line 2 initializes set C as empty. Lines 3 to 10 compute the throughput capacity for each user and add it to set C. Line 4 computes distance, d_{
j
}, between a user j∈S and the grid point p_{
g
}. Line 5 computes the received power, P_{
r,j
}, for user j based on transmit power P_{
t
}, distance d_{
j
}, and channel model ChanModel. ChanModel can be any channel model applicable in the deployment environment. In our simulations, we used Friis free-space path loss model owing to its simplicity. Line 6 computes the SINR. Line 7 determines the appropriate physical data rate, \(C^{\text {phy}}_{j}\), according to the computed SINR, which also depends on the radio technology used. In our simulations, we choose \(C^{\text {phy}}_{j}\) according to Table 1. The minimum received power values have been derived based on the receiver sensitivity requirements specified in IEEE802.11a standard [26] and the SINR values recommended in [20] for a bit error rate (BER) of 1e −5 or less. Line 8 determines throughput capacity at the MAC layer, C_{
j
}, which depends on \(C^{\text {phy}}_{j}\) and the radio technology. There are analytical models, such as in [21], for computing C_{
j
} for IEEE802.11a. However, to ensure airtime fairness, for our simulations, we compiled the C_{
j
} values for the various physical data rates of IEEE802.11a listed in Table 2. Line 9 adds the estimated C_{
j
} to C. When the loop terminates, C contains throughput capacities, C_{
j
}, for each user j∈S. Line 11 returns set C.

Estimating throughput based on C_{
j
} and Rate_{
j
}

In Section 4.2.1, we saw how to compute throughput capacity C_{
j
} for each user. We will use these throughput capacities and data rate demands Rate_{
j
} to estimate throughput for each user, which can then be used to compute total throughput at a grid point.

The throughput achievable by an individual user j∈S depends on the effective throughput capacity available to that user. The effective throughput capacity, \(C_{j}^{\text {eff}} = t_{j}C_{j}\), for a user j∈S depends on the the airtime, t_{
j
}, and C_{
j
}. The airtime of a user depends on the total number of users |S|, and their data rate demands Rate_{
j
}, j∈S. In our algorithm, users are allotted airtime using max-min fairness. Airtime fairness means that each user gets to use the wireless channel for approximately the same duration as every other user. However, if some users, due to lower data rate demand, do not fully use the channel for their share of time, other users with higher data rate demands may utilize that residue time, thereby increasing their effective throughput capacity.

Procedure 3 first computes the maximum throughput achievable by each user and then the total throughput. It takes as input the set of users S, set of their data rate demands Rates, and set of their throughput capacities C. Recall that C was obtained using Procedure 2. Line 2 makes a copy, S^{′}, of the set of users to work with. Line 3 initializes the variable TimeFractionAvailable to 1 to ensure that Eq. (2) is not violated while allocating the airtime to the users. Line 4 initializes the total throughput to zero. Lines 5 to 7 initialize the airtime for each user to zero. Lines 8 to 22 compute the airtime for each user based on their data rate demands while ensuring max-min fairness. Users are allocated airtime in small increments of ≤TimeFractionAvailable/NoOfContendingUsers. The loop continues as long as there are users whose demands have not been satisfied (S^{′}≠∅), and there is still some free airtime available (TimeFractionAvailable>0). Line 9 determines the number of users contending for the available airtime. Line 10 computes the maximum airtime a user can receive in the current iteration of the while loop. Lines 11 to 21 increment the airtime of each contending user (j∈S^{′}). Line 12 checks if the current airtime increment will satisfy the data rate demand of the user; lines 13 to 16 deal with the case when user’s demand is satisfied, whereas lines 17 to 20 deal with the case when it is not satisfied. For the case when the demand is satisfied, line 13 computes the exact airtime increment the user needs. Line 14 updates the airtime of the user (sufficient for its data rate demand). Line 15 decrements the TimeFractionAvailable by the amount allocated to the user in the current iteration. Line 16 removes the user from the set of contending users because its demand has been satisfied. For the case when the demand is not satisfied, line 18 increments the airtime of the user by an amount no less than any other user. Line 19 decrements the TimeFractionAvailable accordingly. Upon termination of the while loop, all the users have been allocated airtime in a max-min fair manner. Lines 23 to 25 compute the total throughput by summing the throughput of all users. Note that the airtime allocated to each user was not more than the user needed (t_{
j
}C_{
j
}≤Rate_{
j
}); therefore, line 24 treats the effective capacity, \(\left (C_{j}^{eff}=t_{j}C_{j}\right)\), as the throughput for user j. Line 26 returns the total throughput.

Finding the grid point with maximum estimated throughput

In Section 4.2, we described how to estimate throughput at a given grid point. To determine the grid point with the maximum estimated throughput, Procedure 4 iterates over all the grid points inside the containing circle. The procedure takes as input the set of users and their positions and data rate demands, channel model, transmit power, set of interference levels, and set of grid points.

Lines 2 and 3 initialize the variables τ_{max} (maximum throughput value) and p_{
m
a
x
} (maximum throughput position). Lines 4 to 11 loop over the grid points to determine the point with the maximum estimated throughput. Line 5 calls Procedure 2 to compute the throughput capacity for each user at a grid point. Line 6 calls Procedure 3 to estimate the total throughput at a grid point. Lines 7 checks whether the throughput at the current grid point is more than the current maximum; if it is, then line 8 updates the maximum throughput value and lines 9 records the current grid point as the maximum throughput position. At the termination of the loop, the point with estimated maximum throughput, p_{
m
a
x
}, has been determined.

Computational complexity of the approximation algorithm

Let N_{
gp
} represent the number of grid points for the approximation algorithm. Procedure 4 makes one pass over all the grid points. For each grid point, it makes one call to Procedure 2 and one call to Procedure 3. The computational complexity of Procedure 2 is O(|S|) and that of Procedure 3 is O(|S|^{2}). Therefore, the computational complexity of Procedure 4, that is the approximation algorithm, is O(N_{
gp
}|S|^{2}). The value of N_{
gp
} depends on the grid resolution; the finer the grid resolution, the greater the value of N_{
gp
}. Halving the distance between grid points increases the value of N_{
gp
} quadratically.

Simulation results

Extensive simulations were carried out for performance evaluation using MATLAB and the ns-2 simulator. The performance was evaluated for various levels of unevenness in user position distribution. Similarly, uniformly distributed traffic demands with various ranges were generated, and the performance of the proposed schemes was evaluated.

Simulation setup

At the application layer, constant bit rate (CBR) traffic was generated. Packet size was adjusted according to the physical rate to ensure airtime fairness. IEEE802.11a was used as the radio technology, and because this a multi-rate network, the physical data rate for each user was selected based on the SINR and received signal power according to Table 1. In our simulations, we assumed there were no sources of interference outside the network. With DumbAgent as routing protocol, we found that the frame size at MAC layer was 40 bytes larger than the CBR packet size. Therefore, to achieve airtime fairness, we used the CBR packet with different rates as shown in Table 2. Given that the maximum MAC Service Data Unit (MSDU) size for IEEE802.11a is 2304 bytes, the maximum CBR packet size was chosen, so the packet size does not exceed the MSDU after the header overhead is added. Because in different environments (urban, suburban, and rural) different channel models are applicable and, in this work, we do not focus on any particular environment, we used Friis free-space propagation model owing to its simplicity. The transmission range was kept at 250 m, so when the UAV hovers at the height of 20 m, the transmission radius in the user plane is about 249 m. The values for MAC capacity against each physical rate in Table 2 were obtained experimentally using ns-2. Initially, the UAV is positioned at coordinates (250,250,20) m. User positions were generated inside a circle of radius 249 m and centered at (250,250,0). For the heuristic method, β=11 was used, which was experimentally determined.

Ensuring airtime fairness

In a multirate network, IEEE802.11 DCF suffers from a phenomenon called rate anomaly [22]. In rate anomaly, for a fixed packet size, stations transmitting at lower rates get more airtime (time to use wireless channel) than their peers transmitting at higher rates. As a result, faster stations are penalized as they are forced to wait longer for the slower station to complete their transmissions. For example, a packet (frame) of size 100 bytes takes about 15 μs for a transmission rate of 54 Mbps whereas the same packet takes 133 μs when transmitted at 6 Mbps; the slower user occupies the channel for a duration 9 times longer than the faster user. Various solutions have been proposed to achieve airtime fairness [27]. In our experiments, we achieve airtime fairness by adjusting the packet size according to the data rate.

Estimated total throughput for various UAV positions

Figure 7 shows a typical performance plot. The mesh plot shows the estimated total throughput against UAV positions in the x-yplane (altitude of the UAV is fixed at 20 m). User positions are not shown in this plot. It can be observed that the performance surface (objective function) is non-convex. The plot also shows the initial UAV position (250,250) and positions determined by both schemes. Positions determined by the heuristic methods have a better estimated throughput than the initial position’s but not the maximum throughput. The approximation algorithm has determined the grid point that has the maximum estimated throughput. The improvement in throughput by the approximation algorithm is considerably larger than that of the heuristic method. By increasing the grid resolution, the position determined by the approximation algorithm can be made arbitrarily close the optimal position.

Effect of user position distribution on throughput

In practice, user density around a UAV is highly likely to be distributed unevenly. For example, in a disaster scenario, more users will be concentrated around the area where the camp is setup whereas in the rest of the area, search and rescue workers will be scattered sparsely. Experiments for various levels unevenness (skewness) in user density were conducted. Various levels of unevenness were obtained by positioning 50% of the users in a sector of angle a and positioning the remaining 50% users in the remaining circle, that is 360−a. By decreasing the angle a, the the level of unevenness is increased and vice versa. We carried out experiments for a={90,120,150,180}. Figure 8 shows the results for each of these distributions. The curve of Original represents the throughput when the UAV is positioned at the initial position (that is, the coordinates (50,50,20) m). The increase in throughput is obtained when the UAV is moved to the position provided by the proposed schemes. The approximation algorithm produces more improvement than the heuristic method. For both schemes, it can be observed that the performance improvement is high when the number of nodes (users) is small, and it decreases as the number of users increases. More precisely, the heuristic method and approximation algorithm produce a throughput improvement of 20.9 and 31.6%, respectively, when the number of users is 2, and it becomes 7.86 and 13.9%, respectively, when the number of users is 20. Figure 9 shows the percentage increases in throughput produced by the heuristic method and the approximation algorithm. The percentage increase in throughput (PIT) for a UAV position is computed with respect to the initial UAV position, that is (250,250,20) m. From Fig. 9, as the number of users increases, PIT decreases. However, as the unevenness in node distribution increases, the reduction in the PIT becomes less, as shown in Fig. 9a, b. For uniformly distributed user positions, the heuristic method produces an average throughput improvement of 5.4% whereas the approximation algorithm produces an average improvement of 9.4%. When the level of unevenness increases (to 50% users in sector of 90 degrees), the average improvement for the heuristic method and the approximation algorithm is 22.6 and 32.7%, respectively. From Fig. 8a–d, it can be observed that as the unevenness in the node distribution increases, more improvement in the throughput is achieved. The approximation algorithm outperforms the heuristic method. The position determined by the approximation algorithm can be made arbitrarily close to the optimal position by increasing the grid resolution (more closely spaced grid points). However, increasing the grid resolution also increases the computation workload. In these experiments, grid resolution of 2 m was used.

Effect of data rate demand distribution on throughput

Although generally, user data rate demands are exponentially distributed [28], we, nevertheless, use uniform distribution because with uniform distribution, the relationship between performance improvement and data rate demand spread can be more clearly established. Experiments for various ranges of uniformly distributed data rate demands were carried against different number of users. We define the range for uniform distribution as U−L, where U and L are the upper and lower limits of the distribution, respectively. A larger range results in more widespread data rate demands. Figure 10 shows that more improvement in throughput is achieved when the number of users is small, and it declines as the number of users increases. More precisely, when the number of users is 2, the average throughput improvement is 21.57 and 30.6% for the heuristic method and the approximation algorithm, respectively. However, when the number of users is 20, it becomes 9 and 15%, respectively.

Figure 11 also shows that as the range of data rate demand distribution increases, improvement in throughput increases for both schemes. For example, for ranges of [7.4,7.6] Mbps and [0,15] Mbps, the approximation algorithm produces an average throughput improvement of 21.4 and 34.2%, respectively. Similarly, for the heuristic method, the throughput improvement is 13.3 and 23.1%, respectively.

Running times of the approximation algorithm and the heuristic method

Table 3 shows the running times for the approximation algorithm and the heuristic method. These results were obtained on MATLAB using only a single CPU of a Core i7 computer. The heuristic method’s running time remains below 1 ms even for 100 users. The running time of the approximation algorithm remains mostly below 1 s. It only takes more than 1 s when the number of grid points is 10,000 and the number of users is 60 or more. Even for 100 users, it takes less than 2 s. Although in practice, such high number of grid points will not be required, their running time is still acceptable. Therefore, the approximation algorithm is suitable for deployment on UAV platforms.

Discussion

With the proposed scheme, the UAV’s position will be automatically adjusted according to the users’ mobility; therefore, if the users are moving in one particular direction, for example, when people are evacuated to higher ground in a disaster scenario, the UAV will follow.

The proposed schemes require the UAV to know the data rate demands of the users. To achieve this, a simple way is that users communicate their data rate demands to the UAV. Alternatively, the UAV can estimate the data rate demands of users.

Although many applications have roughly stable data rate requirements, such as audio video calls and video conferencing. However, when data traffic demands fluctuate quickly, the UAV might be required to change its position frequently. In these conditions, the average data rate demands over some interval of time can be used instead of instantaneous data rate demands.

The approximation algorithm can be adapted for providing quality of service (QoS), such as ensuring a certain level of throughput to some users or applications. Moreover, the approximation algorithm can also be adapted for bandwidth fairness.

Conclusions

This paper investigated throughput maximization via optimal UAV positioning. A heuristic method and an approximation algorithm were proposed to determine the UAV position based on user positions and their data rate demands. The heuristic method is computationally simple and has extremely low running time but does not guarantee the determination of the optimal UAV position. The approximation algorithm’s running time is relatively high as compared to the heuristic method but can determine a UAV position arbitrarily close to the optimal position. The computational complexity of the approximation algorithm is linearly dependent on the number of grid points and quadratically dependent on the number of users. For practical problems, the approximation algorithm can compute the desired UAV position in real time and can, therefore, be used on a UAV platform. Simulation results indicate that by moving the UAV to the position determined by the proposed schemes, higher improvement in throughput can be achieved when user positions are more unevenly distributed and vice versa. Similarly, when user data rate demands are more widely spread, higher improvement in throughput can be achieved by moving the UAV to the position determined by the proposed schemes. The approximation algorithm produces more improvement in throughput than the heuristic method.

The proposed schemes can be adapted for QoS provisioning. As a future work, we plan to simulate the performance of the approximation algorithm for various environments, such as urban, suburban, and rural. Moreover, we plan to adapt the approximation algorithm for QoS, such as smooth video streaming and low response time for interactive services.

References

G Cai, J Dias, L Seneviratne, A survey of small-scale unmanned aerial vehicles: recent advances and future development trends. Unmanned Syst.02(02), 175–199 (2014).

S Yahyanejad, D Wischounig-Strucl, M Quaritsch, B Rinner, in 7th IEEE International Conference on Advanced Video and Signal Based Surveillance. Incremental mosaicking of images from autonomous, small-scale uavs (IEEE, 2010), pp. 329–336.

S Waharte, N Trigoni, Supporting search and rescue operations with UAVs. IEEE Comput. Soc, 142–147 (2010).

L Merino, F Caballero, JR Martínez-de-Dios, I Maza, A Ollero, An unmanned aircraft system for automatic forest fire monitoring and measurement. J. Intell. Robot. Syst. 65(1), 533–548 (2012).

PG Martin, S Kwong, NT Smith, Y Yamashiki, OD Payton, FS Russell-Pavier, JS Fardoulis, DA Richards, TB Scott, 3d unmanned aerial vehicle radiation mapping for assessing contaminant distribution and mobility. Int. J. Appl. Earth Observ. Geoinform.52:, 12–19 (2016).

E Natalizio, R Surace, V Loscri, F Guerriero, T Melodia, Filming sport events with mobile camera drones: mathematical modeling and algorithms (2012). https://hal.inria.fr/hal-00801126.

Loon Project - Baloon-powered Internet for everyone. https://x.company/loon/. Accessed 24 April 2017.

W Guo, C Devine, S Wang, in 9th International Symposium on Communication Systems, Networks and Digital Sign (CSNDSP). Performance analysis of micro unmanned airborne communication relays for cellular networks (IEEE, 2014), pp. 658–663.

W Guo, TO Farrell, Relay deployment in cellular networks: planning and optimization. IEEE J. Sel. Areas Commun. 31(8), 1597–1606 (2013).

T Akiyoshi, E Okamoto, H Tsuji, A Miura, Performance improvement of satellite/terrestrial integrated mobile communication system using unmanned aerial vehicle cooperative communications, 417–422 (2017). https://doi.org/10.1109/ICOIN.2017.7899525.

S Rohde, C Wietfeld, in IEEE Vehicular Technology Conference (VTC Fall). Interference aware positioning of aerial relays for cell overload and outage compensation (IEEE, 2012), pp. 1–5.

G Tuna, B Nefzi, G Conte, Unmanned aerial vehicle-aided communications system for disaster recovery. J. Netw. Comput. Appl. 41:, 27–36 (2014).

A Valcarce, T Rasheed, KM Gomez, K Sithamparanathan, L Reynaud, R Hermenier, A Munari, M Mohorcic, M Smolnikar, I Bucaille, Airborne base stations for emergency and temporary events, vol. abs/1307.3158, (2013). http://arxiv.org/abs/1307.3158.

D Rosário, JA Filho, D do Rosário, A Santos, M Gerla, in 16th Annual Mediterranean Ad Hoc Networking Workshop, Med-Hoc-Net 2017, Budva, Montenegro, June 28-30, 2017. A relay placement mechanism based on UAV mobility for satisfactory video transmissions (IEEE, Budva, 2017), pp. 1–8. https://doi.org/10.1109/MedHocNet.2017.8001638.

P Zhan, K Yu, AL Swindlehurst, Wireless relay communications with unmanned aerial vehicles: performance and optimization. IEEE Trans. Aerosp. Electron. Syst. 47(3), 2068–2085 (2011).

C Dixon, EW Frew, Optimizing cascaded chains of unmanned aircraft acting as communication relays. IEEE J. Sel. Areas Commun.30(5), 883–898 (2012). https://doi.org/10.1109/JSAC.2012.120605.

E Kalantari, MZ Shakir, H Yanikomeroglu, A Yongacoglu, in 2017 IEEE International Conference on Communications Workshops (ICC Workshops). Backhaul-aware robust 3d drone placement in 5g+ wireless networks, (2017), pp. 109–114. https://doi.org/10.1109/ICCW.2017.7962642.

J Jangeun, P Peddabachagari, M Sichitiu, in Second IEEE International Symposium on Network Computing and Applications, 2003. Theoretical maximum throughput of ieee 802.11 and its applications (NCA, Cambridge, 2003), pp. 249–256.

M Heusse, F Rousseau, G Berger-Sabbatel, A Duda, in IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428). Performance anomaly of 802.11b. vol. 2 (IEEE, 2003), pp. 836–8432.

KW Kratky, The area of intersection of n equal circular disks. J. Phys. A Math. General. 11(6), 1017 (1978).

F Librino, M Levorato, M Zorzi, in 7th International Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks. An algorithmic solution for computing circle intersection areas and its applications to wireless communications, (2012), pp. 1–10. https://doi.org/10.1109/WIOPT.2009.5291627.

E Welzl, Smallest enclosing disks (balls and ellipsoids). (H Maurer, ed.) (Springer, Berlin, Heidelberg, 1991). https://doi.org/10.1007/BFb0038202.

IEEE Standard for Telecommunications and Information Exchange Between Systems - LAN/MAN Specific Requirements - Part 11: Wireless Medium Access Control (MAC) and physical layer (PHY) specifications: High Speed Physical Layer in the 5 GHz band. IEEE Std 802.11a-1999, 1–102 (1999). https://doi.org/10.1109/IEEESTD.1999.90606.

T Joshi, A Mukherjee, Y Yoo, DP Agrawal, Airtime fairness for ieee 802.11 multirate networks. IEEE Trans. Mobile Comput. 7(4), 513–527 (2008).

E Nan, C Xiaoli, G Weisi, Z Jie, in 8th International Conference on Communications and Networking in China (CHINACOM). User data traffic analysis for 3g cellular networks (IEEE, 2013), pp. 468–472.

This research was supported in part by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2015R1D1A1A01059623) and by the Next-Generation Information Computing Development Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science and ICT (no. NRF 2017M3C4A7083676, 2017M3C4A7066010).

Publishers Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Author information

Authors and Affiliations

School of Electronics Engineering, Kyungpook National University, Daegu, Korea

This research was conducted by SuR under the supervision of Y-ZC. The manuscript was written by SuR under the supervision of Y-ZC. The organization of the manuscript was suggested by Y-ZC and he closely monitored the writing process for coherence, clarity, and consistency. All authors read and approved the final manuscript.

The authors declare that they have no competing interests.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.