# A Survey on Congestion Control for RPL-Based Wireless Sensor Networks
## 4 Congestion Control Schemes for RPL
### Schemes Forwarding Packets via a Single Parent
#### 4.1.1 GTCC  
[PERSON] et al. propose a game theory-based congestion control protocol (GTCC) to mitigate the effect of congestion by changing the parent [16]. GTCC detects congestion by monitoring the net packet flow rate which is the packet generation rate subtracted by the packet service rate. If the net packet flow rate is positive, the probability of congestion is deemed high. Once congestion is detected, a parent node sends its children a DIO packet with the CN (congestion notification) bit set. The DIO packet also carries the parent information, children list, corresponding transmission rate, and LQI. Upon receiving DIO packets with the CN bit set from its neighbors, nodes in the congested area carry out the parent-change procedure based on potential game theory.  
The rank of a node is calculated using the rank of its parent and LQI. Each node tries to select a parent which minimizes its rank. Selection of the same parent by too many nodes may lead to congestion. In GTCC, this problem is modeled as a potential game called the parent-selection game. In a potential game, all nodes (players) can reach a Nash equilibrium if only one node (player) is allowed to change its parent at a time. A player set consists of children nodes which receive the same DIO packet with a CN bit set from the same parent node. GTCC allows only one node to change its parent at a time by using a random timer. The incentive for each node to select its parent is expressed by the potential function which is a single global function. As input, the potential function takes the rank of a parent candidate, LQI and the transmission rates between the parent candidate and its children, and the number of children of the parent candidate. In each round, each node finds a new parent which can decrease the value of the potential function. To avoid the ping-pong effect of changing the parent frequently, GTCC adds a hysteresis loop in calculating the rank using LQI. If congestion is not mitigated after the parent change procedure, GTCC performs the rate adaptation procedure to reduce the sending rates of the sources.  
The authors compared performance between GTCC and two ContikiRPL protocols with OF0 and OF-ETX using Cooja simulator. Simulation results show that GTCC achieved higher throughput and a lower packet loss rate than the other two ContikiRPL protocols as the transmission rate grew.  
A drawback of this scheme is that in order to calculate the potential function, each node needs the information on the transmission rates between parent candidates and their children nodes. In a dense network, the amount of the information carried in a DIO message notifying congestion can increase along with the number of children.  
There are other studies which adopt a game theoretic approach to the congestion problem in RPL-based networks. For instance, GTCC [44] proposed by [PERSON] et al. formulated thecongestion problem in a 6 LoWPAN network as a noncooperative game problem. However, since GTCCF is a framework for rate adaptation on a fixed DODAG topology, we omit the details.