## 3 Design of MCSS
### Length Determination and Cell Allocation for WPT Slofframe  
In WPT-enabled WSNs, the amount of intra-cluster traffic for each HAP cluster depends on the number of cluster members. Therefore, MCSS determines the WPT slotframe length differently for each HAP cluster, considering the minimum number of power and data cells required for energy harvesting and data transmission of cluster members and the number of overlapped cells among slotframes. To allocate power and data cells to the WPT slotframe, MCSS uses the three-step 6P transaction specified in the 6 TiSCH standard [34]. However, unlike the existing standard, MCSS uses the modified 6P messages to accommodate all information for power cell allocation and data cell allocation. To determine the WPT slotframe length, the HAP broadcasts the EB frame, including the length of the initial WPT slotframe. We assume that the initial WPT slotframe length is the same as the default slotframe length in the minimal 6 TiSCH configuration [35]. Then, the HAP waits until it receives hello messages from all cluster members in the HAP cluster. The hello message includes the minimum number of data cells, which should be allocated to the initial WPT slotframe to accommodate the data traffic transmitted from the cluster member. Upon receiving the message from all cluster members, the HAP calculates the minimum number of power cells using the minimum number of data cells. The minimum number of power cells required for the \(i\)-th cluster member (\(n_{minPC,i}\)) is calculated as follows:  
\[n_{minPC,i}=n_{minDC,i}\left[\frac{E_{Tx,timeslot,i}}{E_{Rx,timeslot,i}} \right]~{}~{}(0<i\leq n_{node,i},\,0<j\leq M), \tag{3}\]  
where \(i\) refers to the index of the cluster member in the HAP cluster, \(j\) denotes the index of the HAP, and \(n_{node,i}\) is the number of cluster members for the \(j\)-th HAP cluster. Moreover, \(M\) represents the total number of HAPs in the network, \(n_{minDC,i}\) denotes the minimum number of data cells required for the \(i\)-th cluster member, and \(E_{Rx,timeslot,i}\) refers to the energy received by the \(i\)-th cluster member from the HAP (i.e., its parent) during one timeslot. Finally, \(E_{Rx,timeslot,i}\) is calculated as follows:  
\[E_{Rx,timeslot,i}=P_{Rx,i}L_{timeslot}~{}~{}(0<i\leq n_{node,i},\,0<j\leq M), \tag{4}\]  
where \(P_{Rx,i}\) represents the power that the \(i\)-th cluster member receives per second. In addition, \(P_{Rx,i}\) is calculated as follows:  
\[P_{Rx,i}=\eta P_{Tx}|h|^{2}=\eta P_{Tx}/(1+|d_{i}|^{\alpha})~{}~{}(0<i\leq n_{ node,i},\,0<j\leq M), \tag{5}\]  
where \(\eta\) refers to the energy harvesting efficiency factor, \(P_{Tx}\) represents the transmission power of the HAP, \(h\) denotes the harvested power gain from the HAP, \(d_{i}\) indicates the distance between the \(i\)-th cluster member and its parent, and \(\alpha\) refers to the path-loss parameter. Moreover, \(d_{i}\) is calculated as follows. \[d_{i}=10^{\frac{-nsi_{avg,i}+A}{10\alpha}}~{}~{}(0<i\leq n_{node,i},\,0<j\leq M) \tag{6}\]  
where \(A\) refers to the received signal strength of the cluster member at a distance of 1 m from its parent, and \(rssi_{avg,i}\) denotes the average received signal strength indicator (RSSI) of data packets received from the parent of the \(i\)-th cluster member. Then, the HAP calculates the numbers of overprovisioned power and data cells, which refer to power and data cells that must be allocated to compensate for the overlap between cells. The allocation of overprovisioned cells prevents power and data traffic delays caused by a difference in priority between slotframes. The numbers of overprovisioned power and data cells for the \(i\)-th cluster member (\(n_{overPC,i}\) and \(n_{overDC,i}\)) are calculated by consideringthe ratio of \(n_{minPC,i}\) and \(n_{minDC,i}\) to the sum of the minimum numbers of the power and data cells for all cluster members in the \(j\)-th HAP cluster, expressed as follows:  
\[n_{overPC,i}=round\left(