A NOVEL METHOD FOR PERFORMANCE IMPROVEMENT OF SLOW START CONGESTION CONTROL METHOD IN PACKET SWITCHED NETWORKS

: By the introduction of all IP networks with the smart homes, smart phones, car multimedia systems wearable technologies and IP TV’s, the number of internet related devices and the number of applications have increased. This has generated an increased quantity of bandwidth usage in packet switching networks. Therefore, the betterment of the bandwidth usage and the system performance has become more significant. Thus, there is a large number of works in the literature attempting to improve the network performance. For this purpose, generally the modifications of used methods in the network structures are preferred, rather than making major hardware based modifications requiring more financial support. In this work, a novel method called Return Back to threshold (RBT) is proposed to be applied to packet switched networks for a better congestion control.


INTRODUCTION
The Quality of Service (QoS) of a packet switched network is mainly determined by the ETE (End to End) transmission delay and packet loss rate. But the actual QoS sensed by the end user is the throughput value which is the number of distinct packets carried to their destinations in a unit of time. And the throughput is highly affected by ETE transmission delays and the packet loss rate.
So, to provide a better QoS, the main purpose in packet switched networks is generally maximizing the throughput by providing the transmission with minimum possible number of packet losses and minimum possible delay. In TCP (Transport Control Protocol) which is running on the Transport layer of the TCP / IP protocol the lost packets are recognized by its acknowledgement (ack.) mechanism. By this way the packet flow control is provided having the ack. message of all arrived packets (Marsic, 2010). This makes the recognition of the packet losses possible, and gives an opportunity for their retransmissions. On the other hand, since the ack. messages have 40 Byte length, which consists of 20 Bytes TCP (Transmission Control Protocol) header and 20 Bytes IP (Internet Protocol) header (Marsic, 2010), there will be an extra bandwidth usage for the ack. traffic of the packets.
For the congestion control, if the slow start method (Marsic, 2010) is to be performed, it is also necessary to decide what the packet loading rate will be set to, in case of a packet loss. In TCP/IP, sliding window method is used to adjust the congestion window size (cwnd) and the number of packets to be transmitted within a window in an instant. For this purpose, one of 3 types of sliding window methods can be applied to the network, which are Stop and Wait, Go Back N and Selective Repeat (Tenenbaum, 2010), (Ikegawa and Takahashi, 2007).
By using any one of these techniques, the main purpose is always to have a minimum number of acknowledging in addition to having minimum delay and minimum packet loss rate. This will provide less crowded and faster network yielding an increased throughput performance. This will also help to use the available bandwidth with maximum possible utilization rate. For this purpose, in this work, it is tried to improve the system throughput performance and to have a maximized number of sent packets per a unit of time without any extra packet losses, by determining a better value of default cwnd size to return back, in case of a packet loss.
According to eq. 1 and eq. 2, the highest utilization rate and the higher throughput value heavily depend on transmitting a number of distinct packets with the least number of acknowledging and least number of packet losses in a unit of time.

TP LP RP MSS Bytes Acks Ack Size Bytes Utilisation
Total Network Capacity kBps where, #TP is the number of transmitted packets, #LP is the number of lost packets, #RP is the number of redundant packets and #ACK is the number of Acks.

Total Transmitted packets MSS Bytes Utilisation Throughput Bps time
Assuming to have the fixed value of #TP in both eq.1 and eq.2, higher values for the utilization rate and the throughput values can be evaluated by higher nominator values of eq.1 and eq.2 with the reduced #LP, #RP and #Acks values.
Some studies in the literature are carried out to increase the efficiency of TCP (Bansal, 2012), (Gomez, 2006), (Güneş and oth., 2004) by use of proposed wireless communication techniques over the Internet. Many of them have been done to increase the network performance and the most popular ones of these are nearly always the software-based updates that do not require extra hardware.
In a work, the performance analysis of the floating window protocol for the connected nodes was examined using the DEFT NETZ2.0 simulation, and as a result, it was observed that the use of the calculated link utilization was better than the observed connection use for the network (Bansal, 2012). Gomez (2006) explored the unfairness of IEEE 802.11b, on congestion window size (cwnd) used in TCP. It was intended to observe that it was possible to reinstate the WLAN function by proper dimensioning the sliding window. It was also concluded there that, the size of the TCP buffer and the unfairness between different TCP stations had great effect on the system performance. Unlike computer simulations, the results obtained there showed unfairness between wireless stations in the same TCP settings.
Güneş and oth., (2004) aimed to have a throughput performance improvement by the modification of TCP and by having a more reliable data transmission. The authors Güneş and oth., (2004) have concerned with modification of the existing sliding window techniques for a maximized system throughput, they modified the TCP newreno algorithm such that "The timer is kept for the packet with the smallest sequence number for which no ack. is received. If 3 consecutive packets have been received, this packet is considered to be lost and sent again without waiting for the retransmission timer period". The developed TCP was evaluated using different simulations and the results were compared. As a result, they succeeded in sending 240 packets instead of sending 180 packets in 9 seconds, which corresponds to about 30% improvement on the system throughput.
Petrov and Janevski (2013), focused on making TCP more efficient in a way to speed up its slow start phase, a phase that tries to find good congestion window sizes and they proposed a new variant of slow start algorithm, and the best of them according to evaluated results of that work proposes to adjust the cwnd value dynamically such that; while the cwnd value is less than 25 MSS (Maximum Segment Size (Bytes)), it is increased by 2 MSS, else if it is greater than 25 MSS but less than 100 MSS,)), it is increased by 1 MSS, it is suggested to be adjusted to LSS (limited Slow Start) otherwise. It is finally seen on the evaluated results of the work for the best of the proposed methods that, the throughput of the system could be improved from 300000 up to 370000 which corresponds to about maximum 19% improvement.
In this work, a novel method called "Return Back to Threshold (RBT)" is proposed for improving the throughput performance of the congestion control method under different packet loss rates. Before applying the proposed method on a packet switching network, a packet switching network using slow start congestion control method (Marsic, 2010) is simulated and the throughput results are observed. On the other hand, for confirmation, the expected throughput value is also calculated using the Mathis Formula (Mathis and oth., 1997). It is then shown that the simulation results exactly match with the calculation results evaluated by Mathis Formula with the same parameter values (Antunes, 2013). Finally, after applying the novel proposed Return Back to Threshold (RBT) method on the same packet switched network simulation, it is shown that the network throughput performance is improved at least 26% and up to 50%, with respect to traditionally used slow start congestion control method.
In section 2, an analytical method for throughput calculation in case of using slow start congestion control, is explained and the expected results of the simulation are evaluated theoretically for the simulation parameters used in the study.
In section 3, the working principle of the simulation program which is developed to experimentally evaluate the system throughput using traditional slow start congestion control method, is explained. And it is shown that the evaluated experimental results exactly match with the theoretically calculated throughput results (which also match with the results evaluated in the literature).
In section 4, the novel method proposed to improve the throughput performance of traditional slow start congestion control method is explained. The simulation results are evaluated and it is shown that the novel proposed method really does improve the system throughput.
Finally, the results evaluated in this study and the achieved throughput improvement rate are concluded in Section 5. Mathis and oth. (1997), proposed a performance model for the TCP Congestion Avoidance method, and they provided a confirmed formulation to be used for calculation of the throughput under restricted conditions with Selective Acknowledgements. Using the formulations given in eq. 3 to eq. 6 (Gomez, 2006) and the parameter set given in table 1, a validation is done (Antunes, 2013) with the expected delay amount vs. probability of error ranging from 1 % to 10 %, where the results are given in figure 1.

THE THROUGHPUT CALCULATION OF THE PACKET SWITCHING NETWORK USING TRADITIONAL SLOW START CONGESTION CONTROL METHOD
Here, the evaluated RBS value is compared with the available window size, if the buffer size is less than the window size, it will cause the packets to be lost and in such a case the throughput (THR) value with packet losses can be calculated by eq. 5 (Mathis and oth., 1997). Otherwise, there will be no packet losses and the throughput (THR) value without packet losses can be calculated by eq. 6 (Mathis and oth., The calculated THR vs Packet Loss Rate graph in this work, using the parameter sets given in table 1 and the formulations given between eq. 3 -eq. 6 (Mathis and oth., 1997) are shown in figure  2. By this way, it is also shown that the evaluated calculation results of this work exactly match with the results evaluated by Antunes (2013) and given in figure 1.

EXPERIMENTAL EVALUATION OF THROUGHPUT OF THE PACKET SWITCHING NETWORK USING TRADITIONAL SLOW START CONGESTION CONTROL METHOD BY A MATLAB SIMULATION
In the developed MATLAB simulation, for implementation of the traditional slow start congestion control method (Peterson and oth., 2012), the flow chart drawn in figure 3 is used on each of the nodes using the parameter set given in table 1.  The default initial parameter values used in the flow chart above are listed in Table 1. Note that, these parameter values are dynamically updated during the simulation run according to network conditions. The brief explanations of the parameters given in table 3 can be listed as;   cwnd : Congestion Windows Size includes cwnd packets MSS : Maximum Segment Size Ssthreshold : The threshold value that the cwnd will be increased by MSS up to this value P error : Probability of having error during the transmission or retransmission of a packet Sent : Number of Packets that are successfully transmitted to, and also acknowledged by the destination node.
Throughput : Number of Bytes successfully transmitted in a second Round Trip Time: The expected time required for transmitting a packet to its destination and also receiving its acknowledge.
As a result, the sample THR results evaluated by the experimental MATLAB simulation are given in figure 4 for the transmission of 100 packets with 0.1 Probability of error (P error ).

Figure 4:
The result of the simulation displaying the states of THR, CWND and ACK. where 100 packets are transmitted with 0.1 P error .
In figure 4, the first graph shows the updated THR values after the transmission of the first 100 packets, considering each packet using a duration of "Round Trip Time (RTT)". The results on the second graph shows the states of congested window size (CWND) for which it is seen that the slope of the line decreases as CWND exceeds the slow start threshold (ssthreshold) value. The value of the CWND returns back to MSS value when the ACK of the corresponding packet shown in the third graph doesn't arrive back (ack. : 0) to the transmitter successfully.
To show the stabilized results of the simulation after a longer run, the throughput value, the results of THR, CWND and ACK are all given on figure 5, where 1000 packets are transmitted instead of 100 with the same P error rate (0.1). Finally, in order to confirm all the throughput results evaluated for different P error values ranging from %1 to %10, the simulation has run until completing the transmission of 1000 packets for each of the P error values (ranging from 0.01 to 0.1 by steps of 0.01). The graphs of theoretical results and the simulation results are given in Figure 6 for confirmation.

Figure 6: The confirmation of theoretical THR results and the simulation results of THR
The calculation results and the experimental simulation results given in Figure 6, confirm the correctness of either the simulation results or the theoretical calculations which also match exactly with the results evaluated by Antunes (2013) with the same parameter values.

PERFORMANCE OF TRADITIONAL SLOW START CONGESTION CONTROL METHOD
When traditional slow start congestion control method is used, in case of a packet loss, the cwnd value instantly initializes to MSS (a single packet) value. Then, as it is shown in figure 7a that, the window size linearly increases by MSS (cwnd=cwnd+MSS) up to ssthreshold value and after this threshold it increases slower (by cwnd=cwnd/MSS 2 ). This will require less time until the window reaches back to its previous size it was having just before the last packet loss has occurred.
In this work, for a slow start in case of packet loss, instead of returning to size of MSS, it is suggested to return back to a window size of ssthreshold-MSS2/CWND, which is the value of the CWND that it had just before it exceeded the ssthreshold. This will give the system opportunity of becoming stable, having no or less packet losses and returning back to optimal window size shortly. Figure 7 illustrates the differences between usage of Traditional Slow Start Congestion Control This will provide having a larger value for integral of the graph per unit of time, which will mean having more packet transmissions in this duration and an improvement on the throughput.
In figure 7a, naming the periodic lines between (pt n )'s and (st n+1 )'s as f 1 (t) and naming the periodic lines between (st n )'s and (pt n )'s as f 2 (t); f 1 (t) and f 2 (t) can be expressed by eq. 7 and eq. 8 respectively.
Using the given expressions, by integration, it is also possible to calculate the area under these functions between the given time intervals of either using SSCCM as in figure 7a or using the novel proposed RBT method as in figure 7b, to evaluate their expected number of transmitted packets in unit of time.
Finally, eq.9 gives us the throughput improvement amount by using RBT instead of SSCCM.
( ) ( ) Since f 1 (t) and f 2 (t) are respectively the CWND functions of the time until and after reaching the ssthreshold value, and since the P value used in f 2 (t) in eq.8 is the CWND value at the packet loss instant, the resultant CWND value will also depend on itself which makes the integration on f 2 (t) more difficult but possible to simulate. However, as an example the expected throughput improvement rate for a specific case of CWND = ssthreshold can be calculated for P error =0.01, in eq. 10 and eq. 11 as, The formulations used to evaluate the values of RTT, st, pt, P, ste in eq. 10 and their evaluated values in eq. 11, are given in Table 2, where other parameters are kept at their default values given in Table 1. Table 2: The formulations of the parameters used in eq. 10 and eq. 11.

Parameter
Formulation Calculated Value for the values given in Table 1   To see the stabilized exact value of the throughput in case of using RBT, Figure 9 shows the results of the simulation displaying the states of THR, CWND and ACK. with same P error rate (0.1) where 1.000 packets are transmitted instead. Finally, in order to see the overall throughput performance improvement provided by the novel proposed RBT method, the simulation throughput results for different P error values ranging from 1% to 10%, for transmitting 1000 packets are given in Figure 10, using either SSCCM or novel proposed RBT 1method. It can be observed from the graph that the improvement provided for P error = 0.01 seems to be about 2000 / 1550 = 1.29 (29%), which was theoretically expected in eq. 11 to be about 1.264 (% 26.4). However, it is also observed that, the provided improvement rate continues at about 1.5 (50%) for greater P error values with respect to the throughput value that the SSCCM method could provide.

CONCLUSION
In this work, a packet switching network is simulated using MATLAB, and for confirmation, the throughput results evaluated by the simulation are compared with both the results evaluated in the literature and the results evaluated by theoretical calculations.
Then a novel method called "Return Back to Threshold (RBT) "is proposed for packet switching networks to be used within the slow start congestion control method. By the proposed Evaluated Througput (kbps) The simulation results using novel proposed BRT method The calculation results using traditional slow start congestion control method The simulation results using traditional slow start congestion control method method, which can easily be implemented in existing systems requiring only minor software changes, it is suggested to have larger window size and to transmit more packets even in case of experiencing periodic packet losses. At the end it is shown that, when the proposed method is used instead of traditional slow start congestion control, it provides at least 26 % and up to 50 % throughput improvement on packet switching networks for different packet loss rates ranging from 1 % to 10 % with respect to confirmed existing results. The proposed method may also open the ways of novel approaches for managing the buffering of the packets in the buffers of a packet switching network for less packet losses and a greater sliding window average size providing higher throughput performances.