2IFA’07 MILANO
* * Collision AvoidanceCollision Avoidance
* * Energy EfficiencyEnergy Efficiency
* * ScalabilityScalability
* Latency* Latency
* Fairness* Fairness
* Throughput* Throughput
* Bandwidth Utilization* Bandwidth Utilization
Objectives of MAC ProtocolsObjectives of MAC Protocols
3IFA’07 MILANO
POWER CONSUMPTIONPOWER CONSUMPTION
SENSOR
0
5
10
15
20
Po
wer
(mW
)
CPU TX RX IDLE SLEEP
RADIO
4IFA’07 MILANO
* Idle Listening
* Transmitter* Receiver
OBJECTIVE: Reduce energy consumption !!
Major Sources of Energy Waste
Common to all wireless networks
5IFA’07 MILANO
Challenges for MAC in WSNsChallenges for MAC in WSNs
1. WSN Architecture1. WSN Architecture–High density of nodesHigh density of nodes–Increased collision probabilityIncreased collision probability–Signaling overhead should be minimized to Signaling overhead should be minimized to prevent further collisionsprevent further collisions
–Sophisticated and simple collision Sophisticated and simple collision avoidance protocols requiredavoidance protocols required
6IFA’07 MILANO
Challenges for MAC in Challenges for MAC in WSNsWSNs
2. Limited Energy Resources2. Limited Energy Resources Connectivity and the performance of the network is affected as Connectivity and the performance of the network is affected as nodes dienodes die
Transmitting and receiving consumes almost same energyTransmitting and receiving consumes almost same energy Frequent power up/down eats up energyFrequent power up/down eats up energy Need very low power MAC protocolsNeed very low power MAC protocols Minimize signaling overheadMinimize signaling overhead Avoid idle listeningAvoid idle listening Prevent frequent radio state changes (active<->sleep)Prevent frequent radio state changes (active<->sleep)
7IFA’07 MILANO
Challenges for MAC in Challenges for MAC in WSNsWSNs
3. Limited Processing and Memory Capabilities3. Limited Processing and Memory Capabilities Complex algorithms cannot be implementedComplex algorithms cannot be implemented Conventional layered architecture may not be appropriateConventional layered architecture may not be appropriate Centralized or local management is limitedCentralized or local management is limited Simple scheduling algorithms requiredSimple scheduling algorithms required Cross-layer optimization requiredCross-layer optimization required Self-configurable, distributed protocols requiredSelf-configurable, distributed protocols required
8IFA’07 MILANO
Challenges for MAC in Challenges for MAC in WSNsWSNs
4. Limited Packet Size4. Limited Packet Size Unique node ID is not practicalUnique node ID is not practical Limited header spaceLimited header space Local IDs should be used for inter-node communicationLocal IDs should be used for inter-node communication MAC protocol overhead should be minimizedMAC protocol overhead should be minimized
5. Cheap Encoder/Decoders5. Cheap Encoder/Decoders Cheap node requirement prevents sophisticatedCheap node requirement prevents sophisticated encoders/decoders to be implementedencoders/decoders to be implemented Simple FEC codes required for error controlSimple FEC codes required for error control Channel state dependent MAC can be used to decrease Channel state dependent MAC can be used to decrease error rateerror rate
9IFA’07 MILANO
Challenges for MAC in Challenges for MAC in WSNsWSNs
6. Inaccurate Clock Crystals6. Inaccurate Clock Crystals Cheap node requirement prevents expensive crystalsCheap node requirement prevents expensive crystals
to be implementedto be implemented Synchronization problemsSynchronization problems TDMA-based schemes are not practicalTDMA-based schemes are not practical
7. Event-based Networking7. Event-based Networking Observed data depends on physical phenomenonObserved data depends on physical phenomenon Spatial and temporal correlation in the physicalSpatial and temporal correlation in the physical
phenomenon should be exploitedphenomenon should be exploited
BOTTOMLINE:BOTTOMLINE: Existing MAC protocols cannot be used for Existing MAC protocols cannot be used for WSNs!!!WSNs!!!
10IFA’07 MILANO
Overview of MAC Protocols for WSNsOverview of MAC Protocols for WSNs
1. Contention (RANDOM/CSMA)-Based MAC Protocols
Sleep-MAC, BMAC, T-MAC, CCMAC, etc…
2. Reservation-Based (TDMA BASED) MAC Protocols TRAMA, FLAMA, etc…
3. HYBRID (CSMA/TDMA) MAC Protocols ZMAC, ….
11IFA’07 MILANO
S-MAC: SLEEP MACS-MAC: SLEEP MACW. Ye, et. al., W. Ye, et. al., “Medium Access Control with “Medium Access Control with Coordinated Adaptive Sleeping for Wireless Coordinated Adaptive Sleeping for Wireless Sensor Networks,'‘Sensor Networks,'‘IEEE/ACM Trans. on Networking, June 2004.IEEE/ACM Trans. on Networking, June 2004.
Problem: “Idle Listening” consumes significant energy
Solution: Periodic listen and sleep
• During sleeping, radio is turned off• Reduce duty cycle to ~ 10% (Listen for 120ms and sleep
for 2s)Latency Energy
sleeplisten
listen
sleeptime
12IFA’07 MILANO
S-MACS-MAC
• Each node goes into periodic sleep mode
during which it switches the radio off
and sets a timer to awake later
•When the timer expires it wakes up and
listens to see if any other node wants to
talk to it
13IFA’07 MILANO
S-MACS-MAC
•The duration of the sleep and listen cycles are application dependent and they are set the same for all nodes
* Requires a periodic synchronization among nodes to take care of any type of clock drift
14IFA’07 MILANO
SynchronizationSynchronization
SYNC packets are exchanged periodically to maintain SYNC packets are exchanged periodically to maintain schedule synchronization.schedule synchronization.
SYNCHRONIZATION PERIOD: Period for a node to send a SYNC packet. Receivers will adjust their timer counters immediately after they
receive the SYNC packet
Sender Node ID Next Sleep Time
SYNC PACKET
16IFA’07 MILANO
Maintaining Synchronization
Listen interval is divided into two parts: one for receiving SYNC packets and other for receiving RTS (Request To Send)
17IFA’07 MILANO
Choosing and Maintaining Choosing and Maintaining SchedulesSchedules
Each node maintains a schedule table Each node maintains a schedule table that stores schedules of all its known that stores schedules of all its known neighborsneighbors
For initial schedule, DO:For initial schedule, DO:– A node first listens to the medium for a A node first listens to the medium for a certain amount of time certain amount of time (at least the (at least the synchronization period)synchronization period)
18IFA’07 MILANO
Choosing and Maintaining Choosing and Maintaining SchedulesSchedules
– If it does not hear a schedule from If it does not hear a schedule from another node, it randomly chooses a another node, it randomly chooses a schedule and broadcasts its schedule schedule and broadcasts its schedule with a SYNC packet immediatelywith a SYNC packet immediately
– This node is called a This node is called a SynchronizerSynchronizer
19IFA’07 MILANO
Choosing and Maintaining Choosing and Maintaining SchedulesSchedules
– If a node receives a schedule from a If a node receives a schedule from a neighbor before choosing its own neighbor before choosing its own schedule, it just follows this neighbor’s schedule, it just follows this neighbor’s schedule, i.e. becomes a schedule, i.e. becomes a Follower Follower and and it waits for a random delay and it waits for a random delay and broadcasts its schedulebroadcasts its schedule
20IFA’07 MILANO
Coordinated SleepingCoordinated Sleeping
Schedule 2Schedule 1
In a large network, we cannot guarantee that all nodes
follow the same schedule. The node on the border will follow both schedules. When it broadcasts a packet, it needs to do it twice,
first for nodes on schedule 1 and then for those on
schedule 2.
21IFA’07 MILANO
Border NodesBorder Nodes
* Border nodes have less time to sleep and consume
more energy than others.
OPTION: Let border node adopt only one schedule
(received first).
22IFA’07 MILANO
Collision AvoidanceCollision Avoidance
S-MAC is based on contention, i.e., if multiple neighbors want to talk to a node at the same time, they will try to send when the node starts listening.
* Similar to IEEE802.11, i.e. use RTS/CTS mechanism to address the hidden terminal
problem
* Perform carrier sense before initiating a transmission
23IFA’07 MILANO
Collision Avoidance
* If a node fails to get the medium, it goes to sleep and wakes up when the receiver is free and listening
again
* Broadcast packets are sent without using RTS/CTS.
* Unicast data packets follow the sequence of RTS/CTS/DATA/ACK between the sender and receiver
24IFA’07 MILANO
Collision Avoidance
* Duration field in each transmitted packet indicates how long the remaining transmission will be so if a node receives a packet destined to another node, it knows how long it has to keep silent
* The node records this value in network allocation vector (NAV) and sets a timer for it
25IFA’07 MILANO
Collision Avoidance
* When a node has data to send, it first looks at NAV.
* If this value is not zero, then medium is busy (virtual carrier sense)
26IFA’07 MILANO
Collision Avoidance
* The medium is determined as free if both virtual
and physical carrier sense indicate the medium is
free
* All immediate neighbors of both the sender and
receiver should sleep after they hear RTS or CTS
packet until the current transmission is over
27IFA’07 MILANO
Adaptive Listening Adaptive Listening FeatureFeature
- Reduce multi-hop latency due to periodic sleep- Reduce multi-hop latency due to periodic sleep
BASIC IDEA: Let the node who overhears its neighbor’s BASIC IDEA: Let the node who overhears its neighbor’s transmission stay awaketransmission stay awake
28IFA’07 MILANO
Adaptive Listening Adaptive Listening FeatureFeature
41 2 3
CTS
RTS
CTS
Both neighbors will learn about how long the transmission is from the duration field in the RTS and CTS packets.
They are able to adaptively wake up when the transmission is over.
Reduce latency by at least half (e.g., CTS of 2 is heard by 3 also. 3 remains awake!!)
listen
listen
listent
1t2t0
29IFA’07 MILANO
S-MAC - EXAMPLES-MAC - EXAMPLE
Topology• Two-hop network with two sources and two sinks
• Sources periodically generate a sensing message which is divided into fragments
* Traffic load is changed by varying the inter-arrival period of the messages: (for inter-arrival period of 5s, message is generated every 5s by each source. Here it varies between 1-10s).
31IFA’07 MILANO
S-MAC - EXAMPLES-MAC - EXAMPLE
In each test, there are 10 messages generated on each
source node.
Each message has 10 fragments, and each fragment has
40 bytes (200 data packets to be passed from their sources to their sinks).
The total energy consumption of each node is measured for
sending this fixed amount of data.
32IFA’07 MILANO
ExperimentsExperiments
0 2 4 6 8 10
200
400
600
800
1000
1200
1400
1600
1800
Average energy consumption in the source nodes A&B
Message inter-arrival period (traffic load) (second)(small value heavy traffic load)
En
erg
y c
on
su
mp
tion
(m
J)802.11-like protocolwithout sleep
S-MAC with Periodic Sleep
S-MAC without periodic
sleep
33IFA’07 MILANO
ExperimentsExperiments
• S-MAC consumes much less energy than 802.11-like protocol
without sleeping
• At heavy load, idle listening rarely happens, energy savings
from sleeping is very limited. SMAC achieves energy savings by
avoiding overhearing and efficiently transmitting long messages.
* At light load, periodic sleeping plays the key role
34IFA’07 MILANO
Energy Consumption over Multi-Energy Consumption over Multi-HopsHops
Ten-hop (11 nodes; 1m apart) linear (tandem) network at different traffic Ten-hop (11 nodes; 1m apart) linear (tandem) network at different traffic load; inter-arrival time 0-10s; source node sends 20 messages with each load; inter-arrival time 0-10s; source node sends 20 messages with each 100 bytes long.100 bytes long.
3 configurations for S-MAC: 3 configurations for S-MAC: No sleep cycles; 10% duty cycle without No sleep cycles; 10% duty cycle without
adaptive listening; 10% duty cycle with adaptive listening; 10% duty cycle with
adaptive listening)adaptive listening)
(periodic listen interval: 115ms; 10% duty cycle means a frame length for (periodic listen interval: 115ms; 10% duty cycle means a frame length for
1.15ssec).1.15ssec).
35IFA’07 MILANO
0 2 4 6 8 100
5
10
15
20
25
30
Message inter-arrival period (S)
En
erg
y c
on
su
mp
tion
(J)
10% duty cycle without adaptive listen
No sleep cycles
10% duty cycle with adaptive listen
Aggregate energy consumption at different traffic load in the entire
network
Energy Consumption over Multi-Energy Consumption over Multi-HopsHops
At light traffic load, periodic sleeping has significant energy savings over fully active mode
Adaptive listen saves more at heavy load by reducing latency
36IFA’07 MILANO
Latency as Hops IncreaseLatency as Hops Increase
Adaptive listen significantly reduces latency causes by Adaptive listen significantly reduces latency causes by periodic sleepingperiodic sleeping
0 2 4 6 8 100
2
4
6
8
10
12Latency under highest traffic load
Number of hopsA
vera
ge m
essag
e late
ncy (
S)
10% duty cycle withoutadaptive listen
10% duty cycle with adaptive listen
No sleep cycles
0 2 4 6 8 100
2
4
6
8
10
12Latency under lowest traffic load
Number of hops
Avera
ge m
essag
e late
ncy (
S)
10% duty cycle withoutadaptive listen
10% duty cycle withadaptive listen
No sleep cycles
37IFA’07 MILANO
Throughput as Hops Throughput as Hops IncreaseIncrease
Adaptive listen significantly Adaptive listen significantly increases throughputincreases throughput
0 2 4 6 8 100
20
40
60
80
100
120
140
160
180
200
220
Effective data throughput under highest traffic load
Number of hops
Eff
ecti
ve d
ata
th
rou
gh
pu
t (B
yte
/S)
No sleep cycles
10% duty cycle with adaptive listen
10% duty cycle without adaptive listen
– Using less Using less time to pass time to pass the same the same amount of amount of datadata
38IFA’07 MILANO
Our VisionOur VisionM.C. Vuran, and I. F. Akyildiz, M.C. Vuran, and I. F. Akyildiz, “Spatial Correlation-based “Spatial Correlation-based Collaborative Medium Access Control in Wireless Sensor Collaborative Medium Access Control in Wireless Sensor Networks,”Networks,” IEEE/ACM Trans. on Networking, vol. 14, pp. 316 -329, April IEEE/ACM Trans. on Networking, vol. 14, pp. 316 -329, April 2006.2006.
WSNs are characterized by dense deployment of WSNs are characterized by dense deployment of sensor nodessensor nodes
ExploitExploit spatial correlationspatial correlation to reduce transmissions in MAC layer !
39IFA’07 MILANO
Collaborative MAC (CC-MAC) Collaborative MAC (CC-MAC) ProtocolProtocol
Main ComponentsMain Components– Iterative Node Selection (INS) Algorithm Iterative Node Selection (INS) Algorithm (@Sink)(@Sink)
Determines protocol parameters (required distance (rDetermines protocol parameters (required distance (rcorrcorr) ) for for
correlation neighbors)
– Event MAC Event MAC (@Sensors)(@Sensors) Filters out correlated dataFilters out correlated data
– Network MAC Network MAC (@Sensors)(@Sensors) Provides prioritization for route-thru packetsProvides prioritization for route-thru packets
40IFA’07 MILANO
Spatial Correlation Spatial Correlation TheoryTheory
Distortion achieved by using M out of N sensor readingsDistortion achieved by using M out of N sensor readings
NeedNeed– – – Noise variance (Sensing board property)Noise variance (Sensing board property)
– SS – Signal variance (Physical phenomenon property) – Signal variance (Physical phenomenon property)
– (i,j(i,js,is,i – Correlation coefficient (Physical phenomenon – Correlation coefficient (Physical phenomenon
property)property)
41IFA’07 MILANO
Corollaries From TheoryCorollaries From Theory
Choose Choose M M nodes such thatnodes such that– They are located as They are located as close to the event sourceclose to the event source as possible as possible– They are located as They are located as farther apart from each otherfarther apart from each other as as
possiblepossible.
RESULT: If two nodes are located closer than a specific distance, i.e., rcorr, their observations are correlated
42IFA’07 MILANO
Corollaries From TheoryCorollaries From Theory
Representative nodes are not located close to each
other, the probability of collision decreases
RESULT: Exploiting spatial correlation not only improves the distortion but also utilizes the
wireless channel by avoiding collisions
43IFA’07 MILANO
@Sink:@Sink: Iterative Node Selection (INS) Iterative Node Selection (INS) AlgorithmAlgorithm
Find Find rrcorrcorr such that maximum distortion D such that maximum distortion Dmaxmax is is metmet
How is the correlation radius, How is the correlation radius, rrcorrcorr calculated? calculated?
1.1. INS performs vector quantization (VQ) techniques INS performs vector quantization (VQ) techniques to form Voronoi regions, i.e., to form Voronoi regions, i.e., correlation regionscorrelation regions
2.2. Correlation distance (Correlation distance (rrcorrcorr) is found) is found
rrcorrcorr is then used in the distributed algorithm at is then used in the distributed algorithm at sensorssensors
44IFA’07 MILANO
@Sink: Iterative Node @Sink: Iterative Node Selection (INS) AlgorithmSelection (INS) Algorithm
Estimate Estimate SS, , (i,j(i,jandands,is,i
– Estimate signal parameters from received Estimate signal parameters from received samplessamples
Find rFind rcorrcorr
– Iteratively find minimum MIteratively find minimum M** such that Dsuch that Dmaxmax is met is met
– Form Voronoi regionsForm Voronoi regions
– Find rFind rcorrcorr
45IFA’07 MILANO
INS: Parameter INS: Parameter EstimationEstimation
Sensors send their Sensors send their observations based on observations based on query (for one cycle)query (for one cycle)
INS estimates the INS estimates the variance variance SS
22 from the from the collected data (via collected data (via variance estimation variance estimation techniques)techniques)
Estimate correlation Estimate correlation parametersparameters
S1
S2
S3
S4
S5
46IFA’07 MILANO
INS: Parameter INS: Parameter EstimationEstimation
Correlation coefficientCorrelation coefficient
dd(i,j)(i,j) – distance between nodes – distance between nodes 11 – correlation parameter – correlation parameter Use SUse S11, S, S22, S, S33 … to calculate empirical K(d) … to calculate empirical K(d)
Estimate average Estimate average 11
Use Use 11 for further calculations for further calculations
1),( /),( )( jidji edK
1),( /),( )(
jid
S
jiji e
SSdK
47IFA’07 MILANO
INS: Find rINS: Find rcorrcorr
Start calculating D(M) by setting M=N Start calculating D(M) by setting M=N – N all nodes (in the interested region or the whole network)N all nodes (in the interested region or the whole network)
If D(M) < DIf D(M) < Dmaxmax
– Decrease M by k (system parameter)Decrease M by k (system parameter) runVQrunVQ
– Generate multiple topologies with M nodesGenerate multiple topologies with M nodes– Sensors have different locations for each topologySensors have different locations for each topology– Calculate Calculate (s,i)(s,i), , (i,j)(i,j) using using 11
– Calculate D(M)Calculate D(M) Repeat while D(M) < DRepeat while D(M) < Dmaxmax
48IFA’07 MILANO
INS: Find rINS: Find rcorrcorr
End result MEnd result M**=argmin{D(M) < D=argmin{D(M) < Dmaxmax}}
53IFA’07 MILANO
INS: Find rINS: Find rcorrcorr
Find avg. distance between selected MFind avg. distance between selected M** nodes = nodes = 2r2rcorrcorr
Sink sends rSink sends rcorrcorr to each node in the network to each node in the network
CC-MAC distributed operation is based only on rCC-MAC distributed operation is based only on rcorrcorr
54IFA’07 MILANO
@Sensors: Collaborative @Sensors: Collaborative MAC (CC-MAC) ProtocolMAC (CC-MAC) Protocol
Two reasons for medium Two reasons for medium accessaccess– Source function: Source function: Transmit Transmit
event informationevent information– Router function: Router function: Forward Forward
packets from other nodes in packets from other nodes in the multi-hop path to the the multi-hop path to the sinksink
Two componentsTwo components– Event MAC (E-MAC)Event MAC (E-MAC)– Network MAC Network MAC
(N-MAC)(N-MAC)
Sink
Event Area
55IFA’07 MILANO
Event MAC (E-MAC)Event MAC (E-MAC)
Aims to filter out correlated sensor recordsAims to filter out correlated sensor records– Choose representative nodes distributivelyChoose representative nodes distributively– Form correlation-based clustersForm correlation-based clusters
How will a node know it should perform E-How will a node know it should perform E-MAC?MAC?
56IFA’07 MILANO
Network MAC (N-MAC)Network MAC (N-MAC)
N-MAC prioritizes route-thru packets N-MAC prioritizes route-thru packets during medium access usingduring medium access using– Smaller backoff window sizeSmaller backoff window size– Smaller inter-frame spacing during contentionSmaller inter-frame spacing during contention
Router nodes have higher Router nodes have higher prioritization over representative prioritization over representative nodesnodes
57IFA’07 MILANO
CC-MAC PerformanceCC-MAC Performance
Energy consumption Energy consumption decreases with increasing decreases with increasing reporting periodreporting period
Increasing Increasing rrcorr corr decreases decreases the number of the number of representative nodes, i.e. representative nodes, i.e. energy consumptionenergy consumption
Energy conservation of Energy conservation of 56% is possible going 56% is possible going from rfrom rcorrcorr=30m to =30m to rrcorrcorr=100m=100m
Avg. energy consumption/node for Avg. energy consumption/node for different different rrcorrcorr
61IFA’07 MILANO
TRAMA: Energy Efficient Collision-Free MAC V. Rajendran, K. Obraczka, and J. J. Garcia-Luna-Aceves,``Energy-Efficient, Collision-Free Medium Access Control for Wireless Sensor Networks,'' Proc. ACM SenSys 2003, LA, CA, Nov. 2003.
A time-slotted structure
115.2 kbps transmission slot 46ms (512-byte segments)
62IFA’07 MILANO
TRAMA
Time divided into PERIODS:Time divided into PERIODS:
Random Access PeriodRandom Access Period– Used for signaling: synchronization and updating Used for signaling: synchronization and updating two-hop neighbor information. two-hop neighbor information. Collision!!Collision!!
Scheduled Access Period:Scheduled Access Period:– Used for contention free data exchange between Used for contention free data exchange between
nodes.nodes.– Supports unicast, multicast and broadcast Supports unicast, multicast and broadcast
communication.communication.
63IFA’07 MILANO
TRAMA
SIGNALING SLOTS: are used by the so-called NEIGHBOR PROTOCOL (NP) to propagate one-
hop neighbor information among neighboring nodes
during the random access period.
By this way, a consistent two-hop technology information across all nodes is obtained.
64IFA’07 MILANO
TRAMA
TRANSMISSION SLOTS: i) For collision free data exchange ii) For schedule propagation
Nodes use SEP (Schedule Exchange Protocol) to exchange traffic based information or
schedules with neighbors.
65IFA’07 MILANO
Neighbor Protocol (NP).Neighbor Protocol (NP).– Gather 2-hop neighborhood information.Gather 2-hop neighborhood information.
Schedule Exchange Protocol (SEP).Schedule Exchange Protocol (SEP).– Gather 1-hop traffic information for Gather 1-hop traffic information for
SCHEDULING.SCHEDULING. Adaptive Election Algorithm (AEA).Adaptive Election Algorithm (AEA).
– Select transmitters, receivers for current time Select transmitters, receivers for current time slot leave other nodes in liberty to switch to low slot leave other nodes in liberty to switch to low power mode using the NP and SEP results.power mode using the NP and SEP results.
TRAMA Components
66IFA’07 MILANO
TRAMA LimitationsTRAMA Limitations
Complex election algorithm and data structure.Complex election algorithm and data structure. Overhead due to explicit schedule propagation.Overhead due to explicit schedule propagation. Higher queueing delay.Higher queueing delay.
67IFA’07 MILANO
Comparison: TRAMA vs. S-Comparison: TRAMA vs. S-MAC MAC
– Energy savings in TRAMA depend on the workload Energy savings in TRAMA depend on the workload situationsituation
– Energy savings in S-MAC depend on duty cycle Energy savings in S-MAC depend on duty cycle – TRAMA (as typical for a TDMA scheme) has higher TRAMA (as typical for a TDMA scheme) has higher
delay but higher maximum throughput than delay but higher maximum throughput than contention-based S-MAC contention-based S-MAC
TRAMA disadvantage: substantial memory/CPU TRAMA disadvantage: substantial memory/CPU requirements for schedule computationrequirements for schedule computation
68IFA’07 MILANO
Z(ebra)-MAC: A HYBRID MAC PROTOCOLZ(ebra)-MAC: A HYBRID MAC PROTOCOLI. Rhee, A. Warrier,M. Aia, J. Min, ACM SenSys 2005, Nov 2005.I. Rhee, A. Warrier,M. Aia, J. Min, ACM SenSys 2005, Nov 2005.
* Combines the strengths of both CSMA and TDMA at the same time offsetting their weaknesses.
* High channel efficiency and fair
MAC Channel Utilization
CSMA
TDMA
Low Contention High ContentionHigh Low
Low High
69IFA’07 MILANO
# of Contenders
Channel Utilization
TDMA
CSMA
IDEAL
Effective Throughput Effective Throughput CSMA vs. TDMACSMA vs. TDMA
70IFA’07 MILANO
Z-MACZ-MAC
• Uses the TDMA schedule created by DRAND as a 'hint' to schedule transmissions.
• The owner of a time-slot always has priority over the non-owners while accessing the medium.
• Unlike TDMA, non-owners can 'steal' the time-slot when the owners do not have data to send.
71IFA’07 MILANO
Z-MACZ-MAC
• This enables Z-MAC to switch between CSMA and TDMA depending on the level of contention.
• Hence, under low contention, Z-MAC acts like CSMA (i.e. high channel utilization and low latency), while under high contention, Z-MAC acts like TDMA (i.e. high channel utilization, fairness and low contention overhead).
72IFA’07 MILANO
DRAND (Distributed TDMA Scheduling) – AlgorithmDRAND (Distributed TDMA Scheduling) – Algorithm
C D
A
FB
C D
A E
B
E
F
Radio Interference Map
Input Graph
C DA E
B FDRAND
Slot Assignme
nt
0
0
1
32
1
73IFA’07 MILANO
Transmission ControlTransmission Control
Slot Ownership- If current timeslot is the node's assigned time-slot, then it is the Owner, and all other
neighboring nodes are Non-Owners.
74IFA’07 MILANO
Transmission ControlTransmission Control
Low Contention Level – Nodes compete in all slots, albeit with different priorities. Before transmitting:
- If I am the Owner – take backoff = Random(To)
- Else if I am the Non-Owner – take backoff = To + Random(Tno)
- After backoff, sense channel, if busy repeat above,
else send.
75IFA’07 MILANO
Transmission ControlTransmission Control
* Switches between CSMA and TDMA automatically
depending on contention level
* Performance depends on specific values of To and Tno
* From analysis, To = 8 and Tno = 32 are used for best
performance
76IFA’07 MILANO
Transmission ControlTransmission Control
Time SlotsA(0)
B(1)
0 021
Ready to Send, Start Random(To) Backoff Ready to Send, Start To + Random(Tno)
Backoff
After Backoff, CCA Idle
After Backoff, CCA Busy
Non-Owner Backoffs
Owner Backoffs
77IFA’07 MILANO
Performance ResultsPerformance Results
DRAND and ZMAC have been implemented on both
NS2 and on Mica2 motes (Software can be downloaded from: http://www.csc.ncsu.edu/faculty/rhee/export/zmac/index.html)
78IFA’07 MILANO
Two-Hop ExperimentsTwo-Hop Experiments
* Setup – Two-Hop
* Dumbbell shaped topology
* Transmission power varied between low (50) and high (150) to get two-hop situations.
* Aim – See how Z-MAC works when Hidden Terminal Problem manifests itself.
Sources SourcesSink
79IFA’07 MILANO
Overhead (Hidden Costs)
OperationOperation Average (J)Average (J) StdDevStdDev
Neighbor Neighbor DiscoveryDiscovery
0.730.73 0.00180.0018
DRANDDRAND 4.884.88 3.1053.105
Local Frame Local Frame ExchangeExchange
1.331.33 1.391.39
Time Time SynchronizationSynchronization
0.280.28 0.0360.036
Total energy: 7.22 J – 0.03% of typical battery (2500mAh, 3V)
Top Related