Jingbin Zhang( 張靜斌 ) †, Gang Zhou †, Chengdu Huang ‡, Sang H. Son †, John A. Stankovic † TMMAC: An Energy Efficient Multi- Channel MAC Protocol for Ad

Embed Size (px)

DESCRIPTION

Introduction IEEE is designed for single channel access However, multiple channels can be used – Enhance network throughput IEEE a  12 channels IEEE b  3 channels 3

Citation preview

Jingbin Zhang( ) , Gang Zhou , Chengdu Huang , Sang H. Son , John A. Stankovic TMMAC: An Energy Efficient Multi- Channel MAC Protocol for Ad Hoc Networks University of Virginia University of Illinois IEEE International Conference on Communications 2007 (ICC 2007) Outline Introduction Proposed Protocol TMMAC Schedule Transmission Dynamic ATIM Window Adjustment Simulation Conclusion Introduction IEEE is designed for single channel access However, multiple channels can be used Enhance network throughput IEEE a 12 channels IEEE b 3 channels 3 Introduction Related Work Multi-channel MAC for ad hoc networks: handling multi-channel hidden terminal using a single transceiver J. So and N. Vaidya MobiHoc 2004 Time Beacon Interval Introduction Related Work Time Beacon Interval Introduction Related Work Time Beacon Interval ATIM WindowCommunication Window Beacon Interval Time Proposed Protocol The authors present a TDMA based Multi- channel MAC protocol (TMMAC) Single transceiver Data transmission are scheduled Dynamically adjust ATIM window TMMAC -- Architecture Time Beacon Interval ATIM WindowCommunication Window Beacon Interval Time Communication Window TMMAC Four types of packets are used for negotiation: ATIM ATIM-ACK (ATIM-Acknowledgement) ATIM-RES (ATIM-Reservation) ATIM-BRD (ATIM-Broadcast) TMMAC During the negotiation, the transmission pair decide Which channels Which time slots TMMAC -- DATA structures Two data structures used in TMMAC Channel Usage Bitmap (CUB) Channel Allocation Bitmap (CAB) TMMAC -- DATA structures Channel Usage Bitmap (CUB) Each node need to maintain Transmitted with ATIM packets TMMAC -- DATA structures Channel Allocation Bitmap (CAB) Not need to maintain Transmitted with ATIM-ACK, ATIM-RES ATIM- BRD packets Telling the neighboring nodes which channels and which time slots are allocated by the current negotiation TMMAC -- Unicast Negotiation AB ACUBs CUB 0 CUB 0 001001 CUB M 101000 ATIM(CUBs, M) BCUBs CUB 0 CUB 0 111000 CUB M 000010 OR TMMAC -- Unicast Negotiation AB ACUBs CUB 0 CUB 0 001001 CUB M 101000 ATIM(CUBs, M) BCUBs CUB 0 CUB 0 111000 CUB M 000010 OR A&BCUBs CUB 0 CUB 0 111001 CUB M 101010 TMMAC -- Unicast Negotiation AB A&BCUBs CUB 0 CUB 0 111001 CUB M 101010 ATIM-ACK(CABs) BCABs CUB 0 CUB 0 000000 CUB M 000000 ATIM-RES(CABs) TMMAC -- CUBs update AB BCABs CUB 0 CUB 0 000000 CUB M 000000 ACUBs CUB 0 CUB 0 001001 CUB M 101000 BCUBs CUB 0 CUB 0 111000 CUB M 000010 ACUBs CUB 0 CUB 0 011011 CUB M 111010 BCUBs CUB 0 CUB 0 111010 CUB M 011010 TMMAC -- CUBs update AB BCABs CUB 0 CUB 0 000000 CUB M 000000 CCUBs CUB 0 CUB 1 011000 CUB M 110010 C CCUBs CUB 0 CUB 1 011000 CUB M 110010 TMMAC -- Broadcast Negotiation Randomly selects the time slots, in which all the channels are not used by any of its neighbors yet S SCUBs CUB 0 CUB 0 001001 CUB M 101000 ATIM-BRD(CABs) SCUBs CUB 0 CUB 0 000000 CUB M 000000 TMMAC -- Broadcast Negotiation In broadcast negotiation, The time slot must all channels are free It is more difficult to allocate time slots To alleviate that problem, Within a single node Boradcast packets first Within multiple nodes Broadcast packets use a small backoff window TMMAC -- Data packets transmission In the ith time slot, Have packets to send or receive First switch to the negotiated channel Transmits or waits for the data packet No packets to send or receive Go into doze TMMAC -- Dynamic ATIM window adjustment Use a finite set of ATIM window sizes {ATIM 1,...,ATIM i,ATIM i+1,...,ATIM m }, ATIM 1 = minimal ATIM window size ATIM m = maximal ATIM window size ATIM i+1 - ATIM i = l slot TMMAC -- Dynamic ATIM window adjustment In TMMAC, each node adjusts its ATIM window size dynamically Allowing different nodes to have different ATIM window sizes When a node is sending an ATIM control packet, it piggybacks its ATIM window size for the next beacon interval TMMAC -- Dynamic ATIM window adjustment To avoid collisions between ATIM control packets and data packets in the default channel The default channel is never used for data communication in the time slots before ATIM m TMMAC -- Dynamic ATIM window adjustment When node A wants to send a packet to node B A know Bs ATIM window size A decide whether the negotiation can be finished within min{As ATIM window,Bs ATIM window } Else A decide whether the negotiation can be finished within ATIM 1 TMMAC -- Rules for Dynamic ATIM window adjustment Use the information whether all the available bandwidth in the communication window is scheduled for data communication TMMAC -- Rules for Dynamic ATIM window adjustment All the slot times in the communication window are scheduled Decrease the ATIM window by one level Time ATIM windowCommu windowATIM windowCommu window Time Beacon Interval DecreaseAll in used TMMAC -- Rules for Dynamic ATIM window adjustment Not all the slot times are scheduled Can negotiate Time ATIM windowCommu windowATIM windowCommu window Time Beacon Interval DecreaseNot all in usedCan negotiate TMMAC -- Rules for Dynamic ATIM window adjustment Not all the slot times are scheduled Cannot negotiate Time ATIM windowCommu windowATIM windowCommu window Time Beacon Interval Increase Not all in used Cant negotiate Simulation -- Parameters ParametersValues SimulatorGloMoSim Length of time frame (beacon interval)100 ms Number of channels3 Data rate2 Mbps Network area size1000m*1000m Randomly deployed200 nodes Packet size512Bytes Max ATIM window size31.43 ms Min ATIM window size8.57 ms Channel switch delay80 s Max time synchronization error0.1 ms Simulation result20 trials Simulation time50s Simulation Evaluation of Dynamic ATIM Window Adjustment Number of packets transmitted vs. ATIM window size Simulation Evaluation of Dynamic ATIM Window Adjustment Number of packets transmitted vs. ATIM window size Simulation Performance and System Loads Aggressive throughputEnergy consumption per packet Conclusion The authors present the TMMAC protocol Energy efficient Single transceiver Support broadcast Dynamically adjust ATIM window From performance evaluation, TMMAC achieve Higher throughput Less energy consumption Thank you Thank you