You are on page 1of 17

An Energy-Efficient

MAC Protocol for


Wireless Sensor
Networks

Tijs van Dam


Quick recap
MAC protocol determines next node to
use the medium
Evaluate MAC protocols based on
energy usage
Use realistic communication patterns
for evaluation
Classic CSMA
If air is clear, send; if
receiving, wait
How do we know
when to receive?
Listen always!
Listening costs 200x
more energy than
sleeping
Not energy-efficient
S-MAC protocol
Fixed active/sleep
duty cycle
Synchronization of
active times
Not optimal for
fluctuating message
load
time (events)
location (important
nodes)
T-MAC protocol
Make duty cycle
dynamic
End active time with
time-out
All messages at
start of frame
T-MAC Protocol (2)
RTS/CTS/DATA/ACK exchange
Synchronization not critical
No increasing backoff: fixed contention
interval
Overhearing avoidance
Early sleeping problem
A B C D

Ready-To-Send
Early sleeping problem
A B C D

! Clear-To-Send

B overhears CTS
Early sleeping problem
A B C D

Data

B must remain silent


A times out and goes to sleep
Early sleeping problem
A B C D

Ready-To-Send

When B can send, A is sleeping


B must wait until next frame (problem!)
Early sleeping problem
A node goes to sleep while another
node still has a message for it
Occurs mostly in asymmetric
communication:
uni-directionalflow (nodes-to-sink)
edge of active area

Throughput decreases dramatically


Solutions
After overhearing a CTS, quickly send a
Future-Request-To-Send
Target node will be awake
Short pause between CTS and DATA

When receiving an RTS, ignore and send


own RTS
only when running out of buffers
only after two tries

Solutions increase throughput with 100%


Simulation setup
10 x 10 grid network
Patterns: local unicast, nodes-to-sink
Active areas simulate real-world events
Realistic nodes
energy
radio properties

DAS2 cluster
32 64 cpus
2 mins / simulation, > 40,000 msgs
Simulation results
Nodes-to-sink pattern, msglength = 20
4.5

CSMA
4
30000
3.5

25000
3
energy [ mA / node ]

S-MAC
2.5 20000

2 15000

1.5
10000

1
T-MAC
5000
0.5
2500

0
0 0.05 0.1 0.15 0.2 0.25 0.3
load [ msg / node / s]
Simulation results (2)
Event-based local unicast, msglength=20
4.5
CSMA
4
energy used [avg. mA / node]

3.5
S-MAC
3

2.5

1.5

0.5 T-MAC

0
0 1 2 3 4 5 6 7 8
peak load [msg / node / s]
Real implementation
Implemented T-MAC on EYES nodes
FRTS and priority not implemented (yet)
Seems to work well, no data loss yet
When idle, radio is off 97.5% of the time
Conclusions
T-MAC reduces energy. A lot.
Simple implementation
Simple idea can lead to dramatic
improvements
Paper submitted for SENSYS03
Infrared demo

You might also like