Intuitively speaking, when vehicles encounter high communication conflicts, they can switch interfaces from busy channels to spare ones to improve the performance. This is the design philosophy of channel usage-based assignment. On the basis of the connectivity invariant/resilient condition in Section 3, we do not need to worry about the connectivity and can concentrate our attention on the channel usage conditions. In the following subsections, we first give out the mathematic expression of channel usage in Section 4.1. Then, the design of the dynamic channel assignment algorithm is described in detail in Section 4.2.
4.1 Channel usage model
Before discussing the channel usage, we make the following assumptions and definitions. There are C available channels in the network. Each node equips K network interfaces that work on K different channels. , which satisfies the connectivity invariant/resilient condition. The transmission probability of node n on channel c is P(n,c). The neighbors of node n is defined as B(n).
There are no communication conflicts on channel c only if there is no node transmitting or one node transmitting. The probability that only one node is transmitting around node n is
And the probability that no node is transmitting is
Then, the conflicting probability is one minus the aforementioned two parts. Thus,
q can be considered as the total channel usage. Usually, if all the nodes access the channel on the basis of CSMA/CA and there is no hidden terminal, q will be ≤ 1. If there are hidden terminals, q can be > 1. Because the transmission probability of each node is ≤ 1, q is always ≤ m. Intuitively, we can guess that the conflict probability grows with the growing of the node number and transmission probability. We describe the monotonic properties of conflict probability by proving the following theorems.
Theorem 1. Given
with and 0 ≤ pi,q ≤ 1, function F(p1, p2,...,pm) reaches maximum at
The maximum value of F(p1,p2,...,pm) is
Proof 1. Using the Lagrange multiplier method, let G(p1, , and we have L(p1,p2,...,pm,λ) = F(p1,p2,...,pm) + λG(p1,p2,...,pm). Then, calculate the partial derivatives of L, and we obtain
for i = 1,2,...,m, and
Solve the equations of
Next, we will prove that is the maximum point of F(p1,p2,...,pm).
Consider the second-order derivatives on pi,
then the second-order judgment matrix M for the extreme point is
From , we have
Then, HMHT = − xR, where R is
R is a positive definite matrix. x > 0 when 0 ≤ q ≤ 1. So HMHT = − xR is a negative definite matrix. Thus, when , F(p1,p2,...,Pm) achieves the maximal value in Equation (2).
From Theorem 1, we can conclude that under the condition , the conflict probability defined in Equation (1) reaches the maximum value in Equation (2).
Next, we are going to discuss the monotonic properties of the maximum conflict probability. Theorem 2 states that the maximum conflict probability is monotonically increased with the transmission probability when the node number is fixed.
Theorem 2. For a fixed m (m ≥ 1), function
is monotonically decreased with increasing q ( 0 ≤ q ≤ m).
Proof 2. The derivative of fm(q) is
For m ≥ 1 and 0 < q ≤ m, we have , which proves the theorem.
From Theorem 2, we know that the maximum conflict probability 1 − fm(q) is increased with increasing transmission probability.
The next theorem presents the monotonic increasing property of conflict probability with increased nodes when there are no hidden terminals.
Theorem 3. For a given q ( 0 ≤ q ≤ 1), function
is a monotonically decreasing function when m ≥ 2.
Proof 3. when m ≥ 2 and 0 ≤ q ≤ 1,
The natural logarithm of gq(m) is
Obtaining the derivative of the aforementioned formula and denoting it as h(m), we have
Because gq(m) > 0, we only need to show that h(m) < 0 to prove .
We calculate h ′ (m) and obtain the following equation:
For m ≥ 2 and 0 ≤ q ≤ 1, we have h ′ (m) > 0, which means h(m) is a strictly monotonically increasing function. By evaluating the h(m) when m → + ∞ , we obtain
Therefore, we can conclude that h(m) < 0 for m ≥ 2 and 0 ≤ q ≤ 1. This proves the theorem.
So, 1 − gq(m) is monotonically increasing with increased m when 0 ≤ q ≤ 1 and m ≥ 2. Thus, the conflict probability is increased with increased neighbors when there are no hidden terminals. If hidden terminals exist and q > 1, gq(m) is no longer monotonic. The values of 1 − gq(m) is calculated in Table 1 with 0 < q ≤ 2 and m from 2 to + ∞ . For m = + ∞ , we calculate the conflict probebility as in the succeeding text. First, we can derive 1 − gq(m) as follows:
therefore, we have
It is shown in Table 1 that the conflict probability is increasing with increased q. It is increasing with increasing m when q ≤ 1. And it is mostly decreasing with increased m when q > 1. With q > 1, there are hidden terminals. The impact of hidden terminals is averaged over more nodes when m is larger, which may lead to a lower conflict probability. But with fixed m, the monotonicity is always holding with q. In Section 4.2, we select the bold number 0.2275 at q = 0.9 and m → + ∞ as the threshold to judge whether a channel is too busy or not.
Table 1. The maximum conflict probability with various nodes and channel usages.
The aforementioned analysis is the mathematical modeling of conflict probability from the transmission probability. In practice, we can estimate the transmission probability from the proportion of the transmission time of each node. By comparing all the conflict probabilities of the channels, we can select the channels with low conflict probabilities for the vehicles. We discuss the details of this dynamic channel selection algorithm in Section 4.2.
4.2 Dynamic channel assignment algorithm
The analysis in Section 4.1 is based on the transmission probability. In reality, the transmission probability can be estimated by the channel usage time. By recording the active transmission time ΔT on channel c in every T period by the node itself, it can estimate its current channel usage level. We still denote it using P(n,c) as
for node n on channel c in time period t. In algorithm, the exponentially weighted moving average of Pt is used to filter out the random fluctuations:
α is the exponentially weighted moving average parameter. The initial value of is set to . This channel usage level in Equations (3) and (4) is used to predict the transmission probability in a short period. They are exchanged by hello/beacon messages between nodes and substituted into Equation (1) to calculate the conflict probability.
With the estimated conflict probability on every channels, the node can select the channels with lower conflict probability to use in the next period. Considering that network interfaces have channel switch delays, too frequent switches waste the channel time. Moreover, too frequent switches will cause the thrashing problem. Also, if all the channel usages are low, channel switching is unnecessary. In order to minimize the channel switching cost and make full use of the channels, interfaces will switch their channels only when the conflict probabilities of the current channels are larger than a threshold. We denote it as Pthreshold and set Pthreshold = 0.2275. It can be seen in Table 1 that 0.2275 is the value of maximized Pconflict at q = 0.9 and m → + ∞ . According to the monotonic properties of the conflict probability we analyzed in Section 4.1, the threshold can keep the conflict within tolerance and the summed channel usage q below 1.0 as long as all the nodes use the channel fairly. If the channel usages are unbalanced, the conflict probability may be low even if the summed channel usage is above 1.0. For example, suppose two nodes with channel usages of 1.0 and 0.1. Their summed channel usage is 1.1, but their conflict probability is only 0.1. We do not trigger the channel switch in this condition, because the only factor that hurts the performance is the conflict probability, not the channel usage level. If the MAC protocol has the fairness property, this small conflict can give the chance for the MAC to balance the communication media usage between the nodes. The fairness problem of MAC protocols is out of the scope of this discussion.
The algorithm is fully distributed. The communication cost is the channel usage information and the active channel announcements of the nodes exchanged by the hello/beacon messages. Two bytes (16 bits) is enough to indicate the channels in use (1 bit for each channel). One byte (256 levels) is enough to indicate the usage level of each channel. Because the number of channels is small (for example, 12 for 802.11 a), the total message overheads in one hello message are within 14 bytes. Thus, the communication overhead is negligible.
The neighbor table is required to store the extra 1-byte channel usage level and a 4-byte updating timestamp of every channel for every neighbor. For a network with C channels and a node with M neighbors, the total storage cost is M × C × 5Bytes. For a dense VANET with 256 neighbors and the 802.11-a network with 12 channels, the extra storage cost on each node is 15 KB, which is a quite small memory requirement compared with the hardware resources of today's devices.
For a node with M neighbors, the number of multiplications/divisions it needs to calculate in Equation (1) is 2M + 1. For a network with C channels, the number of multiplications/divisions the node needs to do is C × (2M + 1). With C = 12 and M = 256, the calculation time is quite small compared with the second long refreshing period for the conflict probabilities.
From the aforementioned discussions, we can see that this channel usage-based dynamic multi-channel assignment method is a fully distributed, low overhead algorithm and can efficiently utilize the multi-channel resources. We will evaluate its performance with simulations in the next section.