1 / 65

Routing

Routing. Murat Demirbas SUNY Buffalo. Routing patterns in WSN. Model: static large-scale WSN Convergecast: Nodes forwards their data to basestation over multihops, scenario: monitoring application Broadcast: Basestation pushes data to all nodes in WSN, scenario: reprogramming

brendy
Télécharger la présentation

Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Routing Murat Demirbas SUNY Buffalo

  2. Routing patterns in WSN Model: static large-scale WSN • Convergecast: Nodes forwards their data to basestation over multihops, scenario: monitoring application • Broadcast: Basestation pushes data to all nodes in WSN, scenario: reprogramming • Data driven: Nodes subscribe for data of interest to them, scenario: operator queries the nearby nodes for some data (similar to querying)

  3. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  4. Routing tree • Most commonly used approach is to induce a spanning tree over the network • The root is the base-station • Each node forwards data to its parent • In-network aggregation possible at intermediate nodes • Initial construction of the tree is problematic • Broadcast storm, remember Complex behavior at scale • Link status change non-deterministically • Snooping on nearby traffic to choose high-quality neighbors pays off • Taming the Underlying Challenges of Reliable Multihop Routing • Trees are problematic since a change somewhere in the tree might lead to escalating changes in the rest (or a deformed structure)

  5. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  6. Grid Routing Protocol • The protocol is simple: it requires each mote to send only one three-byte msg every T seconds • This protocol is reliable: it can overcome random msg loss and mote failure • Routing on a grid is stateless: perturbed region upon failure of nodes is bounded by their local neighbors

  7. The Logical Grid • The motes are named as if they form an M*N logical grid • Each mote is named by a pair (i, j) where i = 0 .. M-1 and j = 0 .. N-1 • The network root is mote (0,0) • Physical connectivity between motes is a superset of their connectivity in the logical grid: (0,1) (0,1) (1,1) (2,1) (2,1) (1,1) (2,0) (0,0) (1,0) (2,0) (0,0) (1,0)

  8. Neighbors • Each mote (i, j) has • two low-neighbors (i-H, j) and (i, j-H) • two high-neighbors (i+H, j) and (i, j+H) • H is a positive integer called the tree hop • If a mote (i, j) receives a msg from any mote other than its low- and high-neighbors, (i, j) discards the msg (i, j+H) (i, j) (i-H, j) (i+H, j) (i, j-H)

  9. Communication Pattern • Each mote (i, j) can send msgs whose ultimate destination is mote (0, 0) • The motes need to maintain an incoming spanning tree whose root is (0, 0): each mote maintains a pointer to its parent • When a mote (i, j) has a msg, it forwards the msg to its parent. This continues until the msg reaches mote (0, 0). (H = 2)

  10. Choosing the Parent • Usually, each mote (i, j) chooses one of its low-neighbors (i-H, j) or (i, j-H) to be its parent • If both its low-neighbors fail, then (i, j) chooses one of its high-neighbors (i+H, j) or (i, j+H) to be its parent. This is called inversion • Example: there is one inversion at mote (2, 2) because the two low-neighbors of (2, 2) have failed. failed failed (H = 2)

  11. Inversion Count • Each mote (i, j) maintains • the id (x, y) of its parent, and • the value c of its inversion count: the number of inversions that occur along the tree from (i, j) to (0, 0) • Inversion count c has an upper value cmax • Example: failed failed (3,2), 1 (0,3), 0 (0,0), 0 failed failed (0,3), 0 (0,0), 0 failed (H = 2) (0,1), 0

  12. Protocol Message • If a mote (i, j) has a parent, then every T seconds it sends a msg with three fields: connected(i, j, c) where c is the inversion count of mote (i,j) • Otherwise, mote (i, j) does nothing. • Every 3 seconds, mote (0, 0) sends a msg with three fields: connected(0, 0, 0)

  13. Acquiring a Parent • Initially, every mote (i, j) has no parent. • When mote (i, j) has no parent and receives connected(x, y, e), (i, j) chooses (x, y) as its parent • if (x, y) is its low-neighbor, or • if (x, y) is its high-neighbor and e < cmax • When mote (i, j) receives a connected(x, y, e) and chooses (x, y) to be its parent, (i, j) computes its inversion count c as: • if (x, y) is low-neighbor, c := e • if (x, y) is high-neighbor, c := e + 1

  14. Keeping the Parent • If mote (i, j) has a parent (x, y) and receives any connected(x, y, e) then (i, j) updates its inversion count c as: • if (x, y) is low-neighbor, c := e • if (x, y) is high-neighbor and e < cmax, c := e + 1 • if (x, y) is high-neighbor and e = cmax, then (i, j) loses its parent

  15. Losing the Parent • There are two scenarios that cause mote (i, j) to lose its parent (x, y) • (i, j) receives a connected(x, y, cmax) msg and (x, y) happens to be a high-neighbor of (i, j) • (i, j) does not receive any connected(x, y, e) msg for kT seconds

  16. Replacing the Parent • If mote (i, j) has a parent (x, y), and receives a connected(u, v, f) msg where (u, v) is a neighbor of (i, j), and (i,j) detects that by adopting (u, v) as a parent and using f to compute its inversion count c, the value of c is reduced then (i, j) adopts (u, v) as its parent and recomputes its inversion count

  17. Allowing Long Links • Add the following rule to the previous rules for acquiring and replacing a parent: • If any mote (i,j) ever receives a message connected(0,0,0), then mote (i,j) makes mote (0,0) its parent

  18. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  19. Application context • A Line in the Sand (Lites) • field sensor network experiment for real-time target detection, classification, and tracking • A target can be detected by tens of nodes • Traffic burst • Bursty convergecast • Deliver traffic bursts to a base station nearby

  20. Problem statement • Only 33.7% packets are delivered with the default TinyOS messaging stack • Unable to support precise event classification • Objectives • Close to 100% reliability • Close to optimal event goodput (real-time) • Experimental study for high fidelity

  21. base station Network setup • Network • 49 MICA2s in a 7 X 7 grid • 5 feet separation • Power level: 9 (for 2-hop reliable communication range) • Logical Grid Routing (LGR) • It uses reliable links • It spreads traffic uniformly

  22. Traffic trace from Lites • Packets generated in a 7 X 7 subgrid, when a vehicle passes across the middle of the Lites network • Optimal event goodput: 6.66 packets/second

  23. Retransmission based packet recovery • At each hop, retransmit a packet if the corresponding ACK is not received after a constant time • Synchronous explicit ack (SEA) • Explicit ACK immediately after packet reception • Shorter retransmission timer • Stop-and-wait implicit ack (SWIA) • Forwarded packet as an ACK • Longer retransmission timer

  24. SEA • Retransmission does not help much, and may even decrease reliability and goodput • Similar observations when adjusting contention window of B-MAC and using S-MAC • Retransmission-incurred contention

  25. SWIA • Again, retransmission does not help • Compared with SEA, longer delay and lower goodput/reliability • longer retransmission timer & blocking flow control • More ACK losses, and thus more unnecessary retransmissions

  26. Protocol RBC • Differentiated contention control • Reduce channel contention caused by packet retransmissions • Window-less block ACK • Non-blocking flow control • Reduce ack loss • Fine-grained tuning of retransmission timers

  27. Window-less block ACK Non-blocking window-less queue management • Unlike sliding-window based black ACK, in order packet delivery is not considered • Packets have been timestamped • For block ACK, sender and receiver maintain the “order” in which packets have been transmitted • “order” is identified without using sliding-window, thus there is no upper bound on the number of un-ACKed packet transmissions

  28. VQ0 1 2 high VQ1 3 4 5 occupied ID of buffer/packet VQM low VQM+1 empty 6 static physical queue ranked virtual queues (VQ) Sender: queue management M: max. # of retransmissions

  29. Differentiated contention control • Schedule channel access across nodes • Higher priority in channel access is given to • nodes having fresher packets • nodes having more queued packets

  30. Implementation of contention control • The rank of a node j = M - k, |VQk|, ID(j) , where • M: maximum number retransmissions per-hop • VQk: the highest-ranked non-empty virtual queue at j • ID(j): the ID of node j • A node with a larger rank value has higher priority • Neighboring nodes exchange their ranks • Lower ranked nodes leave the floor to higher ranked ones

  31. Fine tuning retransmission timer • Timeout value: tradeoff between • delay in necessary retransmissions • probability of unnecessary retransmissions • In RBC • Dynamically estimate ACK delay • Conservatively choose timeout value; also reset timers upon packet and ACK loss

  32. Event-wise • Retransmission helps improve reliability and goodput • close to optimal goodput (6.37 vs. 6.66) • Compared with SWIA, delay is significantly reduced • 1.72 vs. 18.77 seconds

  33. Distribution of packet generation and reception • RBC • Packet reception smoothes out and almost matches packet generation • SEA • Many packets are lost despite quick packet reception • SWIA • Significant delay and packet loss

  34. Field deployment (http://www.cse.ohio-state.edu/exscal) • A Line in the Sand (Lites) • ~ 100 MICA2’s • 10 X 20 meter2 field • Sensors: magnetometer, micro impulse radar (MIR) • ExScal • ~ 1,000 XSM’s, ~ 200 Stargates • 288 X 1260 meter2 field • Sensors: passive infrared radar (PIR), acoustic sensor, magnetometer

  35. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  36. Flooding • Forward the message upon hearing it the first time • Leads to broadcast storm and loss of messages • Obvious optimizations are possible • The node sets a timer upon receiving the message first time • Might be based on RSSI • If, before the timer expires, the node hears message broadcasted T times, then node decides not to broadcast

  37. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  38. Flooding, gossiping, flooding, … • Flood a message upon first hearing a message • Gossiping periodically (less frequently) to ensure that there are no missed messages • Upon detecting a missed message disseminate by flooding again • Best effort flooding (fast) followed by a guaranteed coverage gossiping (slow) followed by best effort flooding • Algorithm takes care of delivery to loosely connected sections of the wsn Livadas and Lynch, 2003

  39. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  40. Trickle • See Phil Levis’s talk.

  41. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  42. 0 1 0 1 1 1 1 1 1 Polygonal broadcasts • Imaginary polygonal tilings for supporting communication E.g., 1-bit broadcast scheme for hexagonal tiling Dolev, Herman, Lahiani, “Brief announcement: polygonal broadcast, secret maturity and the firing sensors”, PODC 2004

  43. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  44. Fire-cracker protocol • Firecracker uses a combination of routing and broadcasts to rapidly deliver a piece of data to every node in a network • To start dissemination, the data source sends data to distant points in the network • Once the data reaches its destinations, broadcast-based dissemination begins along the paths • By using an initial routing phase, Firecracker can disseminate at a faster rate than scalable broadcasts while sending fewer packets • The selection of points to route to has a large effect on performance.

  45. Outline • Convergecast • Routing tree • Grid routing • Reliable bursty broadcast • Broadcast • Flood, Flood-Gossip-Flood • Trickle • Polygonal broadcast, Fire-cracker • Data driven • Directed diffusion • Rumor routing

  46. Directed Diffusion • Protocol initiated by destination (through query) • Data has attributes; sink broadcasts interests • Nodes diffuse the interest towards producers via a sequence of local interactions • Nodes receiving the broadcast set up a gradient (leading towards the sink) • Intermediate nodes opportunistically fuse interests, aggregate, correlate or cache data • Reinforcement and negative reinforcement used to converge to efficient distribution

  47. Directed diffusion Intanagonwiwat, Govindan and Estrin, “Directed diffusion: a scalable and robust communication paradigm for sensor networks” 6th conf. on Mobile computing and networking, 2000.

  48. Directed Diffusion…. Directional Flooding Interest Gradient Sink Source

  49. Directed Diffusion…. Interest Gradient Sink Source

More Related