B-MAC: Versatile Low Power Media Access For Wireless Sensor Networks
B-MAC: Versatile Low Power Media Access For Wireless Sensor Networks
B-MAC: Versatile Low Power Media Access For Wireless Sensor Networks
SenSys ’04
Reminder: Proposal Presentation
on Monday, March 5
• Prepare powerpoint slides to motivate your project
and show the overall approach to tackling the problem
• Come at least 10 minutes before the class begins
– Give your slides to the tech staff
– Lean how to use the presentation tool etc.
• Teams & presentation order:
– Mike & Vic (+ Brian)
– Chris & Yan
– Dahee & Chao
– Surabh
– Mehmet
Design goals of B-MAC
• Low power operation
• Effective collision
• Simple implementation, small code & RAM size
• Efficient channel utilization at low & high data
rates
• Reconfigurable by network protocols
• Tolerant to changing RF/Networking
conditions
• Scalable to large numbers of nodes
Small, configurable MAC
• Export control to higher services to support
wide variety of WSN workloads
– WSNs are supposed to support various applications
• S-MAC (discussed in the previous class) is
more than a link layer protocol
– Drawbacks of S-MAC
• Scalability: A node may have to remember many schedules
and wake up accordingly
• MAC layer may not be the best place for sleep scheduling
& synchronization
Adaptive, reconfigurable MAC
• Adaptive bidirectional interface for
WSN applications
– Reconfigure the MAC protocol based on the
current workload
– Identify the best parameters for an
arbitrary low power WSN applications at
compile or run time & estimate the
application’s lifetime
B-MAC Design
• Really simple
– CSMA via CCA (Clear Channel Assessment)
& backoff
– Low power listening via Preamble
– Acknowledgment
• Enable/disable anything above and allow
to build anything on top of the
configured B-MAC!
B-MAC Interfaces
Clear Channel Assessment
• Effective collision avoidance
• Find out whether the channel is idle
– If too pessimistic: waste bandwidth
– If too optimistic: more collisions
• Key observation
– Ambient noise may change significantly depending
on the environment
– Packet reception has fairly constant channel
energy
• Software approach to estimating the noise
floor
• Take a signal sample when the channel is assumed to
be free
– Right after a packet is transmitted or when no valid data is
received
– Take exponential moving average (EMA) of the median signal
strength
• Works as a low pass filter
• Smoothed idle signal level Sm(t) = a * S(t) + (1 - a) * Sm(t-1)
– Sm(t): EMA at time t
– S(t-1): Signal strength of ambient noise at t
– Sm(t-1): EMA at time t-1
– It contrasts to common threshold-based methods in which
only a single sample is taken
– Resilient to time-varying ambient noise
CCA vs. Threshold techniques
Idle
CCA dynamically
adjusts threshold
Receiver
Preamble sampling Active to receive a message
If n=60, 25ms is
best
If n = 20, 50ms check
interval is optimal
Experiments
• Compare BMAC to S-MAC & T-MAC
– T-MAC is similar to S-MAC, but a receiver
goes to sleep if it does not receive any
message
– B-MAC & S-MAC: implemented in TinyOS
– TMAC: simulated in Matlab
TinyOS Implementation