510 likes | 696 Views
CMPE 259. Sensor Networks Katia Obraczka Winter 2005 Routing. Announcements. Transport protocols: summary. Pump Slow Fetch Quickly PSFQ. For sink-to-source communication (e.g. network reprogramming) Reliability via retransmissions Sequence-driven loss detection.
E N D
CMPE 259 Sensor Networks Katia Obraczka Winter 2005 Routing
Pump Slow Fetch Quickly PSFQ • For sink-to-source communication (e.g. network reprogramming) • Reliability via retransmissions • Sequence-driven loss detection C.Y. Wan, A.T. Campbell, and L. Krishnamurthy. PSFQ: A Reliable Transport Protocol for Wireless Sensor Networks. WSNA'02, September 28, 2002, Atlanta, Georgia, USA.
RMST • End-to-end or hop-by-hop repair (the latter is generally better) • Suggests that repair could be done at either MAC layer (ARQ retransmissions) or Transport Layer (requests based on fragment numbers etc.) • Timer-driven loss detection and local data caches • Fits with the Directed Diffusion API F. Stann and J. Heidemann. RMST: Reliable Data Transport in Sensor Networks. IEEE SNPA'03.
ESRT • Aim for overall quality of service rather than node-to-node reliability Sankarasubramaniam, Y., Akan, O.B., and Akyildiz, I.F., "ESRT: Event-to-Sink Reliable Transport in Wireless Sensor Networks ", In Proc. ACM MobiHoc`03
CODA • Receiver based congestion detection • Open loop hop-by-hop backpressure • Closed-Loop multi-source regulation Sankarasubramaniam, Y., Akan, O.B., and Akyildiz, I.F., "ESRT: Event-to-Sink Reliable Transport in Wireless Sensor Networks ", In Proc. ACM MobiHoc`03
Summarizing Transport Issues • Because of harsh conditions and severe constraints, it may be better to implement reliability in a hop-by-hop rather than end-to-end manner at either the MAC or transport layer • For energy efficiency, it is best to avoid congestion entirely, or have packet losses occur close to the source. Back pressure is a useful technique. • Where possible, scheduled solutions are preferable. s
Issues/challenges • Difficult to pay special attention to any individual node: • Collecting information within the specified region. • Sensors may be inaccessible: • Embedded in physical structures. • Thrown into inhospitable terrain.
More issues/challenges… • Topological issues: • Arbitrarily large scale. • No fixed infrastructure. • Frequent topology changes • Battery exhaustion. • Accidents. • New nodes are added.
More issues/challenges… • User and environmental demands also contribute to dynamics: • Nodes move. • Objects move. • Data-centric and application-centric view: • Location. • Time. • Type of sensor. • Range of values…
More issues/challenges… • Not node-to-node packet switching, but node-to-node data propagation. • High level tasks are needed: • At what speed and in what direction was that elephant traveling? • Is it the time to order more inventory?
Challenges • Energy-limited nodes • Computation • Aggregate data • Suppress redundant routing information • Communication • Bandwidth-limited • Energy-intensive Goal: Minimize energy dissipation
Challenges • Scalability: ad-hoc deployment in large scale • Fully distributed w/o global knowledge. • Large numbers of sources and sinks. • Robustness: unexpected sensor node failures • Dynamics: no a-priori knowledge • Sink mobility. • Target mobility.
Directed Diffusion A Scalable and Robust Communication Paradigm for Sensor Networks C. Intanagonwiwat R. Govindan D. Estrin
Application Example: Remote Surveillance • “Give me periodic reports about animal location in region A every t seconds”. • Tell me in what direction that vehicle in region Y is moving?
Basic Idea • In-network data processing (e.g., aggregation, caching). • Distributed algorithms using localized interactions. • Application-aware communication primitives. • Expressed in terms of named data.
Elements of Directed Diffusion • Naming • Data is named using attribute-value pairs. • Interests • A node requests data by sending interests for named data . • Gradients • Gradients is set up within the network designed to “draw” events, i.e. data matching the interest. • Reinforcement • Sink reinforces particular neighbors to draw higher quality ( higher data rate) events.
Reply Node data Type =four-legged animal Instance = elephant Location = [125, 220] Confidence = 0.85 Time = 02:10:35 Naming • Content based naming. • Tasks are named by a list of attribute – value pairs. • Task description specifies an interest for data matching the attributes. • Animal tracking: Request Interest ( Task ) Description Type = four-legged animal Interval = 20 ms Duration = 1 minute Location = [-100, -100; 200, 400]
Interest • The sink periodically broadcasts interest messages to each of its neighbors. • Every node maintains an interest cache. • Each item corresponds to a distinct interest. • No information about the sink. • Interest aggregation : identical type, completely overlap rectangle attributes. • Each entry in the cache has several fields • Timestamp: last received matching interest. • Several gradients: data rate, duration, direction.
Setting Up Gradient Source Neighbor’s choices : 1. Flooding 2. Geographic routing 3. Cache data to direct interests Sink Interest = Interrogation Gradient = Who is interested (data rate , duration, direction)
Data Propagation • Sensor node computes the highest requested event rate among all its outgoing gradients. • When a node receives data: • Find a matching interest entry in its cache • Examine the gradient list, send out data by rate. • Cache keeps track of recent seen data items (loop prevention). • Data message is unicast individually to the relevant neighbors.
Reinforcing the Best Path Source The neighbor reinforces a path: 1. At least one neighbor 2. Choose the one from whom it first received the latest event (low delay) 3. Choose all neighbors from which new events were recently received Sink Low rate event Reinforcement = Increased interest
For propagating interests In the example, flood More sophisticated behaviors possible: e.g. based on cached information, GPS Local Behavior Choices • For setting up gradients • data-rate gradients are set up towards neighbors who send an interest. • Others possible: probabilistic gradients, energy gradients, etc.
Local Behavior Choices • For data transmission • Multi-path delivery with selective quality along different paths • Probabilistic forwarding • Single-path delivery, etc. • For reinforcement • Reinforce paths based on observed delays • Losses, variances etc.
Initial simulation study of diffusion • Key metric • Average Dissipated Energy per event delivered • indicates energy efficiency and network lifetime • Compare diffusion to • Flooding • Centrally computed tree (omniscient multicast)
Diffusion Simulation Details • Simulator: ns-2 • Network Size: 50-250 Nodes • Transmission Range: 40m • Constant Density: 1.95x10-3 nodes/m2 (9.8 nodes in radius) • MAC: Modified Contention-based MAC • Energy Model: Mimic a realistic sensor radio [Pottie 2000] • 660 mW in transmission, 395 mW in reception, and 35 mw in idle
Diffusion Simulation • Surveillance application • 5 sources are randomly selected within a 70m x 70m corner in the field • 5 sinks are randomly selected across the field • High data rate is 2 events/sec • Low data rate is 0.02 events/sec • Event size: 64 bytes • Interest size: 36 bytes • All sources send the same location estimate for base experiments
Average Dissipated Energy 0.018 0.016 Flooding 0.014 0.012 0.01 0.008 Omniscient Multicast (Joules/Node/Received Event) Average Dissipated Energy 0.006 Diffusion 0.004 0.002 0 0 50 100 150 200 250 300 Network Size Diffusion can outperform flooding and even omniscient multicast. (suppress duplicate location estimates)
Conclusions • Can leverage data processing/aggregation inside the network. • Achieve desired global behavior through localized interactions. • Empirically adapt to observed environment.
Energy-efficient multipath routing • Based on directed diffusion. • In directed diffusion: • Sink broadcasts interest. • Sensors periodically (low rate) sends back data (e.g., event detection reports). • Sink sends reinforcement on preferred path. • Reverse path is established. • Upon missing reports, sink re-broadcasts interest and sink reinforces.
Problem? • Periodic flooding of interests and events in the presence of failures. • Solution?
Solution: multiple paths • Multipath routing: • Load balancing. • Reliable delivery (by sending duplicates). • Robustness.
Observations • Primary path: “best” path. • Data sent at lower rate on alternate paths. • Upon failure on primary path, reinforcement on alternate path. • If all altremate paths fail, flooding for path re-establishment. • Overhead: alternate path maintenance. • Resilience measured as how often path re-establishment is needed.
Approach • Disjoint versus “braided” paths. • How to build multiple paths with local information only?
Localized disjoint multipaths • Sink establishes primary path. • Sink selects “next best” neighbor “A”. • A propagates “alternate path” reinforcement to its “best” neighbor “B”. • If B is already on a path between sink and source, B sends back a “negative reinforcement”. • Access to local information only may lead to longer paths.
Braided multipath • Partially disjoint. • For each node on primary path, find best path from source to sink that does not contain that node. • Paths in the braid expend equivalent energy. • Reinforcement to “best” node and alternate reinforcement to “next best” node.
Evaluation • Energy efficiency. • Overhead. • Resilience to failures. • Isolated versus patterned failures.
Results • Braided multipaths are more energy efficient. • Especially at lower densities. • Disjoint multipaths have better resilience to patterned losses. • Braided multipaths exhibit better resilience to isolated failures.
Geographic routing • Deliver packets to nodes or regions based on their geographic location. • Typically, nodes know their position and immediate neighbors.
Basic Geographic Forwarding • Greedy: send packet to neighbor that is closest to destination • Can get stuck in voids. GPSR proposes a perimeter routing mode to avoid this. B. Karp and H.T. Kung. GPSR: Greedy Perimeter stateless Routing for Wireless Networks. MobiCom2000.
Trajectory Based Forwarding • Pre-encode arbitrary geographic trajectory; packet goes through nodes closest to this trajectory. • Particularly well suited for large networks with high density. D. Niculescu and B. Nath, Trajectory Based Forwarding and Its Applications. MOBICOM 2003.
Geographic routing without location information (Rao et al.) • Apply geographic routing when (most) nodes do not have position information. • Approach: “virtual coordinates”. • Use local connectivity information.
Assumptions • Nodes know their own coordinates. • Nodes know coordinates of nodes in the 2-hop neighborhood.
Routing • Greedy: forward to neighbor closest to destination. • When packet arrived to destination, stop. • If stuck, do expanding ring search until closer node found.
Coordinate construction • A node’s coordinates is the average of its neighbors’ coordinates. • Finding perimeter nodes’ coordinates. • Beacon nodes flood “Hello” message. • Perimeter nodes discover distance in hops to other perimeter nodes. • Perimeter nodes broadcast their perimeter vector. • Perimeter nodes use triangulation to find coordinates of all perimeter nodes.
Coordinate construction (cont’d) • Deciding whether a node is on perimeter: • Use distance to beacon nodes. • If node is the farthest away from beacon node compared to all its 2-hop neighbors, then it’s on the perimeter.
Evaluation • Comparison between greedy routing using real- versus virtual coordinates. • Metrics: • Success rate: number packets reaching destination using purely greedy routing. • Average path length. • Routing load. • Overhead.