500 likes | 513 Views
This survey explores the components, purposes, and requirements of routing in sensor networks. It discusses different classification and design considerations of routing protocols, as well as the basic mechanisms of flat routing and negotiation-based protocols.
E N D
Survey on Routing in Sensor Networks Lichun Bao Computer Science Department University of California, Irvine
Sensor Node Components • Sensing • Processing • Transmission • Mobilizer • position finding system • Power units
Purposes of Sensor Networks • Information processing: distributed computing, target field imaging, weather monitoring • Detection: • intrusion detection, security and tactical surveillance • detecting ambient conditions such as temperature, movement, sound, light, or the presence of certain objects, inventory control • Disaster management.
Components of Routing • Control function: energy-efficient route discovery • Data-forwarding functions: relaying of data from the sensor nodes to the BS • Addressing scheme • Content-based • Topology-based • Subnetting • Location-based
source 2 source 1 source 2 source 1 source 2 Address Centric Routing (AC) Temperature Reading (source 2) Temperature Reading (source 1) Z B Give Me The Average Temperature? ( sink )
source 2 source 1 source 2 source 1 & 2 Data Centric Routing (DC) Temperature Reading (source 2) Temperature Reading (source 1) Z B Give Me The Average Temperature? ( sink )
Requirements on Routing • Self-organizing • Tailor toward specific traffic pattern (BS-centric, application specific, position-aware) • Constrained in energy, processing, storage • Stationary deployment • Redundancy – in-network processing
Classification of Routing Protocols • Networking structure • Flat • Hierarchical • Location-based • Network operation • Data-reporting model: time-driven (continuous), event-driven, query-driven, and hybrid • a diverse mixture of sensors for monitoring temperature, pressure and humidity of the surrounding environment, detecting motion via acoustic signatures, and capturing the image or video tracking of moving objects. • multipath-based • negotiation-based • QoS-based • Coherent-based
Design Considerations • Node deployment • Energy consumption • Data Reporting Model • Node/Link Heterogeneity • Fault Tolerance • Scalability • Network dynamics • Coverage • QoS
Overview • What is Data Routing? • Directed Diffusion [Estrin, 2000] • What is Data Aggregation? • Optimal Aggregation • Sensor Query Engines • IrisNet [Nath, 2003] • Using XML in Sensor Networks
Basic Mechanisms of SPIN : Flat Routing • Sensor Protocol for Information via Negotiation • Negotiation before exchanging data • Negotiation via Meta-Data • Resource-aware and resource-adaptive
SPIN Protocols • SPIN-PP: a 3-stage handshake protocol for Point-to-Point media • SPIN-EC: SPIN-PP with a low-energy threshold for Energy Conservation. • SPIN-BC: a 3-stage handshake protocol for BroadCast media • SPIN-RL: SPIN-BC for lossy networks
How does SPIN-PP work? D A B DATA message E ADV message C REQ message
SPIN-EC • SPIN-PP with a simple energy-conservation heuristic • When the low-energy threshold is observed, the node reduces its participation in the protocol.
E E B B ADV ADV REQ A A ADV REQ C ADV C D REQ D (1) E (2) B DATA DATA A DATA DATA C D (3) SPIN-BC
SPIN-RL • Re-request data from the original node or a random neighbor node • After sending out a DATA message, the node will wait for a predetermined amount of time before responding to any more request for that piece of data
Performance • In a point-to-point network, SPIN can deliver 60% more data for a given amount of energy than conventional approaches. • In a broadcast network, SPIN delivers 80% more data for a given amount of energy than conventional approaches.
Interest Type: Temperature Interval: 1s Duration: 10m Sink: E Interest Type: Temperature Interval: 1s Duration: 10m Sink: D Interest Cache Interest Type: Temperature Interval: 1s Duration: 10m Sink: F Sink Type F Temperature Z Sound Interest Propagation Phase Directed Diffusion (interests propagation) Temperature A Temperature B A B C D E F Give Me The Temperature? ( sink )
Directed Diffusion (gradient establishment) Interest Type: Temperature Interval: 1s Duration: 10m Sink: C Temperature A Temperature B A B Data Type: Temperature Location: A Value: 58 Time: 00:03 Data Type: Temperature Location: B Value: 61 Time: 00:03 C Interest Type: Temperature Interval: 1s Duration: 10m Sink: D D E Interest Type: Temperature Interval: 1s Duration: 10m Sink: F F Give Me The Temperature? ( sink ) Interest & Data Propagation Phase
Gradient Table - Temperature Value Node Expires 1s E 10m 2s Z 1m Directed Diffusion Data Type: Temperature Location: B Value: 61 Time: 00:04 Temperature A Temperature B A B Gradient Type: Temperature Interval: 1s Duration: 10m C Gradient Type: Temperature Interval: 1s Duration: 10m Interest Type: Temperature Interval: 1s Duration: 10m Sink: D D E Data Type: Temperature Location: A, B Value: 57, 61 Time: 00:03, 00:03 Interest Type: Temperature Interval: 1s Duration: 10m Sink: F F Give Me The Temperature? ( sink ) Interest & Data Propagation Phase
Gradient Table - Temperature Value Node Expires 1s E 10m 1s C 10m 2s Z 1m Gradient Table - Temperature Value Node Expires 10ms F 10m 2s P 1m Gradient Type: Temperature Interval: 1s Duration: 10m Temperature A Temperature B A B Gradient Type: Temperature Interval: 1s Duration: 10m C Gradient Type: Temperature Interval: 1s Duration: 10m Data Type: Temperature Location: B Value: 61 Time: 00:04 Interest – Reinforce Type: Temperature Interval: 10ms Duration: 10m Sink: F Recipient: E D E Interest Type: Temperature Interval: 1s Duration: 10m Sink: F Gradient Type: Temperature Interval: 10ms Duration: 10m F Give Me The Temperature? ( sink ) Interest & Data Propagation Phase
Gradient Table - Temperature Gradient Table - Temperature Value Node Expires Value Node Expires 10ms E 10m 10ms E 10m 2s Z 1m 1s C 10m 2s Z 1m Gradient Type: Temperature Interval: 1s Duration: 10m Temperature A Temperature B A B Gradient Type: Temperature Interval: 10ms Duration: 10m C Gradient Type: Temperature Interval: 10ms Duration: 10m Gradient Type: Temperature Interval: 1s Duration: 10m Interest – Reinforce Type: Temperature Interval: 10ms Duration: 10m Sink: E Recipient: A, B D E Data Type: Temperature Location: B Value: 61 Time: 00:04 Gradient Type: Temperature Interval: 10ms Duration: 10m F Give Me The Temperature? ( sink ) Interest & Data Propagation Phase
Gradient Type: Temperature Interval: 1s Duration: 10m Temperature A Temperature B A B Gradient Type: Temperature Interval: 10s Duration: 10m C Gradient Type: Temperature Interval: 10s Duration: 10m Gradient Type: Temperature Interval: 1s Duration: 10m D E Interest – Negative Type: Temperature Interval: 5s Duration: 10m Sink: F Recipient: D Gradient Type: Temperature Interval: 10ms Duration: 10m Gradient - Negative Type: Temperature Interval: 5s Duration: 10m F Give Me The Temperature? ( sink ) Interest & Data Propagation Phase
Gradient Table - Temperature Value Node Expires 10ms E 10m 5s C 10m 2s Z 1m Gradient Type: Temperature Interval: 5s Duration: 10m Temperature A Temperature B A B Gradient Type: Temperature Interval: 10s Duration: 10m C Gradient Type: Temperature Interval: 10s Duration: 10m Gradient Type: Temperature Interval: 5s Duration: 10m D E Interest – Negative Type: Temperature Interval: 5s Duration: 10m Sink: F Recipient: D Gradient Type: Temperature Interval: 10ms Duration: 10m Gradient Type: Temperature Interval: 5s Duration: 10m F Give Me The Temperature? ( sink ) Interest & Data Propagation Phase
Directed Diffusion • Data-centric Routing • Quality of Data influences the network • Application Specific • What to reinforce? • Is it time to delivery? Is it energy conservation? • Gradients could be custom • Could be a threshold of when to send data • Robust to network changes • Multiple paths are kept • Reinforce those paths if necessary
Gradient Table - Temperature Value Node Expires 10ms E DEAD 10ms C 10m 2s Z 1m Gradient Type: Temperature Interval: 5s Duration: 10m Temperature A Temperature B A B C Gradient Type: Temperature Interval: 10s Duration: 10m X X Gradient Type: Temperature Interval: 5s Duration: 10m X D E Interest – Reinforce Type: Temperature Interval: 10ms Duration: 10m Sink: F Recipient: D X While waiting for data along the broken path node F times out Gradient Type: Temperature Interval: 5s Duration: 10m F Give Me The Temperature? ( sink ) Recovering from broken links
source 2 source 1 source 2 Aggregates the data before routing it In this example average would aggregate to: <sum, count> source 1 & 2 Data Aggregation Temperature Reading (source 2) Temperature Reading (source 1) Give Me The Average Temperature? ( sink )
Rumor Routing • Nodes having observed an event send out agents which leave routing info to the event as state in nodes • Agents attempt to travel in a straight line • If an agent crosses a path to another event, it begins to build the path to both • Agent also optimizes paths if they find shorter ones. Paper: David Braginsky and Deborah Estrin. Slide adapted from Sugata Hazarika, UCLA
Algorithm Basics • All nodes maintain a neighbor list. • Nodes also maintain a event table • When it observes an event, the event is added with distance 0. • Agents • Packets that carry local event info across the network. • Aggregate events as they go.
Agent Path • Agent tries to travel in a “somewhat” straight path. • Maintains a list of recently seen nodes. • When it arrives at a node adds the node’s neighbors to the list. • For the next tries to find a node not in the recently seen list. • Avoids loops • -important to find a path regardless of “quality”
Following Paths • A query originates from source, and is forwarded along until it reaches it’s TTL • Forwarding Rules: • If a node has seen the query before, it is sent to a random neighbor • If a node has a route to the event, forward to neighbor along the route • Otherwise, forward to random neighbor using straightening algorithm
Minimum Cost Forwarding Algo (MCFA)Gradient-based Routing (GBR) • Bellman-ford algorithm relaxing the distance from the BS to all the sensors • GBR has adjustable height for a node to divert traffic to other nodes.
Information-driven sensor querying (IDSQ)Constrained anisotropic diffusion routing (CADR) • Introduction of two novel techniques IDSQ and CADR for energy-efficient data querying and routing in sensor networks • the use of general form of information utility that models the information content as well as the spatial configuration of a network • generalization of directed diffusion that uses both the communication cost and the information utility to diffuse data
Problem Formulation • zi (t) = h(x(t), i (t)), (1) x(t) is based on parameters of the sensor, i (t) and zi (t) are characteristics and measurement of sensor i respectively. • for sensors measuring sound amplitude • i = [ xi , σi 2 ] T (3) • xi is the known sensor position and σi 2 is the known additive noise variance • zi = a / || xi - x ||/2 + wi ,(4) • a is target amplitude, is attenuation coefficient , wi is Gaussian noise with variance σi 2
Define Belief as ... • representation of the current a posteriori distribution of x given measurement z1, …, zN: p(x | z1, …, zN) • expectation is considered estimate • x = xp(x | z1, …, zN)dx • covariance approximates residual uncertainty • = (x - x)(x - x)Tp(x | z1, …, zN)dx
Define Information Utility as … The Information Utility function is defined as Ψ: P(Rd) R d is the dimension of x Ψ assigns value to each element of P(Rd) indicating the uncertainty of the distribution smaller value -> more spread out distribution larger value -> tighter distribution
A lot more probability theory to follow on IDSQ and CADR • Incrementally construct sensor set to follow events • Mystery to pursue …
COUGAR, ACQUIRE • View the network as a distributed database • Complex queries are further divided into several sub queries
Hierarchical Routing • LEACH - Low Energy Adaptive Clustering Hierarchy • Use clusterheads to form groups for data aggregation • Use TDMA with clusters, and CDMA between clusters. • LEACH assumes that all nodes can transmit with enough power to reach the BS if needed and that each node has computational power to support different MAC protocols.
TEEN and APTEEN • TEEN (Threshold-sensitive Energy Efficient sensor Network protocol) • APTEEN (Adaptive Periodic Threshold-sensitive Energy Efficient sensor Network protocol) • Hard-threshold for initiating data reporting • Soft-threshold for incremental changes
Grid Construction • Virtual Grid Architecture routing (VGA): • Assumes nodes are arranged in a fixed topology • Select Local Aggregators (LAs) and Master Aggregators (MAs) for data collection • Two-Tier Data Dissemination (TTDD) • Assumes known sensor locations • Grids are formed by fixed distance between CHs • Other nodes can be put to sleep to save energy
Data Aggregation • We can reduce the data packet size by aggregating data en route • Parallel Process large aggregations of data in the network • Scale to large numbers of both sinks and sources
Optimal Data Aggregation • Optimal Data Aggregation is NP-Hard • Sub-optimal Algorithms: • Opportunistic • Just aggregate when possible • Center at Nearest Source (CNS) [1] • The nearest source acts as the aggregation point • Shortest Paths Tree (SPT) [1] • Sources send using shortest path if able aggregate • Greedy Incremental Tree (GIT) [1] • Recursively select the closest source to the tree • Clustered Diffusion w/ Dynamic Data Aggregation [2] • Hybrid between diffusion and clustering with the ability to aggregate data at the cluster heads 1 – Krishnamachari, Estrin, & Wicker, 2002 2 - Chatterjea & Havinga, 2003
Querying Sensor Networks • TAG (Tiny Aggregation) [Madden, 2002] • Focus on Aggregation using SQL-like query language • Integrated in TinyOS • Cornell’s COUGAR [Bonnet, 2000] • Individual sensor data • Distributed Gathering • SQL-like • NiagaraCQ [Chen, 2000] • Focus on Continuous Queries • XML Streams • IrisNet [Nath, 2003] • Individual sensor data • “World-Wide Sensor Network”
Coherent-based category • In non-coherent data processing routing, nodes will locally process the raw data before being sent to other nodes for further processing. • In coherent routing, the data is forwarded to aggregators after minimum processing.
Future/current directions • all share the common objective of prolonging the network lifetime. • Exploit redundancy • Tiered architectures (mix of form/energy factors) • Achieve desired global behavior with adaptive localized algorithms • Perform in-network distributed processing • Time and location synchronization • Localization • Secure Routing