## 1 Introduction  
Recent advances in the field of microelectronics and communications have brought the domain of Wireless Sensor Networks (WSNs) under the spotlight. WSNs can be formed by distributing inexpensive sensor devices on a large scale, typically, in a harsh environment. These sensor devices possess strict limitations in terms of memory, processing, battery and communication capabilities. However, WSNs hold the potential to be used in a wide array of crucial applications like industrial automation, chemical pollution monitoring, habitat monitoring, military, and healthcare, security and weather reporting [1]. Most of the sensors used in these applications are powered by batteries as energy source and these networks are expected to run for months without recharging. Sensor nodes are involved in collecting readings or measurement of interest from the environment. The collected measurements are then required to be transmitted over to some external node, usually named as the sink node. In order to get the timely and correct analysis of the measurement the source to sink communication link has to be reliable. Typically, the source to sink communication is multi-hop and unreliable. Figure 1 shows a typical WSN architecture with a sink node:  
A typical sensor node has to receive/sense data, process it or forward it to next hop in the sensor network. Reducing the amount of communication for path discovery to destination node and load balancing on multiple paths to reach the destination is very important to extend the life time of a sensor network. All of these unique characteristics of a WSN make it different from the traditional _ad hoc_ network, therefore, WSNs require tailor-made protocols. Much of the research, that is currently underway, focuses on routing protocols with an emphasis on enhancing the lifetime of the network, _i.e._, energy aware routing. Nevertheless, there are a number of crucial applications (like in military and healthcare) that not only require energy aware routing but also reliable routing. The inherent characteristics of WSNs, especially the wireless nature of communication, presents a major challenge towards development of such a protocol. A new category of on-demand routing protocols (e.g., AODV [1], TORA [2], DSR [3]) for mobile _ad hoc_ networks has been developed with a major focus on reducing routing overhead. These protocols work on the principle of reactive routing. In fixed topology networks, the protocols do not care much about routing protocol overhead such as: DSDV [4]. Such protocols are called proactive protocols. These protocols maintain all routes regardless of their feasibility in routing traffic. Such types of  
Figure 1: WSN with sink node. protocols do not suit networks like WSNs due to the limited energy and processing constraints of the sensor nodes. Therefore, a lot of research for routing in WSN networks is done in the domain of reactive/on-demand routing protocols. The key principle of an on-demand protocol is that whenever a source node wants to transmit data, it checks its routing table. If it knows where the destination, sink node or the gateway node is located it will transmit the data following a normal unicast routing pattern. If the destination node is unknown then the sender of the data initiates route discovery process by sending a route request. This is usually done using broadcast flooding. The sender node then waits for the request reply. Once the reply is received the sender node transmits the data using unicast. Since flooding in a network causes latency and overhead, such type of protocols are only suitable for small networks. In a large network, high latency and overhead can deem such protocols unworkable. The earlier work in the domain of on demand routing considered only single path for route discovery and transmission. Since the same path is used over and over for future data transmissions, use of such a protocol in WSNs results in faster depletion of the energy of nodes that are in the route path.