## 2 Priority-based Coverage-aware Congestion Control (PCC)
### Coverage Fidelity  
The most important improvement of _PCC_ is that it provides fairness to all sensor irrespective of their location, and therefore offers coverage fidelity of the whole WSN. In Figure 8, we count the number of packets from different sensors and derive the Jain's Fairness Index (_JFI_). From the results, it is clearly observed that the fairness of _FIFO_ decreases with the increase in the basic packet generation rate when the network is heavily congested and only the sensors very close to the sink are able to forward their packets to the sink. However, the _JFI_ of _Event_ packets in _PCC_ is much higher since sensors give packets equal probability to go to the next hop. Since _PCC_ drops _Non-Event_ packets during congestion, only a few _Non-Event_ of the packets can reach the destination. Therefore, the _JFI_ of _Non-Event_ packets does not improve. Figure 6: System throughput. Figure 7: Average end-to-end delay. \(F_{E}(N)\) and \(F_{N}(N)\)  
All the above results are based on the linear function for both \(F_{E}(N)\) and \(F_{N}(N)\). In this section, we compare the influence of different functions (e.g., convex, concave, direct line) on the performance of _PCC_. Since we collected the results when the network is congested and every sensor kept transmitting packets to the next hop, the throughput of the three functions are almost the same. The results of end-to-end delay and fairness are shown in Figure 9 and Figure 10. In Figure 9, the delay of the concave curves (Note that \"concave\" refers to \(F_{E}(N)\), not \(d_{E}(N)\)) is largest since this scheme conservatively kept more packets in the buffer than the other two schemes; therefore packets have longer queue delay. However, if we employ the convex function, which aggressively drop more packets, the packet delay decreases since the average queue length of all nodes is the smallest among the three schemes. Since _PCC_ can selectively drop any packets in the queue, the more packets there are in the buffer, the more options _PCC_ has, which means _PCC_ can provide better fairness performance and hence higher coverage fidelity. The analysis is validated in Figure 10 which shows that the performance of the concave function is the best among three schemes and that of the convex function is the worst. \begin{table}
\begin{tabular}{|c|c|c|c|c|} \hline  & Node 1 & Node 2 & Node 3 & Jain’s Fairness Index \\ \hline \hline _Event PCC_ & 139 & 130 & 135 & 0.99925 \\ \hline _Event FIFO_ & 297 & 77 & 20 & 0.54735 \\ \hline _Non-Event PCC_ & 149 & 125 & 124 & 0.99247 \\ \hline _Non-Event FIFO_ & 292 & 60 & 23 & 0.52437 \\ \hline \end{tabular}
\end{table} 
Table 1: Packets successfully received from different sensors in a chain topology. Figure 8: [PERSON]’s fairness of the different schemes. \(Q_{min}\) and \(Q_{max}\) are important parameters in _PCC_ since they are the thresholds in the queue scheduler to determine when _Event_ and _Non-Event_ packets will be dropped. Similar to previous discussion, higher values of \(Q_{min}\) and \(Q_{max}\) are related to higher buffer utilization, so the average packet delay is larger due to longer queueing delay. Therefore, in this section we only show the fairness results of _Non-Event_ packets, which are influenced by both \(Q_{min}\) and \(Q_{max}\). In Figure 11, \(Q_{min}\) and \(Q_{max}\) are normalized by the total buffer length. We find that when \(Q_{min}\) is increased with fixed \(Q_{max}\), more _Non-Event_ packets remain in the buffer without being selected by the queue scheduler. Consequently, the fairness is determined more by the wireless link quality and the lower fairness is due to the randomness. When \(Q_{max}\) is increased with a fixed \(Q_{min}\), more _Non-Event_ packets have the opportunity to remain in the buffer and the queue scheduler can implement the optimization algorithm to selectively drop packets. Consequently, the fairness index is higher.