660 likes | 668 Views
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.
E N D
CS 410/510 Sensor NetworksPortland State University Lecture 4 Multi-hop Routing
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
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
Communication Models in Sensor Networks • Dissemination (1-many) • Eg. code updates from base station to sensors (eg. Trickle, Deluge) Nirupama Bulusu
Communication Models in Sensor Networks • Data Gathering (many-1) Nirupama Bulusu
Communication Models in Sensor Networks • Any-to-any communication • Eg. Triggering another sensor To start sensing (eg. GPSR) Nirupama Bulusu
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
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
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
Clustering: From tree to forest server WiFi Micro-server Low power radio link (eg. Zigbee) Nirupama Bulusu
Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example: Directed Diffusion • Issues in sensor net routing Nirupama Bulusu
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
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
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
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
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
Maintenance with Loss:The logarithmic behavior represents the probability that a single node misses a no. of transmissions. Nirupama Bulusu
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
Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example: Directed Diffusion • Issues in sensor net routing Nirupama Bulusu
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
Algorithm : Greedy Forwarding The next hop from a node is the neighbor that is geographically closest to the packet’s destination. Nirupama Bulusu
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
Algorithm: Greedy Forwarding Drawback !!! Nirupama Bulusu
Algorithm: Greedy Perimeter Routing • When greedy forwarding fails, switch packet mode to Perimeter • Use Perimeter Forwarding Nirupama Bulusu
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
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
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
Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example: Directed Diffusion • Issues in sensor net routing Nirupama Bulusu
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
Named data Described with attribute-value pairs Interests Describe sensing tasks Gradients Network paths Reinforcement Manages gradients Directed Diffusion Elements Nirupama Bulusu
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
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
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
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.
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
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.
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
Outline • One-many communication example: Trickle • Any-any communication example: GPSR • Many-one communication example • Issues in sensor net routing Nirupama Bulusu
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
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
Outline • Network Services • Link estimation • Neighborhood management • Reliable multi-hop routing for data collection Nirupama Bulusu
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
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
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
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
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
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
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
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
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