Keywords

1 Introduction

Real-time multimedia applications generate inelastic data requiring soft bandwidth guarantee and bounded delay. The soft bandwidth and bounded delay requirements of such applications are invariably called their Quality of Service (QoS) requirements. Excessive data (w.r.t. the available bandwidth) inside a network can cause congestion, and congestion increases packet drop rate and end-to-end packet delivery delay. Therefore, to restrict applications’ data inside a network within a network’s manageable limits (so that the QoS requirements of the real-time applications can be satisfied), flow admission control algorithms are used [6, 8].

In wireless networks bandwidth is a shared resource. The most common assumption is that the bandwidth available to a node is shared within the interference range of the node, and nodes within a two hops distance can cause interference [7]. We also hold this assumption throughout the paper. The shared nature of the bandwidth in wireless networks results in the following phenomena: (i) the data generation rate of nodes within the interference range of a node inside a network affects the available bandwidth at the node [7] and (ii) intra-flow and inter-flow contention [7]. Our study demonstrates that the IEEE 802.15.4 unslotted CSMA-CA MAC layer overheads (back-off, retransmission, contention window, ACK packet, and ACK waiting time) reduce the amount of available bandwidth, therefore a good bandwidth estimator must consider the complete impact of the MAC layer on the available bandwidth. Moreover, the MAC layer overhead at a node depends on the total number of transmitters and the data traffic load within the interference range of the node. Therefore, an effective flow admission control algorithm must incorporate a mechanism to proactively estimate the impact of the MAC layer overhead on a node’s available bandwidth, before deciding about a new flow’s (flow requesting admission) admission request. Furthermore, we demonstrate that before admitting a new flow, a flow admission control algorithm must determine the correct intra-flow and inter-flow contention counts. Our study demonstrates that the contention count on a node that is not along a flow’s data forwarding path, but is within the interference range of transmitters along the flow’s data forwarding path is a function of the number of transmitters within the interference range of the node.

Apart from the MAC layer, the transport layer can also impact the amount of available bandwidth at a node, e.g., the congestion control and flow control algorithms of the Transmission Control Protocol (TCP). In this research paper, we assume that there are no congestion control and flow control algorithms working at the transport layer.

The remainder of this paper is organized as follows. In Sect. 2, we present our simulation studies that help to outline key factors for a proper available-bandwidth-based flow admission control in ad-hoc wireless networks. Section 3 surveys state-of-the-art flow admission control algorithms for ad-hoc wireless networks. Section 4 presents our techniques that an available-bandwidth-based flow admission control algorithm can use to take into account the key identified factors. Finally, we conclude this research paper in Sect. 4.

2 Experimental Studies

We performed our experimental studies using the Cooja WSN simulator [4]. The general simulation parameters are shown in Table 1.

Table 1. General simulation parameters

2.1 Impact of the MAC Layer Overhead on the Available Bandwidth

To measure the IEEE 802.15.4’s unslotted CSMA-CA MAC layer overhead (back-off and retransmission), we conducted multiple simulations. We created different simulation scenarios by varying the number of active transmitters and data traffic load on the IEEE 802.15.4 communication channel. In our experiments, we use an ad-hoc network topology, furthermore we assume that the maximum number of transmitters within the interference range of a node is not more than eight (the MAC layer overhead results presented in this paper can be extended easily to consider more than 8 transmitters). To estimate the MAC layer overhead (back-off and retransmission), we consider the aggregate data rate and the number of transmitters, but there are other parameters that may affect the MAC layer overhead such as the packet size and the nature of data traffic (burst, constant bit rate). We expect that, beyond the aggregate data rate and the number of transmitters, other parameters will only have a modest impact. We created 7 different simulation scenarios. In the simulation scenarios, we increase the number of transmitters from 2 to 8, and each scenario has sub-scenarios. In each sub-scenario, we vary the offered data load inside a network from 8 kbps to 64 kbps (results can be extended to consider higher data traffic load). Each transmitter is within the transmission range of the other transmitters, and all the transmitters transmit to the same destination node. The destination node is also within the transmission range of the transmitters. To determine the mean value of the IEEE 802.15.4’s unslotted CSMA-CA MAC layer overhead along with the 95 % confidence interval, each sub-scenario is repeated 25 times. The back-off overhead is measured in time, but Fig. 1 reports the MAC layer overhead in bps. We converted the mentioned overhead to bps by multiplying the accumulated time duration (during each second) a node spends in the back-off mode with the channel rate. The following conclusions can be drawn from Fig. 1.

  1. (a)

    The MAC layer protocol overheads consume bandwidth, therefore an available bandwidth estimator should consider the amount of bandwidth consumed during the MAC layer protocol’s operation.

  2. (b)

    The mean IEEE 802.15.4’s unslotted CSMA-CA MAC layer overhead increases with an increase in the aggregate data load on the IEEE 802.15.4 communication channel. There is only one exception, i.e., in case of two transmitters, the mean overhead decreases with an increase in the aggregate data load from 32 kbps to 48 kbps. This is quite counter-intuitive and further work is required to explore this in more detail.

  3. (c)

    If the aggregate data load on the IEEE 802.15.4 communication channel is less than or equal to 32 kbps, the increase in the number of transmitters does not affect the mean overhead.

Cooja emulates the Contiki operating system’s [1] unslotted CSMA-CA MAC layer implementation, and Contiki unslotted CSMA-CA uses a constant contention window size, therefore we can derive the contention window overhead by knowing the number of additional packets a node intends to transmit. Moreover, as the MAC layer waits for a constant period of time to receive an ACK for the transmitted data frame, an estimate of the overhead associated with MAC layer ACKs can also be derived from the number of additional packets a node intends to transmit. Consequently, the total MAC overhead can be obtained by adding these constant factors to the results plotted in Fig. 1.

Fig. 1.
figure 1

Data load vs. mean back-off and retransmission overhead

Fig. 2.
figure 2

Simulated network topology

2.2 The MAC Layer Overhead Impact on Non-relaying Nodes

To demonstrate a new flow’s impact on the MAC layer overhead at nodes that do not relay the new flow’s data, but are within the interference range of transmitters along the new flow’s data forwarding path, we create two simulation scenarios, using the network topology shown in Fig. 2. In Scenario 1, node C transmits 10 kbps to node D (10 data packets per second). In Scenario 2, in addition to the flow from node C to node D, node A transmits 10 kbps to node B (10 data packets per second) and node E transmits 10 kbps to node F (10 data packets per second). In both scenarios, we keep track of the mean MAC layer overhead at node C. We repeat each simulation scenario 10 times. One thing to notice is that node C is neither on the data forwarding path of node A’s flow nor it is on the data path of node E’s flow, but it is within the interference range of nodes A and E. Moreover, node C is also transmitting data.

The results shown in Table 2 are obtained after considering the complete MAC layer overhead (i.e., including the constant components mentioned above). For Tmote Sky motes, Contiki uses a constant contention window duration, and the duration is equivalent to 7812 bits (considering the channel rate of 250 kbps). Therefore, before the transmission of a data frame, the MAC layer waits for a time duration that is equivalent to 7812 bits. The size of the IEEE 802.15.4 ACK frame is 40 bits. After a data frame is transmitted, a node waits for a time duration that is equivalent to 260 bits to receive an ACK frame. Considering the overheads in the both scenarios, the contention window overhead is (\(7812\times 10 = 78.12\) kbps), minimum ACK frame overhead is (\(40\times 10 = 0.40\) kbps), and minimum ACK waiting time overhead is (\(260\times 10 = 2.60\) kbps). Therefore, the minimum MAC layer overhead excluding the back-off and retransmission overheads at node C is (78.12 kbps + 0.40 kbps + 2.60 kbps = 81.12 kbps). The results shown in Table 2 in addition include the back-off and retransmissions overheads.

The results shown in Table 2 demonstrate that, with the admission of the new flows, the total mean MAC layer overhead has increased at node C, and the difference is statistically significant. Therefore, a good flow admission control algorithm must consider the additional MAC layer overhead at nodes which are not on a new flow’s data forwarding path, but are within the interference range of transmitters along the data forwarding path, before deciding about the new flow’s admission request. This factor must only be taken into account for nodes which are transmitting/relying data, if a node is not transmitting data there is no inter-flow contention.

Table 2. The total mean MAC layer overhead at node C

2.3 Determining Maximum Intra-flow Contention Count

It has been claimed in [3, 5, 8] that the maximum possible intra-flow contention count on a node along the data forwarding path is 4. To verify the claim, we carried out a simulation-based experiment. In our experiment, using the topology shown in Fig. 2, node A is the source node and node F is the sink node. Node A transmits at the rate of 10 kbps (10 data packets per second) to the sink node. Node A starts the transmission at a simulation time of 5 s and terminates the data packets transmission at a simulation time of 105 s. In our experiment, we measured the data activity at nodes inside the network via wireless channel-sensing throughout the duration of node A’s flow. We repeated the experiment 10 times, and the mean data load observed by the nodes while node A is transmitting data packets is shown in Table 3 along with the 95 % confidence interval. The end-to-end flow throughput was perfect, i.e., 10 kbps.

Table 3. Mean data activity as measured by nodes

Table 3 demonstrates that the mean data load observed by node C is approximately 50 kbps, which is 5 times the transmission rate of node A. The data loads observed by nodes A, B, D, E, and F are approximately 30 kbps, 40 kbps, 40 kbps, 30 kbps, and 20 kbps respectively. Therefore, the contention counts at nodes A, B, D, E, and F are 3, 4, 4, 3, and 2 respectively. The maximum contention count is 5: node C is two hops away from the source node A, therefore the flow’s contention due to the upstream nodes transmission is two times the bandwidth required by the flow. Moreover node C is more than two hops away from the destination node F, therefore the flow’s contention due to the transmission of downstream nodes is two times the required bandwidth, and node C also relays the flow’s data, hence the maximum intra-flow contention count is 5. This also shows that the intra-flow contention count on a node depends on the node’s hop-count distance from the source and the destination nodes and the interference range of the node. The mean data load observed at nodes is larger than 10\(\times \) the contention count, this is due to retransmitted data/control frames.

2.4 Determining Correct Contention Count on Nodes Not on a New Flow’s Data Forwarding Path

There may be nodes inside a network that are not on a new flow’s data forwarding path, but other flows’ data is being generated/relayed by those nodes, and some of the transmitters on the new flow’s data forwarding path are within the interference range of the nodes. Therefore, it is necessary to determine the new flow’s correct contention count on those nodes, otherwise end-to-end QoS requirements of admitted flows may be compromised.

Fig. 3.
figure 3

Simulated network topologies

We performed a number of simulations to show that the contention count on a node that is not on a flow’s data forwarding path, but is within the interference range of transmitter(s) along the data forwarding path, is a function of the number of transmitters within the interference range of the node. We added one more node in the network shown in Fig. 2, and created 4 different simulation scenarios by changing the location of the additional node inside the network. In these simulations, node G measures the data activity using the wireless channel-sensing technique. Each simulation scenario is repeated 10 times. Figure 3 shows the modified network topologies for different simulation scenarios. Table 4 shows the mean data activity measured by node G during the duration of node A’s flow.

Table 4. Data activity as measured by node G

In Scenario 1 node G is within the interference range of one transmitter, i.e., node E, and Table 4 shows that the contention count at node G in this case is approximately 1. Similarly, in Scenarios 2, 3, and 4, node G is within the interference range of 2, 3, and 4 transmitters, and Table 4 demonstrates that the contention count at node G in these cases is 2, 3, and 4 respectively. Node A was transmitting at the rate of 10 kbps, and the end-to-end throughput was 10 kbps. The data activity measured by node G in different simulation scenarios is greater than the contention count at node G multiplied by the node A’s flow data rate, because of retransmitted data/control frames.

2.5 Key Factors

In summary, the following factors must be considered for a proper available-bandwidth-estimation-based flow admission control algorithms for ad-hoc wireless networks.

  1. (a)

    Consider the complete CSMA-CA MAC layer overhead while periodically estimating the available bandwidth.

  2. (b)

    Determine the correct intra-flow contention factor.

  3. (c)

    Determine the correct contention factor on nodes that are not on a data flow’s forwarding path, but that are within the interference range of transmitters along the data forwarding path.

  4. (d)

    When a new flow’s admission request is received at a node, the node must proactively take into account the impact of the CSMA-CA MAC layer overhead not only on the available bandwidth at nodes on the data forwarding path, but also on nodes which are within the interference range of the transmitters along the data forwarding path (if those nodes are transmitting data).

3 State-of-the-Art Admission Control Algorithms for Ad-Hoc Wireless Networks

In this section, we discuss the state-the-art admission control algorithms for ad-hoc wireless networks.

In [6], an analytical capacity estimation based flow admission control scheme for multi-hop wireless networks is presented. Each node uses an analytical model to decide about a flow’s admission request. A node inside a network accepts a flow if \(\lambda _{new}\) is smaller than the available capacity. The incoming data packets arrival rate is calculated using the equation \((\lambda _{new} = \lambda + K\lambda _{flow})\). In the given equation \(\lambda \) represents the data packet arrival rates of all nodes within the transmission range of the node, \(\lambda _{flow}\) is a new flow’s data arrival rate, and \(K\) is the contention count. This technique uses \(K = 2\) for a source node, \(K = 3\) for an intermediate node, and \(K = 1\) for a destination node. All nodes processing a flow’s admission request evaluate the given equation. The downsides of this scheme are: there are cases in which both the intra-flow and inter-flow contention count estimation will be wrong (given that the interference range of a node is greater than its transmission range), the mathematical model assumes a constant packet size, assumes that at the MAC layer the main factor that affects the delay is retransmissions, and does not consider the impact of the increased MAC layer overhead with an increased data traffic load inside a network on the available bandwidth.

In [8], a distributed flow admission control for assuring QoS in ad-hoc wireless networks is presented. It is claimed in [8] that before deciding about a flow’s admission request both intra-flow and inter-flow contention have been taken into account. The authors of this work claim that the maximum intra-flow contention count on an intermediate node along the data forwarding path is 4. Inter-flow contention is considered by matching a flow’s required bandwidth with the minimum available bandwidth within the interference range of a node deciding about the flow’s admission request. An estimate of the available bandwidth is provided through a wireless channel-sensing mechanism that uses both the virtual and physical carrier sensing mechanisms of the IEEE 802.11 MAC layer protocol. The proposed flow admission control algorithm uses a two-pass signaling mechanism to reserve resources along the data forwarding path. The drawbacks associated with this technique are: incomplete inter-flow contention, i.e., each node only checks the minimum available bandwidth within its interference range. In some scenarios, the calculated intra-flow contention count will be wrong. Also, the impact of an increased MAC layer overhead with an increased data traffic load inside a network is not considered.

CapEst [2] is a measurement-based link capacity estimator for wireless networks. It monitors the service time of data packets at each link, and based on this measurement an estimate of a link’s capacity is made, hence it is not a MAC layer specific method. CapEst does not consider the increased MAC layer overhead with an increased data load inside a network.

In [7], a contention-aware flow admission control for ad-hoc wireless networks (CACP) is presented. Flow admission control is performed based on the available bandwidth estimate. An estimate of the available bandwidth is provided through the wireless channel-sensing mechanism, and it considers back-off periods as idle periods. Here the assumption is that the back-off periods are negligible even if the channel is saturated. The algorithm considers both intra-flow and inter-flow contention counts in a distributed manner. The drawbacks associated with this scheme are: the impact of the MAC layer on the available bandwidth is not considered and the impact of the MAC layer overhead on the available bandwidth with an increased data traffic load inside a network is not considered.

In [5], an available bandwidth-based flow admission control algorithm (ABE) for ad-hoc wireless networks is presented. An estimate of the available bandwidth is provided through the wireless channel-sensing mechanism considering both virtual and physical carrier sensing, and different types of IEEE 802.11 CSMA-CA MAC layer inter-frame spacings. It is argued in [5] that measuring the channel activity considering the time spent in virtual and physical carrier sensing, and different inter-frame spacing results in an overestimate of the available bandwidth. This happens due to the non-synchronization of sender and receiver nodes in an ad-hoc wireless network. Therefore, a mathematical model is presented that takes into account the collision probability to estimate the actual available bandwidth. Hence, it probabilistically takes into account the future back-off overhead through a mathematical model. In [5], nodes periodically broadcast control packets, called HELLO packets. The collision probability is derived from the number of HELLO messages a node has received over the number of HELLO packets the node expected to receive during the last measurement interval. The flow admission control algorithm uses one hop and two hop neighbor information to calculate the intra-flow contention, and the authors claim that the maximum intra-flow contention count on a node is 4. Inter-flow contention is taken into account by determining the minimum available bandwidth within the interference range of a node when deciding about a flow’s admission request. The downsides of this technique are: with an increased data traffic load inside a network only additional back-off overhead is considered, additional retransmission and contention window overheads are ignored. The intra-flow contention count estimator does not always provide the right contention count, and the inter-flow contention count estimator is too simple as it only considers minimum available bandwidth within the interference range of a node. Finally, the collision probability is derived without considering the future data traffic load and the number of transmitters.

Table 5. Evaluation of state-of-the-art available-bandwidth-based flow admission control algorithms for ad-hoc Wireless Networks

RABE is a probabilistic mathematical model used to consider the complete impact of the IEEE 802.11 CSMA-CA MAC layer on the available bandwidth. The drawback of this scheme are: it assumes a fixed packet size, the impact of the number of transmitters on the additional MAC layer overhead is not considered.

Table 5 summarizes our evaluation of state-of-the-art available bandwidth-based flow admission control algorithms for ad-hoc wireless networks. Table 5 demonstrates that none of these algorithms take into account all the identified key factors. Hence, there is a need for an available bandwidth-based flow admission control algorithm for ad-hoc wireless networks that considers all these factors.

4 Techniques for Taking into Account the Identified Factors

In this section, we propose techniques that an available-bandwidth-based flow admission control algorithm can use to take into account the identified factors.

4.1 A Technique for Measuring the IEEE 802.15.4 Unslotted CSMA-CA MAC Layer Impact on the Available Bandwidth

To consider the MAC layer impact on the available bandwidth, we propose a technique that requires hooks into the MAC layer implementation code. A node must keep track of the following per time unit: (i) total back-off duration, (ii) total number of retransmitted bits, (iii) total ACK frames waiting duration, and (iv) total size of transmitted ACK frames. The total back-off and ACK waiting durations are measured in time, and these overhead should be converted to bps by multiplying them with the channel rate. Afterwards, all the listed MAC layer overheads should be added, and the result must be subtracted from the total channel rate.

4.2 Deciding the Intra-flow Contention Count

We suppose that nodes within the two hops distance can cause interference. Therefore, we propose that a node can decide about the correct intra-flow contention count by knowing nodes within its two-hop neighborhood. We demonstrate this with the help of an example. Let us suppose \(A \leftrightarrow B \leftrightarrow C \leftrightarrow D \leftrightarrow E\) represents an ad-hoc network topology. We further suppose that \(A\) is the source node and \(E\) is the destination node, and \(C\) has to decide about the correct intra-flow contention count. As \(C\) knows all the nodes within its two-hop neighborhood, therefore \(C\) checks the existence of the source node \(A\) within its two-hop neighborhood, and in this case the source node is two hops away from \(C\), therefore the intra-flow contention count due to the upstream nodes is 2. Afterwards, \(C\) checks the existence of the destination node \(E\) within its two-hop neighborhood, in this case the destination node is two hops away from \(C\), therefore the intra-flow contention due to the downstream nodes is 1 (as the destination node does not relay data). Furthermore, \(C\) is also acting as a relaying node, hence the total contention count at node C will be 4, i.e., intra-flow contention due to the downstream nodes \(+\) intra-flow contention due to the upstream nodes \(+\) contention due to node \(C\). It is important to note that, if either the source node or the destination node is not within the two-hop neighborhood, we assume the maximum intra-flow contention count of 2 in that direction.

4.3 Deciding Contention Count on Non-relaying Nodes

Typically, when a flow’s admission request arrives at a node, the contention on such nodes is typically only considered by determining the minimum available bandwidth within the interference range of the node (hereafter, we refer to this technique as locally estimating the contention count). Hence, the algorithm is assuming a contention count of 1 for all such nodes. This technique suffers from the following problem. If a common node (node that is not on a new flow’s data forwarding path) is within the interference range of more than one transmitter (nodes on the data forwarding path of a new flow), the contention count on the node is equal to the number of transmitters within the interference range of the node. Hence, a flow admission algorithm may wrongly admit a flow. Therefore, we propose the following to decide the contention count on non-relaying nodes. Whenever a node receives an admission request message, the node stores the information in the admission request message along with the bandwidth required by a flow, in an internal data structure. Afterwards, the node broadcasts a control message called bandwidth increment message. In the control message, the node informs its direct neighbors about its increased bandwidth usage due to the new flow. After broadcasting the control message, the node waits for a small period of time before forwarding the admission request message to the next hop along the data forwarding path. Upon reception of the bandwidth increment message, each direct neighbor of the node calculates its available bandwidth by considering the increased bandwidth usage information, and performs other important checks for a proper flow admission control. If a node decides that it has enough bandwidth to bear the interference caused by the new flow, it updates bandwidth usage information in its internal data structure. Afterwards, direct neighbors rebroadcast the control message so that the increased bandwidth usage information of the node (ideally) reaches all nodes within its interference range. Each two hop neighbor processes the control message in the same way as a one hop neighbor did, but it does not rebroadcast the control message. If any of the nodes within the interference range of the node determines that it does not have enough bandwidth to accommodate the interference caused by the new flow, it unicasts an admission reject message to the node. It is possible that a node receives multiple copies of the same bandwidth increment message, hence a duplicate detection mechanism is required to detect these scenarios. Note that with this contention estimation algorithm the node only needs to consider the downstream nodes’ intra-flow contention as due to the bandwidth increment message the nodes on the forwarding path have already considered the upstream nodes contention.

4.4 Estimating the Additional MAC Layer Overhead

To estimate the impact of a new flow on the MAC layer overhead, we propose a method that is based on empirically collected data, e.g., the data shown in Fig. 1. The two important parameters that affect the MAC layer overhead are: (i) the total data traffic load within the interference range of a node, (ii) and the number of transmitters within the interference range of a node. A node can determine the total data traffic load and the number of transmitters within its interference range through a control message, i.e., each node inside a network must broadcast a control message containing information about the node’s data generation/relaying rate (except control messages data rate). This information should be propagated within the two-hop neighborhood of the node. Using this method, each node inside a network can determine the total data traffic load and the number of transmitters within the interference range of the node. This information along with the linear interpolation technique can be used to estimate the impact of the new flow on the MAC layer overhead using the empirically collected data. Note that such an approach, when based on carefully collected experimental data with sufficient fine-grained resolution, will correctly capture the random access nature of the MAC. As the data load in the network increases, the additional MAC overhead will increase linearly, but will eventually drop off as the link reaches saturation levels.

4.5 Estimating the Additional MAC Layer Overhead on Non-relaying Nodes

Whenever a node receives the bandwidth increment message, it can estimate the additional MAC layer overhead in a similar manner, as discussed in Sect. 4.4.

5 Conclusions and Future Work

The state-of-the-art flow admission control algorithms for ad-hoc wireless networks do not correctly take into account all essential factors for a proper flow admission control, hence they may incorrectly admit flows. Such incorrect flow admission decisions may result in compromising the QoS requirements of real-time multimedia applications. To satisfy real-time multimedia flows’ QoS requirements, this paper highlighted essential factors through simulation-based studies that must be taken into account by a proper available-bandwidth-based flow admission control algorithm for ad-hoc wireless sensor networks. Moreover, in this paper, we presented techniques that can be used by an available-bandwidth-based flow admission control to take into account the identified factors. In future, we plan to incorporate the identified factors using the presented techniques in an available-bandwidth-based flow admission control algorithm.