Routing in Sensor Networks Why Routing? – Routing means carrying data packets from a source node to a destination node (usually called sinks in sensor networks terminology) – Such routing paths helps to create energy-efficient data dissemination paths between sources (sensors) and sinks (global processing unit or human interface devices) – Two kinds of routing: single-path and multi-path – Since energy efficiency is the most essential factor, routing algorithms must be robust to failures and secure against the compromised and malicious nodes to ensure data delivery without impacting the lifetime of the network Algorithm for Robust Routing in Volatile Environments (ARRIVE) [Karlof+, 2002] – Probabilistic algorithm and makes packet forwarding decisions based on localized information – Based on a tree-like topology rooted at the sink of the network – Uses forward approach to contribute to end-to-end reliability – Avoids packet loss by sending multiple packets of the single event – Three sources of packets loss expected: Isolated link Patterned node failures Malicious or misbehaving nodes ARRIVE [Karlof+, 2002] Terminology – Event: Identified by [SourceID, EventID] – Level: Each node has unique level indicating distance from source to sink (in terms of hops) – Parents: Nodes one level closer to the sink – Neighbors: Nodes on the same level and be able hear each other – Push: Push packet to one of the neighbors – Forward: Forward packet to one of the parents – Forwarding Probability: Included in the packet header and used to probabilistically select whether to push or forward – Reputation History: Each node keeps this information for each of its parents and neighbors – Convergence: Prevents multiple packets of the same event being sent to same source of failure ARRIVE [Karlof+, 2002] – Achieves diversity in paths in two ways: Upon receiving a packet, the next hop is selected probabilistically based on link reliability and node reputation When more than two or more packets of the same event are processed, these packets are ensured to follow different outgoing links – Takes advantage of passive participation and needs to be used cautiously – Each nodes keeps the following information: Level Neighbors list Parents list Reputation history of neighbors and parents Convergence history of specific events ARRIVE [Karlof+, 2002] Assumptions – The networks is assumed to be dense enough that sufficient multiplicity of paths between sources and sink for algorithm to perform well – The network is almost considered as a static network – Sensors are considered to have a low per-node cost – Routes used by the packets are unlikely to be optimal due to the probabilistic nature of the algorithm – Messages flow from nodes to sink, not the other way around – There is only one sink available Performance Metrics – Event delivery ratio – Three other metrics measuring the cost of deploying ARRIVE ARRIVE [Karlof+, 2002] Algorithm Description – Bread first search rooted at sink is used to initialize level, parents, neighbors state information at each node – When a nodes hears a packets, it checks to see if the packet is addressed for it – If so, threshold processing takes place. Nodes are filtered by their reputation and convergence history of the neighbors and parents – A decision needs to be made to either to choose to forward the packet to a parent or push it to one of its neighbors with the probability value found in the packet header. This is randomly determined by the forwarding probability function Pr(f). – Each node is weighed by their reputation. The destination is randomly selected from the rest of the nodes (since bad reputation nodes are eliminated) – If the the packet is forwarded to one of the parents, Pr(f) is not changed; however, its value is increased Algorithm for Robust Routing in Volatile Environments (ARRIVE) [Karlof+, 2002] Figure 0: Overview of ARRIVE Adapted from [Karlof+ 2002] ARRIVE [Karlof+, 2002] Advantages: – High end-to-end reliability – Provides security by eliminating the compromised or malicious nodes – By using multiple paths to forward the same event, the probability of the event reaching sink is increased and this also ensures to avoid packets being forwarded to the same broken link – Reputation history assists in establishing a reliable path ARRIVE [Karlof+, 2002] Disadvantages: – Extra power consumption for inactive nodes (passive listeners) are not considered – Better mechanism to take care problems caused by passive listening – There is only one sink, packets are sent from sources to sink and not the other way around – Sensor may have storage problems due to maintaining information about its neighbors and parents (reputation history) – Maintaining multiple paths requires more resources ARRIVE [Karlof+, 2002] Suggestions/Improvements/Future Work: – Beneficial to measure how much passive listening affects energy use – Nodes can be mobile during the simulation instead of static – If there is a significant mobility, state information should be updated using a better mechanism than flooding – Explanation of how multiple packets are generated – How much redundant data is sufficient to optimize the network – Energy-awareness needs to be taken into consideration – Possibly use energy level parameter in the decision making – Include probabilistic analysis of the algorithm – Study the tradeoff the communication cost of ARRIVE vs. its robustness – Consider load balancing issues such that nodes near the sink deplete their resources sooner than nodes farther away – Lack of quantitative analysis of passive participation for security reasons – Experiment with larger number of events Rumor Routing Algorithm for Sensor Networks [Braginsky+ 2002] Preliminaries Each node has its neighbor list, and an events table, with forwarding information to all the events it knows. After a node witnesses an event, an agent may be created, which is a long-lived packet and travels around the network. Each agent contains an events table, including the routing information for all events it knows. Since an event happens in a zone, composed of several or many nodes, it’s possible more than one agents are created from the zone and moving in the network. Rumor Routing Algorithm for Sensor Networks [Braginsky+ 2002] Algorithm Description When a node observes an event, it will add the event to its event table and may also create an agent An agent will travel in the network and its routing table will be updated if there is a shorter path to an event within the routing table of the node it is visiting In a similar way, the routing table of the currently visited node will be updated if its route to an event is more costly than the agent’s Any node may generate a query for a particular event. If it knows the route to the event, it will transmit the query. Otherwise, the query will be sent in a random direction, and this continues until the query reach a node which has a route to the event Rumor Routing Algorithm for Sensor Networks [Braginsky+ 2002] Adapted from [Braginsky+ 2002] Rumor Routing Algorithm for Sensor Networks [Braginsky+ 2002] Figure 3: The agent modifies the exist path (left) to a more optimal one (right) Adapted from [Braginsky+ 2002] Rumor Routing Algorithm for Sensor Networks [Braginsky+ 2002] Advantages: Deliver queries to events in large networks with less average cumulative hops and lower energy requirements than simple flooding. The algorithm can handle node failure gracefully, degrading its delivery rate linearly with the number of failed nodes. Rumor Routing Algorithm for Sensor Networks [Braginsky+ 2002] Disadvantages: The path found by the agent sometimes is not the shortest and could be unavailable if one of the links of the path is broken. The agent may carry lots of routing information of events even some events have disappeared. No hints from the paper about the number of agents which should be created from the event zone. Can the nodes make a query for an event if no such event is existing in the network? It seems that each event should have an id, but no information is provided in the paper. Optimization is not considered A Stream Enabled Routing (SER) Protocol for Sensor Networks [Weilian+, 2002] – SER protocol allows sources to choose the routes based on the instruction (or task) provided by the sinks – An instruction is a predefined as an identifier value instead of attributes being assigned to task as in the case of directed diffusion [Intanagonwiwat + 2000]. Therefore, only identifier is sent rather than the attribute list, resulting in memory conservation – It takes into account the available energy of the sensor nodes, QoS requirements of the instruction, memory limitation of nodes, and the localized effect of dense nodes – Sinks can give new instructions to the sources without establishing another path SER [Weilian+, 2002] – – Benefits of dynamic set-up of routes include: Periodic updates of routes is not needed Adapts to failures and cope with topology changes No routing table is needed at each sensor node New sensor nodes can be added into the route selection The routes are determined based on the QoS requirements of sources Four types of communications are allowed: one-to-one, one-to-many, many-to-one and many-to-many Four types of messages are used: Scout message (S-message) Information message (I-message) Neighbor-neighbor message (N-message) Update message (U-message) SER [Weilian+, 2002] SER Overview – SER has seven phases: Source Discovery Route Selection Route Establishment Route Reconnection I-message Transmission Instruction Update Task Termination – S-message is used during the source discovery to determine sources that will process the instruction (or task) specified in the S-message – Sources decide the type and level of the routes needed by the instruction – There are four types of routes, each with two levels (i.e., level-1 and level-2) – The µ value is the radius of the level-2 routes SER [Weilian+, 2002] SER Overview – Stream: Identified by both the type and the level of route – Each level-2 stream includes level-1 stream – In level-2, the size of the radius µ of the stream can be determined based on QoS specified in the instruction – Combination of types and levels creates different kinds of QoS for a stream – After streams are chosen, the source sends N-message to establish the streams back to the sink – The repairs of streams are accomplished via N-message and S-message – Once the streams are accomplished, data travels from sources to the sink through either level-1 or level-2 stream with I-message – The sink can update the instruction (or task) at the sources through either level-1 or level-2 stream using U-message – Both sources and sink can terminate the streams using U-message SER [Weilian+, 2002] 1. Source Discovery – A sink broadcasts an S-message to find routes from sink to source – S-message contains the following fields: TID NAP LID NH AE TID: Task ID NAP: Network Access Point (indicates where the instruction is originated; represents a unique sink) LID: Local ID (each node has a local ID that is randomly selected from a set) NH: Number of hops from the sink AE: Average energy of a route AE = NHi-1 * AEi-1 + Ei NHi-1 + 1 SER [Weilian+, 2002] 1. Source Discovery – TID has the following fields: LI MT INS TLOC LI: Length indicator MT: Message type (MT=0 (S-message); MT=1 (I-message); MT=2 (U-message); MT=3 (N-message); INS: Instruction (Maps a numeric value to a specific instruction) TLOC: Targeted location – When a sensor node receives an S-message, it determines if the instruction (INS) is intended for the node – If the INS in the S-message is not intended for the node, the node stores the fields of S-message in a connection-tree (C-tree) SER [Weilian+, 2002] 1. Source Discovery – C-tree is a logical tree which represents possible connections through the node. Ctree maintains the node’s neighbors that can participate in a routing back to sink – DSP: Downlink Sensor Problem (indicates if the downlink sensor node is having problem in routing I-message) – NS: Node Selected (indicates if the node is selected for routing) – DLID: LID of downlink sensor node (store the LID value of neighbor node which will route the I-message back to sink) – ULID: LID of uplink sensor node (U-message can be forwarded to sources from the sink or route reconnection is possible using N-message) – A sensor node in an established route knows the LID values of both uplink and downlink nodes – Initially, DLID and ULID values are not set and DSP and NS values are set to OFF – Updated values of AE, NH and LID fields of S-message is broadcast to neighbors SER [Weilian+, 2002] 1. Source Discovery – If sensor node receive the same S-message from its neighbors, it dismisses it – The sources store S-message in a task-tree (T-tree) – T-tree has XDLID values since source can select up to XLIDs to route I-message back to the sink based on QoS requirement – The max value of x is the number of neighbor nodes – Each DLID value corresponds to a DSP indicator – In the T-tree, the leaf nodes has no ULID and NS indicator since sources are destination of S-message – A source can receive xS-message since it has x neighbors – Route associated with the first received S-message is considered shortest route – Sources selects neighbor node to send I-message back to sink based on the QoS requirement of INS SER [Weilian+, 2002] 2. Route Selection – Once the sources receive the S-message, they determine the QoS requirement of task in the S-message – There are four types of streams for communication between sources and sinks and each stream can either be level-1 or level-2: Type 1: Time Critical But Not Data Critical Type 2: Data Critical But Not Time Critical Type 3: Not Time and Data Critical Type 1: Data and Time Critical – After the sources select the neighbor nodes, the sources broadcast an N-message to their neighbors indicating the level and size of the stream – N-message contains the following fields: TID NAP LID SLID MES SLID: Selected ID MES: Message SER [Weilian+, 2002] 2. Route Selection – If stream is level-1, µ = 0 (width of the stream) – At level-1, messages are routed back to the sink via hop-by-hop communication. Message are sent to only one node – Level-2 stream contains level-1 stream which serves as a backbone in setting up level-2 stream – The value of µ is the number of hops away from the nodes in the level-1 stream – Messages can flow downhill to the sink or uphill to the sources by flooding through only the nodes that are part of the stream – I-message flows downhill from sources to sink by using NH value stored in each node in the C-tree – – The nodes near to the sources have higher NH values U-message flows uphill from sink to sources by using the negative of NH value – The nodes near to the sources have higher negative NH values SER [Weilian+, 2002] 3. Route Establishment – N-message is used by a sensor node to inform neighbors about its local information – The source sends an N-message to establish stream back to the sink – Sensor nodes that are not part of a stream delete all data associated with Nmessage from C-tree – If intermediate nodes between the sources and sinks have not received an Nmessage in response to S-message in a set time interval, the sensor node deletes the C-tree branch that is associated to S-message – After the N-message arrives to the sink, the minimum delay or maximum average energy stream is established – Sources can start sending I-messages to the sink – I-message contains the following fields: TID FI CNH Payload FI: Flow Indicator (message going uphill or downhill) CNH: Current number of hops Payload: Description SER [Weilian+, 2002] 4. I-message Transmission – The neighbor nodes can determine if they need to route the I-message by the TID since each neighbor nodes maintain a C-tree – When a source broadcasts I-message, it sends CNH field with the value from T-tree – Intermediate nodes between sources and sink use C-tree – FI and CNH fields are only used when the stream is level-2 – Each node only rebroadcasts once to avoid a node from broadcasting the same message over again – After an I-message is received, the sensor nodes turns OFF the receiver for some amount of time if the sleep mode operation is ON such that the node can avoid listening neighbors broadcasting the same I-message – C-tree indicates which instructions the sensor nodes need to route SER [Weilian+, 2002] 5. Route Reconnection – If a sensor node is low on energy or there is too much noise around when transmitting at level-1, it can broadcast an N-message by setting up reconnect message indicator – Once the neighbors receive N-message, they check their C-tree to decide if there are possible alternate routes – N-message will be broadcasted until the alternate route is found Sudden Death of Route – If the stream suddenly terminates, sink cannot get the I-messages – The sink sends out a new S-message with higher QoS requirement version of the same instruction (higher QoS INS value) – New streams can be found to avoid broken paths – Multiple streams of level-2 can be setup between source and sink to improve robustness of I-message routing SER [Weilian+, 2002] 6. Instruction Update – U-message allows sink to update its instruction to the sources – The U-message from the sink to the sources flow uphill while it flows downhill from sources to the the sink when streams are level-2 – U-message contains the following fields: TID FI CNH NINS NINS: New INS 7. Task Termination – A task at the sources are terminated in two ways: – Sources have finished the task associated with the instruction given by sink – – Sink decides to terminate the instruction – – U-message with the task completed instruction indicator is broadcast by sources U-message with the task termination instruction indicator is set by the sink The streams are torn down by removing C-tree braches at the intermediate nodes and Ttree at the sources SER [Weilian+, 2002] Advantages: – QoS requirements of the instruction is considered – Average energy of the routes are taken into consideration in routing – Robustness is achieved through selection of level-1 and level-2 streams – After the route is established, sink can give new instructions to the sources without setting up another route – Four types of communication is supported: one-to-one, one-to-many, many-to-one, and many-to-many Disadvantages: – Storage and computation cost at the nodes – Loops can form in level-2 streams – How to set the value of µ Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Introduction – This paper proposes a multipath routing to increase resilience to node failure – Even though multipath routing techniques have been discussed in the literature, application of multipath routing to sensor networks that permit data-centric routing with localized path setup has not been studied too much – Two different approaches to construct multipaths between two nodes have been considered o Classical node-joint multipath adopted by prior work, where the alternate paths do not intersect the original path or each other. The disjoint property ensures that when k alternate paths are constructed, no set of k node failures can eliminate all the paths o Another approach is building many braided paths. With this approach, there are usually no completely disjoint paths, instead, there may be many partially disjoint alternate paths Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] – Two issues are addressed: o The paper defines localized algorithms for the construction of alternate paths. In order to achieve robustness and energy-efficiency, sensor network data dissemination mechanisms use localized decisions for path setup and recovery from failure o The relative performance of disjoint and braided multipaths are evaluated using two metrics: resilience and maintenance overhead. The resilience of a scheme measures the possibility of when the shortest path has fails, an alternate path is available between source and sink. The maintenance overhead of a scheme is a measure of the energy required to maintain these alternate paths using period keep-alives. There is a tradeoff between these two metrics – becoming more resilient generally consumes more energy Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint and Braided Multipaths A. Sensor Networks: – Due to compact form factor of the sensor nodes and their low cost, packed cluster of sensor nodes can be densely deployed, near the phenomena to be sensed. – The advantage would be to still obtain high SNR (signal generated by any physical phenomena attenuates with distance) with cheap sensors. – Additionally, an individual sensor may not have to frequently perform multitarget resolution (i.e., distinguish between different targets such as individuals and vehicles) – Such multi-target resolution can involve complex deconvolution algorithms requiring non-trivial processing capability [Pottie+ 2000] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint and Braided Multipaths A. Sensor Networks: – Three criteria drive the design of large-scale sensor networks: o Scalability These networks may involve thousands of nodes o Energy-efficiency Wireless communication can have much higher energy cost than computation [Pottie+ 2000] o Robustness To environmental effects and link failures Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint and Braided Multipaths B. The Problem: – Previous work, directed diffusion [Intanagonwiwat + 2000] constructs dissemination paths from multiple sinks to multiple sources. Here, multipath dissemination from a single source to a single sink is considered – The solution which constructs energy-efficient paths on-demand works as follows: o A source of sensory data periodically broadcasts (at a low rate) about events describing the detection of the external phenomena that is being sensed o Upon receiving multiple copies of these events, the sink sends a reinforcement message to one of its neighbors stating that it prefers to receive notification of detection of events at a higher frequency from this neighbor (Figure 4(a)) Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint and Braided Multipaths B. The Problem: o This enforcement message is propagated to the source via hop-by-hop. Each node makes and independent, local decision about which of its neighbors it chooses to forward the reinforcement (Figure 4(b)). As it propagates, the reinforcement message implicitly sets up a data path in the reverse direction. At each node, the reinforcement message sets up state that forwards matching data towards the previous hop o When a node in the reinforcement path fails (Figure 4(c)), the sink detects an absence of detection events and reinitiates reinforcement. The sink must periodically send reinforcement messages Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint and Braided Multipaths B. The Problem: Figure 4: A Simplified schematic for Directed Diffusion Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint and Braided Multipaths B. The Problem: The main problems considered in this paper are: 1. For energy-efficiency reasons, paths are constructed on-demand rather than proactively 2. For robustness reasons, a periodic low-rate flooding scheme notifies the sink and other nodes of available alternate paths. The periodicity of flooding determines the temporal accuracy of alternate path characteristics The major drawback of this scheme, from energy-efficiency point of view, is the periodic flooding of low-rate events Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint and Braided Multipaths B. The Problem: This paper considers mechanisms that allow restoration of paths from source to sink without the periodic flooding These mechanisms are based on some observations: while setting up the path between a source and sink, it may be possible to set up and maintain alternate paths in advance (with some extra energy) to minimize the possibility of having to invoke data flooding for alternate path discovery Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Multipath Routing – The multipath routing allows the establishment of multiple paths between source and destination – The reasons for classical multipath routing are: o Load balancing -- traffic between a source-destination pair is divided across multiple (partially or completely) disjoint paths o Increase the possibility of reliable data delivery – In these approaches, the multiple copies of data are sent along different paths – Both of these reasons of classical multipath are still applicable in wireless sensor networks o load balancing can distribute energy utilization across nodes in the network, possibly resulting in longer lifetimes o duplicate data delivery along multiple paths allows more accurate tracking in surveillance application with an additional energy usage Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Multipath Routing – The focus of this paper is to find alternate paths between source and sink with the help of multipath routing – The rationale of using multipath can be described as: o The goal of localized reinforcement based mechanisms is to empirically (i.e., by measuring short-time traffic characteristics) establish best path (i.e., low latency, low packet loss, etc). o Primary path is used to represent this best path. From the application’s perspective, the goal is to deliver data along this primary path. o To recover from failure of this primary path, a small number of alternative paths are constructed and maintained without using period flooding in case the primary path fails o When the primary path is set up, the network also sets up the multipaths along which data is sent at a low-rate Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Multipath Routing – o This low-rate data represent energy expended for maintaining multipaths and the term maintenance overhead denotes this energy. The low-rate data represent keep-alives on the alternate paths o When failure is detected on the primary path, nodes can rapidly reinforce an alternate path without initiating route discovery thru flooding o In case of the failures on the primary path and on all the alternate paths simultaneously, the source or sink initiates network-wide flooding of data to re-establish the multipath This paper considers two possible multipath routing: o Disjoint o Braided Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Multipath Routing – This paper addresses two issues: o It is not obvious what localized mechanisms may be used to construct disjoint and braided paths o Disjoint and braided multipath trade energy for resilience differently Disjoint Multipaths – Construct a small number of alternate paths that are node-disjoint with the primary path and with each other – These alternate paths are independent of the failures on the primary path; however, they can be less desirable (i.e., high latency, low throughput, etc) Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint Multipaths – The definition of k node-disjoint multipath is: 1. Construct the primary path P between source and sink 2. The first alternate disjoint path P1 is the best path node-joint with P 3. The second alternate disjoint path P2 is the best path that is a nodedisjoint with P and P1, and so on – This definition assumes global knowledge of topology and network characteristics; there this is called idealized algorithm for constructing disjoint paths and the corresponding multipath is called idealized k-disjoint multipath – The question is how can we obtain node disjoint multipaths using local information only without global topology information? Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint Multipaths – Assume that some low-rate sample have initially been flooded throughout the network (Figure 5(a)) – The sink has some empirical information about which of its neighbors can provide it with the highest quality of data (lowest loss or lowest latency) Source Sink Low-rate samples (a) Low-rate samples Figure 5: Construction of Localized Disjoint Paths Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint Multipaths – To this most preferred neighbor, it sends out a primary-path reinforcement (Figure 5(b)) – Similar to basic directed diffusion scheme, that neighbor locally determines its most preferred neighbor in the direction of the source and so on Sink Primary-path reinforcement Source (b) Primary-path P Figure 5: Construction of Localized Disjoint Paths Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint Multipaths – After it starts receiving data along the primary path or after sending the primary-path reinforcement, the sink sends an alternate path reinforcement to its next most preferred neighbor. This neighbor A propagates the alternate path reinforcement to its most preferred neighbor B in the direction of the source. Source Sink B alternate-path reinforcement A negative reinforcement (c) Alternate-path Negative Reinforcement Figure 5: Construction of Localized Disjoint Paths Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint Multipaths – If B can determine from local state that it is already on the primary path between source and sink, it sends a negative reinforcement to A (Figure 5(c)) – A then selects its next best preferred neighbor; otherwise, B propagates the alternate path reinforcement to its most preferred neighbor and so on (Figure 5(d)) Source Sink P P1 (d) Alternate-path P1 Figure 5: Construction of Localized Disjoint Paths Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint Multipaths – Nodes other than sink do not originate alternate path reinforcements – This mechanism described can be extended to construct k disjoint multipaths, by sending out k alternate path reinforcement from the sink, each separated from the next by a small delay – In this case, each node is constrained to receive only one reinforcement of either type-primary path, or alternate path – If it receives more than one reinforcement, the node negatively reinforces these, ensuring disjointed-ness – This is called localized disjoint multipaths – In the idealized algorithm, the first alternate path is the primary path which is node-disjoint with the primary path. Since localized construction has only local knowledge of alternative paths, its search procedure may discover longer alternate paths (Figure 5(e)) Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Disjoint Multipaths – In figure 5(e), the sink reinforces A in preference to X, although X is on a shorter alternate path. Since the sink hears events earlier from A, but does not consider that these are forwarded to A by B which is on the primary path – The idealized algorithm would choose Q as the alternate disjoint path X Q Source Sink B P A P1 (e) Caveat Figure 5: Construction of Localized Disjoint Paths Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Braided Multipaths – Alternate paths in a braid are partially disjoint from the primary path, not completely node-disjoint – The definition of braided multipath can be seen in Figure 6 – For each node on the primary path, find the best path from source to sink that does not contain that node and this path may not be completely node-disjoint with the primary path a(i) a(i-1) Source Sink n(k+1) n(k) n(k-1) n(k-2) a(i-2) a(i-3) n(k-3) Figure 6: Idealized Braid Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Braided Multipaths – The resulting set of paths along with the primary path is called the idealized braided multipath – The links representing a braid either lie on the primary path or close to it – The localized technique for constructing braids is similar to idealized algorithm for disjoint multipath; however, the local rules are a bit different – sink also sends an alternate path reinforcement to its next preferred neighbor (i.e., node B) apart from sending the primary path reinforcement message to its most preferred neighbor (i.e., A) – As before, node A propagates the primary path reinforcement to its most preferred neighbor and so on – In addition, A (and recursively each other node on the primary path) originates an alternate path reinforcement to its most preferred neighbor – each node tries to route around its near neighbor on the primary path towards the source Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Braided Multipaths – When a node not on the primary path receives an alternate path reinforcement, it propagates it towards its most preferred neighbor; however, when a node already on the primary path receives an alternate path reinforcement, it does not propagate it further – Figure 7 shows a localized braid constructed using the algorithm described a(i) a(i-1) Source Sink n(k+1) n(k) n(k-1) n(k-2) n(k-3) a(i-2) Figure 7: Localized Braid Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Braided Multipaths – In Figure 7, nk+1 sends sends an alternate reinforcement to route around nk that passes through ai and ai-1 before rejoining the primary path at nk-2 – An alternate path reinforcement sent out by nk+1 can follow any sequence of nodes – can be completely disjoint from the rest of the primary path and join the primary at nk – The localized braid is different from the idealized braid – idealized construction algorithm does not prevent an alternate path from being chosen which is completely node-disjoint with the primary path Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Qualitative Comparison – The energy cost of alternate disjoint paths depends on the network density, i.e., at low network densities, alternate disjoint paths are longer and more costly than the primary path. In addition for a larger k, the energy used to maintain k-disjoint paths is high – On the other hand, at high densities, possibility of finding node-disjoint alternate paths of shorter length increases, thus reducing energy used in maintenance – In the idealized braid, an alternate path routes around a single primary path node and the energy consumption of an alternate path in the braid is similar to the primary path and not much dependent on the density – At lower densities, the difference in energy consumption for multipath maintenance between disjoint multipath and braided multipath is high; the difference decreases with increasing density Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Qualitative Comparison – The paper considers two kinds of failure: isolated and patterned – Isolated failures model independent node failure while patterned failures model geographically correlated failure – In disjoint paths, any number of nodes can fail on the primary path without impacting the alternate path; however, the failure of a single node on each alternate path means the failure of the multipath – In braided multipaths, the various alternate paths are not independent, and a combination of failures on the primary path could impact all alternate paths; however, the number of distinct alternate paths through a braid is higher than the number of nodes in its primary path – Patterned failures affect disjoint and braided paths differently Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Qualitative Comparison – A failure pattern that affects the primary path is likely to affect alternate paths near primary path more than paths that are distant – Since braiding encourages geographically closer alternate paths, disjoint multipaths are likely to be more resilient to pattern failures than braided multipaths – The following questions have been explored using simulation: o How much additional energy must one expend in in order to increase resilience by a fixed amount? o How does the energy/resilience tradeoff vary with density or with the extent and frequency of patterned failures? o How closely do the localized schemes approximate their idealized counterparts? Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Conclusions – This paper the use of multipath routing for energy-efficient recovery from node failures in wireless sensor networks – When a small number of multipaths are available, failures on the primary path can usually be recovered without invoking network-wide flooding for path discovery since flooding can reduce network lifetimes – Two kinds of multipath designs are proposed and evaluated: the classical node-disjoint multipath, and a novel braided multipath that consists of partially disjoint alternate paths – The energy/resilience tradeoffs of these mechanisms both for independent and geographically-correlated failures are explored Adapted from [Ganesan+ 2002] Highly-Resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks [Ganesan+, 2002] Conclusions – The findings of the study are as follows: o For a disjoint multipath configuration whose patterned failure resilience is comparable to that of braided multipaths, the braided multipaths have about 50% higher resilience to isolated failures and a third of the overhead for alternate path maintenance o It is harder to design localized energy-efficient mechanisms for constructing disjoint alternate paths, since the localized algorithms do not have the information to find low latency disjoint paths o Finally, increasing the number of disjoint paths also increase the resilience of disjoint multipaths but with a higher energy cost Adapted from [Ganesan+ 2002] Meshed multipath routing (M-MPR) with selective forwarding: an efficient strategy in wireless sensor networks [De+, 2003] Introduction – This paper presents a meshed multipath routing (M-MPR) with selective forwarding (SF) of packets and end-to-end forward error correction (FEC) coding in wireless sensor networks – Two ways of effecting disjoint multipath routing (MPR) are as follows: o Disjoint (or split) MPR (D-MPR) with selective forwarding (SF): Each packet is sent along different disjoint routes and the decision of path selection is made by the source on packet-by-packet basis o D-MPR with packet replication (PR) (or limited flooding): Multiple copies of a data packet are transmitted simultaneously along multiple disjoint routes from a source to a destination M-MPR [De+, 2003] Introduction – When A forward error correction (FEC) is used, D-MPR with PR approach requires minimum code length (least error correction overhead); however, it may have inefficient resource utilization – The D-MPR with SF approach relies on the end node (i.e., source node) to choose routes for each packet – The end node may not have up-to-date route information to make routing decisions and also it is not realistic to exchange whole network information among all the nodes – The scheme proposed in this paper allows some intermediate nodes to have more than one forwarding direction to a given destination – Selective forwarding of packets (SF) is proposed where the forwarding decision is made dynamically, hop-by-hop, based on the conditions of downstream forwarding nodes – End-to-end FEC is used to avoid acknowledgement-based retransmission M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching – In remote sensing applications, the sensor nodes need to communicate with a common monitoring or control center – can be called a clusterhead or a controller node – In such applications, the sensors are mostly stationary and their location information can transmitted during the initial deployment phase by standard trilateration approach using other GPS-capable nodes or by the directional beaconing approach – The controller node is location-aware and distribute its location information to other nodes via broadcast or beaconing – With the above considerations in mind, a meshed multipath is set up in three steps: (i) acquiring neighborhood information, (ii) route discovery, and (iii) route reply M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Acquiring Neighborhood Information – Each active node broadcasts its ID, residual battery power, and location information to local neighbors – For each active neighbor i, a node maintains the following information in its database: {IDi, locationi, residual_poweri} – Since the sensor nodes are considered stationary, period update on neighborhood status is not needed unless the node is entering to sleep mode or has just woken up – In this case, the node’s status is locally broadcast based on which of the neighborhood tables of nearby nodes are updated M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Route Discovery – Each node attempts to form a meshed multipath based on the neighborhood database and location information of the controller node – Up to now, the intermediate node is allowed to accept multiple discovery packets – During source-to-destination route discovery process, at most two copies of a discovery packet are accepted by an intermediate node and the first arrived packet is forwarded to maximum two downstream neighbors nodes to ensure the reduction of the receiver complexity and power consumption of a node (Figure 8(a)) – Maximum two forwarding node is chosen since this allows an alternate route with minimum possible extra control overhead M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Route Discovery – The route packet has the following fields: {source_ID, source_location, intermediate_node_ID, next_node_ID1, next_node_ID2, destination_ID, destination_location, TTL} where the IDs of forwarding nodes (next_node_IDi, i = 1, 2), intermediate_node_ID, and TTL values are updated at each intermediate stage Figure 8 (a): a source-to-destination meshed multipath M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Route Discovery – Each intermediate node maintains the following information in its routing database: {previous_node_IDi,…, previous_node_IDn, next_node_ID1, next_node_ID2} – Since several nodes is targeting the same destination, an intermediate node can have more than two “previous_node” entries in its routing table although there will be no more than two “next_nodes” (Figure 8(b)) – The list of “previous_node” is bounded since the number of local neighbors are finite and no entry is created in the routing table for discovery packets coming from an upstream neighbor which is already listed in the list – If an intermediate node that has already forwarded a discovery packet receives another discovery packet, it updates the “previous_node” list in its routing table and drops the packet M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Route Discovery Figure 8 (b): Meshed topology formed by many-sources-to-a-destination routes M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Route Discovery – Entry in the routing table at each node is maintained as a soft-state that is deleted after a time out unless a reply is received from a controller node – Since most sensor applications are data-centric, delay differences (jitter) between packet arrivals is not a big concern – No other resource reservation apart from storing and maintaining upstream and downstream nodes’ information is made during this phase – Therefore, the route discovery phase can be considered as a topology construction process M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Route Reply – Route reply message identifies the nodes comprised the meshed path – The controller node, upon receiving the discovery packets from a single source, selects the first two and sends a route reply following the original links by the route discovery packets in reverse direction with the following fields: {source_ID, source_location, intermediate_node_ID, previous_node_ID1, previous_node_ID2} – Each intermediate node changes the states of its corresponding entries from soft to permanent for the duration of its active participation, updates the fields of the reply packet other than the source information and forwards the reply packet to its upstream node – When forwarding the route reply message, the node does not require the knowledge of source information M-MPR [De+, 2003] Meshed Multipath Routing A. Multipath searching Route Reply – In case of the discovery packets arriving to controller node from several sensor nodes, multicast reply is used – If an intermediate node is out of service or goes to sleep mode, the upstream nodes select necessary neighbors to sustain connectivity – Intermittent “link breakage” will not trigger reconfiguration of meshed multipath, instead it is handled using selective forwarding (SF) – In the constructed meshed topology, the number of downstream links is no more than two, whereas the number of upstream nodes can be more – As can be observed from Figure 8(b), node n has three upstream nodes: a, b, and c; and two downstream nodes: x and y M-MPR [De+, 2003] Meshed Multipath Routing B. Multipath routing – After the mesh multipath is constructed, the packets are forwarded to the destination via the meshed multipath using either packet replication (PR) or selective forwarding (SF) – In PR, a source packet is copied along all possible paths to its destination – A node receiving more than one correct copy of the packet from upstream nodes selects one successful packet to forward to the downstream nodes – helps to reduce power consumption due to the transmission of multiple copies of the same packet – In SF, if multiple downstream nodes are available either at the source or at an intermediate node, the packet is forwarded along only one downstream link based on local conditions – if all outgoing links are good, random selection is made M-MPR [De+, 2003] Meshed Multipath Routing B. Multipath routing – In addition to fault tolerance objective, selective forwarding approach along meshed multipath offers more efficiency than PR in terms of resource utilization and and congestion avoidance – Generally, the signal transmitted by a sensor node is broadcast to all its neighbors – The main difference between PR and SF is that in PR, the packet is intended for multiple neighbors in which each of them will receive and forward the packet whereas in SF, only one receiver will receive and forward the packet – Due to broadcast nature, M-MPR requires less transmission energy than D-MPR; MPR provides more flexibility in selective forwarding decisions than D-MPR, resulting in more successful packet delivery rate References [Braginsky+ 2002] D. Braginsky and D. Estrin, Rumor Routing Algorithm for Sensor Networks, First Workshop on Sensor Networks and Applications (WSNA), September 28, 2002, Atlanta, Georgia, pp. 22-31. [De+ 2003] S. De, C. Qiao, and H. Wu, Meshed multipath routing with selective forwarding: an efficient strategy in wireless sensor networks, Computer Networks, 43, Elsevier Journal, 2003, pp. 481-497. [Ganesan+ 2002] D. Ganesan, R. Govindan, S. Shenker and D. Estrin, Highly Resilient, Energy Efficient Multipath Routing in Wireless Sensor Networks, Mobile Computing and Communications Review (MC2R) Vol 1., No. 2. 2002. [Intanagonwiwat + 2000] C. Intanagonwiwat, R. Govindan and D. Estrin, Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks, In Proceedings of the Sixth Annual International Conference on Mobile Computing and Networks (MobiCOM 2000), August 2000, Boston, Massachusetts. [Karlof+ 2002] C. Karlof, Y. Li and J. Polastre, ARRIVE: Algorithm for Robust Routing in Volatile Environments, UC Berkley, Tech Report, May 2002. [Pottie+ 2000] G. Pottie, W. Kaiser, L. Clare, and H. Marcy, Wireless Integrated Sensor Networks, Communications of the ACM, Vol. 43, No. 5, pp. 51-58, May 2000 [Weilian+ 2002] W. Su and I. Akyildiz, A Stream Enabled Routing (SER) Protocol for Sensor Networks, Med-hoc-Net 2002, Sardegna, Italy, September 2002.