implementation of backpressure collection protocol for zigbee (ieee 802.15.4) on qualnet

18
Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet By Pramit Choudhary, Balaji Raao & Ravindra Bhanot CS 234 - Advanced Networks Graduate Course Instructor: Prof. Nalini Venkatasubramanian (Initial draft of the presentation -

Upload: caine

Post on 21-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet. By Pramit Choudhary , Balaji Raao & Ravindra Bhanot CS 234 - Advanced Networks Graduate Course Instructor: Prof. Nalini Venkatasubramanian (Initial draft of the presentation - 6/6/2012). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Implementation of Backpressure Collection Protocol for Zigbee (IEEE

802.15.4) on Qualnet

ByPramit Choudhary, Balaji Raao & Ravindra Bhanot

CS 234 - Advanced Networks Graduate CourseInstructor: Prof. Nalini Venkatasubramanian(Initial draft of the presentation - 6/6/2012)

Page 2: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Problem Statement

• How to implement backpressure routing in practical wireless sensor networks considering concerns related to packet looping, link losses, end-to-end packet delays and scalability?

2

Page 3: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Motivations for defining the problem statement

• Real world sensing applications require high data rate with a capacity <= 4 KBps (Collection throughput)

• Most collection protocols in sensor networks are based on minimum-cost routing trees.

• Theoretical work on backpressure not implemented in practical systems.

• Need for superior delivery performance in noisy and extreme external interference environments.

3

Page 4: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

How backpressure routing works?

4

Page 5: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

BCP Routing Packet HeaderType(1 bit)

P(1 bit)

C(1 bit)

A(1 bit)

Reserved(4 bits)

Queue length(16 bits)

Source ID + Sequence No.(32 + 32 bits)

Dest ID + Sequence

No.(32 + 32

bits)

ETX(8 bits)

Type of Packet supported: Currently, these are the packet type supported by the implementation of BCP on Qualnet namely, Beacon Packet, Data Packet, ACK PacketP – Pull (request for more beacon packets from neighbors to be delivered to obtain network topology update and estimation of link metrics)C – Congested bit ( P and C form the control bits)A – Acknowledgement bit (If this bit is set high, then its an ACK packet)Queue Length: Information about the queue backlog containing no. of data pktsSource and Destination IP addresses: Node IPv4 addressesSource and Destination sequence numbers: We use 32 bits as used in AODV protocol in QualnetETX: Expected number of transmission for link calculation estimationNOTE: The size of the header is 20 bytes and is chosen based on the implementation aspects in Qualnet. Bits for each of the fields can be varied accordingly if needed.

Page 6: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Data Structures

typedef struct{ netLearningRreqPacketInfo info;

// destination address and sequence netLearningAddrSeqInfo destination;

// source address and sequence netLearningAddrSeqInfo source;} netLearningREQUESTPacket;

typedef struct{ // Next 32-bit variable will be used as // First 8-bits for type // next bit is P-bit // next bit is C-bit // next bit is A-bit // next bit is D1-bit // next bit is D2-bit // next 11-bits are reserved for the queue length // last 8-bits for storing the ETX value. UInt32 typeBitInfo; UInt32 floodingId;} netLearningRreqPacketInfo; // Part of the Beacon Packet

typedef struct{ NodeAddress address; UInt32 seqNum;} netLearningAddrSeqInfo;

Beacon Packet contained in BCP

typedef struct{ NodeAddress address; UInt32 seqNum;} netLearningAddrSeqInfo;

Page 7: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Routing Table for BCPDestination IP Address

Link weights (w_(i -> j))

ETX_(i -> j) Link RatesR_(i-> j)

Neighbor 1

Neighbor 2

Neighbor 3

Neighbor 4

Neighbor 5

The above table is maintained at every node in the sensor network to update the one-hop estimated metrics and calculation of the link weights for all the links towards the connected neighboring nodes.

7

Page 8: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Message flow and module interactions

8

Page 9: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

LIFO Queue

• LIFO queue used in BCP for better efficiency in delivering data.

•LIFO queue implemented in Qualnet by Inheriting FIFO queue methods and properties.

• Initially “Head” and “Tail” point to the same location.

•The “Head” pointer increments as packets are added to a queue.

Page 10: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

LIFO in BCP

• Whenever LIFO becomes half full, a congestion bit set.

•A beacon message delivered back which indicates back pressure.

•Thus, efficient load balancing achieved across the network.

10

Page 11: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

BCP Algorithm{# Sink along with other intermediate nodes send out a beacon message (Beacon packet broadcasted)# Each node except the Sink node is generating data packets to be sent across to the sink either directly or via intermediate node. Till a flow gradient is established, all generate packets are stacked in a LIFO queue maintained at each node.# Each node is transmitting at different transmission rate based on gradient established.# When an intermediate node receives a beacon from another node or the sink node, packet header is updated by setting the ACK (‘A’ flag) and returns the packet to the source (ACK packet sent).# Before sending the ACK packet, the intermediate node updates its routing table with the source and destination IP addresses.# On receiving the ACK packet, the source node estimates link rate (R) and expected number of transmissions (ETX) for all the links to its surrounding neighbors to get the back pressure weight. The back pressure weight, along with the ETX and R info helps in determining the flow gradient, hence the selection of the path.

}Assumption: All nodes are considered to be static for the implementation of the protocol and it’s a single-hop broadcast to all the neighboring nodes.

Page 12: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Phase1 - Contribution• Played around with Qualnet to understand how to configure topologies,

important to verify any kind of implementation - Balaji, Pramit, Ravi• Good understanding of the Qualnet framework and how the different network

layers interact with each other - Balaji, Pramit, Ravi• Successful setting up of the system and the debug environment• Successful addition of BCP as a new protocol to the existing Qualnet

framework - Pramit• Successful implementation of the generation of the beacon packets to search

for the routes - Balaji, Pramit• Successful implementation and addition of the LIFO queue to the Qualnet

framework - Ravi• Successful designing of the Packet header data structure for the BCP packet –

Balaji, Ravi• Successful designing of the Routing table data structure for each node of the

Routing protocol - Balaji • As we speak, work is progressing on the implementation of the RREP message

send by the receiver to the sender - Pramit, Balaji

Page 13: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

SnapShot of Routing Protocol in Qualnet

Page 14: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

SnapShot of Network Topology in Qualnet

14

Page 15: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Phase 2 - ContributionFailure / Recovery Model – If time permits•Data Loss: Resolved using if the ACK packet is not received within the Time to Live (TTL) defined for the data packet.

•Link failure: The intermediate nodes are required to issue HELLO_I_AM_ALIVE message to the source. If the source does not receive this message within the time frame defined, then it will re-broadcast the beacon packet again.

Page 16: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Evaluation• For the final evaluation of the

implementation, we plan to come up with measurements of the performance metrics and evaluating them. Metrics & evaluations that we have thought of are:• Data Packet delivery Ratio• Average Transmission/Packet• Comparison of BCP with respect to LIFO and FIFO queues(This slide needs to be updated with results later)

Page 17: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Related work• Collection Tree Protocol (CTP) by O. Gnawali, R.

Fonseca, K. Jamieson, D. Moss & P. Levis implemented and tested on several testbeds like Tutornet, Motelab, etc and also on TinyOS 2.x.

• Collection Tree Protocol for the Castalia Wireless Sensor Networks Simulator by U. Colesanti and Silvia Santini.

• Backpressure Collection Protocol implementation on TinyOS 2.x by S. Moeller, A. Sridharan, B. Krishnamachari O. Gnawali – This is the main paper that we have followed in the project.

17

Page 18: Implementation of Backpressure Collection Protocol for  Zigbee  (IEEE 802.15.4) on  Qualnet

Conclusion

• Understanding of backpressure routing for collection protocols in sensor networks.

• Familiarizing and hands-on experience of using Qualnet network simulator.

• BCP routing algorithm design and development for a Zigbee (IEEE 802.15.4) protocol stack on Qualnet.

18