Adaptable System Increasing the Transmission Speed and Reliability in Packet Network by Optimizing Delay

. There is a great diversity in the transmission technologies in current data networks. Individual technologies are in most cases incompatible at physical and partially also at the link layer of the reference ISO/OSI model. Network compatibility, as the ability to transmit data, is realizable through the third layer, which is able to guarantee the operation of the diﬀerent devices across their technological diﬀerences. The proposed inverse packet multiplexer addresses increase of the speed and reliability of packet transmission to the third layer, and at the same time it increases the stability of the data communication by the regulation of the delay value during the transmission. This article presents implementation of a communication system and its veriﬁcation in real conditions. The conclusion compares the strengths and weaknesses of the proposed control system.


Introduction
The disadvantage of current solutions for the inverse multiplexing (an inverse multiplexer allows a fast data stream to be broken into multiple lower data rate communication links) is the uncoordinated sorting of packets to different transmission paths.Consequently, this can lead to uncontrolled growth of transmission delay [8] and/or a temporary increase of the packet loss and instability of communication with upper layer protocols, including congestion of network elements and connections collapse.
This problem is solved by the adaptable system for increasing the speed and reliability of data transmission in a packet network with the delay optimization using the packet regulator.
The advantage of the proposed solution is in the possibility to increase transfer speed and reliability by transmitting packets over multiple different paths which branches immediately after the placement queue [2].The communication system is designed to allow the association of more transmission paths (typically from two to eight) with mutually different transmission speeds, even implemented on completely different physical channels.The system has the capability of intelligent handling of the transmitted data; according to the characteristics of transmission paths and the selfexclusion of one or more transmission paths in case of failure or increased packet loss over the allowable limit, system controls the sorting of packets in the transmission paths through the transmission delay regulator.With the aid of injection and detection of the control information in the transmission path the packet delay is examined.Based on this, the regulator controls the intensity of the packets sending to network interfaces.
Regulator sets the amount of transmitted data, optimal for the corresponding channel, according to the measured values of the delay.At the same time the regulator allocates appropriate contents of the input packet buffer.Number of packets in the input packet buffer is set to the amount of data that all network interfaces are currently able to transfer.Packets overflowing capacity of input packet buffer are not stored and not transmitted, thus, protects the interface, transmission channel and the packet network against overload.This behaviour results in optimizing delays in transmission.
The proposed system was implemented and tested in a cellular network using two independent channels through various operators.The results verified the correct function of the proposed algorithms and gave the basis for further optimization for different network scenarios.
The proposed solution is effective in solving communication infrastructure for mobile networks in disaster management [5].

Transmission System
The basic idea of the system design is to create the most stable data channel in an environment with variable transmission parameters.Typically, the environment of mobile data networks or networks with high working load.The proposed system is adapted for the transmission of IP communication, especially TCP [7] and UDP [6] protocols.
Basic principle diagram is shown in Fig. 1.Packets entering the transmission system from the network A are, based on the current state of the communication lines between the inverse packet multiplexers, distributed into the communication lines in such a way to prevent the congestion and the deterioration of the transmission parameters.Once the packets are transmitted over the networks from one part of the system to the other, they are restored into its original form and sent to the network B. This process also works in reverse, so is made a fully transparent connection.Packet transmission between systems A and B is realized via our own communication protocol that uses UDP and which cares about establishing, termination and supervision of different communication channels over the assembled connection.The protocol is using the 4-byte header, which is located behind the UDP header.This header appears as a normal payload for common network devices.More detailed description of this protocol is beyond the scope of this article.

Packet Regulator
The heart of the system is a packet (polyline) regulator, which is shown in Fig. 2 labeled as CU (Control Unit).CU controls packet splitter and filters on the inputs to each interfaces, and thus reduces the amount of packets that enter into them.Outgoing packets are supplemented by special information before leaving the system.This information is used on the receiver side to rebuild the original data stream.
Flow control can be implemented in several ways.This article will describe the regulation of passing packets using the control polyline curve.Appropriate additions of packet filter settings, depending on the change of delay per channel, are defined by this curve.An example of one possible polyline is shown in Fig. 3.

Function of the Polyline Curve
The success of regulation is highly dependent on the choice of control polyline.This choice must be subordinated to the type of traffic (TCP, UDP), communication technology of the interface (GPRS, EDGE, UMTS, Ethernet, etc.) and also to the traffic load of the transmission network.Mobile technologies have delay parameter generally higher than Ethernet, so the overall response of the system is much less sensitive to regulation.
Definition of the polyline is based on the analysis of the transmission parameters of the communication channel [4].In addition to the definition of limit values for transmission speed, delay, or packet loss at the time of measurement, it is necessary to know the progressions of these variables over time.Very important is the knowledge of the relative rate of change in throughput and delay, which are very important for maintaining optimal system dynamics.All these parameters can be obtained by using commonly available tools (ping, Iperf, etc.) [3] and thus formulate the polyline curve.
Typical appearance of the control polyline is shown in Fig. 3. On the Y-axis is plotted the gain control variable, in this case ∆T P , which is added to the current value of the size of the packet filter.The X-axis is indicative of the deviation of regulation from the desired value.In case of the mobile network (GPRS, EDGE, UMTS), where there is a strong dependence on the current RTT (Round-Trip Time) on the transmission speed, is suitable for controlling precisely the RTT.The periodical measurement shown that for wired networks, such as Ethernet or xDSL technology, is preferable to use the packet loss as controlling parameter.In practice has proven very effective to define a curve very conservatively for mobile networks, mainly due to high transport delays, which significantly reduces the response by regulatory intervention.Too drastic reduction transmission speeds result in significant fluctuations in the packet stream within a controlled channel.This phenomenon is particularly evident in the TCP protocol, which is due to own self-regulatory mechanism very sensitive for this type of control.

Round-Trip Time Measurement
Due to the significant variation of the delay parameter in mobile networks is necessary to perform straightening prior to its use for the regulation.If the regulation was implemented without smoothed delay, there would be a step changes in packet filter settings and thereby inadvertently increase of the error rate in regulated data channel.For smoothing can be used a variety of methods.One of these is the calculation of smooth TCP RTT taken from the TCP protocol [1].
The equation has the following form: The variables used in the pseudocode are defined as follows: • smtRT T -smoothed round trip time, • actRT T -actual round trip time, • α -constant weighting factor (0 ≤ α < 1).

Link State Information Measurement
To effectively control the amount of transmitted packets by different interfaces is necessary to perform periodic collection of information about the current state of the interfaces.For this activity was designed the following algorithm, which is described as the Pseudocode 1 (Fig. 4).Shown pseudocode is aimed at monitoring the round trip time value.Loss rate is not taken into account.
Each side of the transmission system periodically sends monitoring packets through all available interfaces.These monitoring packets detect current round trip time and packet loss for the interface and the direction of communication (uplink, downlink).Based on the results of paths measurement, which is used in polyline control function, appropriate coefficients for regulatory interventions of packet filters are found.
For effective control, it is necessary maximize the rate of regulation packets sending.According to the practical measurement should be time between regulation packets at least 2 times smaller than the average RTT on the testing network.This requirement is easily achievable for fixed networks.Mobile networks are, due to lower throughput and higher delay, very sensitive to the amount and rate of monitoring packets.
Typical examples are GPRS/EDGE technologies, which can not transmit monitoring packets with such frequency as to be in UMTS or LTE.Too much monitoring packets could utilize the transmission channel so much that it would no longer be able to transfer any user data.Therefore, the time between monitoring packets is in mobile networks higher or equal than the average RTT of the channel.This situation must be taken into consideration when designing the control polyline function.
Monitoring and data packets are transmitted together.Monitoring packets are transmitted even if there is no request of data transfer from the user.In order to measure the individual communication routes as accurate as possible, monitoring packets has a higher priority than data packets.Packet filters actualization is performed with each received monitoring packet.The entire process including the packet filter setting is described in the Pseudocode 1 (Fig. 4).
1: for each received monitoring packet p on each interface i do 2: smtRT Tp,i ← f (actRT Tp,i), actRT Tp,i ∈ received monitoring packets;

5:
maxSizep,i ← maxSizep,i + ∆T Pp,i; The variables used in the pseudocode are defined as follows:

6: end for
• reqRT T -requested round trip time, • smtRT T -smoothed round trip time, • actRT T -actual round trip time, • ∆RT T -increment of round trip time, • ∆T P -increment of data in bytes, • maxSize -maximum amount of data in bytes which is allowed to send through interface.

Packet Handling
Classifying packets into individual interfaces according to the current state of the communication lines is going through the modified round-robin algorithm.The algorithm itself is described in the Pseudocode 2 (Fig. 5).
1: for every incoming data packet do 2: refresh the maxSize variable at all interfaces; 3: load the packet;

9:
return Send the packet; 10: end if

13:
return Discard the packet; 14: end for Variables used in pseudocode have the following meaning: • curIf -number of the current interface, • lastIf -number of the last used interface, • maxIf -the maximum number of interfaces, • packetSize -current amount of data in bytes for sending through the interface.
Subsequent packets composition received at the other end of the transmission route is going according to the algorithm, which is described in the Pseudocode 3 (Fig. 6).
The algorithm describes packets receiving on all available interfaces and their processing before sending it to the destination network.
The variables used in the pseudocode are defined as follows: • packetN um -number of the incoming packet (from the packet header), • lastN um -number of the last sent packet.
1: for every incoming data packet do 2: if packetN um ≤ lastN um then

6:
Send a packet to output;

11:
Pop packet from buffer

13:
Send a packet to output;

Real Measurement
The For measurement of the proposed transmission system configuration parameters listed in Tab. 2 were chosen.Parameters were chosen with regard to the demon-stration of the positive and negative characteristics of the proposed system and the regulator.
Mobile networks parameters from the test time are listed in Tab. 3. Similarly as in the previous test, both data terminals were in the same place and they did not move.The control polyline function trend is shown in Fig. 7. Operation of the control polyline is the same for both channels as shown in Fig. 8. Smoothed curve of the round trip time value smtRT T is indicated by the dashed blue line.The course of the regulation deviation ∆RT T shows the red line.The green line then shows the increase of the action variable ∆T P .The chart in Fig. 8 clearly shows that even with an identical set of control parameters for both channels are due to differences in smtRT T differ also individual action interventions.The corresponding packet filter settings for both channels is shown in Fig. 9.The graph in Fig. 9 shows changes in the course of packet filter settings based on the current state of the channel.This limit is marked by a red line.Blue crosses displays the measured throughput.
The graph in Fig. 9 also shows that the amount of transmitted data is regulated in channel 0. Instantaneous transfer rate exceeds the maximum limit defined by packet filter in some places.This limitation caused a decrease in overall transmission rate but kept RTT within the required limits.That is demonstrated on the graph for channel 0 in Fig. 10.
The fact that the desired RTT reqRT T is set to 100 ms, which is 20 ms higher than the steady delay in channel 1 (about 80 ms), caused that courses of action variable are much greater than for channel 0. In this case is the current difference between the desired value of RTT and its steady size about 8 ms.Reaction of the action variable is also different due to the same control polyline but different RTT values.The packet filter settings in channel 1 is not optimal.Due to the large difference between the current RTT and the desired one is filter threshold set very high above the maximum physical limit of bandwidth of the channel.As a result, regulatory restrictions does not apply, this is demonstrated by the graph for channel 1 in Fig. 9.The maximum limit of the throughput defined by packet filter is much higher than the actual transmission rate generated by user data.
In addition to regulatory intervention of packet filter for each channel there was also regulation of the data stream through the internal mechanisms of TCP protocol.These interventions are evident in seconds 20 and 80.By detecting congestion, which will reflect as an increase in the RTT, will be applied a mechanism that ultimately causes a reduction in the amount of sent data.This reduction in the amount of sent data will exhibit in a decrease of transmitted data in both channels.The situation is demonstrated in the decrease of the transmission speed in both channels in Fig. 9, as well as the progress of the limits of channel 1 packet filter.
The influence of the regulatory mechanism of TCP is evident on both channels, although there was an overflow primarily for channel 1.This phenomenon is caused by round-robin mechanism, see algorithm in the Pseudocode 2. This classifying packets method causes practically identical decrease of the transmitted data in all channels.
The course of the resulting transmission speed including displaying contributions of both channels is shown in Fig. 11.Red crosses and green squares represent the values of instantaneous transmission rate for channel 0, respectively channel 1. Blue circles displays trend of overall transmission speed which is the sum of the two contrib-utory streams (channels).Results from the measurement of throughput per channel, also the total combined throughput, are given in Tab. 4.

Conclusion
Results of measurement of the transmission system associating the two data channels UMTS HSUPA, created by two different mobile operators, confirmed the functionality of the proposed solution.Suitable design of the control polyline function managed to regulate the amount of data passing through the data channels.With this regulation it is possible to split the input high-speed data streams into two slower channels, and on the other side, make their reassembly.Due to the fact that control polyline function was not designed optimally for each of the channels, the regulation applied to only one of them.
Measurements also confirmed the weak points of the proposed regulator, which must be improved.It is mainly about worse dynamic properties of designed control polyline function which causes, especially at higher load of the data network, significant packet filter values fluctuation.This phenomenon is especially apparent in networks with high and fluctuating RTT.An effective solution to this problem should be to use a several control polyline functions, each will be responsible for a specific range of regulation deviation.An interesting variation might be some variant of the PID or the PSD regulator.communication in data networks and networking technologies.His research is focused on wireless transmission and data flow analysis, simulation and optimization.He is currently actively involved in projects focused on high speed data transmission from fast moving objects and data optimization via satellite network.

Fig. 7 :
Fig. 7: The control polyline function definition for both channels.

Fig. 10 :
Fig. 10: Round trip time value during the transmission.
Peter MACEJKO was born in Czech Republic in 1980.He received his M.Sc.degree in electrical engineering from the Czech Technical University in Prague in 2006.He is teaching networking technologies and distributed systems.His research is focused on scheduling in distributed systems and data flow and protocol analysis.He is currently actively involved in projects focused on high speed data transmission from fast moving objects.Petr CHLUMSKY received his M.Sc.degree in electrical engineering from the Czech Technical University in Prague in 2010.Since 2010 he has been studying Ph.D. degree in telecommunication engineering.His research interests include wireless transmission, network coding and network simulation.Jiri VODRAZKA was born in Prague, Czech Republic in 1966.He joined the Department of Telecommunication Engineering, Faculty of Electrical Engineering, Czech Technical University in Prague in 1996 as a research assistant and received his Ph.D. degree in electrical engineering in 2001.He has been the head of the Transmission Media and Systems scientific group since 2005 and became associate professor in 2008.He participates in numerous projects in cooperation with external bodies.Currently he also acts as vice-head of the Department.Ondrej VONDROUS received his M.Sc.degree in electrical engineering from the Czech Technical University in Prague in 2011.Since 2011 he has been studying Ph.D. degree in telecommunication engineering.His research interests include network transmission control, data flow analysis and data flow optimization.
Tab. 1: Results of the TCP uplink measurement at unloaded mobile network.
Tab. 4: Results from the TCP uplink throughput measurement