## 3 Charging-Aware Multi-Mode Routing Protocol
### Charging-Aware Multi-Mode Routing Protocol (CMRP)
As the example in the Figure 1e, the edge \(\overline{\mathrm{OP}}\), where \(\mathrm{O}\subset\Pi\) and \(\mathrm{P}\subset\Omega_{1}\), with distance cost being 22 is selected as the first edge to merge these two circles. The four possible combinations of the other merge edges are given as the Figure 2a-d. In the case of 2a, these two circles are merged by adding edges \(\overline{\mathrm{OP}}\) and \(\overline{\mathrm{QG}}\) and removing edges \(\overline{\mathrm{QP}}\) and \(\overline{\mathrm{OG}}\). The distance cost is \((22+57)-(35+37)=7\). The other cases in Figure 2c,d have distance costs being 16, \(-13\), and \(-40\). Finally, the case in Figure 2d is selected to merge these two circles because the distance cost is minimal. The MCC is a centralized algorithm. Sink uses the positions of sensors to compute the distance between sensors and then informs each sensor its corresponding neighbors. When a sensor \(S_{x}\) transmits its data to a dead neighbor \(S_{y}\), \(S_{x}\) bypasses it and sends to the neighbor of \(S_{y}\). At this time, \(S_{x}\) also marks the dead status of \(S_{y}\) in its report data. As the sink receives this data, it will execute the chaining computation and updates to all sensors. ### Example

A little example of the CMRP algorithm is shown in Figure 3. There are 24 sensors deployed within the ROI, and the sink is placed at the center of this area shown as Figure 3a. The coverage of sunlight shifts from area1 to area4 periodically. The current sunlight coverage is at area2. Therefore, the sensors located within the area2 are type1 sensors. The sensors located within area 1 and 3 are the type2 sensors, and the type3 sensors are those located within the area 4. Sensors and the sink are treated as the vertices on the plane. The minimum spanning tree of these vertices rooted at the sink is constructed shown as Figure 3a. The type1 and type2 sensors are merged to build the circular chain. The type1 sensor \(G\) is the first leader of this chain. Figure 3b shows the corresponding data propagating target of each sensor based on the chain-based routing protocol. All sensors adjust their propagation target according to Equation (5) to prevent propagating data to the sensors which have low energy replenishing rate. In this example, sensor \(N\) changes its next receiver from \(H\) to \(S\), sensor \(L\) changes from \(J\) to \(I\), sensor \(E\) changes from \(Q\) to \(D\), sensor \(J\) changes from \(A\) to \(I\), and sensor \(O\) changes from \(G\) to \(S\). Note that sensor \(D\) still propagates its data to \(G\) because both of them are type1 sensors shown as Figure 3c. Finally, the sensor G and H are selected as the CHs from

Figure 3: Example of charging area aware multi-mode data gathering method. (**a**) construct the minimum spanning tree of the vertices rooted at the sink; (**b**) type1 and type2 sensors are merged as a chain; (**c**) update the next receivers of the type2 sensors in the constructed chain of (**b**) to save energy; (**d**) the type1 sensors update their next receivers. the sensors \(\{Q,G,J,I,H\}\) which have NULL next receivers. Then, the groups \(\{G,Q\}\), and \(\{H,I,J\}\) become two clusters and use the cluster-based routing protocols to propagate data to sink shown as Figure 3d. ## 4 Simulation Results

This section shows the simulation results. A C++ program was implemented for evaluation. The LEACH [5], RICA [24], MSTP [27], and the PEGASIS [11] were also implemented for comparison. The evaluation metrics include the lifetime until the first node die, the lifetime with different percentage of dead nodes, the average number of data propagation hops, the average propagation delay, the average remaining energy until the first node die, and the life-delay rate. The lifetime until the first node dies and the lifetime with different dead nodes percentage evaluate whether a method can efficiently balance the energy of sensors in the network. The energy consumption on data monitoring is constant.