Before modeling multi-hop communication, this section considers the viewpoint of a single node v
n
and its local behavior. In the multi-hop model, every node of the network will get its own instance of this model. The main focus is the finite queue, so after this section, we will be able to calculate packet drops due to a full queue as well as the expected queuing delay. The inputs into this model are the probabilities for incoming traffic and the distribution of the reception slots \(\mathcal {R}_{n}\) and transmission slots \(\mathcal {T}_{n}\). Beyond the usage in a multi-hop model as introduced in the next section, the model in this section is also applicable in other setups, such as single-hop networks or for evaluating the performance of a single node as presented in Section 5.7.
The following policy is used to model the queue:
-
The queue can hold at most K packets.
-
The number of packets in the queue at the beginning of a slot is denoted as q.
-
New packets can arrive at any time during a slot. At most, K−q packets are accepted during a slot.
-
A packet is removed from the queue at the end of a slot if and only if it is a transmission slot and the packet was already in the queue at the beginning of the slot, i.e. q>0, modeling the transmission process itself.
The queue of a node is modeled as a discrete-time Markov chain with the states
$$\begin{array}{*{20}l} \boldsymbol{\Sigma}_{n} = \left\{ \sigma ^{n}_{q,i} \, \middle |\, 0 \leq q \leq K, 0 \leq i < l_{S} \right\}. \end{array} $$
(7)
In order to account for the irregular schedule and for modeling the service time more accurate, the state of the queue \(\sigma ^{n}_{q,i}\) does not only account for the number q of packets in the queue as for usual M/D/1/K models, but also the current position within the slot schedule i. As shown in Fig. 4, the model presented here is a super set of the M/D/1/K model for l
S
=1 and \(\mathcal {T}_{n}=(0)\). Figure 5 depicts a more complex schedule, the corresponding states and the transitions as follows.
Traffic model
The number of arriving packets during a time slot i, that is the generated and received traffic, is described by the random variable An,i. For the purpose of the queuing model, it can follow an arbitrary distribution that can optionally depend on the current state. A popular option is to model the traffic as Poisson distributed with a mean packet rate λn,i. For this, the random variable Πn,i is introduced with the probability distribution
$$\begin{array}{*{20}l} P\! \left (\boldsymbol{\Pi}_{n,i} = k\right) = \frac{\lambda_{n,i}^ k}{k !} e^{- \lambda_{n, i}}. \end{array} $$
(8)
The probability for at leastk packets is given by
$$\begin{array}{*{20}l} P\! \left (\boldsymbol{\Pi}_{n,i} \geq k\right) = 1 - \sum_{j =0}^{k -1} P\! \left (\boldsymbol{\Pi}_{n,i} = k\right). \end{array} $$
(9)
Since only a single packet can be received per slot, we extend this model by combining it with a Bernoulli distribution with the probability βn,i that a single packet is arriving in addition to the Poisson traffic in slot i, so we get
$$ \begin{aligned} &P\left (\mathbf{A}_{n,i} = k\right) =\\ &\quad\left\{ \begin{array}{lll} \left (1- \beta_{n, i}\right) \cdot P \left (\boldsymbol{\Pi}_{n,i} = 0 \right)& k = 0\\ \left (1\,-\, \beta_{n, i}\right) \cdot P\left (\boldsymbol{\Pi}_{n,i} = k\right)& \text{otherwise}\\ +\beta_{n, i}\cdot P \left (\boldsymbol{\Pi}_{n,i} = k -1 \right)& & \end{array} \right. \end{aligned} $$
(10)
and
$$ \begin{aligned} &P \left (\mathbf{A}_{n,i} \geq k\right) =\\ &\quad\left\{ \begin{array}{lll} 1& k = 0\\ \left (1- \beta_{n, i}\right) \cdot P \left (\boldsymbol{\Pi}_{n,i} \geq k\right)&\text{otherwise}.\\ +\beta_{n, i}\cdot P\left (\boldsymbol{\Pi}_{n,i} \geq k -1 \right) & \end{array} \right. \end{aligned} $$
(11)
Since all l
S
slots occur with the same probability, the expected total number of packets per slotframe is calculated as the sum of the expected number of the An,i as derived in Appendix A as
$$\begin{array}{*{20}l} \begin{aligned} \mathcal{A}_{n} &= \sum_{i =0}^{l_{S} -1} E\left [\mathbf{A}_{n, i}\right]\\ &= \sum_{i =0}^{l_{S} -1 }\left (1- \beta_{n, i}\right) \cdot \lambda_{n, i}+ \beta_{n, i} \cdot \left (\lambda_{n, i}+1 \right). \end{aligned} \end{array} $$
(12)
Queuing probability
The random variable Q
n
is the number of accepted packets that are inserted into the queue per slot. Since at most K−q packets can be inserted into the queue, its probability distribution, i.e., the probabilities of queuing k packets, is calculated as
$$ \begin{aligned} &P\! \left (\mathbf{Q}_{n} = k \, \middle |\, \sigma ^{n}_{q, i}\right) =\\ &\quad\quad\quad\left\{ \begin{array}{lll} P\! \left (\mathbf{A}_{n,i} = k\right) & k < K - q \\ P\! \left (\mathbf{A}_{n,i} \geq K- q\right) & k = K - q\\ 0 & \text{otherwise.} \\ \end{array} \right. \end{aligned} $$
(13)
Obviously, the difference of An,i and Q
n
is the number of packets dropped due to a full queue.
Transition probabilities
P(ξ→ζ) with ξ,ζ∈Σ
n
is the probability of going from ξ to ζ in one step. Transition probabilities not listed are zero, in particular for transitions with non-consecutive slots. Furthermore, % denotes the modulo operation. So for 0≤q≤K and 0≤i<l
S
, all possible transitions are specified by
$$ \begin{aligned} &P\left (\sigma ^{n}_{q,i} \to \sigma ^ n_{\max\left (q- \tau_{n,i},0 \right) + k, \,(i +1) \% l_{S}}\right)\\ &\qquad\qquad\qquad\qquad\!\!\! = P\left (\mathbf{Q}_{n} = k \middle | \sigma ^{n}_{q, i}\right) \end{aligned} $$
(14)
where
$$ \tau_{n,i} =\left\{ \begin{array}{ll} 1 & i \in \mathcal{T}_{n}\\ 0 & i \not\in \mathcal{T}_{n} \end{array} \right. $$
(15)
and k is the number of arriving or newly generated packets during the time slot that iterates from 0 to K−q. While this gives a complete description of the model, two corner cases should be mentioned explicitly for clarity. With an empty queue and An,i=0, that is no arriving packets, the model stays in the states with q=0. With a full queue, it is not possible to insert further packets into the queue so Q
n
=0, and thus, the single possible transition out of the states with q=K has the probability
$$\begin{array}{*{20}l} P\! \left (\mathbf{Q}_{n} = 0 \, \middle |\, \sigma ^{n}_{K, i}\right) = P\! \left (\mathbf{A}_{n,i} \geq 0 \right) = 1, \end{array} $$
(16)
either to a state with q=K−1 if the current slot is a transmission slot or else to a state with q=K.
As shown in Appendix B, these probabilities can be used to calculate the stationary distribution of this Markov chain. This results in the probability cn,q,i of being in state \(\sigma ^{n}_{q,i}\) in the stationary case.
Transmission probability
From the cn,q,i, the probability that a successful transmission takes place within a given slot is calculated from the complementary probability of being in a state with empty queue (q=0) as
$$\begin{array}{*{20}l} \mu ^{\textsc{TX}}_{n,i} = \tau_{n,i} \cdot \left (1 - \frac{c_{n,0, i}}{\sum_{q =0}^{K} c_{n,q, i}}\right). \end{array} $$
(17)
Packet acceptance probability
If q packets are in the queue, K−q packets can be inserted into the queue, so the expected number of accepted packets in state \(\sigma ^{n}_{q,i}\) is
$$\begin{array}{*{20}l} \begin{aligned} E \left [ \mathbf{Q}_{n} \, \middle |\, \sigma ^{n}_{q, i}\right ]=& P\left (\mathbf{A}_{n, i} \geq K-q \right) \cdot (K-q) \\ &+ \sum_{k =0}^{K -q -1} P \left (\mathbf{A}_{n,i} = k\right) \cdot k. \end{aligned} \end{array} $$
(18)
Since the events of being in a state are mutually exclusive and exhaustive, E[Q
n
] can be calculated from this according to the law of total expectation as
$$\begin{array}{*{20}l} E \left [ \mathbf{Q}_{n}\right ] = \sum_{q =0}^{K} \sum_{i =0}^{l_{S} -1} c_{n,q,i} \cdot E \left [ \mathbf{Q}_{n} \middle | \sigma ^{n}_{q, i}\right ] \end{array} $$
(19)
and the overall expected number of packets per slotframe is thus l
S
·E[ Q
n
]. Together with the overall expected number of packets arriving at the queue, the overall packet acceptance probability is calculated as
$$\begin{array}{*{20}l} P_{\text{accept},{n}} = \frac{l_{S}\cdot E[\!{\boldsymbol{Q}_{n}}]}{\boldsymbol{\mathcal{A}}_{n}}. \end{array} $$
(20)
Queuing delay
The number of time steps it takes until an arriving packet is transmitted is described by the random variable D
n
. For convenience, we define
$$\begin{array}{*{20}l} \phi_{n} (i) =\left\{ \begin{array}{ll} \left\vert\mathcal{T}_{n}\right\vert -1 & i \leq t_{n,0} \,\, \vee\\ & i > t_{n, \left\vert\mathcal{T}_{n}\right\vert -1 }\\ g : t_{n,g} < i \leq t_{n,g+1 }\!\!\! & \text{else}, \end{array} \right. \end{array} $$
(21)
as the index of the transmission slot preceding i and
$$\begin{array}{*{20}l} \delta\!\left(i,j\right) =\left\{ \begin{array}{ll} j - i & j \geq i\\ j - i + l_{S} & \textrm{otherwise,} \end{array} \right. \end{array} $$
(22)
as the number of slots when going from i to j. Then, given the event of being in state \(\sigma ^{n}_{q,i}\) after accepting a packet and pushing it in the queue, D
n
is calculated as
$$\begin{array}{*{20}l} \boldsymbol{D}_{n}\!\left(\sigma^{n}_{q,i}\right) = &f_{q} l_{S} + 1 + \delta\!\left(i,\,\,t_{{n},{\left(\phi_{n}(i) + q\right) \% |\mathcal{T}_{n}|}}\right) \end{array} $$
(23)
where \(f_{q} = \left \lceil \tfrac {q}{|\mathcal {T}_{n}|}-1\right \rceil \) is the number of iterations over the full slotframe, the summand 1 accounts for the transmission slot itself and the last summand for the remaining packets after \(f_{q}\cdot |\mathcal {T}_{n}|\) packets were transmitted. The expected delay for a packet arriving at an arbitrary point in time can be calculated from this as
$$\begin{array}{*{20}l} \begin{aligned} E [\!{\boldsymbol{D}_{n}}] &= \sum\limits_{q=0}^{K}\sum\limits_{i=0}^{l_{S}-1} c_{n,q,i} \cdot \boldsymbol{D}_{n}\!\left(\sigma^{n}_{g,h}\right)\\ \textrm{with }\sigma^{n}_{g,h} &= \sigma^{n}_{\max\left(q-\tau_{n},0\right)+1,\,\,(i+1) \% l_{S}} \end{aligned} \end{array} $$
(24)
considering the additional transition to account for the arriving packet itself.
Single node evaluation
At first, the results for the queuing model on a single node are analyzed without considering the effects of multi-hop networks. The purpose of this section is to demonstrate the benefit of the refined model in contrast to a simple M/D/1/K model by comparing them with an event-based simulation. For this, an exemplary schedule is shown in Fig. 6 together with the two approximations presented in the following. The schedule is construed in a way that on average the same amount of traffic enters and leaves the system. However, due to a finite queue length of K=5, packet drops can still occur. In Fig. 7, the following four evaluations are compared:
-
In the M/D/1/K model, there is no option to specify multiple slots and only an overall packet rate rate can be specified.
-
In the Distributed approximation, the transmission and idle slots are modeled correctly, but incoming traffic is modeled to follow a Poisson distribution and not a Bernoulli distribution. Furthermore, it is distributed over all slots. To get the same \(\boldsymbol {\mathcal {A}}_{n}\) of 1 as in the actual scenario, all λn,i are set to \(\tfrac {1}{l_{S}} = 0.2\). This scenario allows to assess the deficiency of not including the βn,i in the model.
-
The Full Model scenario additionally models the reception slot correctly as presented.
-
The Simulation is a discrete event simulation of the queue based on SimPy [38] that implements the policy as presented at the beginning of Section 5. The mean and 95% confidence interval are shown of 10 runs with 10,000 packets.
While the full model matches the simulation very well, the probability of dropping packets due to a full queue is higher in the distributed scenario, since the variance of the packet reception is higher, even though the average reception rate is equal. In fact, for gup=0 and at least as much TX slots as RX slots, the full model will never indicate a packet loss (Paccept,n=100%), while in the simplified models there is a non-zero probability that more packets are received in a slotframe than sent, eventually leading to packet loss.
The M/D/1/K model gives even less accurate results, because the service time is constant and equal to l
S
·T
s
, while in the distributed and the full model case, packets might be processed faster if the queue is empty and they arrive during the later slots.
Queue distribution
In this section, we take a deeper look into the distribution of the queue level and its influence on the probability of accepting a packet for different traffic loads.
For this, a scenario with K=10, l
S
=5 and a single transmission slot is considered.
In Fig. 8, the probability distribution of the queue level is plotted for different traffic loads \(\boldsymbol {\mathcal {A}}_{n}\). For this, the probability of being in a state with q packets in the queue is calculated as
$$\begin{array}{*{20}l} c_{n,q,\star} = \sum\limits_{i=0}^{l_{S}-1} c_{n,q,i}. \end{array} $$
(25)
In the first scenario, the traffic load is distributed over the λn,i, corresponding to a node that does only generate but does not forward traffic, and in the second scenario, it is distributed only over the βn,i, corresponding to a node that only forwards traffic generated by other nodes.
For a low rate of \(\boldsymbol {\mathcal {A}}_{n}=0.5\), the queue is empty most of the time with a decaying probability of having more packets in the queue. The probabilities for queue levels larger than 3 are negligible, so the probability of accepting new packets is Paccept,n=1.00 for both scenarios.
For a medium rate of \(\boldsymbol {\mathcal {A}}_{n}=1\), where on average one packet is sent and received every slotframe, the distribution is nearly constant. This leads to a packet acceptance probability of Paccept,n=0.95 for the first and Paccept,n=0.96 for the second scenario. Interestingly, the probability for q=K is significantly smaller than the others.
This is due to the policy that in a transmission slot with q=K, no new packets can be pushed to the queue, but certainly, a packet will be sent, i.e., q=K−1 in the next slot. However, for all other queue levels, it is possible to maintain the same queue level by sending and receiving one packet. That is even more apparent for \(\boldsymbol {\mathcal {A}}_{n}=1.5\) where a queue level larger than q=5 most of the time leads to a packet acceptance probability of Paccept,n=0.67 for both scenarios. Having q=K more often than other queue levels is only possible for very high rates of \(\boldsymbol {\mathcal {A}}_{n} = 2.5\). Here, the node is highly congested and a Paccept,n=0.40 is achieved in both scenarios.
When comparing the scenarios, we see that the difference is not very large, but in the second scenario, the probabilities are shifted to the boundaries. This evaluation also shows that often only a small part of the queue is actually utilized. For \(\boldsymbol {\mathcal {A}}_{n} = 0.5\), a maximum queue size of K=3 would be sufficient to prevent packet loss. Also for \(\boldsymbol {\mathcal {A}}_{n} = 2.5\), this would not change the packet acceptance probability. The probability distribution would shift to the left, but does not change its overall shape relative to the upper bound. Of course, the queuing delay would be reduced by this. The bottom line is that the maximum queue length K has the highest influence in scenarios where the amount of incoming and outgoing traffic is similar.