## 4 CL-APCC Protocol  
Congestion is mainly caused by two factors. First, data is received too quickly, which leads to the overflow of the node. Second, a great deal of collisions occur between data packets which are sent by nodes. Hence, according to periodicity reports or data flow characteristics of application types such as emergency monitoring, we separately analyze the existence probability of node-level congestion and local congestion(system-level) in the network in order to overcome the node overflow. The probability of congestion is analyzed to dynamically adjust the receiving and sending rate of nodes. Consequently, the IEEE 802.11 protocol is revised, which is designed to reduce the collision probability of packets and guarantee the fairness of network transmission. Normally, CL-APCC is divided into two steps. (1) According to the node memory size, the scheme adopts a single service window of the mixed queuing model M/M/1/m to predict and solve the node-level congestion. Then, according to the average inputting and outputting rate of the grid and the status of occupied node's memory size in the period \(t-1\), the CL-APCC predicts the grid's probability of congestion within the period \(t\). In this way it controls the average inputting and outputting rate of the grid based on the probability of congestion. This solution is used to solve the congestion of local networks (system-level). Finally, according to the adjustment method of node-level and system-level, the real sending rate of node is set to solve the  
Figure 1: Grid definition.  
congestion of the entire network. (2) The IEEE 802.11 protocol is revised in the foundation of the first step, which is aimed to guarantee the fairness of network and the timeliness of data packets. The design principle of this protocol is described below.  
We adopt the modular mechanism from the top to bottom to describe the data flow in any node. Node \(i\) is analyzed in a certain grid \(k\). Firstly, it is an initialization module which includes the initialization of the node coordinate, the grid number of the node, the conflict region of the node and the initial rate of the node. Secondly, it is a congestion control module. In this module, node \(i\) first  
Figure 2: The data flow in the node.  
calculates its own inputting rate \(\lambda_{i}^{k}\left(t\right)\) and outputting rate \(\mu_{i}^{k}\left(t\right)\) in period \(t\) according to the node-level congestion control method. Next, if node \(i\) is not an A-type node, it is necessary that node \(i\) immediately calculates its real rate \(\lambda_{real,i}^{k}\left(t\right)\) and \(\mu_{real,i}^{k}\left(t\right).\) On the contrary, if node \(i\) is the A-type node, it records the rate of each node in grid \(k\) for the calculation of the average rate in period \(t+1\). At the end of period \(t\), node \(i\) broadcasts what is the new A-type node and the average rate of grid \(k\). Thirdly, data stream flows into a routing layer and from there it flows into the lower layer (the specific routing layer is not taken into account in this manuscript). Fourthly, the data stream flows into the revised IEEE 802.11 module. In this module, at first, it is calculated in the first slot for the sending priority of node \(i\).. Then it is analyzed whether or not the node is an A-type node. If so, node \(i\) records and broadcasts the sending sequences of all nodes in grid \(k\). On the contrary, if node \(i\) is not the A-type node, with the increase of times that node \(i\) competes for channels, the CW gradually decreases, which gives the node a higher probability of acquiring the current slot. The final module is the one which is determined by nodes whether or not they exit the system (see Figure 2 for the data flow in any node)