Release-time-based multi-channel MAC protocol for wireless
mesh networks
q
Andy An-Kai Jeng, Rong-Hong Jan
⇑, Chi-Yu Li, Chien Chen
Department of Computer Science, National Chiao Tung University, 1001 Ta Hsueh Road, Hsinchu 30005, Taiwan
a r t i c l e
i n f o
Article history:
Received 21 August 2009
Received in revised form 12 July 2010 Accepted 28 February 2011 Available online 6 March 2011 Responsible Editor: L. Lenzini Keywords:
Wireless mesh network Multi-channel multi-interface Medium access control Channel selection
a b s t r a c t
The wireless mesh network (WMN) has been considered one of the most promising tech-niques for extending broadband access to the last mile. In order to utilize multiple channels to increase the throughput in WMNs, a variety of multi-channel MAC (MMAC) protocols have been proposed in the literature. In particular, the dedicated control channel (DCC) approach can greatly simply many design issues in multi-channel environments by using a common control channel to exchange control signals. On the other hand, it allows each sender–receiver pair to dynamically select a data channel for their data transmission in an on-demand matter. However, the common control channel would become a bottleneck of the overall performance. Besides, the selection of data channels would be highly related to the final throughput. In this paper, we propose a new MMAC protocol, named the release-time-based MMAC (RTBM) to overcome the control channel bottleneck and data channel selection problems in the DCC approach. The RTBM consists of three major compo-nents: (1) Control initiation-time predication (CIP); (2) Dynamic data-flow control (DDC); (3) Enhanced channel selection (ECS). The CIP can predict a proper initiation time for each con-trol process to reduce concon-trol overhead. The DDC can dynamically adjust the flow of each data transmission to fully exploit the channel bandwidth. The ECS can achieve a higher reusability of data channels to further enhance the throughput. Simulation results show that the RTBM can substantially improve the throughput in both single-hop and multi-hop networks.
Ó 2011 Elsevier B.V. All rights reserved.
1. Introduction
The wireless mesh network (WMN) has been considered one of the most promising techniques for extending broadband access to the last mile[1]. The WMN consists of a set of mesh access points (MAPs). A mobile station can access the network by connecting to a nearby MAP. Each MAP acts as a wireless router to forward traffic hop-by-hop to destinations. Thus, by deploying in such a fashion, a backhaul network can easily be built up without wired connection. Moreover, the network capacity can be substantially improved by using multiple channels. The IEEE 802.11b/g and 802.11a standards provide up to 3 and 12 orthogonal channels, respectively, in 2.4 GHz and 5 GHz spectrums. Nodes within the interference range of each other can transmit on different channels simultaneously to increase the throughput.
In order to utilize multiple channels in WMNs, a key issue is to design a multi-channel medium access control (MMAC) pro-tocol[2]to handle operations at the data-link layer. However, due to the limitation that a wireless card (for most commercial
1389-1286/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2011.02.017
q
This research was supported in part by the National Science Council, Taiwan, ROC, under grants NSC97-2219-009-006, and 97-2221-E-009-049-MY3.
⇑ Corresponding author. Tel.: +886 3 5712121x31539. E-mail address:rhjan@cis.nctu.du.tw(R.-H. Jan).
Contents lists available atScienceDirect
Computer Networks
devices) cannot perform on two different channels at a time, the design of many essential mechanisms, such as contention resolution, hidden terminal avoidance, and broadcasting support, could be much more difficult in comparison with a single-channel MAC (e.g. IEEE 802.11 DCF).
To overcome the above limitation, a prominent approach, called the dedicated control channel (DCC), was proposed[3–10]. In this approach, each node is equipped with a control interface and a data interface. The control interface is permanently fixed on a common channel (called control channel) for sensing or exchanging control signals. On the other hand, the data interface can switch among the remaining channels (called data channels) for data transmission. As shown inFig. 1, if node u intends to transmit to node
v
, it first initiates a control process withv
on the control channel to coordinate a data channel. Then, nodes u andv
can communicate on that channel. Since the control channel is shared by all nodes, other competitors in the interfer-ence range of u orv
can be aware of the coordination. Besides, a link-layer broadcast can be easily achieved by emitting on the control channel. Most importantly, since each node has an interface dedicated to listen to the control channel, nodes can exchange control signals without any time synchronization mechanism.However, designing a DCC-based MMAC protocol confronts two major challenges:
(1) Control channel bottleneck problem: As described above, using a common control channel can greatly simplify the design of a MMAC. Nonetheless, if too many nodes contend on it, the control channel would become a bottleneck of the overall performance. As shown inFig. 2(a), three sender–receiver pairs {u,
v
}, {x, y}, and {w, z} are coordinating on the control channel ch0. Besides, there are three data channels with bandwidth B. Ideally, the throughput canachieve 3B if each pair transmits on a different data channel. However, since the time required for a control process is about a half of a data transmission in this example, at most two data channels can be utilized at the same time, resulting in a lower throughput of 2B. In other words, the throughput is saturated by the control channel’s bandwidth. The bottleneck problem will become more serious as the number of data channels, data rates, or node’s density increases[3].
(2) Data channel selection problem: The DCC approach allows each sender–receiver pair to select a data channel in an on-demand matter. But, if the selection strategy were not carefully designed in concern with the reusability of channels, the throughput would be lower. As shown inFig. 2, assume that the sets of channels which are free to nodes y, x, u, and
v
are as specified inFig. 2(b). Clearly, the transmissions from y to x and from u tov
can be active simultaneously on different channels. But, if nodes u andv
do not consider channel statuses at nearby nodes, they may select ch2in priorto nodes y and x, further degrading the throughput from 2B to B.
In this paper, we propose a new MMAC protocol to resolve the two challenges in the DCC approach, composing of the following three components:(1) Control initiation-time prediction (CIP) reduces the control overhead by properly predicting the initiation time of each control process to avoid unsuccessful channel coordination; (2) Dynamic data-flow control (DDC) dynamically adjusts the amount of flow in each data transmission to balance the congestion in the control and data
Ctrlu,v Ctrlu,v data channels control channel data channels control channel Datau,v(2) Datau,v(2) Ctrlu,v Ctrlu,v Datau,v(3) Datau,v(3)
u
v
ch2 ch3 ch3 ch2 ch1 ch0 ch3 ch2 ch1 ch0 Fig. 1. Dedicated control channel approach.u
v
w
z
y
x
Ctrlw,z Datax,y(1) ch3 Ctrlu,v Ctrlx,y Ctrlx,y Ctrlw,z Datau,v(3) Dataw,z(2) Datax,y(1)... ch2 ch1 ch0(a)
u
v
x
y
{ch
1, ch
2}
Datau,v(2){ch
2, ch
3} {ch
1, ch
2, ch
3}
{ch
1, ch
2, ch
3}
(b)
channels. (3) Enhanced channel selection (ECS) improves the reusability of data channels by selecting a channel that adds the least total delay to the starting times of the transmissions at nearby nodes. The design of these components is primarily based on exploiting the release times of channels and interfaces. Hence, we named this protocol the Release-Time-Based MMAC (RTBM).
The rest of this article is organized as follows: In Section2, we compare different types of MMAC approaches and review existing protocols related to the DCC approach. Section3describes the basic operation of the RTBM protocol. The detailed design of each component is present in Section4. In Section5, we conduct a series of simulations to evaluate the perfor-mance. Concluding remarks are given in the last section.
2. MMAC approaches and related works
This section consists of two parts. First, we compare the pros and cons of different MMAC approaches. Next, existing pro-tocols related to the DCC approach are reviewed.
2.1. MMAC approaches
A variety of MMAC protocols has been proposed in the literature. According to the way of coordinating data channels
[1,2,23], existing protocols can be classified into the channel fixed, receiver based, hybrid, spite control phase, dedicated control channel, and single/parallel rendezvous approaches.
In the channel fixed approach[11,12], each interface is fixed on a channel permanently or for a long period of time. If a node A wants to communicate with a neighboring node B, they must have some interfaces fixed on the same channel. Then, A can send packet (e.g. RTS/CTS/DATA) directly to B, without additional control overheads to find a common channel. Besides, since the channels are fixed, contention within each group of interfaces on the same channel can be resolved by a standard MAC (e.g. 802.11 DCF). However, the fixed structure also limits the ability of using diverse channels. The number of channels that can be used by a node is limited by the number of its interfaces. In addition, if there is no common channel shared by two adjacent nodes, their traffic has to be relay through a longer path.
In contrast, the receiver based approach allows each node to utilize diverse channels with a single interface[3,13]. Each node is specified a channel in advance. For communication, a node u can connect with any nearby node
v
by just turning its interface the channel specified tov
. However, since nodes are always fixed on the specified channels, some control signals may lose. As shown inFig. 3(a), nodes A, B, C, and D are specified ch1, ch2, ch2, and ch3, respectively. At the beginning, node Aintents to transmit to B. So, it exchanges the RTS-CTS with B using B’s channel. However, at the moment, node C has turned its interface to ch3for transmitting to D. Thus, node C cannot be aware of the CTS from B. As a result, after the current
trans-mission, node C may content for ch2and incur a collision at B. It is the so called multi-channel hidden terminal problem[2].
Even worse, the lost signals may cause link failure. InFig. 3(b), node C is sending requests to B using B’s channel. But, node B has turned its interface to ch1so that it cannot be aware of the request from C. Thus, node C may keep sending the RTSs until
it falsely concludes that its link to B has broken. It is the so-called deafness problem[2].
The hybrid approach employs two interfaces to overcome the problems in both channel fixed and receiver based ap-proaches[23,24]. One interface is fixed on a specified channel for receiving tasks, and the other interface can be dynamically switched on the channel of the fixed interface of the intended receiver. In this way a node can utilized diverse channel via its switchable interface and keep trace of control packets via its fixed interface. Moreover, singe channels of fixed interfaces are rarely changes, a channel switching can be made immediately without any coordination. However, this approach has two drawbacks. First, although a node can utilize more diverse channels, not limited by the number of its interface, the
commu-A B C D {ch1} RTS(2) CTS(2) CTS(2) ACK(2) RTS(2) Collision DATA(2) DATA(3) time {ch2} {ch2} {ch3}
A
B
C
D
RTS(1) RTS(1) CTS(1) DATA(1) RTS(2) Drop RTS(2) RTS(2) RTS(2) time {ch2} {ch2} {ch3} {ch1}(a) (b)
nication channel between two nodes is still fixed, which is not flexible when the channel of the intended receiver is highly interfered. Second, a link-layer broadcast is hard to be implemented. A node should broadcast the same message on all chan-nels to ensure the delivery.
The split control phase approach divides each beacon interval into a control phase and a data phase[14,15]. As shown inFig. 4, all nodes periodically rendezvous to a common channel in the control phase to sense carriers and coordinate channels for the subsequent transmissions in the data phase. In this approach, nodes have the most flexibility to use diverse channels during the data phase. Besides, the exchange of control packets and link-layer broadcast can be easily achieved during the control phase. Nonetheless, the phase alignment relies on strict time synchronization so that it is hard to implement in practice.
The dedicated control channel approach does not require any time synchronization mechanism. With the control interface, each node can access the control channel at anytime. However, as mentioned in Section1, the throughput could be limited by the bandwidth of control channel and influenced by the selection of data channels. Besides, the dynamic channel selection means that more control overheads are required for the channel coordination. Hence, in this paper we focus on solving these challenges.
Finally, in the common rendezvous approach[16], nodes not exchanging data hop through all channels synchronously. A pair of nodes stops hopping as soon as they make an agreement for transmission and rejoin the common hopping pattern subsequently after transmission ends. In comparison with the DCC, this approach can make use of all the channels for data exchange and requires only one interface per node. However, it does not resolve the control bottleneck problem since only one pair of nodes can make an agreement at the same time. The parallel rendezvous approach[17,18]overcomes this problem by assigning different hopping sequences to nodes. In SSCH[17], each node picks multiple sequences and follows them in a time-multiplexed manner. When node A wants to talk to node B, A waits until it is on the same channel as B. The McMAC[18]
improves SSCH by allowing a sender to temporally hop to the sequence of the receiver to avoid waiting. The major problem in these rendezvous approaches is that they may incur large switching delay for channel hopping, and each node requires synchronization mechanisms to track the hopping sequence of the others. Besides, a link-layer broadcast is hard to be imple-mented in a hopping fashion.
2.2. Existing protocols for DCC approach
The concept of using separated channels or special devices (e.g. busy tones) to improve medium access control has been extensively studied in works such as[19–22], but these researches consider only one data channel, i.e. designed for single-channel MAC. The first MMAC protocol under the DCC approach was presented in[3]and named the dynamic channel assign-ment (DCA). In this protocol, each node maintains a free channel list (FCL) to record unused data channels. As a node u intends to transmit to a node
v
, it first sends a RTS tov
carrying its FCL. Then, nodev
compares the received FCL with its own FCL to select a common free channel. If there is any, the selected channel will be replied to u using a CTS. Once received the CTS, node u emits a reserve-to-send (RES) to inhibit other nodes from using the same channel. Meanwhile, nodes u andv
can start to exchange the DATA and ACK frames on the selected channel. Integration with the power control technique was proposed in[4].Compared with the IEEE 802.11 DCF, the DCA needs an additional control frame (e.g. RES) to reserve the channel selected at the receiver’s side. To avoid such overhead, the protocol in[5]suggests that each sender can firstly propose a free channel in the RTS. If the channel is free to the receiver, the data transmission can be started immediately upon received the CTS. Otherwise, it follows the same way in[3]. A similar protocol appears in[6], where the proposed channel in the RTS will be replied by a reply-to-RTS (RRTS) that indicates whether the channel is free or not. The negotiation will continue until a common free channel is found. Nonetheless, these protocols may spend more control bandwidth if the proposed channel is not accepted by the receiver.
Another way to relieve the bottleneck problem is by using multiple control channels. Koubaa[7]showed that the number of control channels required to achieve the maximal throughput is a function of the available channels and packet size. For instance, with 12 channels and packet size of 1024 bytes, providing three control channels is optimal. Likewise, the protocol in[8]employs an extra channel for replaying ACKs to improve the channel reusability. By replying the ACK in a separated channel, a sender can be active simultaneously with its hidden terminals. Although using multiple control channels is ben-eficial, coordinating on different channels could be more complicated.
The channel selection strategy in the DCA[3]is simply to find a communicable channel. Each sender–receiver pair coor-dinates a channel that is free at the two sides. If there are multiple choices, one channel will be chose at random. The strategy was slightly improved in[9,10]. In[9], the channel with the least received power will be chosen to avoid potential interfer-ence. Similarly, in[10], the most robust channel will be selected according to the carrier-to-interference ratio. In other words,[9,10]are concerned about not only the communicability, but also the quality of the selected channel.
Ctrl(0) Data(1) Ctrl(0) Data(2)
control phase data phase control phase data phase
3. Protocol description
The RTBM is primarily based on the DCA protocol[3]. Similarly to the DCA, each sender–receiver pair has to exchange the RTS-CTS-RES sequence on the control channel to coordinate and reserve a data channel for the subsequent transmission of the DATA and ACK messages. The RTBM further incorporates with the following components to resolve the control channel bottleneck and data channel selection problems in the DCC approach:
(1) Control initial-time prediction (CIP): In the DCA[3], each sender has to initiate a control process (e.g. the RES-CTS-RES) with the intended receiver to coordinate a data channel that is free at two sides. If the coordination succeeds, the data transmission (e.g. the DATA-ACK) can be started on the selected channel. However, if the coordination fails, the expensed control bandwidth and time (including backoff timer, transmission time, inter-frame spaces, propagation delay, and processing time) are wasted. The CIP can avoid unsuccessful channel coordination by properly predicting the initiation time of each control process. The prediction will jointly consider the channels and interfaces statuses at the sender and receiver.
(2) Dynamic data-flow control: (DDC): As shown inFig. 2(b), the bottleneck problem from the common control channel would lower down the utilization of data channels. To breakthrough this limitation, an intuitive way is to expend the data flow (i.e. the number of packets to be sent) for each control process to increase the bandwidth usage[20]. However, if too many packets were transmitted with only a few control processes, the data channels could be occu-pied by some node pairs for a long period of time, which may instead incur unfairness problem to other competitors who are intended to access the data channels. Ideally, the above problems can be optimally solved by adjusting the data flow such that both the control and data channels are fully utilized. For example, inFig. 2(b), if node u sent 1.5 times of packets to node
v
by each control process, all channels can be fully exploited. However, due to the dynam-icity in wireless environments, such as the variation in network traffic or topology, the optimal setting would be varied from time to time. The DDC component can dynamically adjust the amount of flow in each data transmission to bal-ance the congestion in the control and data channels.(3) Enhanced channel selection: (ECS): The selection strategy in the DCA[3]is simply to find a communicable data channel that is free to sender and receiver. If there are multiple choices, one channel will be chose at random. Succeeding works in[9,10]also consider the quality of the selected channel, but none of them concerns the influence to nearby transmissions. The ECS can improve the reusability of data channels. Each pair will cooperatively coordinate a free data channel that will add the least total delay to the starting times of potential transmissions at nearby nodes. In other words, the selected channel is not only communicable, but also has the least influence to the transmission opportu-nities of nearby nodes.
In the following, we first define the statuses and symbols used in this protocol. Next, the basic operation is described. We will focus here on how the RTBM interacts with the three components and defined statuses. The detail design of each com-ponent will be presented in the next section.
3.1. Statuses and symbols
We assume that the network has a set of orthogonal channels H ¼ fhjh ¼ 0; 1; 2; . . . ; Hg. Each node has a control interface and a data interface. The first channel (h = 0) is for control purpose, and the remaining channels (h = 1, 2, . . . , H) can be used for data transmission. A channel (or interface) is released when it can be used for a transmission or reception. Each node u has the following statues:
ch_rel_time(u, h): the release time of the hth channel at u, h = 0, 1, . . ., H; if_rel_time(u): the release time of the data interface at u.
In addition, each node u maintains a channel release time table (CRTu) and an interface release time vector (IRVu) to record
the channels’ and interfaces’ statuses at nearby nodes. The fields CRTu(
v
, h) and IRVu(v
), respectively, keep track of the lateststatuses about the ch_rel_time(
v
, h) and if_rel_time(v
) for each neighboring nodev
. Moreover, a separate queue is created for each 1-hop destination. The purpose is to avoid head-of-line blocking if two or more packets need to be sent for the same node. Other time symbols that will be used in our protocol are listed inTable 1.3.2. Basic operation
The basic operation of the RTBM is illustrated inFig. 5. Consider node u. Let us see how node u operates with other nodes in this protocol. In the beginning, node u creates a separate queue for nodes a and
v
. To avoid starvation, when some packets arrived in queues the destination with the oldest packet will be chosen as the target. Assume that node u has decided to transmit to nodev
. First of all, it applies the CIP to predict a control initiation time forv
, denoted as ctrl_ini_time(u,v
). Thetime indicates when node u can successfully initiate a control process with
v
. As shown inFig. 5, ctrl_ini_time(u,v
) = t2. Theprediction process will continue before the control process is actually started.
At ctrl_ini_time(u,
v
), node u starts the following control process. It first applies the DDC to determine the number of data frames to be sent forv
, denoted as Ku,v. According to the Ku,v, the network allocation vector required to exchange the DATAand ACK messages can be set as
NAVDATA¼
XKu;v i¼1
ðTDATAiþ SIFSÞ þ TACKþ 2
s
;where TDATAiis the time to transmit the ith data packet in the queue for
v
. As shown inFig. 5, Ku,v= 3 and NAVDATA= t10t6. So,node u will transmit the first three packets to
v
during t6to t10. Next, node u applies the ECS to evaluate the cost fortrans-mitting on each data channel h. The cost, denoted asDu(h), is the total increment to the starting times of possible
transmis-sions at u’s nearby nodes as if node u transmitted on channel h for a period of NAVDATA. Then, following the IEEE 802.11
backoff mechanism, if there was no carrier on the control channel in a DIFS plus the BF, node u sends a RTS to
v
, containing the NAVDATAand theDu(h), for any h = 1, 2, . . . , H.Once received the RTS, node
v
also applies the ECS to evaluate the costDv(h), for each data channel h, i.e. the totalincre-ment to the starting times of possible transmissions at v’s nearby nodes as if node
v
transmitted on channel h for a period of NAVDATAs
. Combining the costs evaluated from the two sides, the total cost for communicating between u andv
on achan-nel h, denoted asDu,v(h), is the sum of theDu(h) andDv(h). The data channel that will be released to u and
v
and has the least Du,v(h) will be selected. If such a channel can be found, denoted as h⁄, nodev
has to update the following statues for theforth-coming data transmission on h⁄
such that
if rel timeð
v
Þ ¼ ch rel timeðv
;hÞ ¼ Tcurrþ 2SIFS þ TCTSþ NAVDATA:
For example, at Tcurr= t4, node
v
sets if_rel_time(v
) = t9, and ch_rel_time(v
, h⁄) = ch_rel_time(v
, 2) = t9. Besides, nodev
sets twotimers as follows in its CTS.
Table 1
Time symbols used in the RTBM protocol.
Symbols Meanings
Tcurr Current time of a node
TDATAi Time to transmit the i-th data packet in a queue
TRTS Time to transmit a RTS frame
TCTS Time to transmit a CTS frame
TRES Time to transmit a RES frame
TACK Time to transmit an ACK frame
BF Remaining backoff time
s Maximal propagation delay
a
u
v
b
D NAVDATA(2) BF 0 1 2 NAVDATA(2) 3 NAVDATA(3) NAVDATA(2) NAVDATA(1) NAVDATA(3) NAVDATA(1) RTS CTSSRES NAVCTRL RTS S DATA2 S DATA3 RTS S CTS RES RESDATA1 DATA2 DATA3SACK
NAVDATA(2) CTS 0 1 2 3 0 1 2 3 0 1 2 3 a ... a v ... v
h*
Data Transmission Timet
2 ctrl_ini_time(u, v) ACKh*
BF: Backoff S: SIFS D: DIFS Control Process Prediction Process DATA1 (Ku,v = 3)t
1t
4t
5t
7t
8t
9t
10t
0t
3t
6if durationð
v
Þ ¼ maxf0; if rel timeðv
Þ Tcurr ðSIFS þ TCTSþs
Þg;ch durationð
v
;hÞ ¼ maxf0; ch rel timeðv
;hÞ Tcurr ðSIFS þ TCTSþs
Þg; h ¼ 1; 2; . . . ; H:The if durationð
v
Þðch durationðv
;hÞÞ indicates the amount of time the data interface (data channel h) of nodev
will be re-served. For example, at Tcurr= t4, nodev
setsif durationð
v
Þ ¼ maxf0; t9 t4 ðSIFS þ TCTSþs
Þg ¼ t9 t5;ch durationð
v
;1Þ ¼ maxf0; t8 t4 ðSIFS þ TCTSþs
Þg ¼ t8 t5ch durationð
v
;2Þ ¼ maxf0; t9 t4 ðSIF þ TCTSþs
Þg ¼ t9 t5;ch durationð
v
;3Þ ¼ maxf0; t1 t4 ðSIFS þ TCTSþs
Þg ¼ 0: After waiting a SIFS, nodev
replies a CTS to u, containing the h⁄(if there is any), if_duration(
v
), and ch_duration(v
, h), for any h = 1, 2, . . . , H.Once received the CTS, if a channel h⁄was indicated, node u also updates
if rel timeðuÞ ¼ ch rel timeðu; h
Þ ¼ Tcurrþ ch durationð
v
;hÞ þs
;for the forthcoming data transmission on h⁄and sets two timers as follows in its RES.
if durationðuÞ ¼ maxf0; if rel timeðuÞ Tcurr ðSIFS þ TRESþ
s
Þg;ch durationðu; hÞ ¼ maxf0; ch rel timeðu; hÞ Tcurr ðSIFS þ TRESþ
s
Þg; h ¼ 1; 2; . . . ; H:After waiting a SIFS, the h⁄is rebroadcasted to nearby nodes along with a RES to reserve the channel. Meanwhile, node u can
start to send Ku,vpackets to node
v
via channel h⁄. Finally, nodev
replies an ACK to node u at the end of the data transmission.On the other hand, once an irrelevant node x (e.g. nodes a and b) received the CTS or RES from a node y (e.g. nodes u and
v
), if a channel, i.e. h⁄, was indicated inside, node x has to inhibit itself from using the same data channel by settingch rel timeðx; hÞ ¼ maxfch rel timeðx; hÞ; Tcurrþ ch durationðy; h
Þg:
Note that the NAVDATAhas been implicated in both the ch_duration(
v
, h⁄) and ch_duration(u, h⁄). Hence, it is neither in the CTSnor in the RES.
Moreover, to prevent nodes from disrupting the control process between u and
v
, an extra NAV is employed on the control channel. More precisely, once an irrelevant node x (e.g. node a) received the RTS from u, it has to block its control channel for a period of time by settingch rel timeðx; 0Þ ¼ Tcurrþ NAVCTRL;
where NAVCTRL= 2SIFS+ TCTS+ TRES+ 2
s
, specifying the amount of time the control channel will be for the RTS-CTS-RESdialogue.
Lastly, to maintain the statuses of nearby nodes, once a node x (e.g. nodes a, b, u, and
v
) receives a CTS or RES from a node y (e.g. nodes u andv
), it has to update its channel release time table (CRTx) and its interface release time vector (IRVx) as follows.IRVxðVÞ ¼ Tcurrþ if durationðyÞ;
CRTxðy; hÞ ¼ Tcurrþ ch durationðy; hÞ; for any h ¼ 1; 2; . . . ; H:
The above processes are in normal situation which could be interrupted in some circumstances. First, node u detected some control signals before the BF expires. In this case, the RTS will not be sent out by u. Second, the RTS or CTS was collided or the control channel of
v
was blocked by a NAVCTRL. In this case, node u will not receive the CTS fromv
within the timeoutperiod of SIFS + TCTS+ 2
s
. Third, there was no data channel h⁄in indicated in the CTS fromv
. In this case, the datatransmis-sion cannot be started by u. When some of these cases happened, the following process should be done: If the retry limited is not reached, node u has to terminate the current control process, apply again the CIP, and restart the next attempt at the new ctrl_ini_time(u,
v
); otherwise, node u has to abort any process withv
an select a new target from its queues.4. Components design
In this section, we present the detail design of the three components in our protocol.
4.1. Control initiation-time prediction
The CIP is designed to reduce unsuccessful channel coordination that would incur redundant control overhead. It is achieved by properly predicting the initiation time of each control process, based on the information about the release times
of channels and interfaces at sender and receiver. To explain the idea, let us see the example inFig. 6(a).1In the beginning,
node u has some packets for
v
at t0. At the moment, the release times of ch1, ch2, and ch3at u andv
are (t3, t1, t10) and (t14, t8, t17),respectively. We know that two nodes can communicate with each other only if at least one data channel has been released to both of them. Therefore, node u cannot send any data frame to
v
before t8= min{max{t3, t14}, max{t1, t8}, max{t10, t17}}, i.e., therelease time of ch2. Moreover, no data frame can be transmitted until the data interfaces of both u and
v
have been released.With the two considerations, we define the link release time of u and
v
asu
v
NAV DATA(1)0
1
2
3
0
1
2
3
t
0t
3 NAVDATA(1)t
1pre_ctrl
D BF RTS
CTS
S
RES
DATA ...
NAVDATA(3)Data transmission (3)
NAVCTRLt
8t
10t
12Control initiation point
Prediction Process
Control Process
Data Transmission
t
17t
2 NAVDATA(2) NAVDATA(2)t
5RTS
S
CTS
RES
DATA ...
h* = 2t
14(a)
u
v
NAV DATA(1)0
1
2
3
0
1
2
3
t
0 NAVCTRLRTS
t
3 NAVDATA(1) Deferpre_ctrl
t
5New NAVDATA(2)
pre_ctrl
D BF RTS
CTS
S
RES
RTS
S
CTS
RES
DATA ...
DATA ...
CTS
NAVDATA(3)Data transmission (3)
Defer NAVCTRLt
4t
6t
7t
8t
10t
11t
14t
16Prediction Process
Control Process
Data Transmission
t
17t
18 NAVDATA(2) NAVDATA(2) h* = 1(b)
u
v
NAV DATA(1)0
1
2
3
0
1
2
3
t
0 NAVCTRLRTS
t
3 NAVDATA(1)New NAVDATA(2)
pre_ctrl
D BF RTS
CTS
RTS
S
CTS
CTS
NAVDATA(3)Data transmission (3)
NAVCTRLt
8t
10t
11t
14Prediction Process
Control Process
t
17t
18 NAVDATA(2)NAVDATA(2)
New NAVDATA(1)
CTS
t
9t
7Must fail Possibly success
t
15No h*
Defer
pre_ctrl
t
13(c)
Fig. 6. Control initiation prediction process (a) without deferral, (b) with deferral and (c) invalid scenario.
1
link rel timeðu;
v
Þ ¼ max min h¼1;...;H max ch rel timeðu; hÞ; CRTuðv
;hÞ ; if rel timeðuÞ; IRVuðv
Þ 8 > > > < > > > : 9 > > > = > > > ; ;which means that all resources required for communicating on the virtual link between u and
v
will be released at link_rel_-time(u,v
). InFig. 6(a), the link release time of u andv
at t0is t10= max{t8, t10, t0}. Clearly, it is the earliest possible time that ucan start a data transmission with
v
.With the observation, now we discuss when node u can initiate the control process with
v
. In the DCC approach, since control frames (e.g. RTS/CTS/RES) and data frames (e.g. DATA/ACK) are exchanged using different interfaces and channels, a control process can be started earlier before the virtual link (data channels and data interfaces) is released. Besides, the data frames can be sent out once node u has received the CTS fromv
for a SIFS. Therefore, if node u intends to transmit at the earliest time t10, it should initiate the control process in advance at t10 (DIFS + BF + TRTS+ TCTS+ 2SIFS + 2s
). However,the backoff timer BF should be removed from the composition of (DIFS + BF + TRTS+ TCTS+ 2SIFS + 2
s
). Otherwise, othersend-ers waiting for the same resource (u’s data interface) may send their RTSs at the same time with u’s RTS, and thus incur col-lision. In addition, node u cannot perform any control process until the control channel is released. Combining these facts, the control initiation time of u and
v
is defined asctrl ini timeðu;
v
Þ ¼ max link rel timeðu;v
Þ pre ctrl;ch rel timeðu; 0Þ
;
where pre_ctrl = DIFS + TRTS+ TCTS+ 2SIFS + 2
s
, denoting the preprocessing time. In this example, node u can apply thisfunc-tion at t0and predict that the initiation time is t5= max{t10 pre_ctrl, t2}.
Note that, before the control process is actually started, the predicted time could be updated if the ch_rel_time(u, 0) or link_rel_time(u,
v
) is changed. When such event occurs, the control process is deferred to the updated initiation time. For example, inFig. 6(b), node u received a RTS at t4that changes the ch_rel_time(u, 0) to t7. So, the ctrl_ini_time(u,v
) is deferredfrom t5to t7. Furthermore, node u received a CTS at t6, indicating that ch2will be released at t18. Hence, the link_rel_time(u,
v
)is changed from t10to t14. Accordingly, the ctrl_ini_time(u,
v
) is further deferred from t7to t11.In addition, since the records in the CRTuand IRVuare not always the newest, the predicted time could be invalided. As
shown inFig. 6(c), node
v
received a CTS with an updated ch_duration(v
, 1) at t9and the ch_rel_time(v
,1) is changedaccord-ingly. Normally, the control initiation time should be deferred from t11to t13to response to the change. But, since node
v
doesnot send any control frame during t9to t11, the change is invisible to u. As a result, node u will still initiate the control process
at t11and the control process may fail. However, the CIP does ensure that any control process initiated before t11must fail,
because for any channel h (or interface), if it is not released at CRTu(
v
, h) (or IRVu(v
)) to u, it is also not released atch_rel_ti-me(
v
, h) (or if_rel_time(v
)) tov
. Thus, the CIP can help nodes to avoid unsuccessful channel coordination.4.2. Dynamic data-flow control
The DDC can dynamically adjust the number of data packets being sent in each data transmission to balance the conges-tion in the control and data channels. The DCC maintains a variable Ku,vfor each 1-hop node
v
specifying the number of datapackets that will be sent in the next transmission from nodes u to
v
. Ku,vis initiated as 1 and will be dynamically adjustedaccording to the idle statuses on the control and data interfaces.
Take a look atFig. 7to explain this idea. There are three sender–receiver pairs of {u,
v
}, {x, y}, and {w, z} with data flows sustained during [t0, t3], [t1, t3], and [t1, t2], respectively. Besides, nodes u andv
are in the interference range of nodes x and w,v
u
Ctrl
u,vCtrl
x,yCtrl
u,vCtrl
u,vidle
Ctrl
u,vCtrl
u,vData
u,vIdle
Data
u,vData
u,vData
u,vCtrl
x,yCtrl
x,yCtrl
x,y….
….
Ctrl
u,vCtrl
w,zCtrl
u,vCtrl
u,vCtrl
u,vCtrl
u,vData
u,vData
u,vData
u,vData
u,vCtrl
w,z….
….
t
1t
2Ctrl
l
x,yyCtrlw,z
Datau,v
Ctrl
l
xx yy,Datau,v
Ctrlw,z
Ctrl
x,yyCtrl
x,yyxDat
Expend K
u,v= 1 + 2 = 3
Shrink K
u,v= 3 – 1 = 2
t
0Initiate K
u,v= 1
u
v
w
z
y
t
1 ~t
3x
t
0 ~t
3t
1 ~t
2 control interface data interface control interface data interfacet
3+
+
–
receptively. Assuming that the time required for a control process is equal to the time required for sending one data packet, we show how DDC adjusts Ku,v. In the beginning, Ku,v= 1. Thus, node u sends one data packet to
v
. Then, node u intends tosend the next packet to
v
. However, at this moment, the control processes for other two flows have started, so node u cannot initiate a control process immediately withv
. Consequently, u’s data interface experiences a period of idle status before the next data transmission starts. In order to mitigate such influence from control channel, the DDC expends Ku,vin proportion tothe idle time experienced from u’s data interface (i.e. Ku,v= 1 + 2 = 3) to increase the utilization of data channels for the
sub-sequent data transmission to
v
. As shown in this example, by the end of the second data transmission, the next data trans-mission can be started immediately without any idling. Nonetheless, during the third data transtrans-mission, since the data flow between w and z has finished, the control channel becomes less congested atv
, resulting in a period of idle status in u’s con-trol interface before the next concon-trol process starts. In order to reflect such fact, the DCC shrinks Ku,vin proportion to the idletime experimented from u’s control interface (i.e. Ku,v= 3 1 = 2). Finally, Ku,vconverges to 2 and the congestion in control
and data channels are balanced. The process will continue if any further change occurred.
In summary, Ku,vis adjusted according to two idle timers: the data interface idle time, denoted as dif_idle_time(u,
v
), andthe control interface idle time, denoted as cif_idle_time(u,
v
). Therefore, below we give a more realistic example to show how an idle status occurs in the RTBM. Then, the two idle timers and adjusting rule are formally defined. Lastly, we provide an online algorithm for efficient maintenance.InFig. 8(a), node u has some packets for
v
at t0. At the moment, node u finds that the link release timelink_rel_ti-me(u,
v
) = t4and control initial time ctrl_rel_time(u,v
) = t4 pre_ctrl = t2. Ideally, if there is no contention before t2, the datatransmission can start at t5= t2+ pre_ctrl + BF (recall that BF is not in the pre_ctrl). However, at t1an irrelevant RTS is
de-tected, so node u has to update ctrl_ini_time(u,
v
) = max{t4 pre_ctrl, t1+ NAVCTRL} = max{t2, t3} = t3. Consequently, the datatransmission should be deferred from t5to t7= t3+ pre_ctrl + BF. The deferral will result in a period of idle status from t5
to t7on u’s data interface. Therefore, we can estimate that dif_dile_time(u,
v
) = t7 t5at this time point.Then, the control process starts at t3(seeFig. 7(b)). During the BF, another RTS is detected, so node u has to suspend the
current process and update the new control initiation time to t8. Consequently, the data transmission should be further
de-ferred from t7to t11= t8+ pre_ctrl + BF, resulting in a longer period of idle status on u’s data interface from [t5, t7] to [t5, t11].
However, during the sub period [t6, t9], node u cannot transmit any data to node
v
even if the control channel is notcon-gested, since all data channels (ch1and ch3of node u and ch2of node
v
) are blocked by some NAVs in this time interval. Thus,the dif_idle_time(u,
v
) should be set as dif_idle_time(u,v
) = (t11 t5) (t9 t6) to reflect the deferral purely incurred by thecontrol channel congestion. We call the time interval [t6, t9] the non-idle time.
After a DIFS and BF, node u sends a RTS and waits for the CTS from
v
(seeFig. 8(c)). However, before the RTS arrived, the control channel ofv
has been blocked by another RTS so that u cannot obtain any reply fromv
before the end of the time out period at t10. As a result, the starting time of the data transmission is further deferred from t11to t12. That is, thedif_idle_-time(u,
v
) should be updated as (t12 t5) (t9 t6). This example shows that the idle status of u’s data interface could beincurred by the control congestion at both node u and node
v
.Continuing the example, inFig. 8(d), the data transmission starts at t12and ends at t17= t12+ NAVDATA. During this period,
the control interface of u is released after sending the RES and reserved for the next control process after t16= t17 pre_ctrl.
In addition, the control channel is contended during the sub-period from t14to t15. Therefore, the control interface idle time
is the sum of the two periods from t13to t14and from t15to t16, i.e. cif_idle_time(u,
v
) = (t16 t15) + (t14 t13).Now, we formally define the two idle timers based on the above observations. Let data_tx_time⁄
(u, v) and data_tx_ti-me(u, v) stand for the earliest and the actual starting times of a data transmission from u to
v
, respectively. At any time t, the data interface of u is idle if and only if(i) data_tx_time⁄(u, v) 6 t < data_tx_time(u, v);
(ii) link_rel_time(u, v) < t.
For a transmission from u to
v
, dif_idle_time(u, v) is the total time satisfying (i) and (ii). InFig. 8, data_tx_time⁄(u, v) = t5, and
data_tx_time(u, v) = t7, t11, and t12, respectively, inFigs. 8(a)–(c). The period of time not satisfying (ii) is [t6, t9], i.e. the
non-idle time. Similarly, at any time t, the control interface of u is non-idle if and only if (i) data_tx_time(u,
v
) + TRES+s
< t < data_tx_time(u,v
) + NAVDATA pre_ctrl;(ii) ch_rel_time(u, 0) Ttype< t, where type is the type of the received control frame.
For a transmission from u to
v
, the cif_idle_time(u,v
) is the total time satisfying (iii) and (iv).With the two idle timers, at the start point of each control process (i.e. t3, t8, and t10), Ku,vcan be updated as
Ku;v¼ min
16k6Q v
Xk
i¼1
ðTDATAiþ SIFSÞ P Lu;vþ dif dile timeðu;
v
Þ( )
;
where Qvis the number of data packets remaining for
v
, and Lu,vis the time of the previous data transmission. As shown in Fig. 8(c), Ku,v= 3 at t10, sinceu
RTS NAVCTRL NAVDATA(3) NAVDATA(2) NAVDATA(1)v
NAVDATA(3) NAVDATA(2) pre_ctrl pre_ctrl + BFNew NAVDATA(1)
pre_ctrl + BF 0 1 2 3 0 1 2 3 idle t0 t1 t2 t4 t5 t7 t3 deffer S DATA2 [t5, t7] Ku,v = 2 S DATA1 Lu,v
(a)
u
RTS NAVCTRL NAVDATA(3) NAVDATA(2) NAVDATA(1)v
NAVDATA(3) NAVDATA(2) pre_ctrl pre_ctrl + BF S D BFRTS NAV CTRLCTS New NAVDATA(1)
idle non-idle pre_ctrl pre_ctrl + BF 0 1 2 3 0 1 2 3 idle t0 t3 t4 t5 t6 t8 t10 t12 deffer S DATA2 [t9, t12] [t5, t6] Ku,v = 2 S DATA1 Lu,v
(b)
u
RTS NAVCTRL NAVDATA(3) NAVDATA(2) NAVDATA(1)v
NAVDATA(3) NAVDATA(2) pre_ctrl pre_ctrl + BF S D BFRTS NAV CTRLNew NAVDATA(1)
idle non-idle D BFRTS RTS NAVRTS CTRL D BF RTS RTS S CTS CTS S RES RES DATA idle timeout pre_ctrl + BF DATA 0 1 2 3 0 1 2 3 t0 t4 t3 t5 t6 t8 t10 t13 t11 deffer S
DATA2 DATA3 S Ku,v= 3
[t5, t6] [t10, t13] t9 S DATA1 Lu,v
(c)
u
v
RES RES SDATA1 DATA2 S DATA3 ACK
DATA1 DATA2 DATA3 SACK
RTS NAVCTRL
RTSNAVCTRL CTS
non idle idle
idle t12 t13 t14 Ttype T type t17 t15 S DATA4 [t13, t14] [t15, t16] Ku,v = 2 0 1 2 3 0 1 2 3 D BF pre_ctrl …. …. RES + Ttype t16 Lu,v S DATA5
(d)
CTSOn the other hand, at the end point of each data transmission (i.e. t17), Ku,vcan be updated
Ku;v¼ max
16k6Q v
Xk
i¼1
ðTDATAiþ SIFSÞ < Lu;v cif dile timeðu;
v
Þ( )
:
Note that Lu,vshould be updated according to the time of the previous data transmission when used. As shown inFig. 8(d),
Lu,v= t17 t12, and Ku,v= 2 since
ðTDATA4þ SIFSÞ þ ðTDATA5þ SIFSÞ < Lu;v ðt16 t15Þ þ ðt14 t13Þ:
In accordant with the above definitions, an algorithm is presented below to maintain the Ku,v. Additional time symbols
used in this algorithm are listed inTable 2. The corresponding values forFig. 8are shown inTable 3. The algorithm is de-signed in an online fashion and takes only constant time in each step. Thus, it is very efficient and practical.
Online algorithm:DDC Component Initial:
Ku,v= 1;Lu,v=TDATAi+SIFS + TACK+ 2
s
;Whenever node v is chosen as a target at Tcurr:
ctrl_ini_time⁄(u,
v
) = max{Tcurr,link_rel_time(u,
v
) pre_ctrl};data_tx_time⁄
(u,
v
) =ctrl_ini_time⁄(u,
v
) +pre_ctrl + BF; dif_nid_end(u,v
) =data_tx_time⁄(u,v
);dif_nid_time(u,
v
) = 0; Before ctrl_ini_time(u, v):Once thelink_rel_time(u,
v
) is deferred atTcurr, updatedif_nid_time(u,
v
) =dif_nid_time(u,v
) +link_rel_time(u,v
) max{Tcurr,dif_nid_end(u,v
)};dif_nid_end(u,
v
) = max{data_tx_time⁄(u,v
),link_rel_time(u,v
)};At ctrl_ini_time(u, v):
data_tx_time(u,
v
) =ctrl_ini_time(u) + pre_ctrl + BF; dif_idle_time(u,v
) =data_tx_time(u,v
) data_tx_time⁄(u,
v
) dif_nid_time(u,v
); Ku;v¼ min16k6Q vfPki¼1ðTDATAiþ SIFSÞ P Lu;vþ dif dile timeðu;v
Þg;At data_tx_time(u, v):
cif_nid_time(u,
v
) = 0;cif_nid_end(u,
v
) =data_tx_time(u,v
) +TRES+s
;Before data_tx_time(u, v) + NAVDATA pre_ctrl:
Once thech_rel_time(u, 0) is deferred at Tcurr, update
cif_nid_time(u,
v
) =cif_nid_time(u,v
) +ch_rel_time(u, 0) max{Tcurr Ttype,cif_nid_end(u,v
)};cif_nid_end(u,
v
) = max{data_tx_time(u,v
) +r
res,ch_rel_time(u, 0)};At data_tx_time(u, v) + NAVDATA pre_ctrl:
cif_idle_time(u,
v
) =NAVDATA pre_ctrl cif_nid_time(u,v
);Lu;v¼Pi¼1Ku;vðTDATAiþ SIFSÞ þ TACKþ 2
s
;Ku;v¼ max16k6Q vfPki¼1ðTDATAiþ SIFSÞ < Lu;v dif dile timeðu;
v
Þg;4.3. Enhanced channel selection strategy
The ECS aims at improving the reusability of data channels. The main idea is based on exploiting the release times of chan-nels and interfaces at neighboring nodes to select a free data channel that will cause the least influence to nearby transmissions.
The concept is shown inFig. 9. Nodes a and c are in the interference range of node u, and nodes b and d are in the inter-ference range of node
v
. According to the specified NAVs, nodes a, b, c, and d cannot transmit to any other node, respectively, before t6, t9, t2, and t7, since prior to these time points, there is neither an interface nor a channel released (note that theinterface of node d will be released by t7). In other words, the earliest possible time to start a transmission from a, b, c,
and d are t6, t9, t2, and t7, respectively. Assume that nodes u and
v
have decided to communicate on ch1. See what happento nearby nodes. Since ch1is not the first channel released to node a, node a can still transmit at t6. Likewise, the earliest
possible starting time of node d remains t7. However, to nodes c and d, since ch1is no longer the first channel released to
them, they cannot start any transmission before ch2and ch3 are released to them at t8and t9, respectively. As a result,
the earliest possible starting times of b and c are increased (postponed). Our goal is to coordinate a data channel that is
Table 2
Time symbols in the online algorithm of the DDC component.
Status Meaning
ctrl_ini_time⁄
(u,v) Earliest control initiation time withv
dif_nid_time(u,v) Non-idle time of u’s data interface before a data transmission tov
dif_nid_end(u,v) End point of the non-idle status of u’s data interface before a data transmission tov cif_nid_time(u,v) Non-idle time of u’s control interface during a data transmission tov
Table 3
Corresponding values of the used statues forFig. 8. ctrl_ini_time⁄ (u,v); ctrl_ini_time(u,v) data_tx_time⁄ (u,v); data_tx_time(u,v) dif_nid_time(u,v); cif_nid_time(u,v) dif_nid_end(u,v); cif_nid_end(u,v) dif_idle_time(u,v) cif_nid_time(u,v) Ku,v t2 t5 0 t5 0 1 t3 t7 0 t5 (t7 t5) 2 t8 t11 (t9 t6) t9 (t11 t5) (t9 t6) 2 t9 t12 (t9 t6) t9 (t12 t5) (t9 t6) 3 t17 – (t15 t14) t15 (t16 t13) (t15 t14) 2 NAVDATA(1) NAVDATA(3) NAVDATA(2) NAVDATA(3) NAVDATA(2) D BF RTS RTS S CTS CTSSRES RES NAVCTRL NAVDATA(3) NAVDATA(2) NAVDATA(1) NAVDATA(2) NAVDATA(1) NAVDATA(1) NAVCTRL RTS RTS CTS CTS
c
a
u
v
b
d
ACK new NAVDATA(1) new NAVDATA(1) new NAVDATA(1) new NAVDATA(1)DATA S DATA S DATA
DATA DATA DATA S
RES
RES
Δ
u(c,1)
Data transmission to other node
Δ
v(b,1)σ
resσ
cts 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 ACKt
1t
2t
3t
4t
5t
6t
7t
8t
9t
10t
11 Timenot only free to the sender and receiver themselves, but also adds the least total delay to the starting times of possible trans-missions at nearby nodes.
Now, we formally describe the ECS below. Consider a sender u and a receiver
v
. As the control process is initiated at ctrl_i-ni_time(u,v
), node u firstly identifies a list of data channels that will be released to itself at the expected starting time of the transmission tov
as follows.FCLðuÞ ¼ fh
H j ch rel timeðu; hÞ 6 ctrl ini timeðu;v
Þ þ pre ctrl þ BFg:Note that by definition of the CIP, FCL(u) must be non-empty at ctrl_ini_time(u,
v
). In addition, let Nudenote the set of nodesin u’s interference range. For each w
e
Nu {v
}, node u calculates the time that at least one data channel will be released to was
CRuðwÞ ¼ minfCRTuðw; hÞj h
Hg:The CRu(w) is called the critical channel release time of w, and the first data channel released to w is called the critical channel
of w. Combining with the interface release time of w in IRVu, we define
NRuðwÞ ¼ maxfCRuðwÞ; IRVuðwÞg:
It is called the node release time of w. Clearly, node w cannot start any transmission before NRu(w).
Next, node u evaluates the cost for transmitting on each h
e
FCL(u). For each we
Nu {v
} and he
FCL(u), if nodes decidedto transmit on channel h for a period of NAVDATA, the CRu(w) could be enlarged (at least equally), and the new critical release
time of w can be formulated as
CRþ
uðwjhÞ ¼ min
max CRTuðw; hÞ;
Tcurrþ ðpre ctrl þ BFÞ þ NAVDATA
; min CRT uðw; h0Þjh0
H fhg 8 > < > : 9 > = > ;:The above equation indicates that the original CRu(w) could be replaced by the release time of another channel h0
e
H {h},if the release time of the original critical channel of w is enlarged so that it is no longer critical to w. As shown inFig. 9, at t1,
CRu(c) = t2, but CRþu(c|1) = t8The gap between t2and t8is due to the fact that the critical channel of c will be altered from ch1
to ch2if u transmits on ch1. Similarly, the corresponding node release time of w can be wrote as
NRþ
uðwjhÞ ¼ maxfCR
þ
uðwjhÞ; IRVuðwÞg:
Using these terms, the increment to the node release time of w resulted from transmitting on channel h can be charac-terized as
D
uðw; hÞ ¼ maxfNRþuðwjhÞ; Tcurrþr
resg maxfNRuðwÞ; Tcurrþr
resg;where
r
res= pre_ctrl + BF + TRTS+s
, denoting the duration before other nodes can receive the RES from u. Notice that the Du(w, h) neglects the increment before ctrl_ini_time(u,v
) +r
res, since the transmission is not influential to w before theRES is received by w. As shown inFig. 9, although NRu(c) = CRu(c) = t2and NRþu (c|1) = CR þ
u(c|1) = t8, since the RES will arrive
at t5, theDu(c, 1) is (t8 t5) instead of (t8 t2). Accordingly, if node u transmits on channel h, the total increment to the nodes
release time of all neighboring nodes can be defined by
D
uðhÞ ¼X
wNufvg
D
uðw; hÞ:TheDu(h) will be sent to
v
along with a RTS frame for any he
FCL(u).When node
v
received the RTS, it performs the same evaluation for each he
FCL(v
) \ FCL(u) and we
Nv {u} Nu, where FCLðv
Þ ¼ fhHjch rel timeðv
;hÞ 6 Tcurrþ 2SIFS þ TCTSþs
g:That is, node
v
calculatesCRþvðwjhÞ ¼ min max
CRTvðw; hÞ;
Tcurrþ ð
r
ctsþ SIFSÞ þ ðNAVDATAs
Þ; min CRT vðw; h0Þjh0
H fhg 8 > < > : 9 > = > ;;D
vðw; hÞ ¼ maxfNRþvðwjhÞ; Tcurrþr
ctsg maxfNRvðwÞ; Tcurrþr
ctsg; andD
vðhÞ ¼ XwNv fugNu
D
vðw; hÞ;Then, combining the transmission costs from the two sides, the total cost for communicating between u and
v
on a chan-nel h can be defined asD
u;vðhÞ ¼D
uðhÞ þD
vðhÞ:The Du,v(h) is the total increment to the node release time of all neighbors of u and/or
v
. In Fig. 9, Du,v(1) =Du(1) +Dv(1) =Du(a, 1) +Du(c, 1) +Dv(b, 1) +Dv(d, 1) = (t5 t5) + (t8 t5) + (t8 t10) + (t7 t7) = (t8 t5) + (t8 t10).=Du(a, 1) +Du(c, 1) +Dv(b, 1) +Dv(d, 1) = (t5 t5) + (t8 t5) + (t8 t10) + (t7 t7) = (t8 t5) + (t8 t10). Similarly, we can find
theDu,v(2) andDu,v(3). Finally, a channel h
e
FCL(v
) \ FCL(u) that has the leastDu,v(h) will be chosen as the communicationchannel, i.e. the h⁄. The selected h⁄will be sent back to u using the CTS. By definition, the h⁄will be released to both u and
v
and has the least total increment to the node release times (starting times of possible transmissions) of potentially interfered nodes.
5. Simulations
In this section, we conduct simulations using the ns2 simulator. In order to evaluate how much performance gain each of the three components obtains, we have implemented the following versions for the RTBM:
RTBM (CIP) consists of CIP only, has no flow control (i.e. Ku,v= 1), and follows the random channel selection strategy in[3].
RTBM (CIP + DDC) is akin to the first version except that DDC is applied. RTBM (CIP + DDC + ECS) employs all designed components.
Note that DDC cannot be applied without CIP, since Ku,vdepends on the link release and control initiation times updated from
CIP. Besides, if Ku,vwas always fixed on 1, the discrepancy between different data channels h’s would be insignificant in terms
of their communication costsDu,v(h)’s. Hence, we do not individually test DDC and/or ECS for the RTBM.
In addition, due to transmission failures or delays in updating control messages, the values stored in CRTuand IRVucould
be stale or incomplete. The inaccuracy may lead to a series of invalid decisions in the RTBM (as shown inFig. 6(c)). For this reason, we provide an ideal version, denoted as RTBM⁄(CIP + DDC + ECS), where each node can directly access the information
in its neighbors, to show how the performance degrades due to inaccurate information.
On the other hand, we compare the RTBM with the representative DCC-based protocol (DCA) in[3]and the parallel ren-dezvous protocol (McMAC) in[18]. The primary goal of McMAC is also to overcome the control bottleneck problem. The dif-ference is that McMAC disperses control traffic across all available channels by allowing a sender switch to the hopping sequence of the intended receiver with a probability p. Here, we set p as the default setting in[18]. For all of our evaluations, the IEEE 802.11 DCF serves as the baseline protocol.
For each network under test, we generate 100 static nodes uniformly distributed on a 1500 m 1500 m region. Each node is equipped with two interfaces, each with a default transmission range of 250 m. The interference range is assumed to be twice the transmission range. On the other hand, we provide 12 orthogonal channels. One of them is used for control pur-poses and the others are used for data transmission. The default channel bit rate is 11 Mbps.
On top of each generated network, we consider the throughput under two circumstances. In single-hop communication, we establish UDP flows with a variable bit rate over 200 random node pairs (i.e. each node communicates with four 1-hop nodes on average). Each communication pair is confined within the transmission range of each other. This case is intended to eval-uate the link-layer performance. In multi-hop communication, we establish UDP flows with a constant bit rate over 20 ran-domly chosen node pairs. All sources and destinations are distinct nodes. Each packet is forwarded along with a shortest path in terms of the hop count. In both cases, the (average) packet arrival rate is 1 Mbps and the packet length is 1024 bytes. The throughput is defined as the total size of data packets successfully received by all destinations divided by the simulation time (100 s). Besides, each node u maintains a 50-packet queue for any 1-hop node
v
, i.e. Qv650.Table 4lists the frame sizes of each compared protocol under H = 11. In addition to those in IEEE 802.11 DCF specifications (i.e. 20 bytes for RTS, 14 bytes for CTS, and 14 bytes for ACK), the DCA needs a 2-byte bitmap to carry the free channel list in RTS, and 2 bytes to indicate the selected channel and a parameter in CTS (see[3]). Thus, the frame sizes of RTS and CTS in DCA are 22 bytes (i.e. 22 = 20 + 2) and 16 bytes (i.e. 16 = 14 + 2), respectively. About the RTBM, its RTS additionally needs
Table 4
Frame sizes under H = 11 and system values of DSSS PHY.
802.11 DCF/McMAC DCA RTBM
RTS length 20 bytes 22 bytes 44 bytes
CTS length 14 bytes 16 bytes 39 bytes
RES length – 16 bytes 39 bytes
ACK length 14 bytes
Propagation delay 5ls
Backoff slot time 20ls
SIFS 10ls
2 bytes to encode the communicationDu(h) for each data channel h. Thus the size of RTS under H = 11 is 44 bytes (i.e.
44 = 20 + 2 + 2 11). Moreover, the CTS and RES needs 2 bytes for each duration of if_duration(
v
) and ch_duration(u, h), and 1 byte for the selected channel h⁄(see Section3.2). Thus, the sizes of the later two frames under H = 11 are 39 bytes(i.e. 39 = 14 + 2 + 2 11 + 1). Other system values specified for the DSSS PHY are also listed inTable 4. Although the RTBM needs larger frame sizes, as shown later, the benefit from our components can wholly compensate for such a drawback. The above contexts are the default settings. We also vary some parameters one at a time to assess the performance under different scenarios. Any result point of the following figures is averaged from 20 networks.
Fig. 10reports the throughput versa the number of data channels (H). In comparison with the single-channel 802.11 DCF, the DCA can use multiple data channels to increase the throughput. When H = 2, it achieves a 28.98% gain in single-hop case and a 44.72% gain in multi-hop case. However, the improvement becomes very limited as more channels are provided. With 11 channels, the DCA obtains merely a 40.08% and 79.59% gain in the two cases, respectively. The results indicate that only a small portion of data channels were utilized due to the bottleneck in control channel.
The bottleneck problem can be mitigated by CIP. As shown inFig. 10, the RTBM(CIP) has 4–42% throughput increments over the DCA. The reason is that CIP can prevent nodes from sending redundant RTSs and thus avoid unnecessary blocking from NAVCTRL. Notice that CIP is particularly useful for small H, because a coordination process may fail when two nodes have no free
data channels in common, and there are relatively fewer common channels when H is small. Nonetheless, CIP cannot entirely break through the limitation of the control channel, since a coordination process is still required before sending each data packet. The DDC can substantially resolve this problem. As shown inFig. 10, RTBM(CIP+DDC) has improved the baseline through-put by over 2.26 times in single-hop case and 3.49 times in multi-hop case, with just one additional data channel, i.e. H = 2. Moreover, for H = 4, it can further gain 2.86 times and 5.17 times performance in the two cases. However, since the traffic load is not quite heavy in default, the throughput reaches the limit when H P 6. As shown inFig. 11, by pressuring nodes
Fig. 10. Variation in the number of data channels.
with more data flows, the throughput is almost linear to the number of flows under H = 11. Contrarily, other protocols with-out DDC even degrade the throughput as the number of flows exceeds a certain limit.
The bottleneck problem is also resolved by McMAC. As shown inFig. 10(a), the throughput of McMAC increases signifi-cantly when H raises. However, when H is small, McMAC does not perform well (even worse than the original DCC when H = 2). One reason is that the congestion in each channel is still heavy for a small H. In contrast, DDC can dynamically adjust the number of data packets being sent to balance the congestion in both control and data channels no matter how many channels are provided. Another reason is that the DCC-based approach can separate control and data traffic into different channels so that control and data signals are not interfering to each other. Note that although RTBM needs one additional channel for control purposes, we can see that the throughput of RTBM(CIP + DDC) with h channels is higher than that of McMAC with h + 1 channels in all cases. Moreover, McMAC has no significant improvement in a multi-hop case, because a node may frequently depart to different hopping sequences to forward messages, which however are always not visible to other nodes in the interference range, incurring a serious collision problem. In contrast, RTBM allows each node to acquire the status of other nodes and channels at any time.
The ECS can further enhance the throughput. As shown in Fig. 10, RTBM(CIP + DDC + ECS) shows clear gains over RTBM(CIP + DDC), especially when more data channels are provided. One observation explains this tendency: When H is large, each sender u and receiver
v
have more choices to find a data channel h which has a lower costDu,v(h). Particularly, under 11data channels and 500 flows, ECS additionally contributes 26.37% of throughputs in single-hop case (15.41% in multi-hop case). InFig. 12, we vary the channel bit rate (R) to show how raw channel capacity relates to the throughput. As R is raised from 0.5 Mbps to 11 Mbps, we can see that 802.11 DCF gains approximately 9–10 times throughput, but there are relatively lower gains (no more than 4 times) for DCA and RTMB(CIP). The lower growth rates are caused by the following reason: with a high-er channel bit rate, the data transmission is fasthigh-er, which implies that a node may initiate more control processes within a shorter period of time. As a result, contention in the control channel becomes more intensive. RTBM can get rid of such lim-itations by using DDC. As shown inFig. 12, RTMB(CIP + DDC + ECS) obtains 8.22 times throughput in the single-hop case and 9.39 times throughput in the multi-hop case as long as R is raised from 0.5 Mbps to 11 Mbps, which are very close to those achieved by 802.11 DCF, where no control bottleneck exists. The reason for this is that DDC can dynamically send multiple data frames to prolong the data transmission whenever the control channel is congested, i.e. data interface’s idle time rises. Besides, ECS can provide more enhancements when R is large, because the greater the channel bit rate is, the more free data channels exist, providing more choices for finding the lower communication cost.
Fig. 13demonstrates the impact of increasing transmission (interference) range We can see that the throughputs of 802.11 DCF, DCA, and RTBM(CIP) degrade drastically as the range increases. In contrast, RTBM(CIP + DDC) has only suffered a slight decrement in its throughput, since DDC can dynamically adapt to any increasing interference in the control channel. Moreover, ECS can help nodes to achieve better channel reusability. Hence, RTBM(CIP + DDC + ECS) is almost not affected by this factor. Surprisingly, the throughput can be even better when the range is more than 250 m. This phenomenon possibly stems from the fact that a larger transmission (interference) range can avoid the presence of hidden terminal nodes in the control channel.
Now let us compare with the ideal version. We can see that the throughput of RTBM(CIP + DDC + ECS) is very close to that of RTBM(CIP + DDC + ECS) especially when H is large (seeFig. 10), because the change of a channel release time can be less
frequent if more other channels are offered. Besides, the throughput degradation is very small even under a heavy loading (seeFig. 11). Therefore, the inaccuracy of information has a little impact to our protocol.
Fig. 14shows the normalized control overhead for each protocol (the total size of control messages being sent divided by that of the 802.11 DCF) over different number of flows. Consider the single-hop case: By comparingFig. 11(a), we can see
that the control overhead of McMAC goes up in accompany with more data throughput, because McMAC can spread control loading over different channels. By contrast, the throughput of DCA is saturated by a small number of flows, since the control overhead is congested in a single channel. Compared with DCA, although RTBM needs larger control frames sizes, it incurs
Fig. 13. Variation in transmission range (H = 11).
Fig. 14. Normalized control overhead (H = 11).