Active network measurement is a way to get information about network connection characteristics for using network resources in a most efficient way. “Active measurement” in this context means network performance measurements based on the injection of additional data packets into the data network. The measurement is then performed by analyzing the basic parameters of such probe samples. The most important parameters hereby are one-way delay (OWD) and inter packet time interval measured in the receiving station (IpIR). This is the time interval between receptions of two consecutive arriving samples. The receiving station takes the time when the probe sample data packets arrive and calculates the inter packet time interval (IpIR). In the following for the long expression “probe sample data packets” the short forms “probe sample packet” or “probe packet” are synonymously used. An example of a “probe sample data packet” is an UDP datagram that contains a time stamp showing the time of the sending station when this datagram has been sent. UDP here stands for the well-known user datagram protocol.
Due to variations in transmission paths and in queuing hold-up, the transmission delays experienced by the different packets can vary considerably in a non-deterministic way. In extreme cases, a packet sent earlier may arrive at a later time than one that was sent later.
There exists in literature a so-called probe rate model (PRM). According to this model, the sender iteratively sends probe sample packets via the network to a receiver. Per iteration the measurement is performed with a different constant bit rate (CM. Per iteration, the sender sends a so called train of probe samples—certain amount of consecutive probe samples send with a constant inter packet time interval IpIS measured in the sending station. After reception of the train of probe samples, the receiver analyses the received datagrams and their arrival times and makes a suggestion whether the CBR in the last iteration was higher than the available bandwidth or not. If the result shows that CBR is higher—then the receiver generates a new inter-packet time interval that should be used by sender (IpIS) for the next iteration. So, this will be fed back to the sender in a message. The relation between CBR and IpIS is shown in equation (1)
where SS is the Segment Size of the UDP packet.
Measurements according to the PRM model begin with a maximum possible CBR (e.g. with the link data rate at the sender, i.e. probe packets are “pumped” into the data pipe with the minimum possible distance in time) and then iteratively decreased until the receiver assumes, that the OR of the last iteration was not higher than the available bandwidth on the path between the data sender and data receiver. This is the end point of the measurement phase and the available bandwidth is assumed to be not less than the last used CBR.
The PRM model is described in the following articles:
The accuracy of measurements has a correlation with the amount of probe samples that have been delivered into the data pipe per iteration. The more samples are injected into the connection, the higher accuracy is provided by the given measurement method. However injection of probe samples into the network could also be the cause of congestion or a decrease of service quality in the network. That is why it is important to find some optimal value of amount of probe samples per iteration that will be big enough to provide an acceptable bandwidth accuracy and small enough to not consume a lot of network resources. Important is also the duration of measurement. In general a packet switched network is a dynamic system and the available bandwidth is significantly changing over the time. To make the reaction on network changes fast it is necessary to estimate available bandwidth as soon as it is possible. Also the measurement duration depends on the amount of samples issued per iteration. The fewer samples are sent, the faster the measurement can be completed. Thus it is an object of the invention to optimize the method of active bandwidth measurements in particular the Probe Rate Model (PRM).
The solution according the invention firstly is based on the idea to use a variable amount of probe sample packets for different rates with which probe sample packets are injected onto the data pipe.
With experiments an optimized form of the dependency of the amount of probe sample packets from the probe rate has been found. Such dependency can be easily implemented with the formula:
where R is the probe packet bit rate in Mbps used for an iteration, and
N is the amount of samples that should be sent in the next iteration.
In a further embodiment of the invention calculations with a modified formula which lead to results in the range of ±20% deviations from the calculation results according to the listed formula are tolerated.
These features of the invention provide for a more efficient performance test mainly in terms of a reduced estimation/testing time and a reduced amount of overhead network traffic for the test.
Another aspect of the invention lies in the idea to adapt the performance test to the network jitter. The inventors recognized that there is a high probability that the estimation of the network performance will be wrong if the packet delay jitter is high. So, it is another idea of the invention to evaluate the network jitter and to adapt the adjustment step of an iteration during the test to the network jitter with a step decreasing factor.
Again with experiments an optimized dependency of the step decreasing factor on the network jitter has been found. Thereby as a metric the ratio between network jitter and the perceived inter packet time interval has been introduced. Such dependency can be easily implemented with the formula:
whereby IpISnext is the adjusted inter packet time interval to be used for the next iteration in the source device, IpIScurr is the inter packet time interval with which probe sample packets have been injected onto the data pipe during the previous iteration and SDF is the step decreasing factor. It is defined to apply the step decreasing factor SDF with the formula
whereby JtI is the ratio of the measured deviation of network jitter σjitter to the perceived inter packet time interval IpIR per iteration.
With such adaptation of the step decreasing factor the amount of iterations can be subjectively decreased in case of low changes of jitter values without losing the accuracy of the performance test. At the same time, this improved performance test provides for more iterations in case of higher changes of jitter values to provide for a reasonable accuracy of the performance test.
The invention also concerns correspondingly adapted apparatuses to perform the method steps of the invention either for the source device or for the destination device.
The invention also concerns corresponding computer programs with instructions which perform the method steps of the invention either for the source device or for the destination device when run in a computing system.
In the following, the invention will be described by means of advantageous embodiments with reference to figures of a number of drawings. Herein:
In
The available bandwidth measurement is performed between a source node 20 and destination node 21 which are stations in a wide area network WAN. This principle network structure is illustrated in
The probe-traffic consists of a plurality of probe sample packets in the form of UDP packets. The structure of a probe sample packet is depicted in
According to the measurement algorithm, source 20 sends probe samples with some constant sample rate (constant IpIS) to the destination 21. Note that the sample rate in the following will be measured in a virtual bit rate which only corresponds to the real bit rate on the physical layer of the network if exclusively probe sample packets are send over the network one after the other without gaps. If the probe packets are sent with gaps it means that such gaps may be filled with other network traffic. The gaps may however not remain constant from one link to the other since other network traffic may also arrive at a router and normally the routing algorithm makes sure that all network traffic is forwarded towards its destination in a fair manner. That means other communication packets will be interspersed before the next probe sample packet is routed. Therefore, with interaction with cross-traffic the inter-packet time interval as perceived in the destination device 21 is changing. This is illustrated in
The sending of each probe sample packet we can present as it is shown in the
To look deeper into the interaction between probe traffic and cross traffic consider the
In the
Now let's consider how the inter packet time intervals are changing among the successive iterations.
Since the situation in
The inter packet time interval IpIS (T1) is increased in the source device due to the SOAP message with which the recommended next IpIS time is reported back. However the interaction with the cross-traffic still changes the inter-packet interval in the second iteration. So, IpIR again is equal to T2 what still is different from IpIS. The destination device then again recommends an increased IpIS time.
After several iterations IpIS is becoming closer to IpIR as it is presented in
The impact of the amount of probe samples on the accuracy of the available bandwidth measurement can be clearly observed on high speed connections up to 10 Gbps.
The plots of the measurement results in the
In
It can be seen in
The experiment under the same conditions as before, but with an increased amount of samples to a value of 200 is shown in the
It is one idea of the invention to use a variable amount of probe samples according to the sending rate with which probe sample packets are delivered to the link layer in the bandwidth test. The testing software calculates the amount of samples according to the formula, described below. That formula has been verified by a set of experiments which have shown that the distribution of the amount of samples shall obey the formula 2:
where R is the probe packet bit rate in Mbps used for an iteration, and
N is the amount of samples that should be sent in the next iteration.
The dependence of samples on probe rate is shown in the
In general, the amount of samples kept as determined in formula (2) or in a range of +/−20% aside from that, would produce a good accuracy on the high rates and will safe time on the low path data rates. So, it is an excellent trade-off between the two criteria good accuracy and amount of testing time.
The estimation characteristics are shown in
Another important impact factor on accuracy of bandwidth estimation is the Packet Delay Jitter. There is a high probability that the evaluation of probe rate for next iteration will be wrong if the Packet Delay Jitter is high. Jitter normally is defined to mean the variation in the packet arrival times. This corresponds to the standard deviation of the arrival times.
To solve this problem, it is necessary to evaluate the jitter and how big bias it introduces into the measurements. For that purpose according to another embodiment of the invention the standard deviation of jitter is measured and as a metric it is proposed to use the ratio of standard deviation of Packet Delay Jitter to the mean inter-packet interval on reception side, JtI according to formula 3:
where σjitter is the standard deviation of jitter, and
IpIR is the mean inter packet Interval as perceived on the reception side during the last iteration.
The best way to make accurate measurements under high jitter dispersion is to make more iterations of a measurement with smaller steps. In the classical way as described in the literature explaining the PRM model, see background part of the invention, the inter-packet interval for the probe rate of the next iteration, is calculated according to formula 4:
where IpISnext is the sending inter-packet time interval for next probe rate, IpIScurr is the sending inter-packet time interval for current probe rate, and IpIR is the inter-packet time interval on reception.
Deviation of jitter affects only the IpIR in the said formula, because other operands are not interacting with the network. Consequently, if packet delay jitter deviation was big, the obtained value IpIR could be much bigger than the real value.
In that case next IpIS could be significantly less than the optimal IpIS. Under optimal conditions the assumed inter-packet interval IpIS is used for generating of a constant rate which approximately is equal to the available bandwidth of the connection. If the sender sends with a probe rate that is less than the available bandwidth, there no increasing trend will be detected and this probe rate will be reported as the available bandwidth.
In the formula 4 the IpIS is increased by the absolute difference between IpIR and IpIS divided by 2. In one embodiment of the invention it is proposed to increase the IpIS value in dependence of the metric PI as defined in (3). It is suggested to express this dependence as a Step Decreasing Factor—SDF(JtI) as formulated in (5):
Whereby it is proposed to define SDF as follows:
Graphically the function as defined in formula (6) is presented in
According to the function—if the deviation of jitter is significant in comparison to the inter-packet Interval, IpISnext, it tends faster to IpIR, if not—slower. Such method provides an opportunity to decrease the amount of iterations in case of low jitter without losing the accuracy of measurements. In the opposite case, the method will need more iterations to deliver a reasonable accuracy.
For the experiments carried out for testing the step decreasing factor, a network was utilized in which the OWD value is 40 ms, and the OWD values are distributed according to normal law with a standard deviation of 0.3 ms.
Firstly, measurement results are depicted in presence of jitter without use of the step decreasing factor SDF. It is noted that the variable amount of probe sample packets per iteration is also applied in this test. This is shown in
The relative error in that case shows the value −18% from the real available bandwidth, at the maximum bit rate of 10 Gbps, which is quite big.
Since OWD for all tests are distributed according to normal law with relatively high standard deviation, the parameter JtI will be also big—e.g. close to 6 Gbps the value of JtI is about 2.5-3. The behavior of measurements with applied Step Decreasing Factor as in formula (5) is presented in
The invention will be used in a network monitoring/testing device for measuring network performance. Such a device is helping to optimize the data throughput in a network by adjusting the delay times in between two packet transmissions and the data rate. The aim is to utilize the available network bandwidth in optimized fashion while at the same time congestion shall be avoided. This adjustment process may be repeated periodically, e.g. every minute or every 2nd minute. As the management of QoS in the Internet is becoming more and more advanced, the described method might also be used in sophisticated Quality of Service (QoS) managers. Such network monitoring or testing devices can be based on a normal PC or workstation on which a corresponding network performance testing software is installed. Preferably the software is designed to have both capabilities a) to perform the method steps according to the invention with respect to the source device 20 of the performance test and b) to perform the method steps according to the invention with respect to the destination device 21 of the performance test. During the test the software in the source device is configured to perform the steps of the source device 20 and the software in the destination device is configured to perform the steps of the destination device 21. Examples of such network monitoring/testing tool software in which the invention could be implemented are the commercially available software tools like Wireshark, etc.!
The invention may also be used in connection with the UDP or UDT protocol or in connection with a modified version of the TCP protocol. UDT stands for UDP-based data transfer protocol and is primarily made for the implementation in the transport protocols which are suitable for the use in high-speed networks with data rates in the range of 10 Gbit/s. The UDT protocol is capable to provide a 10 Gigabit point-to-point or point-to-multipoint data transmission over Internet links and features congestion/flow control techniques.
In the case of implementation in UDT, the invention will preferably be utilized in the following way: The server which is requested to send a file/web page to a client is transmitting a first train of probe sample packets. The client will perform the calculation of the recommended IpIS time and send it back to the server e.g. in a SOAP message. The server then adjusts the IpIS time and sends a second train of UDT probe sample packets corresponding to the set new IpIS time. The client will again send a feedback message with recommended IpIS time. This testing procedure goes on until the recommended IpIS time is close to the calculated IpIR time with regard to the set tolerance. Then the server exclusively sends the UDP data packets without interruption whereby the inter packet time interval for the sending of UDT packets corresponds to the last recommended IpIS time.
In the case for a possible use in TCP, the invention will preferably be utilized in the following way: The server which is requested to send a file/web page to a client is transmitting a first train of probe sample packets via TCP and sends, e.g. 20 segments in its usual manner—back to back. The term “back to back” here means that packets will be sent one after the other immediately, without respecting any additional inter-packet time interval. The calculation of the inter-packet time interval for each segment and the building of the mean value will result in an IpIS value for the next iteration. Based on a received feedback message (e.g. by means of a modified TCP ACK message which also contains the IpIR value), the TCP client can adjust a size of congestion window and send the next portion of its fragments into the network with the recommended IpIS value. This will be repeated until the sending rate of TCP will not correspond to the reception rate.
As mentioned above the whole bandwidth test can last a few seconds and that is normally not acceptable for a user who is surfing in the Internet. Of course this may depend on the application. For software updates/downloads or some audio/video AV streaming content it may be acceptable to execute the complete bandwidth test before starting out with delivering the requested content to the client. In particular the invention might be implemented in software tools for accelerating the data throughput in wide area networks.
In addition to the preferred embodiments described above, the invention may also be used as part of a new transport protocol other than TCP or RTP be it a connectionless transport protocol or a connection-oriented transport protocol.
It is to be understood that the proposed method and apparatus may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. Special purpose processors may include application specific integrated circuits (ASICs), reduced instruction set computers (RISCs) and/or field programmable gate arrays (FPGAs). Preferably, the proposed method and apparatus is implemented as a combination of hardware and software.
Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage device. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPU), a random access memory (RAM), and input/output (I/O) interface(s). The computer platform also includes an operating system and microinstruction code. The various processes and functions described herein may either be part of the microinstruction code or part of the application program (or a combination thereof), which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
It should be understood that the elements shown in the figures may be implemented in various forms of hardware, software or combinations thereof. Preferably, these elements are implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, memory and input/output interfaces. Herein, the phrase “coupled” is defined to mean directly connected to or indirectly connected with through one or more intermediate components. Such intermediate components may include both hardware and software based components.
It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures are preferably implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the proposed method and apparatus is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the proposed method and apparatus.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2015/025025 | 5/18/2015 | WO | 00 |