{'fraction_non_alphanumeric': 0.038791237336565934, 'fraction_numerical': 0.008831933500735994, 'mean_word_length': 4.681259222823414, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Adaptive Control of Congestion in Tough Wireless Environments Using DCM+ Algorithm

The aim of this paper is to present DCM+, a new congestion control protocol for data networks. It stands for Dynamic Congestion control for Mobile networks. New metrics have been newly invented and introduced like normalized advancing index (NAI) and complete transmission time (CTT). The simulations are done for a simple single-hop-topology (sender-router-receiver). The outcomes of this protocol are excellent and, in most cases, better than other approaches. The excellent properties of our proposed protocol were possible through tracking the available slow-start threshold. We achieved performance improvement, minimized end-to-end delay and large reduction in transmission time. DCM+ was able to combine many advantages at same time of the protocols NewReno and Westwood+. The results show, that DCM+ is extremely adequate for different types of networks. Feedback as main principle of control theory was used to control the congestion in the network. The parameters Round-Trip-Time (RTT) and Retransmission Timeout (RTO) are used as feedback signals to adjust the next congestion window (cwnd).


Introduction
It is vital to manage the congestion in the networks, especially those, that rely mainly on TCP traffic. It helps achieve high performance and throughput. This will prevent the big collapse in the global networks like the internet [1] [2].
Congestion control exists as indispensable software module in most operating systems within the network stack [3] [4] [5] [6]. Many protocols have been proposed and implemented since '86. Their role was to control the traffic between Int. J. Communications, Network and System Sciences the different nodes. TCP NewReno is one of those variants. It is a prominent one of old days [7] [8] [9] [10], which was found to have limitations, especially in wireless environments [2] [11] [12] [13]. TCP NewReno also shows another limitation, when it comes to mobility [2] [8] [12]. Experiments have shown, that in Wi-Fi and MANETs networks, NewReno has little chances to perform well.
TCP DCM+ [14] has come to mitigate those limitations of old schemes. DCM+ stands for dynamic congestion control for mobile systems. It makes use of the same TCP Westwood+ algorithm to estimate the available bandwidth. DCM+ is intended to avoid the problem of congestion in mobile networks, but it is also appropriate for wired networks. The novelty of this paper is the extended analysis of this protocol. It also extensively compares the metrics of performance for DCM+ against other well-known approaches. In this paper, we have proposed a technique that is appropriate for different types of networks, because it minimizes drops of congestion windows, and hence, minimizes delays. This paper is structured as follows. We state in Section 2 the problems, which cause the degradation of performance in most congestion control approaches. In  [23]. This is the reason for bad performance of TCP NewReno in wireless or mixed networks. So, a new approach is needed, that can distinguish the reason for packet loss. DCM+ has come to solve this problem and it shows intelligent behavior.

Related Works
Many approaches have been suggested to find the reason for packet loss [20] [23]. Modern research topics like Fuzzy Logic (FL) and Machine learning (ML) are some of these fields. Fuzzy inference systems [24] [25], ANFIS [26], ML classification [27] [28], neural networks [29] [30] and random forests are just some of the modern approaches to distinguish between true and false congestion events in the different types of networks. DCM+ is not causing any congestions during the transmission, because it does not aggressively increase the size of cwnd during the phase of congestion-avoidance (CA). It also helps achieve high performance by using previous values of round-trip-time (RTT) and retransmission-timeout (RTO). These parameters are needed to predict the probability of a network congestion, and thereafter to set the appropriate value for cwnd. This The used topology is of simple nature, and unneeded network complexity is avoided. This topology is intended to concentrate only on comparing the performance of the different protocols instead of causing additional network complexity and overhead. This topology is preferred because it causes minimal delay and presents best available performance of the different approaches. A comparison of Westwood+ with DCM+ shows similar performance, but Westwood+ shows much more drops in cwnd value, which indicates more congestion events. This is a big advantage for DCM+, especially in wireless or MANET environments.

Proposed Approach (DCM+)
DCM+ is an End-To-End (E2E) approach. For the bandwidth-estimation (BWE), the same algorithm explained in TCP Westwood+ [11] [22] [31] [32] will be used. It describes a sender-side modifications of TCP NewReno protocol in either phases (SS and CA). DCM+ needs no additional information as it is TCP protocol compliant. Hence, the overhead is equal to the standard TCP protocol header, not more. Depending on the current value of BWE, DCM+ calculates the future values of other parameters like cwnd and ssthresh. The behavior of cwnd is observed to be dynamic, in that it continuously tracks the state of slow-start threshold (ssthresh). If a change (increase or decrease) of ssthresh has been observed within a time interval, then DCM+ keeps using the current value of cwnd until a newer ssthresh has been settled. After that, cwnd moves to new value. It remains on the new state of ssthresh for the new time interval until a change of link capacity occurs. This way, cwnd will not exceed the available ssthresh.
Hence, congestion events are extremely minimized. Figure 1 depicts the behavior of DCM+ for packet-error-rate = 7.5e−3 and for maximum transmission unit (MTU size) = 1200 bytes. The design of DCM+ [14] is similar to NewReno, which is detailed in [10]. DCM+ is built from 4 phases like NewReno (SS, CA, fast retransmission (FR) and fast recovery (FV)). In DCM+, the behaviors in (SS) and (CA) have been so modified to enforce the cwnd to track ssth in the next interval. In addition to cwnd, RTT and RTO have been used as feedback to control the values of ssth and cwnd in the next interval.
The idea behind DCM+ design is, that a continuous increase in RTT value leads gradually to an increase in the length of the queue on the intermediate node. This results after some time in a true congestion event (i.e., packet drop).
As a consequence of the congestion, the network will suffer a higher delay. So, we tied this idea of congestion with the parameters RTT and RTO, and we introduced a new parameter called congestion rate or rateCA, which is an important indicator for the congestion on the link. This parameter is critical for determining the next appropriate values of cwnd. It is defined as the ratio of the previous RTT divided by the current RTT. As a result, all parameters (cwnd, RTT, RTO and rateCA) in the next interval are affected, and therefor dynamically changing during the transmission. Now, we consider the following two cases: 1) rateCA higher than 1 will be considered as advance or "Link Capacity Increasing", and 2) values of rateCA lower than 1 as danger or "Link Capacity Decreasing". Regarding the DCM+ algorithm given in [14], if cwnd is less than ssth, then rateCA will be used to start the retransmission in wide steps (increased size of cwnd), otherwise, retransmission goes slowly to prevent any possible congestions. Refer to Figure 2 to see the status of rateCA during the transmission. At each time sample during the transmission, the value of the next RTO is affected by the newly calculated ra-teCA. If the current RTT is decreasing, then RTO shall be also reduced, because no congestion is expected. The following equations describe this behavior:  Our simulations for many cases with different parameters like error rate, data size, MTU size, used TCP protocol, bottleneck bandwidth and access bandwidth show, that next cwnd does not exceed ssth, and hence barely cause new congestion events. We figure out, that cwnd is changing dynamically as a reaction to the changing channel capacity. This can be reflected as a higher improvement of throughput, complete-transmission-time (CTT) and normalized-advancing-index (NAI).

Results
Following

Throughput
In Figure 3, we see the plots of throughput for different protocols, and we clearly see the advantage of DCM+ over most protocols. This high throughput extends over the most range of error rates, which is from 1e−6 to 0.05. For error rates less than 1e−3, we see that only BIC protocol performs better, but that is at the expense of other metrics like packet delivery ratio (PDR), average delay and normalized advancing index, where BIC performs worst.

Normalized Advancing Index (NAI)
For the reason of detailed comparison, we introduced a new metric, which we called normalized advancing index (NAI). It is defined as the ratio of throughput divided by the product of lost packets (given in bytes) and error rates. Its unit is (1/second), and should indicate the speed of delivering the complete size of data from one end to the other despite the existence of lost packets at a specific error rate. From Figure 4 we figure out, that DCM+ performs better than all other protocols.   We clearly see that DCM+ has the best results for all used error rates. This reflects best transmission speed and quality for the used applications.

Complete Transmission Time (CTT)
It is a good advantage to finish transmission in short time without causing congestions, if possible. This is the case for DCM+ protocol as depicted in Figure 5.
It has the lowest (CTT) among all tested protocols, which is defined as the time

Assessment of the Results
We have demonstrated, that our proposed approach (DCM+) owns a better behavior than the other TCP approaches used in this paper. It may change from one case to another, but DCM+ remains faster, provides higher throughput and     Figure 7, the size of data to be transmitted is (100 MB), and the used error rates are: (1e−3, 1e−2). We see, that for the error rate = 1e−3, the transmission is much quicker (CTT is reduced by the half), and the throughput is around 200%.
Besides, it does not make any false drops.
In Figure 8, This is of great benefit for new devices, that may be currently using the same channel.

Conclusion
We have presented a protocol, that can be used in wireless, mixed and MANET networks. It is robust and adaptive for all changes in its environment. It has the ability to minimize the average delay and packet loss, but also to improve the throughput and the speed of the transmission even under high error rates.
DCM+ is a new approach for managing congestions in mobile and wired networks. It is designed in similar fashion like TCP NewReno. It is an end-to-end technique, which will be used from the TCP sender to control the sent amount of data on the transmission link. It has a modified behavior in CA phase. It uses the BWE algorithm described in TCP Westwood+ protocol to estimate the available Figure 8. Comparing performance of different CC schemes. channel capacity. Thereafter, it calculates the appropriate value for cwnd depending on the feedback signals RTT and RTO, the parameter rateCA, and whether the calculated cwnd is less than ssth or not.

Conflicts of Interest
The authors declare no conflicts of interest regarding the publication of this paper.