## 4 Performance  
### Experimental Setup  
To evaluate the performance of the proposed ARF, we simulated MintRoute, Proc, and ARF together using TOSSIM, which is a simulator for TinyOS [26-27]. TinyOS is an operating system developed for event based sensor networks at UC Berkeley. TOSSIM provides a simulation environment that simulates a real sensor network with TinyOS. An application in TinyOS consists of components from each network layer and hardware. The application running on TOSSIM could be run on real sensor nodes such as a micaz or a telos. Thus, we could say that our implemented simulation reflects the real world. Table 3 lists the specifications for the simulated sensor more.  
In the simulation, 144 sensor nodes sent data to a sink node every second, as shown in Figure 8. The total simulation time was 600 seconds and at 200 seconds form the simulation start, some sensor nodes in the middle area (Failure Occurred Area in Figure 8) failed concurrently, leaving only one sensor node as a path through the failure area. We selected this setting to show the worst case of  
\begin{table}
\begin{tabular}{|l|l|} \hline MCU & ATMEGA 128L 8 MHz \\ \hline Memory & 4K RAM / 128K FLASH \\ \hline \multirow{6}{*}{RF Transceiver} & Chipcon CC2420 \\  & IEEE 802.15.4/ZigBee compliant \\  & 2.4 GHz Frequency band \\ \cline{1-1}  & 250 Kbps Transmit data rate \\ \cline{1-1}  & -24 dBm to 0 dBm RF power \\ \cline{1-1}  & 20 m to 30 m indoor Range \\ \hline \end{tabular}
\end{table}
Table 3: Specifications for simulated sensor more.  
Figure 8: Sensor node placement in simulation.  
failures in the network. In this case, most of nodes in failure affected area lost the parent and had to reselect the parent node. Moreover, there is only a node which has a proper parent and thus the routing recovery has to start from this node.  
Within TinyOS, MintRoute is the standard routing protocol. MintRoute is a proactive routing protocol, in which sensor nodes send routing control messages periodically with notifications of their local states. Although MintRoute detects the failure of a neighbor node with packet loss, just like ARF, MintRoute tries to select a parent node at the same level. The Proc protocol detects the failure of a parent node with Ack packets and changes the parent node whenever a sensor node cannot receive an Ack packet from its parent node. Both MintRoute and Proc use a fixed transmission interval for routing control messages, while ARF changes the interval adaptively based on the state of the network. In the simulations, the intervals for both MintRoute and Proc were set to 5,000 ms to simulate a short interval and 10,000 ms to simulate a long interval. ARF used intervals of 5,000 ms in the case of failure detection and 20,000 ms in the case of a normal state. We evaluated the number of packets received by a sink node, the number of packets broadcast for routing, and the energy consumption. In the graph, RPOC-5000 indicates the Proc protocol with the 5,000 ms interval, PROC-10000 indicates the Proc protocol with the 10,000 ms interval, MINT-5000 indicates the MintRoute with 5,000 ms, and MINT-10000 indicates the MintRoute with 10,000 ms, respectively