# Swarm Intelligence Techniques for Mobile Wireless Charging
## 5 MCs Coordination and Charging Traversal Strategies
### Coordination Strategy  
As MCs traverse the network to replenish the sensor-nodes, their own energy is also consumed. The rate of their energy consumption may vary, owing to the non-uniform rate of events generation. Hence, some MCs may be more burdened than others. For this reason, it is necessary for the MCs to periodically communicate with themselves for the proper coordination in their charging process to optimize energy efficiencies and their associated costs. For example, a weaker MC, in terms of energy, may be assigned to a smaller network area. The coordination strategy of MCs can be achieved either through a centralized or distributed approach. In the distributed approach, an MC is informed about the energy position of its neighboring chargers, leading to a more secluded coordination between neighboring chargers. The centralized approach is performed using information from all \(n\) MCs. For centralized coordination, we assume that the computations are performed by a computationally strong network entity, such as the sink. Generally, centralized coordination is seen to be powerful compared to distributed coordination. Hence, the performance of their protocols serves an upper bound on which their distributed counterparts are compared to. * Distributed coordination: Here, the MCs perform distributed coordination among themselves and assume limited network knowledge. The network area is split into slices as shown in Figure 3a, and each slice is assigned to an MC. Each MC can adjust their slice limits to suit their region of interest, either by increasing or shrinking the slice. The MCs, in a distributive manner, define their slice limits in accordance with the size of the region of interest. Hence, an MC with a lower energy status provides its neighbor with a portion of its region of interest for charging. Besides, the energy levels of the MCs determine which of them should reduce their region of interest. Figure 7 shows the distributed form of coordination. Specifically, Figure 7a-c depicts distributed coordination before, during, and after the coordination, respectively. * Centralized coordination: We can distinguish two kinds of centralized coordination. (a) The MCs assume local network knowledge (LNK), and (b) the MCs assume global network knowledge (GNK). In (a), the coordination process uses information from all MCs, including their energy status and position. Essentially, each MC is assigned to a network region. Using Equation (1), the initial deployment coordinates are \((m,n)=\left\{\frac{\Re}{2}\cos\left(\frac{n}{n}(2p-1)\right)\right\}\), \(\frac{\Re}{2}\sin\left(\frac{n}{n}(2p-1)\right)\right\}\) where \(p=\left\{1,2,\ldots\ n\right\}\). The network area is split into slices, as shown in Figure 3a (e.g., for \(n=8\) chargers) with one MC assigned to each slice. During the initialization of the coordination process, we calculate the region of each MC. An MC is assigned to a regional area equivalent to its present energy status to balance the energy dissipation among the MCs. To calculate the regional area of an MC k we compute the central angle \(\phi_{k}\) corresponding to the slice of the MC. That is, \(\phi_{k}=2\pi\cdot\frac{E_{k}}{\sum\limits_{k=1}^{N}E_{k}}\), where \(\sum\limits_{k=1}^{N}\phi_{k}=2\pi\). In the case of global knowledge, the MCs assume global network knowledge and obtain the most updated energy information from sensors, which they use to make real-time decisions. The energy information is aggregated by CHs (special nodes in the network acting as representatives of the partitioned network areas). The MCs communicate with each other to update their energy status and positions. To avoid charging conflicts (already discussed in Section 3.4) where MCs select the same node for charging, the sink can be used to store and update each node's availability, as well as prioritizing their charging requests. This can be done by maintaining a 0-1 node list wherein a node is assigned a value of 1 (locked) when selected for charging and is returned to a value of 0 after being charged.