Static-Priority Scheduling over Wireless Networks with Multiple Broadcast Domains Nuno Pereira1, Björn Andersson1, Eduardo Tovar1 and Anthony Rowe2 1
2
IPP Hurray Research Group Instituto Superior de Engenharia do Porto, Porto, Portugal {npereira, bandersson, emt}@dei.isep.ipp.pt
Department of Electrical and Computer Engineering Carnegie Mellon University, Pittsburgh, USA
[email protected]
In this paper we propose a MAC protocol for wireless networks where a broadcast from a node does not necessarily reach all other nodes in the network, consequently the hidden node problem must be dealt with. Our proposed solution is the first prioritized and collision-free MAC protocol designed to successfully deal with hidden nodes without relying on out-ofband signaling. The protocol is evaluated experimentally both using simulation and real-world platforms to show that the protocol is correct. We consider this research to be significant because (i) our protocol can support a large number of priorities and (ii) it is an enabling technology allowing schedulability analysis (for example to exercise in practice the analysis proposed by [4]) in wireless multihop networks with multiple broadcast domains (MBD). The remainder of this paper is structured as follows. Section 2 gives the background on prioritized MAC protocols and outlines the system model used throughout the rest of the paper. Section 3 overviews the main guidelines driving the design of our new protocol. Section 4 provides a formal description of the proposed MAC protocol. Section 5 validates the protocol experimentally using simulation and an implementation on real-world sensor network platforms. Section 6 discusses related work and finally we conclude in Section 7.
Abstract We propose a wireless medium access control (MAC) protocol that provides static-priority scheduling of messages in a guaranteed collision-free manner. Our protocol supports multiple broadcast domains, resolves the wireless hidden node problem and allows for parallel transmissions across a mesh network. Arbitration of messages is achieved without the notion of a master coordinating node, global clock synchronization or out-of-band signalling. The protocol relies on bit-dominance similar to what is used in the CAN bus except that in order to operate on a wireless physical layer, nodes are not required to receive incoming bits while transmitting. The use of bit-dominance efficiently allows for a much larger number of priorities than would be possible using existing wireless solutions. A MAC protocol with these properties enables schedulability analysis of sporadic message streams in wireless multihop networks.
1. Introduction A fundamental problem in the design of distributed realtime systems is the sharing of a wireless communication channel such that message timing requirements are satisfied. Periodic message transmission requests can be scheduled using static table-driven scheduling. Sporadic message requests can be scheduled using polling, but such approaches are inefficient when the relative deadline is small as compared to the minimum inter-arrival time between two consecutive transmission requests. An appealing solution is to assign a static priority to a message, and then to use a medium access control (MAC) protocol that resolves conflict and only sends the message with the highest priority [1]. The CAN bus [2] achieves this in wired networks using bit-dominance message arbitration. Experiments in [3] show that a similar approach is reliable for short-range communications in wireless networks. This in turn allows for the message response-time formulations from the CAN bus protocol to be applied to the wireless domain. The calculated response times obtained with this formulation were experimentally validated with an implementation of the protocol on a low-power wireless transceiver [3]. These previous wireless versions of the bit dominance MAC protocol were designed for a single wireless broadcast domain (SBD) and have not been extended to multihop networks. Therefore, they did not deal with a well-known phenomenon in wireless networks called the hidden node problem. Previous work within the wireless networking community offered MAC solutions to the hidden node problem, but they were either not prioritized or they depended on out-of-band signaling.
2. Background and Assumptions In this section we will address background material and assumptions required for the remainder of the paper.
2.1.
Dominance Protocols
Dominance/binary countdown protocols [5] are the basis for the MAC protocol proposed throughout this paper. In these protocols, messages are assigned unique priorities used during a collision resolution phase that allows only the highest priority message to be transmitted over the medium. During the collision resolution phase, each node sends the message priority bit-by-bit, starting with the most significant one, while simultaneously monitoring the medium. The medium must be devised in such a way that nodes will only detect a “1” value if no other node is transmitting a “0”. Otherwise every node detects a “0” value regardless of what the node itself is sending. For this reason, a “0” is said to be a dominant bit, while a “1” is said to be a recessive bit. Low numbers in the priority field of a message represent high priorities. If a node contends with a recessive bit but receives a dominant bit, then it will refrain from transmitting any further bits and will only monitor the medium. Only one node reaches the end of the collision resolution phase, and this node (the winning node) proceeds with transmitting the 1
Start of the tournament phase
End of the tournament phase
Synchronization phase
Bit
N1 hears a dominant bit; N1 lost the tournament
Rx/Tx phase
1
2
3
4
5
6
Medium Status
0
1
0
1
0
1
N1 priority 010111
0
1
0
1
1
0
1
1
0
1
0
Carrier (Dominant)
N2 priority 011000
N3 priority 010101
Silence (Recessive)
Figure 2. Hidden nodes example.
N3 is the only node that finishes the tournament without losing
1
N2 hears a dominant bit; N2 lost the tournament
0
A node that wins the tournament may transmit the data bits at the full data rate permitted by the radio transceiver.
1 Time
2.2.
Figure 1. Tournament phase example.
Multiple Broadcast Domain Challenges
A network is said to be a MBD network if a broadcast from an arbitrary node does not reach all other nodes. Such networks suffer from the well known hidden node problem [7]. A pair of nodes are said to be hidden from each other if they are out of transmission range, while both are within the range of a third node. Because the two nodes (e.g., N1 and N3 in Figure 2 cannot detect when the other is transmitting, they may cause collisions at a third node (N2 in Figure 2). The hidden node problem causes collisions which lowers system throughput and increase message latency. For real-time traffic, dealing with hidden nodes is even more crucial, since a collision may cause a deadline miss. In our protocol, eliminating the hidden node problem is crucial since we provide collision free communication. Another problem in networks with MBD:s is the exposed node problem. Exposed nodes occur when a node refrains from transmitting because another neighbor node transmits. In many cases, the receiving nodes are far apart and do not experience a collision. The existence of exposed nodes may reduce the number of parallel transmissions but it does not violate the correctness of reception. Therefore, the exposed node problem is considered outside of the scope of this paper, albeit being considered as future work.
data portion of the message payload. Bit dominance was adapted for use in a single wireless broadcast domain in [3, 6]. These protocols consist of three main phases: synchronization, tournament and receive/transmit. During each communication cycle, nodes must agree on a common reference point in time during the synchronization phase. The synchronization phase is required before every collision resolution phase (tournament phase). The timing error as a result of the synchronization phase must have a bounded error which impacts the duration of each priority bit and the silence intervals between tournaments. Bounding as well as estimating the synchronization timing error is important because it guarantees that nodes can perceive priorities correctly [3, 6]. The tournament phase is similar to the collision resolution phase in dominance/binary countdown protocols; nodes transmit priorities bit-by-bit and the highest-priority message is granted transmission. One important modification required for these protocols to work in the wireless medium is that a node contending with a dominant bit transmits a carrier wave, while a node with a recessive bit simply listens. In this way, a node with a recessive bit can detect whether other nodes are dominant, thus reproducing the wired-AND behavior required for CAN bus. Figure 1 exemplifies a tournament phase where three nodes (N1, N2 and N3) contend for channel access with 6 priority bits. In the example, N2 is recessive in bit 3, but hears a dominant bit, and hence it stops transmitting priority bits. Once a node detects a higher priority message, it proceeds by only monitoring the medium. Observe that while N2 has a dominant bit 4, it has previously lost the tournament (in bit 3) and thus N2 does not send its dominant bit 4 or any other subsequent bits. After the tournament, nodes enter the receive/transmit phase. Nodes that have lost the tournament will monitor the medium so that they can receive data. The node with the winning priority (if priorities are unique, there will be only one winning node) continues transmitting the data part of the message. Priority bits used in the tournament to access the medium have different duration than the bits used in normal data packets. During the tournament, each priority bit has a large enough duration to encompass the time needed to switch between reception/transmission modes and to detect a carrier.
2.3.
System Model and Assumptions
The network nodes (or simply nodes) have only one transceiver and cannot send or receive out-of-band signals. They use the radio transceiver to transmit/receive data messages or pulses of a carrier wave. All nodes perform broadcasts; that is, every neighbor is a potential recipient of the transmissions, but a broadcast from a node does not necessarily reach all nodes. The radio transceivers are characterized by three relevant timing parameters: ΤRX, ΤTX and ΤCS. The transceivers take ΤRX time units to switch from idle mode to reception mode and ΤTX time units to switch from idle mode to transmission mode. ΤCS denotes the time to detect a carrier wave when in receive mode. Communication links are assumed to be bidirectional and the topology static while nodes are trying to access the medium. A data transmission that overlaps in time at a receiver causes a collision, and reception fails on that receiver. When one or more nodes transmits a carrier pulse at the same time, any listening node within range is able to detect the transmission of a carrier wave. We use the definitions in [8] for the three quantities that describe the radio range. The communication range (Rco) is the 2
maximum range at which two nodes Ni and Nj can communicate reliably. The carrier sensing range (Rcs) is the maximum range at which Ni can detect a transmission from Nj. The interference range (Rit) is the maximum range between nodes Nj and Nk such that simultaneous transmissions to Nj will collide with Nk. We assume that Rco ≤ Rit ≤ Rcs. This assumption is supported by the experimental data from [8], based on experiments with real-world platforms. Nodes execute applications that make requests to transmit data messages. No assumption is made about the origin of messages; two different messages may belong to the same sporadic message stream or they may not. Each message has a unique integer priority in the range 0..2npriobits−1, where npriobits is the number of bits required to represent the priorities. This priority is denoted as an array of bits prio[1..npriobits], where the most significant bit is prio[1]. Each node has a real-time clock with a granularity denoted as CLK that, for every unit of time, increases by an amount in the range [1-ε, 1+ ε], 0< ε prioNi.
The worst case occurs when these two bits are the last ones in the tournament. Therefore, if (7) is true
[3H + H + G + (2 H + 2G ) × (npriobits − 2)]× [1 − ε ] − [3H + H + (2 H + 2G ) × (npriobits − 1)]× [1 + ε ]
then C5 is true. C6 ) Transition 6→7 cannot occur when a node is transmitting a message (a message transmission is detected as a carrier, if nodes are performing carrier detection): If (8) is true
These properties hold if the following protocol constraints (C1 – C7) are respected. C1 ) When a node transmits a dominant bit in iteration i in the tournament, it is received by all other nodes and it is perceived to be received in iteration i. Consider an iteration of the tournament. It must have been sufficient overlap between the transmission of a carrier and the time interval where a node with a recessive bit listens. Due to clock drift and inaccuracy of synchronization, the last iteration of the tournament (the worst scenario) is considered in the following constraint:
[3H + H + G + (2 H + 2G )× (npriobits − 1)]× [1 − ε ] − [3H + G + (2 H + 2G )× (npriobits − 1)]× [1 + ε ] −
3H ≥ C + TTX + TCS
∀i ∈ {i..n} C ≥ max{Ci }
4.3.
Error Mitigation
According to the automaton in Figure 4, the normal behavior of a node after sending/receiving a data message (in State 16) is to proceed to synchronization without waiting to observe a long period of silence. If nodes only waited for a long period of silence when they boot up, then a single synchronization failure could compromise the network for an arbitrarily long period of time. To avoid this, nodes periodically do transition 16→0, forcing them to wait for a long period of silence. This transition is made every time a node performs MAX_TC tournaments. The value MAX_TC can be adjusted to the quality of the radio transceivers in the nodes. In our experiments, we have MAX_TC=100.
(4)
5. Experimental Evaluation and Discussion In this section we report both simulation experiments and the implementation of the proposed protocol in real-world platforms. The simulation enables the study of the protocol’s overall behavior in medium sized networks (we have run our simulation experiments with 30 nodes). The simulation was also used to study the protocol behavior under controlled adverse conditions. The implementation of the protocol in a sensor network platform provides an indication of the feasibility of the protocol.
(5)
then C3 is true. C4 ) During the tournament, the maximum time interval of idle time should be less than F, the initial idle period. If (6) is true ⎡3H + H + G + (2 H + 2G )× (npriobits − 1) + ⎤ ⎢G + H + C + T + T + E + T ⎥ × [1 + ε ] − RX CS CS ⎣ ⎦ [3H ]× [1 − ε ] + 2CLK + L + 2α + TCS < F
(9)
The values of C, E, F, G and H must be selected such as they satisfy (3)-(9). The selection of ΤCS, ΤRX and ΤTX is imposed by the implementation platform chosen.
(3)
then the protocol must stay in State 2 for E time units and this ensure that C2 is true. C3 ) With similar reasoning as for C2, a node which has won the tournament must wait H time units before transmission (this waiting occurs in 14→15) to be sure that all losing nodes have reached State 15. If (5) is true 2CLK + L + 2α + δ < H
to
then C7 is true.
Equation (3) implies that even in the presence of worstcase clock inaccuracies, all nodes will hear a dominant bit for at least the time necessary to detect a carrier (TCS). C2 ) If a node Ni has perceived a time of silence long enough (F time units) to make the transition 2→3 but other nodes perceive the duration of silence to be less than F time units so far due to different time-of-flights and clockimperfections, then node Ni needs to wait until all nodes have perceived this long time of silence. If (4) is true
[3H + H + G + (2 H + 2G )× (npriobits − 1)]× 2ε +
(8)
then C6 is true. C7 ) Transition 15→16 takes, at least, the time transmit/receive the longest message in the network. If (9) is true
2CLK − L − 2α − δ > TCS + 2TRX
2CLK + L + 2α + ( F + TRX + TCS ) × 2ε + TCS < E
(7)
− 2CLK − L − 2α − δ > 0
5.1.
(6)
Simulation Results
The values chosen for the protocol timeouts are dependent on the platform used. For the simulation we have instantiated the values for the timeouts C, E, F, G, H, ΤCS, ΤTX and ΤRX in Figure 4 for a platform with parameters found in literature [10, 11]. Assuming a radio with a maximum range of 30 m, we have α = 0.1μs. Typical microcontrollers have CLK = 1μs and ε = 10-5. Assuming that the protocol is implemented on dedicated hardware, L = 1μs. We choose ΤCS = 5μs because busy tone detection of narrow-band signals can be achieved in
then the amount of silence during a tournament is less than F and hence C4 is true. C5 ) The time interval between two successive dominant bits must be long enough to assure that no node interprets the first dominant bit to be transmitted in the time interval for the second dominant bit. 7
10 2 4 3 17
5
26
16
7 15
b) Start of tournament.
c) End of prio[1] transmission.
d) End of prio[2] transmission.
e) End of prio[3] transmission.
f) End of prio[4] transmission.
g)Maximized parallel transmissions.
14 1
23
19 11 22
24
12
6
29
13 0
27 8
20
25 21 28 9
18
a) Parallel transmissions at end of the tournament (end of prio[5] transmission). Node with winner=FALSE Node with winner=TRUE
Figure 6. Topology graphs illustrating parallel transmissions and tournament evolution this amount of time [11], and our application of carrier sensing is similar to busy tone detection. We assume ΤTX = ΤRX = 1μs; such transceivers have been implemented [10]. Let npriobits=5. One choice that satisfies the constraints in Section 4.2 for these parameters is: E = 10 μs; F = 553 μs; G = 20 μs; H = 30 μs. Messages are assumed to have at most 54 bytes [10]; at a data rate of 36 Mb/s, C=12 μs. Thus, instantiating (2), we get: QHP = 1662 μs. We have implemented the protocol in a discrete event simulator1. The simulation implements the automaton in Figure 4. Using npriobits=5, we tested the protocol by running 100 independent simulation runs for each scenario with varying probabilities of missing the detection of a carrier pulse. Each node was setup with one message stream having a unique priority between [0,29] and an exponentially distributed inter-arrival time, with an expected value ranging between 0.01 and 1 second. In this simulation model, we just study the behavior of the MAC protocol, so messages are just broadcasted once from its original source node. Each simulation run used a random topology with 30 nodes, where each node has on average 3 direct neighbor nodes. An example of a topology generated by the simulator is illustrated in Figure 6a. The numbers aside each node (circle) represents the priority given to the message stream of that node. The topology was constructed by randomly placing nodes within a bounded area and maintaining a minimum distance between nodes. Connectivity depends on if the power level at the receiver is above a defined threshold. The power level at the receiver is calculated as a function of the distance between nodes, using a log-normal shadowing model [12] with parameters Pt = 0 dBm, Gt = G r= 1 dBi, d0 = 1 m,
λ = 0.125 m (assuming a 2.4 GHz operating frequency), n = 2.5 and σ = 5. In all simulation runs, nodes perform more than 50000 tournaments. After each tournament, we detected whether the correctness properties collision-free, progress and prioritization were satisfied for all nodes in the network. Tournaments where any node in the network failed to satisfy one of the properties are named erroneous tournaments. These erroneous tournaments were caused by either failure to detect a synchronization carrier, or a priority bit. The probabilities of observing an erroneous tournament are plotted in Figure 7. The fact that no errors were found with a perfect detection of carriers presents evidence that the protocol correctness properties are satisfied. Observe also that the error rate is still under a low value when nodes fail to detect carriers. Consider again Figure 6a. This figure also depicts the result of a tournament where all nodes requested to transmit. With this example we observe the 4 parallel transmissions (the nodes winning a tournament are marked with a solid black circle) allowed by the protocol. Figures 6b to 6f illustrate the progression of the tournament for the same scenario shown in
Erroneous Tournaments
4%
3,12%
3%
2% 1,64%
2,01%
1,82%
1% 0,67% 0%
0% 0
1,0E-06
1,0E-05
1,0E-04
1,0E-03
1,0E-02
Probability of Undetected Carrier
1
Figure 7. Probability of an erroneous tournament.
The simulation is available at http://www.hurray.isep.ipp.pt/activities/WIDOM/MBD/ Software.ashx
8
Figure 6a. Figure 6b shows that at the beginning of the tournament all nodes are potential winners, and Figures 6c through 6f illustrate the nodes that were potential winners at the end of transmission of priority bits 1 to 4 during the tournament. Figure 6a depicts a scenario where a node is not allowed to transmit even though if it had transmitted none of the properties of the protocol would be violated. The node with priority 26 does not win the tournament, but at the same time, neither do any of its 2-neighbors. This happens because node 15 is a 2-neighbor to node 26 and it causes node 26 to lose in the first priority bit of the tournament. Later in the tournament, node 15 lost as well (observe sequence of Figures 6b to 6d). This phenomenon is known from previous research and has been dubbed multihop competing [13].
5.2.
again look at the selection of nodes made by the protocol in Figure 6a and compare it with Figure 6f. We can observe (in Figure 6f) another possible selection of nodes that increases the parallelism and still respects collision-free, progress and prioritization properties. This phenomenon (multihop competing) is subject of ongoing research. We stress that the overhead introduced by the protocol is, to a large extent, due to the transmission/reception switching time and the time necessary to perform carrier sensing. This is a technological limitation that can be overcome with better hardware. We present the following evidence that these parameters can be greatly reduced: (i) radio transceivers have been built with a switching time of only 1 μs [10], and previous research supports that carrier sensing can be performed in a duration of time as short as 5 μs [11]; (ii) we have developed hardware [17] using two separate off-the-shelf radio modules (one transmitter and one receiver) that can allow a switching time close to zero and perform carrier sensing in 50 μs. Using these transceivers, a QHP close to 20 ms can be achieved. This hardware is still in a preliminary stage; We are currently performing a redesign of this hardware to be smaller and perform better carrier sensing. With this hardware one can not only considerably reduce the overhead of the protocol, but also be more power efficient, as the radio modules used in this hardware consume considerably less energy than the CC2420 to transmit the priority bits. A protocol that provides an upper bound on the queuing times of messages is naturally useful for supporting scheduling of realtime traffic. We recognize that this is not sufficient to provide hard real-time guarantees in practice. Nonetheless, we firmly believe that this protocol can be a useful building block for wireless real-time systems.
Implementation on Sensor Network Platforms
To demonstrate the feasibility of the protocol in real-world platforms, we have implemented it in Nano-RK, a reservationbased real-time operating system (RTOS), supporting fixedpriority preemptive multitasking and bandwidth reservations for both CPU and network [14]. Nano-RK runs on both the MicaZ [15] and FireFly [14] sensor network platforms, and our implementation is compatible with these two platforms. The current implementation uses the onboard IEEE 802.15.4 compliant radio transceiver CC2420 [16], capable of 250 kbps data rate. Some characteristics of this radio are of special relevance for this implementation. This radio transceiver can only be either in transmission mode or in reception mode and it can take up to 192 μs to switch between these two modes, which is a very relevant parameter for our protocol, as it impacts heavily its performance. The CC2420 can be set into a transmitter test mode to either transmit a modulated carrier or a non-modulated carrier wave and this capability is used by the implementation to transmit the priority bits. It is also necessary to detect when other nodes transmit a carrier wave. For this, the CC2420 support for CCA is used. The CCA functionality of the CC2420 radio computes the average RSSI over the last 128 μs. This average is compared to a configurable threshold and then CC2420 sets the CCA output pin accordingly. Every time the radio is set into receive mode, it takes at least 128 μs to make the first valid CCA operation. Using this implementation2, we have obtained QHP = 113789 μs. This overhead is a consequence of CC2420’s characteristics; as observed in the previous paragraph, this radio has a long switching time between send and receive, and it is necessary to monitor the medium for a long time to reliably detect a carrier transmission (ΤCS ≈ 500μs). The reduction of these parameters is discussed in Section 5.3, and we note that this result has no bearing on final conclusion taken from this implementation: The experiments performed show that the correctness properties in Section 4.2 are not violated.
5.3.
6. Related Work The introduction of the wireless LAN standard IEEE 802.11 stimulated development of many [18-22] prioritized MAC protocols and a few of them [18-20] were adopted for the realtime profile IEEE 802.11e. Another technique [11], not based on IEEE 802.11, is to implement prioritization using two separate narrow band busy-tones to communicate that a node is backlogged with a high-priority message. This technique has the drawback of requiring specialized hardware (for listening to the narrow band signals), requires extra bandwidth (for the narrow band signals) and it supports only two priority levels. We believe that this out-of-band signaling solution [11] can be extended to k priority levels (although the authors do not mention it), but doing so would require 2k narrow band signals. The following MAC protocols [11, 18-22] can suffer from collisions making it impossible to prove that timing requirements are satisfied. The black-burst scheme in [22] was designed for a single wireless broadcast domain and is collision free if the channel is busy. This scheme was successfully exploited in [8], where hidden nodes where avoided through the use of multiple radio channels. Nonetheless, the maximum length of the black-burst is proportional to the number of priority levels. Therefore, only a small number of priority levels can be supported. This restricts severely the scalability of the system, since priorities must be unique to achieve collision free communication.
Discussion
As demonstrated, our protocol allows parallel transmissions, but it does maximize their number. As an example of this we can 2
Experimental results, the implementation and platforms are detailed in http://www.hurray.isep.ipp.pt/activities/WIDOM/MBD/.
9
[6] B. Andersson and E. Tovar, "Static-Priority Scheduling of Sporadic Messages on a Wireless Channel", In proc. of the 9th International Conference on Principles of Distributed Systems (OPODIS'05), pp. 322-333, Pisa, Italy, 2005. [7] F. A. Tobagi and L. Kleinrock, "Packet Switching in Radio Channels: Part II - The Hidden Terminal Problem in Carrier Sense Multiple-Access and the Busy-Tone Solution", IEEE Transactions on Communication, vol. 23, issue 12, pp. 1417-1433, 1975. [8] B. D. Bui, R. Pellizzoni, M. Caccamo, C. F. Cheah, and A. Tzakis, "Soft Real-Time Chains for Multi-Hop Wireless Ad-Hoc Networks", In proc. of the 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07) pp. 69-80, Bellevue, WA, USA, 2007. [9] N. Pereira, B. Andersson, E. Tovar, and A. Rowe, "Static-Priority Scheduling over Wireless Networks with Multiple Broadcast Domains", Polytechnic Institute of Porto, Porto, Portugal; IPP-HURRAY Technical Report - TR-070118, January 2007, online at: http://www.hurray.isep.ipp.pt/ activities/widom/hurray-tr-070118.pdf. [10] ETSI, " TS 101 475 V1.3.1:" Broadband Radio Access Networks (BRAN);HIPERLAN Type 2; Physical (PHY) layer. [11] X. Yang and N. H. Vaidya, "Priority Scheduling in Wireless Ad Hoc Networks", In proc. of the 3rd ACM Int. Symp. on Mobile ad hoc net. & comp. (MobiHoc'02), pp. 71-79, Lausanne, Switzerland, 2002. [12] T. Rappaport, Wireless Communications, Principles and Practice. Chapter 3, Section 3.9.1 Log-normal Shadowing: Prentice-Hall, Upper Saddle River, 1996. [13] T. You, C.-H. Yeh, and H. S. Hassanein, "CSMA/IC: A New Class of Collision-free MAC Protocols for Ad Hoc Wireless Networks", In proc. of the 28th IEEE Int. Symp. on Comp. and Comm. (ISCC'03), pp. 843-848, 2003. [14] CMU, "FireFly and Nano-RK WebSite": Carnegie-Mellon University; RealTime & Multimedia Systems Lab, 2007, online at: http://www.nano-rk.org/. [15] Crossbow, "MICAz - Wireless Measurement System Product Datasheet", 2005, online at: http://www.xbow.com/Products/Product_pdf_files/ Wireless_pdf/MICAz_Datasheet.pdf. [16] Chipcon, "CC2420 Datasheet", online at: http://www.chipcon.com/files/ CC2420_Data_Sheet_1_3.pdf. [17] CMU, "FireFly and Nano-RK WebSite - Wings Add-on Board Section": Carnegie-Mellon University; Real-Time & Multimedia Systems Lab, 2007, online at: http://www.nanork.org:8000/nano-RK/wiki/wings. [18] I. Aad and C. Castelluccia, "Differentiation Mechanisms for IEEE 802.11", In proc. of the 20th Joint Conf. of the IEEE Comp. and Comm. Soc. (INFOCOM'01), pp. 209-218, 2001. [19] M. Barry, A. T. Campbell, and A. Veres, "Distributed Control Algorithms for Service Differentiation in Wireless Packet Networks", In proc. of the 20th Annual Joint Conf. of the IEEE Comp. and Comm. Soc. (INFOCOM'01), pp. 582-590, Anchorage, AK, USA, 2001. [20] D.-J. Deng and C. Ruay-Shiung, "A Priority Scheme for IEEE 802.11 DCF Access Method", IEICE Trans. on Communication, vol. E82-B, pp. 96-102, 1999. [21] J.-P. Sheu, C.-H. Liu, S.-L. Wu, and Y.-C. Tseng, "A priority MAC protocol to support real-time traffic in ad hoc networks", Wireless networks, vol. 10, issue 1, pp. 61-69, 2004. [22] J. L. Sobrinho and A. S. Krishnakumar, "Real-time traffic over the IEEE 802.11 medium access control layer", Bell Labs Technical Journal, vol. 1, issue 2, pp. 172-187, 1996. [23] W. C. Thomas, A. B. Moussa, B. Rajeev, and B. S. David, "Contention-Free Periodic Message Scheduler Medium Access Control in Wireless Sensor / Actuator Networks", In proc. of the IEEE Real-Time Systems Symposium, Cancun, Mexico, pp. 298-307, Cancun, Mexico, 2003. [24] H. Li, P. Shenoy, and K. Ramamrithan, "Scheduling Communication in Real-Time Sensor Applications", In proc. of the IEEE Real-Time and Embedded Technology and Applications Symposium, Toronto, Canada, 2004. [25] A. Rowe, R. Mangharam, and R. Rajkumar, "RT-Link: A TimeSynchronized Link Protocol for Energy- Constrained Multi-hop Wireless Networks", In proc. of the 3rd Annual IEEE Communications Society on Sensor and Ad Hoc Communications and Networks (SECON '06), pp. 402411, 2006. [26] M. Caccamo and L. Y. Zhang, "An Implicit Prioritized Access Protocol for Wireless Sensor Networks", In proc. of the 23rd IEEE International RealTime Systems Symposium (RTSS'02), pp. 39-48, Austin, Texas, 2002.
Various other collision-free MAC protocols have also been proposed from the real-time systems community with the goal of meeting deadlines. Some protocols use tables (sometimes called TDMA templates) with explicit start times for message transmissions. Such tables are created at run-time (see [23] or [24]) or at design time [25]. However, all these time-table approaches have the drawback of requiring that sporadic message streams are dealt with using polling, which is inefficient. Another approach, Implicit-EDF [26], is based on the assumption that all nodes know the traffic on other nodes that compete for the medium, and nodes execute the EDF scheduling algorithm. This algorithm is based on the assumption that a node knows the arrival time of messages on other nodes, and this implies that polling must be used to deal with sporadic message streams. Two attempts ([3] and [13]) have been made to migrate the dominance protocol to the wireless context. Both of them modulate the priority bits using on-off keying, encoding a dominant bit as the transmission of a carrier and a recessive bit as silence. The work in [3] was prioritized and collision-free, but only operated in a single broadcast domain. The previous work from [13] was designed to operate even in networks with MBD:s but it only offers a partial solution. A sending node transmits a busy tone on a separate channel and this tone has higher transmission power (or the receivers for the tone are more sensitive) so it has double the range as compared to the range of data transmission. This does not work in the case where two source nodes request to transmit to a receiving node and the two source nodes are close to each other but a communication obstacle keeps them hidden from each other. (This is discussed in Figure 5 of [11]).
7. Conclusions We have proposed a MAC protocol that is prioritized and collision-free in networks with MBD:s in the presence of hidden nodes. It achieves arbitration without base stations and without relying on out-of-band signals. This work offers a solid foundation for schedulability analysis techniques for wireless networks (for example [4]). The proposed protocol was implemented and tested to show that the correctness properties stated are not violated. For future work, we plan to exploit specialized hardware and introduce modifications to the protocol that enable a reduction of the overhead. Finally, the problem of maximizing the number of parallel transmissions and an analysis on the real-time guarantees provided are two important aspects to pursue.
References [1] A. K. Mok and S. Ward, "Distributed Broadcast Channel Access", Computer Networks, vol. 3, issue 5, pp. 327-335, 1979. [2] R. I. Davis, A. Burns, R. J. Bril, and J. J. Lukkien, "Controller Area Network (CAN) schedulability analysis: Refuted, Revisited and Revised", Real-Time Systems, vol. 35, issue 3, pp. 239-272, 2007. [3] N. Pereira, B. Andersson, and E. Tovar, "WiDom: A Dominance Protocol for Wireless Medium Access", IEEE Transactions on Industrial Informatics, vol. 3, issue 2, May 2007. [4] T. F. Abdelzaher, S. Prabh, and R. Kiran, "On Real-Time Capacity Limits of Multihop Wireless Sensor Networks", In proc. of the IEEE International Real-Time Systems Symposium, pp. 359-370, Lisbon, Portugal, 2004. [5] A. Mok, "Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment", in PhD thesis, EECS. Cambridge, Mass.: MIT, 1983.
10