1 / 66

CS 410/510 Sensor Networks Portland State University

Learn about the benefits, models, and techniques of multi-hop routing in sensor networks to optimize energy consumption and improve data transmission efficiency. Explore various communication models and routing protocols with practical examples and solutions.

geraldshort
Download Presentation

CS 410/510 Sensor Networks Portland State University

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. CS 410/510 Sensor NetworksPortland State University Lecture 4 Multi-hop Routing

  2. Why use multi-hop communication? • Optimize energy consumption • Transmission power proportional to d^n (n > 2); shorter links better • Enable spectrum reuse • Can simultaneously transmit at spatially distant parts of the network Nirupama Bulusu

  3. What is Routing? • Act of moving information across a multi-hop network from a source to a destination • Includes • Path determination: Determining optimal routing paths • “Optimal” varies depending on the routing metric. • Packet switching: Transporting information groups, called packets through a network Nirupama Bulusu

  4. Communication Models in Sensor Networks • Dissemination (1-many) • Eg. code updates from base station to sensors (eg. Trickle, Deluge) Nirupama Bulusu

  5. Communication Models in Sensor Networks • Data Gathering (many-1) Nirupama Bulusu

  6. Communication Models in Sensor Networks • Any-to-any communication • Eg. Triggering another sensor To start sensing (eg. GPSR) Nirupama Bulusu

  7. Example • Tree based routing for data collection • Reliable end-to-end packet delivery with minimum number of transmissions (link retransmissions) • Advocate stability • Simple Nirupama Bulusu

  8. Routing Techniques • Directed Diffusion, DSR, AODV • Essence: • reverse path routing by flooding • non-shortest path routing (do switch if a shorter path is found) • DSR, AODV (On-demand routing) • but every node is a source • source initiated route request broadcasts • “local storm” of replies Nirupama Bulusu

  9. Tree-based routing drawbacks • Root of the tree is unique point of failure • Paths become longer and longer • Increased end-to-end packet loss, congestion • Decreased network lifetime • Poor load balancing • => Nodes near the root carry more traffic Nirupama Bulusu

  10. Clustering: From tree to forest server WiFi Micro-server Low power radio link (eg. Zigbee) Nirupama Bulusu

  11. Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example: Directed Diffusion • Issues in sensor net routing Nirupama Bulusu

  12. Trickle: To Every Node in a Network • Network membership is not static – Loss – Transient disconnection – Repopulation • Limited resources prevent storing complete network • population information • To ensure dissemination to every node, we must periodically maintain that every node has the data. Nirupama Bulusu

  13. The Real Cost • Propagation is costly • Virtual programs (Maté, TinyDB): 20-400 bytes – Parameters, predicates: 8-20 bytes – To every node in a large, multihop network… • But maintenance is more so – For example, one maintenance transmission every minute – Maintenance for 15 minutes costs more than 400B of data – For 8-20B of data, two minutes are more costly! • Maintaining that everyone has the data costs more than propagating the data itself. Nirupama Bulusu

  14. Solution: Trickle • “Every once in a while, broadcast what data you have, unless you’ve heard some other nodes broadcast the same thing recently.” • Behavior (simulation and deployment): • – Maintenance: a few sends per hour • – Propagation: less than a minute • – Scalability: thousand-fold density changes • Instead of flooding a network, establish a trickle of packets, just enough to stay up to date. Nirupama Bulusu

  15. Detecting That a Node Needs an Update • As long as each node communicates with others, inconsistencies will be found • Either reception or transmission is sufficient • Define a desired detection latency, t • Choose a redundancy constant k • – k = (receptions + transmissions) • – In an interval of length t • Trickle keeps the rate as close to k/ t as possible Nirupama Bulusu

  16. Trickle Algorithm • Time interval of length t • Redundancy constant k (e.g., 1, 2) • Maintain a counter c • Pick a time t from [0, t] • At time t, transmit metadata if c < k • Increment c when you hear identical metadata to your own • Transmit updates when you hear older metadata • At end of t, pick a new t Nirupama Bulusu

  17. Maintenance with Loss:The logarithmic behavior represents the probability that a single node misses a no. of transmissions. Nirupama Bulusu

  18. Summary • Trickle scales logarithmically with density • Can obtain rapid propagation with low maintenance • In example deployment, maintenance of a few sends/hour, propagation of 30 seconds • Controls a transmission rate over space • Coupling between network and the physical world • Trickle is a nameless protocol • Uses wireless connectivity as an implicit naming scheme • No name management, neighbor lists... • Stateless operation (well, eleven bytes) Nirupama Bulusu

  19. Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example: Directed Diffusion • Issues in sensor net routing Nirupama Bulusu

  20. Geographic Routing • One way of supporting any-any communication • Use location of nodes as addresses for routing • Example: • GPSR (Greedy Perimeter Stateless Routing) Nirupama Bulusu

  21. Algorithm : Greedy Forwarding The next hop from a node is the neighbor that is geographically closest to the packet’s destination. Nirupama Bulusu

  22. Algorithm: Greedy Forwarding • Beaconing mechanism • Provides all nodes with neighbors’ positions. • Beacon contains broadcast MAC and position. • To minimize costs • Piggybacking • Promiscuous mode Nirupama Bulusu

  23. Algorithm: Greedy Forwarding Drawback !!! Nirupama Bulusu

  24. Algorithm: Greedy Perimeter Routing • When greedy forwarding fails, switch packet mode to Perimeter • Use Perimeter Forwarding Nirupama Bulusu

  25. Perimeter Forwarding uses Right Hand Rule • When arriving at a node x from node y, the next edge traversed is the next one sequentially counterclockwise about x from edge (x, y) Nirupama Bulusu

  26. Planarized Graphs • A graph in which no two edges cross is known as planar. • Right-hand-rule fails on non-planar graphs • So, planarize it! Eg. Locally compute • Relative Neighborhood Graph (RNG) • Gabriel Graph (GG) • Run RHR on planar graph Nirupama Bulusu

  27. GPSR: Pros and Cons • Pros: • Low per router state for large number of network destinations • Handles mobility very well • Small routing protocol message complexity • Cons: • GPS location system might not be available everywhere. • Overhead in location registration and lookup • Planarization affected if nodes within another node’s radio range Nirupama Bulusu

  28. Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example: Directed Diffusion • Issues in sensor net routing Nirupama Bulusu

  29. Directed Diffusion • Directed diffusion is a new data dissemination paradigm for sensor networks • Data-centric • Data propagation and aggregation is determined by localized interactions between nodes: hop-to-hop rather than end-to-end • Long-range communication requires more energy • Hop-to-hop communication provides link diversity, helps overcome obstacles • Incorporates application-specific semantics Nirupama Bulusu

  30. Named data Described with attribute-value pairs Interests Describe sensing tasks Gradients Network paths Reinforcement Manages gradients Directed Diffusion Elements Nirupama Bulusu

  31. Naming • Task descriptions are named by a list of attribute-value pairs: Intuitively, the task description specifies an interest for data matching the attributes. For this reason, such a task description is called an interest Nirupama Bulusu

  32. Interest Dissemination C’s Interest cache C Interests Gradients source B sink Sink disseminates interest for a four-legged animal (~36 bytes). Initial interval is large. Nirupama Bulusu

  33. Interest Dissemination C’s Interest cache C Interests Gradients source B sink Every node contains an interest cache, with separate entries for distinct interests. Entries do not contain info about sinks and therefore scale well. Overlapping entries may be aggregated for efficiency. Nirupama Bulusu

  34. Interest Dissemination C’s Interest cache C Interests Gradients | B: 1s Sink: 1s source: 1s source B Each interest cache entry contains a list of gradients; events that match interest entries are propagated back to the sink via these gradients. Gradient entries contain locally unique neighbor IDs,data rates, and interval attributes. sink In the absence of information about which sensor nodes are likely to be able to satisfy an interest, interests are broadcasted to all neighbors. Nirupama Bulusu However, a node may suppress a received interest if it recently re-sent a matching request.

  35. Data Propagation C’s Data cache C’s Interest cache C 1 eps Interests Gradients EVENT | B: 1s Sink: 1s source: 1s 1 eps source 1 eps B 1 eps 1 eps Initial interests request data at slow rates (e.g. 1 event per second). sink A sensor node that is able to furnish a query-result searches its interest cache for a matching entry; if it finds one, it begins sending data messages (~64 bytes) towards the sink via its gradient list at the highest specified rate. Nirupama Bulusu

  36. Data Propagation C’s Data cache C’s Interest cache C 1 eps Interests Gradients EVENT match | B: 1s Sink: 1s source: 1s 1 eps source 1 eps B 1 eps 1 eps Upon receiving a data message, nodes check their interest caches. If no match is found, the data message is silently dropped. sink If a match is found, the node checks its data cache, which keeps track of recently seen data items. If no data cache entry matches the message, a new entry is made in the data cache and the message is re-sent to the node’s neighbors. Nirupama Bulusu If a data cache entry matches the data message, the message is silently dropped, thus, preventing loops.

  37. Reinforcement C’s Data cache C’s Interest cache C 100 eps 1 eps Interests Gradients EVENT | B: 1s S: .01s Sink: 1s source: 1s 1 eps source 1 eps B 1 eps 100 eps 1 eps After the sink starts receiving these low data rate events, it reinforces one particular neighbor in order to “draw down” higher quality (higher data rate) events. sink It does this explicitly by re-sending the original interest message, but with a smaller interval value, to the empirically low delay path node. Nodes update their caches and can then propagate reinforcement messages according to local policies. For example, the node might choose that neighbor from whom it first received the latest event matching the interest Nirupama Bulusu

  38. Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example • Issues in sensor net routing Nirupama Bulusu

  39. Theme: Why is sensor net routing challenging? • Explore underlying communication issues and their effects on multi-hop routing protocols • Single hop • Zhao and Govindan, SenSys 2003 • Extra: SCALE (Cerpa et al. CENS TR 2003) • Network-level protocol • multi-hop routing for data collection. (Woo et al., SenSys 2003) Nirupama Bulusu

  40. Motivation • Why do we care about all these details? • we will experience it! • if we want to implement our protocols • actual deployment decision Nirupama Bulusu

  41. Outline • Network Services • Link estimation • Neighborhood management • Reliable multi-hop routing for data collection Nirupama Bulusu

  42. Link Quality Estimation • Estimate rate of successful reception from neighboring nodes • RSSI may not work well • Neighbors exchange estimations to derive bi-directional link quality • 2 Techniques: Passive vs. Active • Key decision factor: broadcast medium • Passive: snoop on neighbor packets Nirupama Bulusu

  43. What is a good Estimator? • For a given error bound and agility, • yields the most stable estimation • with the smallest memory footprint • and the simplest algorithm • Agility and stability are at odds with each other Nirupama Bulusu

  44. Agility and Error Bound • Simulation worst case: 10% error ~ 100 packet time • Assuming IID Binomial model, by the central limit theorem • Worst case (p = 0.5) requires • 10% error with 90% confidence requires ~100 packet opportunities to learn • For example: at 30sec/packet • 50 minutes for 100 packets • forwarding traffic helps to reduce this time but potentially a long delay • Major disadvantage Nirupama Bulusu

  45. Infer Packet Loss • Packet sequence number for inferring packet loss • Issue: cannot infer loss until hearing the next packet • E.g. dead node or mobility • Can infer losses based on time • Assume minimum data rate is known • Likely to be true in periodic data collection Nirupama Bulusu

  46. WMEWMA Estimator • Compute an average success rate over time, T, and smoothes with an exponentially weighted moving average (EWMA) • Average calculation • Packets Received over T divided by • Max of • Number of packets expected over T • Number of packets sent over T suggested by sequence number • Tuning parameters: • T and history size of EWMA • Performance • Yields agile and stable estimations • Uses constant memory, and is very simple Nirupama Bulusu

  47. Neighbor Table • Maintain link estimation statistics and routing information of each neighbor • How large should this table be? • O(cell density) * meta-data for each neighbor • Issue: • Density can be high but memory is limited • At high density, many links are poor or asymmetric • Question: • Can we use constant memory to maintain a set of good neighbors regardless of cell density? Nirupama Bulusu

  48. Neighborhood Management • Question: when table becomes full, • should we add new neighbor? • If so, evict which old neighbor? • Neighbor Goodness • Basic one is link quality but it is unknown • Signal strength is a hint • Rely on frequency of packet reception • Assume periodic data packets or beacons • Similar to • frequency estimation of data streams, or • classical cache policy Nirupama Bulusu

  49. Management Algorithm • When we hear a node, if • In table: increment a counter for this node • Not in table • Insert if table is not full • down-sample if table is full • If successful, insert only if some nodes can be evicted • Eviction: (FREQUENCY) • Decrement counter for each table entry • Nodes with counter = 0 can be evicted • Otherwise, all nodes stay in the table Nirupama Bulusu

  50. Key Results • FREQUENCY algorithm can effectively • utilize 50% to 70% of the table space to maintain a set of good neighbors • while being adaptive to neighborhood changes • Routing simulation: • Neighbor goodness is augmented to avoid maintaining sibling nodes based on routing cost difference Nirupama Bulusu

More Related