Implementation Of Byzantine Fault Tolerant Algorithm on WSN

1,326
-1

Published on

A research project undertaken as my final semester project in a team of 3 people at Nirma Institute of Technology.

Published in: Technology, Art & Photos
2 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,326
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
2
Likes
1
Embeds 0
No embeds

No notes for slide

Implementation Of Byzantine Fault Tolerant Algorithm on WSN

  1. 1. IMPLEMENTING BYZANTINE ALGORITHM ON WIRELESS SENSOR NETWORKS<br />Guided By:- Prof. GaurangRaval<br />Presented By:<br />Shatadru Chattopadhyay(07BIT005)<br />Herat Gandhi(07BIT012)<br />ShashankJuyal(07BIT017)<br />
  2. 2. AGENDA<br />Introduction<br />Goals and Objectives<br />Constraints<br />Tools and Technologies used<br />Concepts<br />Byzantine Failure <br />Byzantine fault tolerant Algorithm<br />Deliverables<br />Byzantine Implementation on Mesh Networks<br />Byzantine Implementation on multi-hop networks<br />Byzantine implementation on multi-hop networks using power based routing<br />Comparison between algorithms<br />Practical Demonstration<br />Future Scope<br />
  3. 3. INTRODUCTIONGoals and Objectives<br />Implementation of Byzantine Fault Tolerance Algorithm<br />Simulation of algorithm using TOSSIM<br />Deployment over hardware motes<br />Measuring time required by each mote and optimizing it<br />Efficient utilization of resources on Hardware motes<br />Power Efficient Algorithms<br />
  4. 4. Introductionconstraints<br />Interference along the 2.4 GHz ISM band since most wireless devices tend to use this band for communication.<br />Noise Level across links should be known.<br />TOSSIM cannot simulate for heterogeneous networks.<br />Because it is developed in TinyOS 2.1.1 it is backward incompatible.<br />
  5. 5. Introductionfunctionalities<br />Detecting and Isolating faulty motes and keeping the network robust enough to communicate<br />Maintaining power efficiency<br />A power efficient routing protocol<br />A client server simulator for analysts to analyze their networks and topologies<br />Graphical Analysis and Report Generation<br />
  6. 6. Introductiontools and technologies<br />NetBeans6.9.1<br />TinyOS<br />PowerTOSSIM-Z<br />TOSSIM<br />Python<br />
  7. 7. Conceptsbyzantine fault<br />The term Byzantine was first used for the type of failure where faulty motes may exhibit completely unconstrained behavior.<br />Derived from some traitorous generals of the Greek Byzantium Empire<br />The Byzantine Problem assumes that the network is an n-mote connected undirected graph<br />Each mote starts with an input from a fixed value set V .<br />The goal is for the motes to eventually output decisions from the set V, with the possibility that a limited number (at most f) of motes might fail. <br />
  8. 8. Conceptsbyzantine fault tolerant algorithm<br />In order to broadcast (m, i, r) at round r, mote i sends a message (“init', m, i, r) to all motes at round r. If mote j receives an ("init", m, i, r) message from mote i at round r, it sends ("echo", m, i, r) to all motes at round r + 1.<br />If, before any round r > r + 2, mote j has received ("echo", m, i, r) messages from at least f + 1 motes, then j sends an ("echo", m, i, r) message at round r (if it has not already done so).<br />If, by the end of any round r > r + l, mote j has received ("echo", m, i, r) messages from at least n - f motes, then j accepts the communication at round r(if it has not already done so).<br />
  9. 9.
  10. 10. conceptsCollection tree protocol(CTP)<br />A collection protocol builds and maintains minimum cost trees to nodes that advertise themselves as tree roots.<br />Two methods <br />The first is data path validation using data packets to dynamically probe and validate the consistency of its routing topology.<br />The second is adaptive beaconing, which extends the Trickle code propagation algorithm so it can be applied to routing control traffic.<br />CTP uses expected transmissions (ETX) as its routing gradient.<br />A root has an ETX of 0. The ETX of a node is the ETX of its parent plus the ETX of its link to its parent.<br />
  11. 11. Conceptsdissemination<br />Major Dissemination Protocols are <br />DRIP-Each data item is independently advertised and disseminated. Metadata is not shared among data items<br />DIP-It is a modification of the Drip protocol. Advertisement messages are used for a fixed data set meaning all nodes must agree on a fixed set of data item identifiers before dissemination. <br />DHV-Advertisement messages are used for a fixed data set meaning all nodes must agree on a fixed set of data item identifiers before dissemination.<br />
  12. 12. Deliverablesimplementation on mesh networks<br />Stage 1: All stations send HELO packet to the base station<br />Stage 2: Base Stations sends ‘n’-the number of motes in the network, to all stations<br />Stage 3: A node sends an INIT packet to all other motes<br />Stage 4: If having received INIT packet, motes send ECHO packet to all other motes<br />Stage 5: If a mote has received ‘n-f’ ECHO packets, f being the number of faulty motes, then communication is successfully established<br />
  13. 13. Implementation on mesh networksPacket structures<br />HELO Packet-<br />16 bit packet<br />Contains mote ID of the mote sending it<br />INIT Packet-<br />32 bit packet<br />Sent only once by a mote<br />Consists sender`s mote ID<br />ECHO Packet-<br />32 bit packet<br />Sent in reply to receiving an INIT<br />Consists of the mote ID of sender<br />
  14. 14. Implementation over mesh networksresults<br />Probability vs. Number of Motes(n)<br />
  15. 15. Implementation over mesh networksresults<br />Energy(mJ) vs. Time(msecs) <br />
  16. 16. Implementation over mesh networksresults<br />Energy(mJ) vs. Probability<br />
  17. 17. deliverablesImplementation over multi-hop networks<br />First stage: All motes send HELO packet to base station using CTP and base station finds total number of motes in network.<br />Second stage: Base station sends “n (number of motes)” to all motes using Dissemination.<br />Third stage:In this stage one node will be randomly selected and will disseminate INIT packet using the Drip algorithm in the network.<br />Fourth stage: After receiving INIT packet, motes send ECHO packet. Motes keep counter of ECHO packets.<br />Fifth stage: If any mote has received n-f ECHO packets in previous round then it establishes successful communication.<br />
  18. 18. Implementation over multi-hop networksPacket structures<br />HELO Packet-<br />16 bit packet<br />Contains mote ID of the mote sending it<br />INIT Value-<br />Is a value disseminated over the network<br />Value disseminated using DRIP<br />If a value of 0 is received it is interpreted as INIT value<br />ECHO Value-<br />Is a value disseminated over the network<br />Value disseminated using DRIP<br />If a value other than 0 is received it is interpreted as ECHO<br />
  19. 19. Implementation over multi-hop networksresults<br />Energy vs. Number of Motes(n)<br />
  20. 20. Implementation over multi-hop networksresults<br />Time vs. Number of Motes(n)<br />
  21. 21. Deliverablesimplementation using power based routing<br />First stage: All motes send HELO packet to base station using CTP and base station finds total number of motes in network.<br /> <br />Second stage: Base station sends “n (number of motes)” to all motes using Dissemination.<br />Third stage: Each mote sends HELO packet to its neighbor.<br /> <br />Fourth stage: After receiving HELO packet from neighbor mote sends ACK packet to sender mote. After receiving ACK packet mote measures its RSSI value and stores all necessary information. Each mote also stores which mote can be selected as its parent.<br /> <br />Continued……..<br />
  22. 22. continued<br />Fifth stage: Information collected from the previous stage is sent to base station using FRNDS packet and base station processes this information and creates routing table.<br />Sixth stage: Base station sends pruned routing table to all motes.<br /> <br />Seventh stage: In this stage one node will be randomly selected and will disseminate INIT packet using pruned routing table. <br /> <br />Eighth stage: After receiving INIT packet, motes send ECHO packet. Motes keep counter of ECHO packets. <br /> <br />Ninth stage: If any mote has received n-f ECHO packets in previous round then it establishes successful communication.<br />
  23. 23. implementation using power based routingPacket structures<br />HELO Packet-<br />16 bit packet<br />Contains mote ID of the mote sending it<br />INIT Value-<br />Is a value disseminated over the network<br />Value disseminated using DRIP<br />If a value of 0 is received it is interpreted as INIT value<br />ECHO Value-<br />Is a value disseminated over the network<br />Value disseminated using DRIP<br />If a value other than 0 is received it is interpreted as ECHO<br />FRNDS Packet-<br />Contains neighbor information and power required to transmit to them <br />
  24. 24. implementation using power based routingresults<br />Energy vs. Number of motes<br />
  25. 25. implementation using power based routingresults<br />Time vs. Number of motes<br />
  26. 26. Comparison between algorithms<br />
  27. 27. Simulator<br />A client server based simulator<br />It is aimed at network analysts to analyze topologies<br />Can work for particular or a randomly generated topology<br />Provides graphical analysis as well as reports for the topology and its energy consumption<br />Works over the internet and TOSSIM needs to be installed only in the server hence saves from installing TinyOS. <br />
  28. 28. simulatorreports-power analysis<br />
  29. 29. simulatorreports-network graph<br />
  30. 30. simulatorreports-power graph<br />
  31. 31. Practical Demonstration<br />
  32. 32. Future scope<br />Some improvements in the Algorithm can be done by using the routing table generated by the Base Station using power based routing in the implementation of Byzantine algorithm to make it more efficient and feasible over large network.<br />This simulator performs all processing part on server and client can view result by communicating with server. This architecture can be extended to use cloud computing. <br />
  33. 33. bibliography<br />D Gay, P Levis, ‘The NesC language: A holistic approach to network embedded systems’, ACM 2003<br />Nancy Lynch, ‘Distributed Algorithms’, Morgan Kaufmann Inc. 1997<br />Philip Levis, ‘TOSSIM: Accurate and Scalable simulation of entire TinyOS applications’.<br />Enrico Perla, Art O Cathain, ‘PowerTOSSIM z: Realistic Energy Modeling for Wireless Sensor Network Environments’<br />Jessica Staddon, Dirk Balfanz and Glenn Durfee, ‘Efficient Tracing of Failed Nodes in Sensor Networks’, Palo Alto reasearch Center, October 1 2002. <br />Thomas Clouqueur, ‘Fault Tolerance in Collaborative Sensor Networks for Target Detection, IEEE Conference, March 2004.<br />Carolos Livadas and Nancy A. Lynch, ‘A Reliable Broadcast Scheme for Sensor Networks’.<br />H.A. Ali, ‘An efficient relative broadcast algorithm in Adhoc networks based on Self-Pruning’, Egypt.<br />
  34. 34. references<br />http://docs.tinyos.net<br />http://netbeans.org/kb/docs/ide/overview-screencast.html<br />http://www.millennium.berkeley.edu<br />http://www.eecs.harvard.edu/~mainland/tinyos<br />http://www.cs.berkeley.edu/~pal/research/tossim.html<br />http://deneb.cs.kent.edu<br />http://vimeo.com/channels/tinyos<br />http://cs.acadiau.ca/~shussain/wsn/apps/tos2/index.html<br />
  35. 35. Thank YOu<br />

×