Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
MMSN: Multi-Frequency Media Access Control for Wireless Sensor Networks Gang Zhou, Chengdu Huang, Ting Yan, Tian He, John A. Stankovic Department of Computer Science University of Virginia, Charlottesville 22903 {gzhou,ch4pp,ty4k,tianhe,stankovic}@cs.virginia.edu Abstract— Multi-frequency media access control has been well understood in general wireless ad hoc networks, while in wireless sensor networks, researchers still focus on single frequency solutions. In wireless sensor networks, hardware devices are equipped with very limited communication ability and applications adopt much smaller packet sizes compared to those in general wireless ad hoc networks. Hence, the multi-frequency MAC protocols proposed for general wireless ad hoc networks are not suitable for wireless sensor network applications, which we further demonstrate through our simulation experiments. In this paper, we propose MMSN, the first multi-frequency MAC protocol for wireless sensor networks. In the MMSN protocol, four frequency assignment options are provided to meet different application requirements. A scalable media access is designed with efficient broadcast support. Also, an optimal non-uniform backoff algorithm is derived and its lightweight approximation is implemented in MMSN, which significantly reduces congestion in the time synchronized media access design. Through extensive experiments, MMSN exhibits prominent ability to utilize parallel transmission among neighboring nodes. It also achieves increased energy efficiency when multiple physical frequencies are available. I. INTRODUCTION As an emerging technology, wireless sensor networks (WSNs) have a wide range of potential applications [1] [2] [3], including environment monitoring, smart buildings, medical care, industry and military applications. Being an essential part of the communication stack, media access control (MAC) has received intense research attention, and a number of solutions have been proposed [4] [5] [6] [7] [8] [9] for WSNs. While these solutions work well when one physical frequency is used, parallel data transmission when multiple frequencies are available is not considered. On one hand, the radio bandwidth in WSNs is very limited, 19.2Kbps in MICA2 [10] and 250Kbps in MICAz [11] and Telos [12]. On the other hand, the current WSN hardware already provides multiple frequencies: 84 configurable frequencies in TinyOS [10] for the CC2420 [13] radio that is equipped in MICAz and Telos motes, within which 16 are well separated. So it is imperative to design multi-frequency MAC protocols in wireless sensor networks to take full advantage of parallel transmission to improve network throughput. In the state-of-the-art research of general wireless ad hoc networks, a significant number of MAC protocols have been proposed to work on multiple frequencies. However, these protocols are not suitable for WSN applications. First, to save energy and reduce product cost, only a single transceiver exists in each sensor device. This single transceiver can not transmit and receive at the same time, nor can it function on different frequencies simultaneously. This hardware design is quite different from those assumed in many general wireless ad hoc protocols. For example, protocols [14] [15] are designed for frequency hopping spread spectrum (FHSS) wireless cards, and protocol [16] assumes the busy-tone functionality on the hardware. In protocols [17] [18] [19], the hardware is assumed to have the ability to listen to multiple frequencies at the same time. Second, the network bandwidth in WSNs is very limited and the MAC layer packet size is very small, 30∼50 bytes, compared to 512+ bytes used in general wireless ad hoc networks. Due to the small data packet size, the RTS/CTS control packets in IEEE 802.11 [20] no longer constitute a small overhead that can be ignored. So protocols [21] [22] [23] [24] [25] that are based on IEEE 802.11, and protocols [26] [27] [28] [14] that use RTS/CTS for frequency negotiation are not suitable for WSN applications, even though they exhibit good performance in general wireless ad hoc networks. In this paper, we propose the MMSN protocol, which takes full advantage of multiple frequencies and is especially designed to meet WSN requirements. The detailed MMSN design is presented from two aspects: frequency assignment and media access, and its performance is evaluated through extensive simulation. The main contributions of this work can be summarized as follows: • • To the best of our knowledge, the MMSN protocol is the first multi-frequency MAC protocol especially designed for WSNs, in which each device is equipped with a single transceiver and the MAC layer packet size is very small. Instead of using pair-wise RTS/CTS frequency negotiation [26] [27] [28] [14], we propose lightweight frequency assignment, which takes advantage of the static property of many deployed wireless sensor networks [29] [30] [31] [32]. Even though pair-wise frequency negotiation is efficient when devices are highly mobile, it involves unnecessary overhead and is too costly when it comes to static WSN applications. This paper gives a complete study of tradeoffs among physical frequency requirements, potential conflict reduction and communication overhead, during frequency assignment. Four optional frequency assignment schemes II. MOTIVATION To obtain a better understanding of the cost difference the RTS/CTS control packets bring in general wireless ad hoc networks versus WSNs, we choose a typical multi-frequency MAC protocol, the MMAC [26] protocol, proposed for general wireless ad hoc networks, as a case study. In MMAC, periodically transmitted beacons divide time into fixed-length beacon intervals. At the beginning of each beacon interval, there is a small window called the ATIM window, in which the nodes that have packets to send negotiate frequencies with destination nodes. After the ATIM window, nodes that have successfully negotiated frequencies with their destinations can send out data packets using the IEEE 802.11 protocol, i.e. exchanging RTS/CTS before sending out DATA packets. We implement MMAC in GloMoSim [34], a scalable discreteevent simulator developed by UCLA, and observe the performance. We adopt the same experiment set up as in [26]: 100 nodes are randomly placed in a 500m×500m terrain. The transmission range of each node is 250m. Each node has 3 physical frequencies. Forty nodes are randomly chosen to be sources, and 40 nodes are randomly chosen to be destinations. Source nodes generate CBR traffic to destinations with a rate of 10 packets per second. Figure 1 plots the aggregate MAC throughput of the network with different packet sizes. As can be observed in Figure 1, when the packet size is large, the MMAC protocol with 3 frequencies and a beacon interval of 100ms (the default configuration suggested in [26]) impressively enhances the aggregate MAC throughput by a factor of nearly 2 over IEEE 802.11. This result is consistent with that presented in [26]. However, the performance of both MMAC and IEEE 802.11 degrades when the packet size reduces. This is because the overhead of using RTS/CTS packets becomes more prominent when the data packet size is small. Moreover, the performance improvement of MMAC over IEEE 802.11 diminishes when the packet size becomes smaller. When the packet size is as small as 32 bytes, IEEE 802.11 even has a slightly higher throughput than MMAC. The reason is when the packet size reduces, more packets could be sent in a beacon interval. However, since nodes generally can not switch frequency during a beacon interval, the bandwidth wasted is more severe compared to the case when the packet size is large. Changing the length of the beacon interval could be beneficial, but the effect is two-sided. While lengthening the beacon interval can mitigate the overhead of having a fixed period of frequency negotiation, it deteriorates the bandwidth waste caused by the requirement that nodes have to stick to the frequency they have negotiated with some of their neighbors. In Figure 1, we also plot the cases with different beacon intervals. We can see that while using a shorter beacon interval (50ms) helps to some extent, MMAC with 3 frequencies still can not even outperform IEEE 802.11 with a single frequency, when the packet size is as small as 64 or 32 bytes. The main observation we make here is that while MMAC is a good multi-frequency MAC protocol for general wireless ad hoc networks where packets usually have large sizes, it is not suitable for WSNs where packets are much smaller. Packet arrival rate per flow is 10 packets/sec Aggregate MAC Throughput (Kbps) are proposed for MMSN, which exhibit distinguished advantages in different scenarios. • We develop new toggle transmission and toggle snooping techniques to enable the single transceiver sensor device to achieve scalable performance, avoiding the nonscalable “one control channel + multiple data channels” design [33]. Also, MMSN has efficient broadcast support, which either is not addressed in [26] or is implemented by repeated link-layer retransmission of broadcast packets enqueued by higher layers in [21]. Moreover, through strict theoretical analysis, an optimal non-uniform backoff algorithm is derived and its lightweight approximation is implemented in MMSN. Compared with a uniform backoff algorithm, this nonuniform scheme significantly reduces potential conflicts among neighboring nodes. The rest of this paper is organized as follows: In Section II, we present the motivation of this work. In Section III, the design details of MMSN are explained. In Section IV, extensive experiments are conducted to evaluate MMSN’s performance. The related work is explained in Section V, and finally in Section VI, we present the conclusions and point out future work. 1400 802.11 MMAC, Beacon Interval = 50ms MMAC, Beacon Interval = 100ms MMAC, Beacon Interval = 150ms 1200 1000 800 600 400 200 0 512 256 128 64 32 Packet Size (bytes) Fig. 1. Effect of Packet Size on MMAC III. MMSN PROTOCOL This section presents the MMSN multi-frequency MAC protocol. MMSN is especially designed for WSNs, which is composed of hundreds of simple devices geographically dispersed in an ad hoc network over a large geographic area. Each device is equipped with a single transceiver and the packet size is very small, 30∼50 bytes. The MMSN protocol consists of two aspects: frequency assignment and media access. The frequency assignment is used to assign different frequencies if enough frequencies exist, or evenly allocate available frequencies if there are more neighbors than available frequencies, to nodes that have potential communication conflicts. MMSN allows users to choose 1 of 4 available frequency assignment strategies. In media access design, nodes that have potential conflicts coordinate to access the shared physical frequencies, in a distributed way. A. Frequency Assignment In frequency assignment, each node is assigned a physical frequency for data reception. The assigned frequency is broadcast to its neighbors, so that each node knows what frequency to use to transmit unicast packets to each of its neighbors. We do not adopt RTS/CTS frequency negotiation [29] [30] [31] [32], because it involves unnecessary overhead for many deployed wireless sensor networks [29] [30] [31] [32] where devices are generally not mobile. In WSNs, frequency assignment can either be done once at the beginning of the system deployment, or it can be done very infrequently just for adaptation to system aging. In order to reduce communication interference and hence reduce hidden terminal problems [20], nodes within two communication hops1 are evenly assigned available physical frequencies. In this section, four optional frequency assignment schemes are put forth: exclusive frequency assignment, even selection, eavesdropping and implicit-consensus. Among these four, exclusive frequency assignment guarantees that nodes within two hops are assigned different frequencies, when the number of frequencies is equal to or greater than the node number within two hops. Implicit-consensus also provides this guarantee, with less communication overhead, but requires more physical frequencies. Even selection and eavesdropping do not provide this guarantee and is designed for use when the number of available frequencies is smaller than the node number within two hops. Among these two, even selection leads to fewer potential conflicts while eavesdropping is more energy efficient. Users of MMSN can choose any one of the four options depending on their WSN attributes. Details of these four schemes are presented in the following subsections. 1) Exclusive Frequency Assignment: In exclusive frequency assignment, nodes first exchange their IDs among two communication hops, so that each node knows its two-hop neighbors’ IDs. A simple way to implement this is for each node to broadcast twice. In the first broadcast, each node beacons its node ID, so that each node knows its neighbors’ IDs within one communication hop. In the second broadcast, each node beacons all neighbors’ IDs it has collected during the first broadcast period. Hence, after the second beacon period, each node gets its neighbors’ IDs within two communication hops. Currently, we do not consider radio irregularity and link asymmetry [36] [37] [38] [39], readers can refer to [40] [41] [42] for more information about reliability issues in broadcast. After nodes collect ID information of all neighbors within two hops, they make frequency decisions in the increasing order of their ID values. If a node has the smallest ID among its two communication hops, it chooses the smallest frequency among available ones, and then beacons the frequency choice within two hops. If a node’s ID is not the smallest one among two hops, it waits for frequency decisions from other nodes within two hops that have smaller IDs. After decisions 1 In [35], it is pointed out that interference hops, rather than communication hops, should be used for this purpose. For simplicity, we use two communication hops in this work. All algorithms proposed here can be easily extended by replacing the two communication hops with two interference hops. from all those nodes are received, the node chooses the smallest available (not chosen by any of its two-hop neighbors) frequency and broadcasts this choice among two hops. This scheme guarantees to assign different frequencies to different nodes within any two-hop neighborhood, when the number of frequencies is at least as large as the two-hop node number. 2) Even-Selection: In exclusive frequency assignment, when there are not enough frequencies, it is possible that when a node makes its frequency decision, all physical frequencies have already been chosen by at least one node within two hops. In this case, the exclusive frequency assignment is extended by randomly choosing one of the least chosen frequencies. For convenience, we call this extension even selection, which makes an even allocation of available frequencies to all nodes within any two communication hops. 3) Eavesdropping: Even though the even selection scheme leads to even sharing of available frequencies among any twohop neighborhood, it involves a number of two-hop broadcasts. To reduce the communication cost, we propose a lightweight eavesdropping scheme. In eavesdropping, each node takes a random backoff before it broadcasts its physical frequency decision. During the backoff period, each node records any physical frequency decision overheard. When a node’s backoff timer fires, it randomly chooses one of the least chosen frequencies for data reception. Compared with even selection, eavesdropping has less communication overhead, but it also results in more potential conflicts, because it only collects information within one hop for frequency decisions. Algorithm 1 Frequency Number Computation Input: Node α’s ID (IDα ), and node α’s neighbors’ IDs within two communication hops. Output: The frequency number (F reN umα ) node α gets assigned. index = 0; F reN umα = -1; repeat Rndα = Random(IDα , index); F ound = T RU E; for each node β in α’s two communication hops do Rndβ = Random(IDβ , index); if (Rndα < Rndβ ) or (Rndα == Rndβ and IDα < IDβ ) then F ound = F ALSE; break; end if end for if F ound then F reN umα = index; else index ++; end if until F reN umα > −1 4) Implicit-Consensus: When physical frequencies are abundant, the communication overhead in exclusive frequency assignment can be further reduced, while all nodes within any 1200 1000 800 600 400 EnergyConsumption (mWhr) 7000 Even Selection Eavesdropping 1400 # Potential Conflicts # Potential Conflicts 1600 Even Selection Eavesdropping 6000 5000 4000 3000 2000 1000 0 200 14 18 22 26 30 34 38 2 4 8 16 32 0.25 0.2 0.15 0.1 0.05 0 # Frequencies Node Density Even Selection Eavesdropping 14 18 22 26 30 34 38 Node Density (a) #Potential Conflicts vs. Node Density (b) #Potential Conflicts vs. #Frequencies (c) Energy Consumption vs. Node Density Fig. 2. Performance Evaluation of Frequency Assignment two-hop neighborhood can still be guaranteed to get assigned different frequencies. To achieve this performance, we propose the implicit-consensus scheme, which is inspired by the pseudo random number generator algorithms proposed in the NAMA [43] paper. In NAMA, the pseudo random number generators are used to design distributed time scheduling in TDMA. In this paper, we extend this basic pseudo random number generator idea, proposing a distributed frequency assignment algorithm for multi-frequency MAC designs. In implicit-consensus, nodes’ IDs need to be collected within two hops, in the same way as what is done in exclusive frequency assignment. Then, each node calculates its frequency number with a local computation. In the system, all nodes share the same pseudo random number generator, which is able to generate a unique random number sequence for each specified seed, the node ID here. Algorithm 1 presents the scheme for each node to calculate its frequency number. To assist explanation, node α is taken as an example. As algorithm 1 states, for each frequency number, each node calculates a random number (Rndα ) for itself and a random number (Rndβ ) for each of its two-hop neighbors, with the same pseudo random number generator. A node wins the current frequency number if and only if its current random number is the highest among all current random numbers generated by all nodes within two hops. When two random numbers tie, the one with the larger node ID wins. In this way, each node explores all frequency numbers from zero to positive infinity until it finds the frequency that it has the highest priority for. By using the same pseudo random number generator, it is guaranteed that when a node decides that it wins frequency number F reN umi , all nodes within two hops automatically agree with that decision and consensus is implicitly achieved, without any communication. Here, a question may arise, since each node has a global ID. Why do not we just map nodes’ IDs within two hops into a group of frequency numbers and assign those numbers to all nodes within two hops? Unfortunately, this scheme does not work, because a node’s ID may get mapped to different frequency numbers in different two-hop neighborhoods. Also, it is not scalable to build a one-to-one mapping between nodes’ IDs and all available frequencies, because this makes the frequency requirement depend on the network size, rather than the node density. In implicit-consensus, when a node (node A) does not win the current frequency number (F reN umc ), because its random number is smaller than that of one of its two-hop neighbors (node B), it may happen that this neighboring node B has already won a previous frequency number. In this case, node B does not need the current frequency number. Node B should have already terminated its frequency number computation before it takes F reN umc into consideration, according to the repeat-until loop termination condition in algorithm 1. So, node A keeps trying larger frequency numbers until it finally finds one, while at the same time frequency number F reN umc is not chosen by any node within this two-hop neighborhood. Accordingly, the finally assigned frequency numbers among two communication hops may not be continuous. There may be holes, and some frequency numbers may not be assigned to any node, which is why the implicitconsensus scheme assumes that the available frequencies are abundant. With the assigned frequency numbers, each node can easily calculate its physical frequency, with a local mapping. Let’s put the available frequencies in a sorted list, F reList = {f0 , f1 , . . . , fN }, in increasing order. If the assigned frequency number is F reN umi , the corresponding physical frequency is mapped to fF reN umi . After each node gets its physical frequency, it broadcasts this information to its one hop neighbors, so that each node knows what frequency to use to transmit packets to its neighbors. B. Evaluation of Frequency Assignment In this section, we compare the performance of even selection and eavesdropping, when available frequencies are not enough and potential conflicts exist. Performance comparison of exclusive frequency assignment and implicit-consensus are not presented, because both of them guarantee that there are no potential conflicts within any two-hop neighborhood. In the experiments, performance is compared from three aspects. First, we compare the performance when the node density2 increases while the number of available frequencies is fixed at 5. We use the number of potential conflicts as the performance metric, which is defined as the total number 2 The node density is defined as the number of nodes within one communication hop, and different node densities are configured by setting different radio ranges. of node pairs in the system that satisfies the condition: the node pair is within two communication hops and both nodes share the same frequency. Since the two nodes are within two hops, two of their common neighbors may simultaneously transmit packets to them respectively. When they are assigned the same frequency, these two data transmission interfere with each other, and packet loss may happen. So the number of potential conflicts measures the system’s ability of full multi-frequency utilization. Second, besides node density, we also vary the number of available frequencies, to test the performance stability of even selection and eavesdropping. Third, we measure the communication energy consumption of all nodes within the system to compare the cost each scheme pays for its performance. We also explore the cost variation when different node densities are used. The performance comparison is conducted in GloMoSim [34], in which 289 nodes are uniformly deployed in a terrain of 200m×200m square. The radio type is set to RADIOACCNOISE [34] and the radio bandwidth is set to 250Kbps. The performance results are illustrated in Figure 2. For each data value we present, its 90% confidence interval is given as well. As shown in Figure 2 (a), for all the node densities we set from 14 to 38, even selection always performs better than eavesdropping. For instance, when node density is 14, even selection has 302 potential conflicts, which is 40% less than the 507 potential conflicts eavesdropping has. When the node density increases to 38, even selection has 1106 potential conflicts and that is 23% less than the 1434 potential conflicts eavesdropping has. Even selection achieves this good performance because when a frequency decision is made, it is always the case that one of the least loaded frequencies is preferred within two hops. In this way, load is well distributed among all available frequencies within any two-hop neighborhood. However, in eavesdropping, nodes make frequency decisions based on overheard information within only one hop, which leads to a lower performance than even selection. From Figure 2 (a), it is also observed that the number of potential conflicts increases for both even selection and eavesdropping, when the node density increases. This is because the number of frequencies is fixed at 5, so the increased node density results in the increased number of nodes that share the same frequency within two hops. Besides node density, we also vary the number of available frequencies to compare the performance of even selection and eavesdropping. In Figure 2 (b), the similar phenomenon is observed: even selection performs consistently better than eavesdropping, for all the numbers of frequencies we choose from 2 to 32. With respect to energy consumption, Figure 2 (c) shows that even selection consumes less energy than eavesdropping. This is because even selection has two-hop neighbor discovery as well as two-hop broadcasts of frequency decisions, while eavesdropping only has one hop broadcasts. However, this energy consumption is amortized during data transmission, because in many running sensor network applications [29] [30] [31] [32], sensor devices are generally static, so frequency assignment can either be done once at the beginning of the system deployment, or it can be done very infrequently just for adaptation to system aging. Accordingly, if the specific sensor network system is mostly static and the network congestion is a big issue, even selection is a better choice. On the other hand, if the system topology varies a lot with time and the network is lightly loaded, eavesdropping can be used to save more energy. C. Media Access Design After frequency assignment, each node gets a physical frequency for data reception. With the assigned frequencies, nodes cooperate to maximize parallel transmission among neighboring space in media access. To provide efficient broadcast support, nodes are time synchronized [44] during media access. A time slot consists of a broadcast contention period (Tbc ) and a transmission period (Ttran ). During the Tbc period, nodes compete for the same broadcast frequency and during the Ttran period, nodes compete for shared unicast frequencies. The Ttran period also provides enough time to actually transmit or receive a broadcast or unicast data packet. The time slot size depends on the number of nodes that compete for the same frequency and the data packet size. The regular time slot size is 3∼5ms. Within one time slot, a node is able to either transmit or receive one packet. Each node first checks the broadcast frequency f0 3 for receiving or transmitting a broadcast packet. If there is no broadcast packet to transmit or receive, unicast packet transmission and reception are considered. Each node’s behavior differs depending on whether it has one packet to transmit or not, as well as whether it has a unicast packet or a broadcast packet to transmit. What follows explains the detail. ✶✸✷ ✹ ✶✛✺ ✻ ✼ ✽ ✓✂✬ ✲✛✔✠✳✞✴ ✗ ✘ ✙ ✚ ✾ ✿✸❀ ✓✂✔✠✕☎✕✛✖✜✗ ✘ ✙ ✚ ✾ ❁❂❀ ✓✂✔✠✕☎✕✞✖☛✗ ✘ ✙ ✚ ✾ ❃✸❀ ✓✂✔✠✕☎✕✞✖☛✗ ✘ ✙ ✚ ✂✁☎✄✆✁✞✝ ✟✠✁☛✡✌☞✎✍ ✏ ✑ ✒ ✓✂✔✠✕✛✕✞✖✜✗ ✘ ✢ ✣ ✤ ✥ ✚ ✓✂✬ ✲✵✔✠✳✞✴ ✗ ✘ ✢ ✣ ✤ ✥ ✚ ★✦✩☎✪✫✩✞✬ ✭✆✩☛✮✦✯✱✰☎✗ ✘ ✢ ✣ ✤ ✥ ✚ ✓✦✔✠✕☎✕✛✖✧✗ ✘ ✢ ✣ ✤ ✥ ✚ Fig. 3. When a Node Has no Packet to Transmit 1) Has No Packet to Transmit: If a node does not have any packet to transmit within a time slot, it behaves as Figure 3 presents. It first snoops on frequency f0 during the time period Tbc . If the channel is busy, it becomes aware that another node is broadcasting a packet. So it receives the broadcast packet during the rest of the time slot, which is illustrated in case (a). On the other hand, if no signal is sensed during the time period Tbc , the node switches to snoop on frequency fself , which is the frequency assigned to it for unicast packet reception. If a signal is sensed in frequency fself , it receives the packet 3 One specific physical frequency is used for broadcast during the T bc period, and this frequency can be reused during the Ttran phase for unicast transmission. So all frequencies are fully utilized. during the rest of the time slot, as shown in case (b). Here, we define TP acket T ransmission as the time to deliver a packet after it gets the channel, which depends on the packet size and radio bandwidth. A nodes needs to keep on sensing the channel for a possibly incoming unicast packet, until the time left for the current time slot is shorter than TP acket T ransmission , as shown in case (c). When the time left for the current time slot is less than TP acket T ransmission , no neighboring nodes will send a packet to this node, so it turns off carry sensing until the start of the next time slot to save energy. ✵✷✶ ✸ ✽ ✾✱✿ ✽ ❀✂✿ ✵☞✹ ✺ ✻ ✼ ✦✑✲ ✳✱★✡✙✓✴ ✣ ✢ ✤ ✥ ✂✁☎✄✝✆✟✞✡✠ ✠☞☛ ✠ ✌ ✍ ✘✂✙☎✚✝✛✟✜✡✢ ✢☞✣ ✢ ✤ ✥ ✎✑✏☎✄✝✏✓✒ ✔✝✏✕✂✖✗☛ ✠ ✌ ✍ ✦✂✧☞★✝✩✫✪☎✬ ✜☎✙✡✩☞✚✭✙✡✮✭✯✱✰✡✙☎✚✝✛✭✧✝✯✱✣ ✢ ✤ ✥ Fig. 4. When a Node Has a Broadcast Packet to Transmit 2) Has a Broadcast Packet to Transmit: If a node has a broadcast packet for transmission, it may have two different behaviors as illustrated in Figure 4. At the beginning of the time slot, the node uses frequency f0 , which is specified for transmitting and receiving broadcast packets. It first sets a random backoff within the time period Tbc . If it senses any signal during the backoff period, it becomes aware that another node is broadcasting a packet. In this case (case (a)), the node spends the rest of the time slot receiving the broadcast packet. There is another case, case (b), in which the node does not sense any signal in frequency f0 , during the time period Tbc . In this scenario, a broadcast packet is sent out from this node, after the backoff timer fires. ●✷❍ ■ ◆ ❖✱P❘◗✑❙✡❚☎❚☞❯ ❈ ❉ ❊ ❋ ●☞❏ ❑ ▲ ▼ ◗ ❄ ❱ ❙☎❲✓❳ ❈ ❉ ❊ ❋ ❁✑❂✓❃✭❂☞❄ ❅✝❂✕❆✂❇✗❈ ❉ ❊ ❋ ◆ ♥✂P ◗✑❙✡❚☎❚✓❯ ❈ ❉ ❊ ❋ ❆ ❲ ❃✝❨ ❚ ❉ ❉☞❈ ❉ ❩ ❬ ❭ ❪ ❫ ❉ ❴ ❬ ❩ ❏ ❋ ◗ ❄ ❱ ❙✡❲✓❳ ❈ ❉ ❩ ❬ ❭ ❪ ❋ ◆ ♦✱P ◗✑❙✡❚☎❚✓❯ ❈ ❉ ❊ ❋ ❆ ❲ ❃✝❨ ❚ ❉ ❉☞❈ ❉ ❩ ❬ ❭ ❪ ❫ ❉ ❴ ❬ ❩ ❏ ❋ ◗ ❄ ❱ ❙✡❲✓❳ ❈ ❉ ❴ ❬ ❩ ❏ ❋ the backoff time period, the node snoops on two frequencies. On one hand, it snoops on frequency fself , which is assigned to it for data reception, to get prepared for a possibly incoming unicast packet. On the other hand, it also snoops on frequency fdest , which is assigned to the destination node of its unicast packet for data reception. If frequency fdest is sensed busy, it can be aware that another node is transmitting a unicast packet to the same destination node, and it can choose not to transmit the unicast packet in the current time slot to avoid collisions. The node snoops on these two frequencies alternatingly, and we call this scheme toggle snooping, which will be discussed in detail in subsection III-C.4. During toggle snooping, if the node senses any signal on frequency fself , it gets to know that it itself is the destination of an incoming unicast packet. So it stops toggle snooping to receive the data packet, which is illustrated in case (b). During the toggle snooping, the node may also sense a signal on frequency fdest . When frequency fdest is sensed busy, the node gets to know that another node is competing for the shared frequency, by sending a unicast packet to the same destination node. In this case, the node stops toggle snooping and switches to snoop on frequency fself only. It gives up transmitting a unicast packet in this time slot and prepares to receive possible data packet transmitted to it. So if any signal is sensed in frequency fself , as shown in case (c), it receives the unicast packet during the rest of the time slot. Before the node senses any signal in frequency fself , it keeps sensing the frequency until the time left for the current time slot is TP acket T ransmission , as shown in case (d). When the left time for the current time slot is shorter than TP acket T ransmission , it turns off carry sensing to save energy. If the node does not sense any signal in both frequency fself and fdest during the backoff time period, as shown in case (e), it sends out a unicast packet with the toggle transmission technique, which is illustrated in Figure 6. ❁✑❂☎❃✝❂✓❄ ❅✝❂✫❵❜❛✟❝✡❈ ❉ ❩ ❬ ❭ ❪ ❋ ◗❞❙☎❚☎❚✓❯ ❈ ❉ ❩ ❬ ❭ ❪ ❋ ◗ ❄ ❱ ❙✡❲✓❳ ❈ ❉ ❩ ❬ ❭ ❪ ❋ . ❁❜❂☎❃✭❂✓❄ ❅✡❂✕❵❡❛❡❝✡❈ ❉ ❩ ❬ ❭ ❪ ❋ Preamble ◗ ❄ ❱ ❙✡❲✓❳ ❈ ❉ ❴ ❬ ❩ ❏ ❋ ◆ ♣❞P ◗✑❙✡❚☎❚✓❯ ❈ ❉ ❊ ❋ ❆ ❲ ❃✝❨ ❚ ❉ ❉☞❈ ❉ ❩ ❬ ❭ ❪ ❫ ❉ ❴ ❬ ❩ ❏ ❋ ◆ q✷P ◗✑❙✡❚☎❚✓❯ ❈ ❉ ❊ ❋ ❆ ❲ ❃✝❨ ❚ ❉ ❉☞❈ ❉ ❩ ❬ ❭ ❪ ❫ ❉ ❴ ❬ ❩ ❏ ❋❢● ❚ ❱☎❱ ❳ ❂❤❣✭❂ ❙✝✐❦❥☎❙ ❄ ❃ ❲ ❣✭❧ ❯✡❲ ❃✝❨♠❂✝❧ ❈ ❉ ❴ ❬ ❩ ❏ ❋ PHY Protocol Data Unit ◗❞❙☎❚☎❚✓❯ ❈ ❉ ❩ ❬ ❭ ❪ ❋ Transmission with f Fig. 6. Fig. 5. dest Transmission with f self Toggle Transmission When a Node Has a Unicast Packet to Transmit 3) Has a Unicast Packet to Transmit: Figure 5 illustrates the different behaviors a node may take, if it has a unicast packet for transmission. The node first listens to the broadcast frequency f0 during time period Tbc . If it senses any signal during Tbc , which must be a broadcast packet, the node spends the rest of the time slot receiving the broadcast packet, as shown in case (a). Cases (b)(c)(d)(e) illustrate the other four scenarios in which the node does not sense any broadcast signal during the time period Tbc . In these cases, the node takes a random backoff within the time period Ttran − TP akcet T ransmission . During As Figure 6 illustrates, the preamble bytes of the physical layer protocol data unit (PPDU) is transmitted with two frequencies, fself and fdest , in an alternating way. The rest of the PPDU is transmitted to the destination node in frequency fdest . The toggle transmission scheme is useful to reduce collisions. As shown in Figure 7 (a), when node B is transmitting a unicast packet to node C with the toggle transmission technique, the preamble transmitted in frequency fself informs other nodes that this channel is busy, so that any node that wants to send a packet to node B can back off. On the other hand, the preamble transmitted in frequency fdest informs any node that wants to send a data packet to node C to back off and avoid possible collisions. The relation of toggle transmission and toggle snooping is analyzed in the following subsection. 4) Toggle Snooping and Toggle Transmission: When a node has a unicast packet for transmission, toggle snooping is used during the Ttran period and the node snoops on two frequencies alternatingly: the frequency it uses for data reception (fself ), and the frequency the destination node of its unicast packet uses for data reception (fdest ). The time a node takes to snoop on both of the two frequencies for one round is called the toggle snooping period, represented by parameter TT S . In toggle transmission, a node transmits the preamble bytes of the PPDU with two frequencies, the frequency the node itself uses for data reception (fself ) and the frequency the destination node of the unicast packet uses for data reception (fdest ). The transmitter switches between these two frequencies alternatingly and the time the node sweeps the two frequencies for one round is called the toggle transmission period, represented by parameter TT T . ❆ ❇ ❈ ❉ ❊✄❋❂❆❍●❏■✜❑✄❊✕▲✎▼✕◆ ❖❏P✑◗✮❖✕●✥❊✕❘ ❙ ❚ ❃✟❄✘❅ ❃✟❄✧❄ ✸✑✱ ✹✄✬✮✺✼✻✾✽ ✿ ✿ ✰✄✱ ✲ ❀❁✴✶✵ ★✪ ★✪ ★✷ ★✷ ★✩ ✫✆✬☛✭✮✭✄✯☛✰✄✱ ✲ ✳✕✴✶✵ ✸❂✱ ✹✥✬✚✺✮✻✾✽ ✿ ✿ ✰✕✱ ✲ ❀✑✴ ✫✆✬☛✭✮✭✄✯☛✰✄✱ ✲ ✳✥✴ ★✪ ★✷ ★✪ ★✷ ★✩ ★✪ ★✷ ★✩ ★✪ ✙✚✂✛☎✆✝✜✞ ✠☛✡✌☞✎✍✟✏ ✢✄✓✜✔✟✖✣✗ ✸❂✱ ✹✥✬✚✺✮✻✾✽ ✿ ✿ ✰✕✱ ✲ ❀✑✴ ✫✆✬✚✭✄✭✥✯✚✰✕✱ ✲✶✳✥✴ ✤✜✂✆☎✆✝✟✞ ✠✥✡✌☞✦✔ ✖✣✗ Fig. 7. ★✪ ★✷ ✫✆✬✚✭✄✭✥✯✚✰✕✱ ✲✶✳✥✴ ★✪ ✁✄✂✆☎✆✝✟✞ ✠☛✡✌☞✎✍✑✏ ✒✄✓✕✔✟✖✘✗ ✸✑✱ ✹✄✬✮✺✼✻✾✽ ✿ ✿ ✰✄✱ ✲ ❀✑✴ ★✪ ★✪ ★✷ ★✪ ★✷ ★✩ ★✪ ✁✥✂✆☎✆✝✟✞ ✠☛✡✌☞✎✍✑✏ ✓✄✔ ✖✧✗ Toggle Snooping In the MMSN protocol, we let TT S = 2×TT T , so that when one node sends out a packet using the toggle transmission scheme, any other node that is snooping using the toggle snooping scheme is able to detect this transmission within a maximal delay of TT T , if toggle transmission and toggle snooping have any shared frequency. With the help of Figure 7, we make this point more clear. In Figure 7 (a), node A uses frequency fA for packet reception and it has a unicast packet to send to node B. Node B uses frequency fB for packet reception and it has a unicast packet to send to node C, which uses frequency fC for packet reception. During the Ttran time period, both A and B set up backoff timers and snoop on two frequencies. Node A snoops on frequency fA and fB and node B snoops on frequency fB and fC . Let’s suppose that node A’s timer fires first. So node A switches from toggle snooping to toggle transmission, while node B is still in the toggle snooping state. In different application scenarios (not only limited to the case in Figure 7 (a)), node B may take different time delays to become aware that node A is transmitting, as shown in Figure 7 (b)(c)(d)(e). In the scenario presented in case (b), node B is able to detect node A’s transmission in frequency fB after the time delay of 0.75 TT S . In case (c), the delay to detect node A’s transmission is 0.25 TT S . In case (d) and (e), the delays are TT S and 0.5 TT S , respectively. According to the above analysis, it is guaranteed that when one node transmits a packet using the toggle transmission scheme, the maximum time delay for another node, which uses the toggle snooping scheme, to detect the transmission is TT S . Accordingly, if the backoff timer used in the slotted time period in Figure 5 is only allowed to fire at the end of a toggle snooping period, a node whose backoff timer fires after the previous one can have enough time to detect the previous node’s transmission, and hence abandon its transmission in the current time slot to reduce congestion. D. IMPLICATION OF BACKOFF ALGORITHMS In media access, neighboring nodes may compete for the same physical frequency in both the broadcast contention period (Tbc ) and the transmission period (Ttran ), as explained in Section III-C. To reduce congestion, random backoff is needed for both broadcast and unicast transmission. Taking unicast backoff as an example, we give theoretical analysis to prove that a uniform backoff algorithm is not a good choice for the time synchronized media access in MMSN, and a non-uniform backoff algorithm achieves better performance. We derive an optimal non-uniform backoff algorithm, and choose its lightweight approximation for implementation in MMSN. All results derived here also apply for the broadcast transmission in MMSN. During the backoff in the Ttran period in Figure 5, the time slot is further divided into small time slices. As explained in the previous section, each time slice has the length of TT S and each backoff timer is only allowed to fire at the end of a time slice. If any two nodes choose the same backoff time slice, there is a collision. In order to minimize the probability of collision, we derive an optimal bound and a simple suboptimal distribution of the backoff time slices. First we derive the optimal probability distribution P (t) of backoff time slice t to minimize the probability of collisions when two nodes attempt to grab the same time slice after backoff. P (t), t = 0, 1, ..., T , denotes the probability that a node attempts to grab time slice t and T is the PTmaximum backoff time slice. Obviously 0 ≤ P (t) ≤ 1 and t=0 P (t) = 1. We assume that each node independently selects the backoff time slice conforming to the same distribution. According to the analysis in Section III-C, in a time slot, the node that selects the earliest backoff time slice gets the physical channel, and all nodes whose backoff timers fire later should abandon their transmission. Hence, a node successfully grabs time slice t if all other nodes attempt to grab time slices after t. If at least two nodes in the same neighborhood attempt to grab the same earliest time slice, there is a collision. We need to find the probability distribution P (t) to maximize Pnc , the probability that there is only one node that grabs the earliest time slice, to avoid collisions as much as possible. Assuming the earliest time slice is i, 0 ≤ i ≤ T − 1, and there are N nodes in the neighborhood, the probability that one and only one node attempts to grab this time slice and all other N −1 nodes attempts to grab later time slices is N · P (i) · Si+1 , PT where Si+1 = t=i+1 P (t). Considering all possible earliest time slices, we have Pnc = T −1 X N −1 N · P (i) · Si+1 . i=0 Now we apply a recursive approach to decide the optimal probability distribution P (t). First we assume that the values for P (t), t = 0, ..., T − 2, are already known. From the constraints that the sum of all P (t)’s is 1, ST −1 = P (T − 1) + P (T ) is also known. The question is how to divide ST −1 between P (T − 1) and P (T ) to maximize Pnc . This division only affects the term N ·P (T −1)·P (T )N −1 in the calculation of Pnc . The other terms are not affected by the way ST −1 is divided. For simplicity we denote P (T ) as a and P (T − 1) as b. The first order condition for maximizing is where t = 0, ..., T − 1, and S0 = 1. kT −t−1 = N −1 , −1 N − kTN−t where t = 0, ..., T − 2, and kT = NN−1 . Therefore, the optimal distribution P (t) is P (t) = St − St+1 , where t = 0, ..., T − 1, and P (T ) = ST . The optimal distribution gives an optimal bound of the non-collision probability. However, the distribution depends on the number of competing nodes, which may vary from neighborhood to neighborhood in deployed systems. Also, the process of computing the distribution is complicated and hence too costly for power-limited sensor devices. Accordingly, if a simple solution can provide a non-collision probability close to the optimal bound, it is more favorable. We propose a suboptimal distribution to be used by each node, which is easy to compute and does not depend on the number of competing nodes. A natural candidate is an increasing geometric sequence, in which t+1 d (N baN −1 ) = N (N − 1)ST −1 aN −2 − N 2 aN −1 = 0, da ST = P (T ) = a = kT ST −1 , where kT = NN−1 . We omit the validation of the second order condition for brevity, but for N ≥ 2, the above equation does give a maximized result N · P (T − 1) · P (T )N −1 = kTN −1 STN−1 . Then we consider the division of probability ST −2 between P (T − 2) and ST −1 assuming that the values for P (t), t = 0, ..., T − 3 are known. For simplicity we denote P (T − 2) as c. The terms affected by this division are only −1 N cSTN−1 + kTN −1 STN−1 . The first order condition is N (N − −2 1)ST −2 STN−1 + (kTN −1 − −1 N )N STN−1 = 0, t b T +1 − b T +1 , b−1 (1) where t = 0, ..., T , and b is a number greater than 1. The problem is which value of b should be chosen. We choose various b values to calculate the corresponding noncollision probabilities and compare them with that from the optimal P (t). To be consistent with the evaluation section, we choose the same number of time slices and node densities. The results are shown in Figure 8. From the figure we can see that if we choose b = 1000, the difference between the simple solution’s non-collision probability and that of the optimal P (t) is smaller than 6% for the node densities we choose and T = 33, which is the number we use in the simulation. 1 Non-Collision Probability and we have P (t) = and therefore 0.8 0.6 0.4 optimal b=10 b=100 b=1000 b=10000 uniform 0.2 0 ST −1 = kT −1 ST −2 , 14 18 22 26 30 34 38 Node Density N −1 where kT −1 = N −k N −1 . Then we obtain the optimal value of T the sum of the two terms: −1 N −1 sT −2 . + kTN −1 STN−1 = kTN−1 N cSTN−1 With the similar approach we get the recursive formulas for St and kt as follows. St+1 = kt+1 St , Fig. 8. Non-Collision Probability with Various b Values A similar approach is also proposed in [45], which minimizes collisions in slotted CSMA. We deem that the optimal solution is more relevant for our MAC than for slotted CSMA. The slice time for slotted CSMA can be chosen as small as the sum of propagation delay, detection time and other processing delays, which are in microseconds typically. Compared with the maximum backoff time, the slice time is orders of magnitudes smaller, so the number of slices is large. When the slice number approaches infinity, the non-collision probability for a uniform distribution is lim Pnc = lim (N T →∞ Let a = we have T →∞ T −i T +1 , i=0 T − i N −1 1 ( ) ). T +1 T +1 from the definition of the Riemann integral, lim Pnc = N T →∞ T −1 X Z 0 1 aN −1 da = N · 1 = 1. N Therefore, when the slice number T +1 approaches positive infinity, the non-collision probability approaches 1, which means even the uniform distribution gives a very small chance of collision. Calculation shows that if we have 1000 time slices, even when 200 nodes compete, the non-collision probability for a uniform distribution is still above 90%. Since the slice number we use in MMSN is much smaller (T +1 = 34 in our simulation), to reduce protocol overhead, the suboptimal approach shows a significant performance improvement over the uniform distribution, as shown in Figure 8. In our algorithm, we use the suboptimal approach for simplicity and generality. We need to make the distribution of the selected backoff time slice at each node conform to that shown in Equation (1). It is implemented as follows: first a random variable α with a uniform distribution within the interval [0, 1) is generated on each node; then time slice i is selected according to the following equation: i = ⌊(T + 1) logb [α(b − 1) + 1]⌋. It can be easily proven that the distribution of i conforms to Equation (1). IV. PERFORMANCE EVALUATION We implement MMSN in GloMoSim [34] and conduct extensive experiments to evaluate its performance and compare it with CSMA as well. In this evaluation, MMSN uses even selection for frequency assignment, since it results in fewer potential conflicts. For this performance evaluation, three groups of experiments are designed. In the first group, different traffic patterns are used. In the second group, different system loads are considered, and in the third group of experiments, the node density is varied. For all the three groups of experiments, four performance metrics are adopted: aggregate MAC throughput, packet delivery ratio, channel access delay, and energy consumption. The aggregate MAC throughput measures the performance gain and is calculated as the total amount of useful data successfully delivered through the MAC layer in the system per unit time. The packet delivery ratio is calculated as the ratio of the total number of data packets successfully delivered by the MAC layer over the total number of data packets the network layer requests the MAC to transmit. The channel access delay measures the time delay a data packet from the TABLE I S IMULATION C ONFIGURATION TERRAIN Node Number Node Placement Application Payload Size Routing Layer MAC Layer Radio Layer Radio Bandwidth Radio Range (200m×200m) Square 289 Uniform Many-to-Many/Gossip CBR Streams 32 Bytes GF CSMA/MMSN RADIO-ACCNOISE 250 Kbps 20m∼45m network layer waits for the channel before it gets sent out. The energy consumption reflects the cost each protocol pays to achieve their performance, which is calculated as the energy consumed to successfully deliver a useful data byte. Since we have measured the cost for each frequency assignment scheme in Section III-B and this energy consumption is amortized during data transmission, it is no longer counted here. During all the experiments, the GF [46] routing protocol is used, and simulation is configured according to the settings in Table I. For each data value we present in the results, we also give its 90% confidence interval. A. Performance Evaluation with Different Traffic Patterns In the first group of experiments, two different traffic patterns are used, many-to-many and gossip traffic patterns. The many-to-many traffic pattern is used to simulate the typical sensor network application scenario: multiple sensor nodes report their readings to multiple base stations over multiple hops. Since the routing design affects the contention level at the MAC layer (e.g., hot spots), the MAC performance is more statistically valid when a simulation can isolate the effect from the routing layer. Therefore, we also evaluate the MAC performance with the gossip traffic pattern, in which each node only communicates with its neighbors. For both of these two traffic patterns, we increase the number of available frequencies, to observe the performance variation. In this group of experiments, 50 CBR streams are used and the node density is set to 38, by configuring the radio range to 40m. To achieve meaningful results, we evaluate the performance when the packet delivery ratio in the MAC layer is reasonably high, higher than 93%. The small amount of packet loss is due to hidden terminal problems [20]. The performance results illustrated in Figure 9 confirm MMSN’s scalability. When the number of frequencies increases from 1 to 8 and the gossip traffic is used, (a) illustrates that the packet delivery ratio increases from 95.4% to 98.1%, (b) shows that the aggregate MAC throughput increases from 246.9 Kbps to 861.8 Kbps, (c) informs that the average channel access delay decreases from 0.069s to 0.016s, and (d) states that MMSN becomes more energy efficient: the energy consumption per byte of successfully delivered data decreases from 2.47×10−7 mWhr to 2.40×10−7 mWhr. Similar performance increase is also exhibited when many-to-many traffic pattern is used. MMSN’s performance 0.985 Packet Delivery Ratio 0.98 0.975 0.97 0.965 0.96 0.955 0.95 CSMA (Many-to-Many) MMSN (Many-to-Many) CSMA (Gossip) MMSN (Gossip) 0.945 0.94 0.935 1 2 3 4 5 6 7 8 7 8 7 8 # Frequencies Aggregate MAC Throughput (Kbps) (a) Packet Delivery Ratio in MAC 1000 CSMA (Many-to-Many) MMSN (Many-to-Many) CSMA (Gossip) MMSN (Gossip) 900 800 700 600 500 400 300 200 100 1 2 3 4 5 6 # Frequencies (b) Aggregate Throughput in MAC Channel Access Delay (s) 0.07 CSMA (Many-to-Many) MMSN (Many-to-Many) CSMA (Gossip) MMSN (Gossip) 0.06 0.05 0.04 0.03 0.02 0.01 1 2 3 4 5 6 # Frequencies Energy Consumption Per Byte(E-7mWhr) (c) Average Channel Access Delay B. Performance Evaluation with Different System Loads 2.52 CSMA (Many-to-Many) MMSN (Many-to-Many) CSMA (Gossip) MMSN (Gossip) 2.5 2.48 2.46 2.44 2.42 2.4 2.38 1 2 3 4 5 6 7 8 # Frequencies (d) Energy Consumption Per Delivered Data Byte Fig. 9. of available frequencies leads to a higher degree of parallel data transmission within each neighborhood. When more physical frequencies are used, more nodes are able to conduct simultaneous transmission in the deployed system without collisions, so the aggregate MAC throughput increases. Plus, fewer nodes are assigned to use the same frequency within two hops. So communication interference decreases, which leads to less backoff and decreased channel access delay. Also, the decreased communication interference leads to less packet loss, and more useful data bytes are successfully delivered with the same amount of energy. On the other hand, MMSN does not achieve 8 times performance improvement when 8 frequencies are used compare to the case when one frequency is used. This is due to the fundamental hardware limitation of using a single transceiver in each sensor device. Compared with CSMA, MMSN has similar or a little lower performance when the number of frequencies is small. This is because MMSN has a fixed backoff time period allocated within each time slot, while CSMA can fire the backoff timers at any time within the backoff window. However, when the number of frequencies increases, more parallel transmission within each neighborhood occures and it results in more gains than the cost paid due to the fixed backoff period, and MMSN outperforms CSMA. We are also aware that MMSN has constantly increasing aggregate MAC throughput when the gossip traffic pattern is used, while the speed of throughput increase slows down when the many-to-many traffic pattern is used. This is because the many-to-many traffic consists of a number of many-to-one traffic, in which multiple nodes transmit data packets to the same destination node. In this case, all these transmitters use the same physical frequency that the destination node gets assigned, and hence there is no potential parallel transmission that can be utilized. This is also one major difference between the single-transceiver4 multi-frequency MMSN protocol and the multi-transceiver multi-frequency protocols proposed in [17] [18] [19]. Performance Evaluation with Different #Physical Frequencies increases, because available physical frequencies are evenly shared within two-hop neighboring nodes, and the increase In the second group of experiments, we explore MMSN’s performance when different system loads are used, which are generated by different numbers of CBR streams. To analyze performance scalability, we conduct all experiments with different numbers of frequencies as well. In the experiments, the node density is set to 38, and the gossip traffic pattern is used. As Figure 10 shows, for all the system loads we configure from 15 CBR streams to 50 CBR streams, it is observed that MMSN always exhibits better performance when more frequencies are used, which is consistent with the result presented in the previous group of experiments. For example, as shown in Figure 10, when the number of frequencies increases from 1 to 4 and 40 CBR streams are used, MMSN’s packet delivery ratio increases from 95.2% to 97.3% in (a). At 4 One solution is for each base state to have multiple transceivers. The multiple transceivers snoop on different frequencies, so that the base station can receive simultaneous data reporting from multiple nodes. 0.99 CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) Packet Delivery Ratio 0.985 0.98 0.975 0.97 0.965 0.96 0.955 0.95 0.945 15 20 25 30 35 40 # CBR Streams 45 50 45 50 45 50 45 50 Aggregate MAC Throughput (Kbps) (a) Packet Delivery Ratio in MAC 600 CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) 550 500 450 400 350 300 250 200 150 15 20 25 30 35 40 # CBR Streams (b) Aggregate Throughput in MAC Channel Access Delay (s) 0.07 CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) 0.06 0.05 0.04 0.03 0.02 0.01 C. Performance Evaluation with Different Node Densities 0 15 20 25 30 35 40 # CBR Streams Energy Consumption Per Byte(E-7mWhr) (c) Average Channel Access Delay 2.5 2.48 2.46 2.44 2.42 2.4 CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) 2.38 2.36 2.34 15 20 25 30 35 40 # CBR Streams (d) Energy Consumption Per Delivered Data Byte Fig. 10. of the delay when only 1 frequency is available, as shown in (c). In such a case, (d) also informs that MMSN’s energy consumption for each successfully delivered data byte decreases from 2.48×10−7 mWhr to 2.42×10−7 mWhr. MMSN achieves improved performance when the number of frequencies increases, because the increased frequencies lead to increased parallel transmission within the same neighboring space and to decreased congestion for the same physical frequency. Figure 10 (a) also shows that CSMA has decreased packet delivery ratio from 98.3% to 95.4%, while MMSN does not have such an obvious packet loss. This is because the nonuniform backoff algorithm design is more tolerant to the system load variation than the uniform backoff algorithm. The sharply increased system load, from 15 CBR streams to 50 CBR streams, leads to more congestion and more packet loss in CSMA while the slotted backoff is not impacted as much. In (b), the aggregate MAC throughput increases with the increase of system load, because more nodes get involved in communication and more parallel data transmission occures. In addition, the increased nodes getting involved in communication result in increased congestion and hence increased channel access delay increases in (c). Since CSMA is more sensitive to system load and has lower packet delivery ratio, it is less energy efficient when the system load increases, while MMSN’ packet delivery ratio is more tolerant to system load and hence does not exhibit apparent decrease of energy efficiency. For similar reasons as explained in the previous experiments, MMSN is observed to have a lower performance than CSMA when there is only one, or two in some cases, physical frequencies available as shown in Figure 10. However, MMSN outperforms CSMA when three or more frequencies are used, which is also exhibited in Figure 10. Performance Evaluation with Different System Loads the same time, MMSN’s aggregate MAC throughput increases by 119% from 239Kbps to 523Kbps as shown in (b), and the channel access delay decreases to 0.021s, which is only 37.5% In many deployed sensor network systems [29] [30] [31] [32], providing node redundancy is an efficient and effective method to increase the system lifetime. So, in the third group of experiments, we evaluate MMSN’s performance when different node densities are utilized. The node density is increased from 14 to 38, by configuring different radio ranges, and a gossip traffic pattern is used that consists of 50 CBR streams. We also measure the performance difference when different numbers of frequencies are used as well. Once again, the experimental results confirm that MMSN always achieves a higher performance when more frequencies are available, which can be observed in Figure 11 (a)∼(d). The corresponding reasons can be found in the first two groups of experiments and are not repeated here. From Figure 11 (b), it is observed that the aggregate MAC throughputs in both CSMA and MMSN decrease with the increase of node density. This is because when node density increases, the same number of frequencies are shared by more nodes within two hops. When the same percentage of nodes participate in communication, congestion is increased and hence backoff and channel access delay are increased, as shown in Figure 11 (c). We do not observe consistent 0.985 0.98 Delivery Ratio 0.975 0.97 0.965 0.96 0.955 CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) 0.95 0.945 0.94 14 18 22 26 30 34 38 Node Density Aggregate MAC Throughput (Kbps) (a) Packet Delivery Ratio in MAC 900 V. RELATED WORK CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) 800 700 600 500 400 300 200 14 18 22 26 30 34 38 Node Density (b) Aggregate Throughput in MAC Channel Access Delay (s) 0.07 CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) 0.06 0.05 0.04 0.03 0.02 0.01 14 18 22 26 30 34 38 Node Density Energy Consumption Per Byte(E-7mWhr) (c) Average Channel Access Delay 2.5 CSMA MMSN (1 Fre.) MMSN (2 Fre.) MMSN (3 Fre.) MMSN (4 Fre.) 2.48 2.46 2.44 2.42 To the best of our knowledge, current sensor network MAC protocols [4] [5] [6] [7] [8] [9] are single frequency solutions, and there is no existing sensor network MAC protocols especially designed to take full advantage of parallel transmission in multiple well separated frequencies. On the other hand, all previous research of multi-frequency MAC protocols are proposed for general wireless ad hoc networks, which are very different from the resource-constrained wireless sensor networks. In general wireless ad hoc networks, many protocols have different hardware assumptions. For example, protocols [14] [15] are especially designed for frequency hopping spread spectrum (FHSS) wireless cards, and protocol [16] assumes the busy-tone functionality for the hardware, which is not available for the Berkeley motes [10] [11] widely used in current sensor network research. In [17] [18] [19], devices are assumed to have the ability to listen to multiple frequencies simultaneously. This is also not true in current sensor devices, each of which only has one transceiver, to save energy and reduce product cost. This single transceiver sensor device can only work on different frequencies at different times. Besides hardware differences, some protocols [26] [27] [28] [14] in general wireless ad hoc networks are proposed to use RTS/CTS control packets for frequency negotiation, for each data transmission or in a periodic way. This is not energyefficient in wireless sensor networks, due to the small WSN packet sizes. For similar reasons, the protocols [21] [22] [23] [24] [25] that are especially designed for IEEE 802.11 also involve the costly RTS/CTS control and hence are not suitable for WSN applications. VI. CONCLUSIONS AND FUTURE WORK 2.4 2.38 14 18 22 26 30 34 38 Node Density (d) Energy Consumption Per Delivered Data Byte Fig. 11. is greater than one and the node density is increased from 14 to 38. But we do notice that when there is only one frequency, the packet delivery ratio of MMSN increases in (a), with the increase of node density. We think this is because of decreased hidden terminal problems, when the radio range gets increased to increase node density, while at the same time the system topology is fixed to be 200m×200m. When the number of frequencies increases, this effect becomes very small and no similar trend is observed. Also, because of the increased packet delivery ratio, the energy consumption becomes more efficient as shown in (d), when MMSN uses one frequency and the node density increases from 14 to 38. Performance Evaluation with Different Node Density trends for packet delivery ratio variation in (a) and energy consumption variation in (d), when the number of frequencies In this paper, we propose the first effort to design a multifrequency MAC protocol for wireless sensor network applications. The different MAC design requirements for wireless sensor networks and general wireless ad hoc networks are compared, and a complete WSN multi-frequency MAC design (MMSN) is put forth. During the MMSN design, we analyze and evaluate different choices for frequency assignment, and also discuss the non-uniform backoff algorithms for the slotted media access design. Finally, we evaluate MMSN’s performance through extensive experiments, and the performance results show that MMSN exhibits prominent ability to utilize parallel transmission among neighboring nodes. MMSN also achieves increased energy efficiency when multiple physical frequencies are available. In the future, we plan to implement MMSN in a large scale running sensor network system and evaluate its performance with different sensor devices. In addition, we also plan to introduce priority into frequency assignment to equip MMSN with real-time support. R EFERENCES [1] D. Culler, D. Estrin, and M. Srivastava, “Overview of Sensor Networks,” in IEEE Computer, Special Issue on Sensor Networks, August 2004. [2] D. Estrin, R. Govindan, J. Heidemann, and S. Kumar, “Next Century Challenges: Scalable Coordination in Sensor Networks,” in ACM MobiCom 1999, August 1999. [3] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “Wireless Sensor Networks: a Survey,” Computer Networks, vol. 38, pp. 393–422, 2002. [4] J. Polastre, J. Hill, and D. Culler, “Versatile Low Power Median Access for Wireless Sensor Networks,” in ACM SenSys 2004, November 2004. [5] W. Ye, J. Heidemann, and D. Estrin, “An Energy-Efficient MAC Protocol for Wireless Sensor Networks,” in IEEE INFOCOM 2002, June 2002, pp. 1567–1576. [6] V. Rajendran, K. Obraczka, and J.J. Garcia-Luna-Aceves, “EnergyEfficient, Collision-Free Medium Access Control for Wireless Sensor Networks,” in ACM SenSys 2003, November 2003. [7] T. Dam and k. Langendoen, “An Adaptive Evergy-Sufficient MAC Protocol for Wireless Sensor Networks,” in ACM SenSys 2003, November 2003. [8] A. Woo and D. Culler, “A Transmission Control Scheme for Media Access in Sensor Networks,” in ACM MobiCom 2001, July 2001. [9] A. El-Hoiyi, J.-D. Decotignie, and J. Hernandez, “Low Power MAC Protocols for Infrastructure Wireless Sensor Networks,” in The Fifth European Wireless Conference, February 2004. [10] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister, “System Architecture Directions for Networked Sensors,” in The Nineth International Conference on Architectural Support for Programming Languages and Operating Systems, November 2000, pp. 93–104. [11] “XBOW MICA2 Mote Specifications,” http://www.xbow.com. [12] J. Polastre, R. Szewczyk, and D. Culler, “Telos: Enabling Ultra-Low Power Wireless Research,” in ACM/IEEE IPSN/SPOTS 2005), April 2005. [13] “CC2420 2.4 GHz IEEE 802.15.4 / ZigBee-ready RF Transceiver,” http://www.chipcon.com. [14] Z. Tang and J.J. Garcia-Luna-Aceves, “Hop-Reservation Multiple Access (HRMA) for Ad-Hoc Networks,” in IEEE INFOCOM 1999, March 1999. [15] A. Tyamaloukas and J. J. Garcia-Luna-Aceves, “Channel-Hopping Multiple Access,” in IEEE ICC 2000, 2000. [16] J. Deng and Z. Haas, “Dual Busy Tone Multiple Access (DBTMA): A New Medium Access Control for Packet Radio Networks,” in IEEE ICUPC, October 1998. [17] A. Nasipuri, J. Zhuang, and S. R. Das, “A Multichannel CSMA MAC Protocol for Multihop Wireless Networks,” in IEEE WCNC, September 1999. [18] S.-L. Wu, C.-Y. Liu, Y.-C. Tseng, and J.-P. Shen, “A New Multi-Channel MAC Protocol with On-Demand Channel Assignment for Multi-Hop Mobile Ad Hoc Networks,” in I-SPAN, 2000. [19] A. Nasipuri and S. R. Das, “Multichannel CSMA with Signal Powerbased Channel Selection for Multihop Wireless Networks,” in IEEE Vehicular Technology Conference, September 2000. [20] “IEEE 802.11, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification,” 1999, ANSI/IEEE Std. 802.11, 1999. [21] P. Bahl, R. Chancre, and J. Dungeon, “SSCH: Slotted Seeded Channel Hopping for Capacity Improvement in IEEE 802.11 Ad-Hoc Wireless Networks,” in ACM MobiCom 2004, September 2004. [22] A. Raniwala and T. Chiueh, “Architecture and Algorithm for an IEEE 802.11-Based Multi-Channel Wireless Mesh Network,” in IEEE INFOCOM 2005, March 2005. [23] A. Adya, P. Bahl, J. Padhye, A.Wolman, and L. Zhou, “A Multi-Radio Unification Protocol for IEEE 802.11 Wireless Networks,” in IEEE International Conference on Broadband Networks (Broadnets) 2004, 2004. [24] F. Fitzek, D. Angelini, G. Mazzini, , and M. Zorzi, “Design and Performance of an Enhanced IEEE 802.11 MAC Protocol for Multihop Coverage Extension,” in IEEE Wireless Communications, December 2003. [25] J. Li, Z. J. Haas, M. Sheng, , and Y. Chen, “Performance Evaluation of Modified IEEE 802.11 MAC for Multi-Channel Multi-Hop Ad Hoc Network,” in IEEE AINA 2003, 2003. [26] J. So and N. Vaidya, “Multi-Channel MAC for Ad-Hoc Networks: Handling Multi-Channel Hidden Terminal Using A Single Transceiver,” in ACM MobiHoc 2004, May 2004. [27] N. Jain and S. R. Das, “A Multichannel CSMA MAC Protocol with Receiver-Based Channel Selection for Multihop Wireless Networks,” in IEEE IC3N, October 2001. [28] A. Tzamaloukas and J.J. Garcia-Luna-Aceves, “A Receiver-Initiated Collision-Avoidance Protocol for Multi-Channel Networks,” in IEEE INFOCOM 2001, April 2001. [29] A. Mainwaring, J. Polastre, R. Szewczyk, D. Culler, and J. Anderson., “Wireless Sensor Networks for Habitat Monitoring,” in ACM WSNA 2002, September 2002. [30] N. Xu, S. Rangwala, K. K. Chintalapudi, D. Ganesan, A. Broad, R. Govindan, and D. Estrin, “A Wireless Sensor Network For Structural Monitoring,” in ACM SenSys 2004, November 2004. [31] T. He, S. Krishnamurthy, J. A. Stankovic, T. F. Abdelzaher, L. Luo, R. Stoleru, T. Yan, L. Gu, J. Hui, and B. Krogh, “Energy-Efficient Surveillance System Using Wireless Sensor Networks,” in ACM MobiSys 2004, June 2004, pp. 270–283. [32] G. Simon, M. Maróti, Á. Lédeczi, G. Balogh, B. Kusy, A. Nádas, G. Pap, J. Sallai, and K. Frampton, “Sensor Network-Based Countersniper System,” in ACM SenSys 2004, November 2004. [33] Y. Li, H. Wu, D. Perkins, N.-F. Tzeng, and M. Bayoumi, “MAC-SCC: Medium Access Control with a Separate Control Channel for Multihop Wireless Networks,” in IEEE ICDCSW 2003, 2003. [34] X. Zeng, R. Bagrodia, and M. Gerla, “GloMoSim: A Library for Parallel Simulation of Large-Scale Wireless Networks,” in The 12th Workshop on Parallel and Distributed Simulations, May 1998. [35] G. Zhou, T. He, J. A. Stankovic, and T. F. Abdelzaher, “Radio Interference Detection in Wireless Sensor Networks,” in IEEE INFOCOM 2005, March 2005. [36] J. Zhao and R. Govindan, “Understanding Packet Delivery Performance in Dense Wireless Sensor Networks,” in ACM SenSys 2003, November 2003. [37] G. Zhou, T. He, S. Krishnamurthy, and J. A. Stankovic, “Impact of Radio Irregularity on Wireless Sensor Networks,” in ACM MobiSys 2004, June 2004, pp. 125–138. [38] A. Woo, T. Tong, and D. Culler, “Taming the Underlying Challenges of Reliable Multihop Routing in Sensor Networks,” in ACM SenSys 2003, November 2003. [39] A. Cerpa, J. L. Wong, L. Kuang, M. Potkonjak, and D. Estrin, “Statistical Model of Lossy Links in Wireless Sensor Networks,” in ACM/IEEE IPSN’05, April 2005. [40] J. Chang and N. F. Maxemchuk, “Reliable Broadcast Protocols,” in ACM Transactions on Computer Systems (TOCS), 1984. [41] J. Tourrilhes, “Robust Broadcast: Improving the Reliability of Broadcast Transmissions on CSMA/CA,” in The Ninth IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, 1998. [42] E. Vollset and P. Ezhilchelvan, “A Survey of Reliable Broadcast Protocols for Mobile Ad-Hoc Networks,” in Technical Report CS-TR792, University of Newcastle upon Tyne, 2003. [43] L. Bao and J. J. Garcia-Luna-aceves, “A New Approach to Channel Access Scheduling for Ad Hoc Networks,” in ACM MobiCom 2001, July 2001, pp. 210–221. [44] M. Maróti, B. Kusy, G. Simon, and Á. Lédeczi, “The Flooding Time Synchronization Protocol,” in ACM SenSys 2004, November 2004. [45] Y. C. Tay, K. Jamieson, and H. Balakrishnan, “Collision-Minimizing CSMA and Its Applications to Wireless Sensor Networks,” IEEE Journal on Selected Areas in Communications, vol. 22, pp. 1048–1057, 2004. [46] B. Karp, Geographic Routing for Wireless Networks, Ph.D. thesis, Harvard University, Cambridge, MA, 2000.