## 2 Related Work
### Congestion Control in OppNets  
In OppNets, traditional mechanisms based on contemporaneous end-to-end connectivity to provide feedback regarding congestion are unsuitable. Furthermore, due to the node's mobility, congestion at a link level is very rare; thus, buffer overload is the main issue. OppNets use the SCF paradigm to forward data across the network. In this paradigm, if a node is affected by congestion, meaning that the buffer is overloaded, the node will need to reallocate, drop queued messages, or reject incoming ones. Either case is highly undesirable as losing messages caused by the node congestion could lead to a delivery failure. Therefore, congestion control is especially critical for OppNets.  
Buffer management is a strategy for congestion control applied on the relayed node [20]. Buffer management determines which messages must be dropped in case an incoming one needs to be fitted in. The basic buffer management policies are based on the local's node information such as message priority, lifetime, size, or delivery probability. [PERSON] et al. [21] stated that basic buffer management policies as drop-tail, drop-head, etc., are suboptimal. They proposed an optimal policy associating a utility function to each queued message, producing a marginal value for a selected optimization metric (delay or delivery ratio). They used statistical learning about encounters to approximate the global knowledge of the network. [PERSON] et al. [22] proposed a mechanism that integrates all the aspects of buffer management.  
Another congestion control strategy applied by the sending node is congestion avoidance [20]. Under this category, [PERSON] et al. [23] stated that basic congestion measures based on buffer management, such as message drops, are not accurate in detecting congestion. They stated that under the inherent characteristics of a mobile OppNet, congestion may occur before buffers are overwhelmed. They proposed an analytical model where the forwarder node calculates the instantaneous forwarding probability of a relay, and they found that this probability decreases dramatically beyond a certain buffer occupancy (buffer occupancy threshold). The node is considered to be congested when it reaches this occupancy threshold.  
Furthermore, [PERSON] et al. [24] stated that an effective congestion control system should not be based on the network conditions at the time the message was created. Instead, the congestion control system should consider the current network conditions before relaying the message. They proposed a mechanism where each node, upon a contact, shares its buffer availability. Nodes use this information to determine if a relay node has enough buffer resources to custody the message. [PERSON] et al. [25], measured the congestion as the ratio of drops over message replication per node. They used this information to adjust the replication limit of the messages. [PERSON] et al. [26] proposed a probabilistic model using an estimator to predict the average buffer occupancy of the nodes in the network. They used this information to discard relay nodes without enough storage to hold the messages to be relayed. Similarly, [PERSON] et al. [27] derived a steady-state probability distribution for buffer occupancy.