IFA’07 MILANO 1 CHAPTER 6. CHAPTER 6. MAC PROTOCOLS MAC PROTOCOLS.

80
1 IFA’07 MILANO CHAPTER 6. CHAPTER 6. MAC PROTOCOLS MAC PROTOCOLS

Transcript of IFA’07 MILANO 1 CHAPTER 6. CHAPTER 6. MAC PROTOCOLS MAC PROTOCOLS.

1IFA’07 MILANO

CHAPTER 6.CHAPTER 6.

MAC PROTOCOLSMAC PROTOCOLS

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

15IFA’07 MILANO

PERIODIC LISTEN AND PERIODIC LISTEN AND SLEEPSLEEP

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).

30IFA’07 MILANO

S-MAC - EXAMPLES-MAC - EXAMPLE

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}}

49IFA’07 MILANO

INS: Find rINS: Find rcorrcorr

Correlation regionCorrelation region

50IFA’07 MILANO

INS: Find rINS: Find rcorrcorr

Correlation neighborsCorrelation neighbors

51IFA’07 MILANO

INS: Find rINS: Find rcorrcorr

Representative NodeRepresentative Node

52IFA’07 MILANO

INS: Find rINS: Find rcorrcorr

2*r2*rcorrcorr

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

58IFA’07 MILANO

CC-MAC PerformanceCC-MAC Performance

Packet Drop Rate

59IFA’07 MILANO

CC-MAC PerformanceCC-MAC Performance

Goodput

60IFA’07 MILANO

CC-MAC PerformanceCC-MAC Performance

Avg. Energy Consumption

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)

80IFA’07 MILANO

Open Research Issues

1. Mobility Support2. Real-time Communication