The present invention relates to data session time prediction. More in particular, the present invention relates to a method and a device for predicting the session time of data in a communication network.
Modern communication networks offer a variety of data services, for example file transfers between consumer terminals, internet downloads, and browsing. The transmission and/or session times involved may depend on the type of service, the amount of data to be transmitted, and other factors, including network characteristics. As network operators want to offer the best possible service, network characteristics should be adapted so as to minimize session times. A session time is meant to refer to the time duration of a data session as perceived by the user.
Typical modern (tele)communication networks, such as UMTS (Universal Mobile Telecommunications System) networks, provide variable data transmission rates. A mechanism called “bearer switching” increases the transmission rate stepwise from 64 kpbs (kilobit per second) via 128 kbps to 384 kbps. As each rate increase is only effected after a delay of typically a few seconds, the overall session times are difficult to predict and may depend on the exact switching characteristics and details of the data sessions (for example browsing or downloading). However, if the service level is to be monitored, a reliable indication of typical transmission and/or session times is required.
It is an object of the present invention to overcome these and other problems of the Prior Art and to provide a relatively simple method and device for predicting session times in communication networks which take into account variable network bit rate switching mechanisms, buffering characteristics, data loss, and/or other factors.
Accordingly, the present invention provides a method of predicting a session time of a service between a source and a destination in a communication network, the method comprising the steps of:
The time delay of a selected data packet, or of only a few selected data packets, proves to be a reliable predictor of the overall session time of a service offered over a network.
Increasing the data rate may be accomplished by decreasing the time intervals between the data packets of the series. Not all time intervals between the data packets need to be different. It is sufficient that the time intervals at the end of the series of data packets are shorter (that is, have a smaller duration) than at the beginning, so as to produce an increased sending data rate. It is preferred that the final sending data rate, that is the sending data rate at the end of the series, is high enough to trigger the highest possible transmission rate available in the network for the particular type of service.
In addition, the number of data packets having a certain time interval preferably increases. That is, there are preferably more time intervals having a specific duration as the duration decreases. This also contributes to an increasing data rate.
It is further preferred that the data packets of the series have substantially increasing sizes. This causes a further increase in the sending data rate, thus further testing the properties of the network. It is particularly preferred that the total amount of data is capable of filling all buffers of the data link concerned.
The protocol used for transmitting the series of data packets mentioned above is preferably different from the protocol used for transmitting regular data. More in particular, the protocol used in the method of the present invention is preferably a relatively simple protocol that allows data loss, for example UDP (“User Datagram Protocol”). It has been found that UDP or its equivalents are particularly suitable as any packet loss typically indicates that the limits of the transmission rates have been reached.
The selected packet used for predicting the session time of data may depend on the type of service and/or the type of data packet. In many types of service, the selected data packet is the last data packet received. In case data packets are lost, the time delay of the selected data packet can be estimated by extrapolation or other suitable techniques.
The time delay is preferably measured relative to the first data packet received. By measuring this relative (that is, differential) delay, any synchronisation between sending and receiving sides may be omitted, as the moment in time of sending the first data packet is no longer relevant. For some data services the time delay relative to the second data packet may be a suitable predictor, while for other data services the third data packet may be used as a reference.
The method of the present invention may further comprise the step of determining a round trip delay. This delay is measured by sending one or more data packets and waiting for these packets to be returned by the receiving side. Such a round trip delay provides further information on the network and, together with the relative delay measured in the way indicated above, provides a full characterisation of the transmission link, thus allowing a tuning of network and/or service parameters such as found e.g. in TCP stacks and UMTS networks. It is noted that the round trip delay includes both the (absolute) delay of the first data packet and the return delay and therefore better characterises delay times in the network than the (absolute) delay of the first data packet.
The series of data packets may be transmitted using any suitable protocol, for example TCP (Transmission Control Protocol). However, it is preferred that a simple, “lossy” protocol is used, such as UDP (User Datagram Protocol). The term “lossy” is meant to refer to the fact that data may be lost as the protocol provides no protection against data loss, in contrast to other (“loss-less”) protocols which may re-send data that fail to arrive. Re-sending any lost data packets would influence the measured time delays and make the reliable prediction of session times more complicated. It is therefore preferred that the series of data packets is sent in accordance with a lossy protocol, preferably the UDP protocol. It has been found that the UDP protocol is particularly suitable, although other protocols may also be used. The data packets of the series may be provided with a suitable identifier, such as a sequence number, to allow detection of data loss.
It has been found that the loss of any data packets can easily be compensated by estimating their time delays on the basis of earlier data packets. The method of the present invention may therefore further comprise the step of estimating the time delay of any lost packets by extrapolation. The extrapolated time delays prove to provide a reliable estimation of transmission and/or session times.
Extrapolation is particularly suitable for estimating the time delays of lost data packets which are not followed by any received data packets. When data packets are received after one or more data packets are lost, in particular after a “gap” in the received data packets, other techniques may be used to compensate for the lost data packets. Although interpolation may be used, it is preferred that the delay time of a lost data packet is replaced with the delay time of the next received data packet.
The method according to any of the preceding claims, wherein the delay time of a lost data packet is replaced with the delay time of the next received data packet, the delay times of all data packets received after said lost data packets preferably being replaced with the delay time of each respective subsequent data packet. That is, the time delay of a lost data packet in a “gap” is replaced with the time delay of the next data packet received. Although in this way at least two identical time delay values may be used, it is further preferred that all subsequent time delay values are “shifted” to fill the “gap”. This “shifting” may be effected by replacing the delay times of all data packets received after said lost data packets with the delay time of each respective subsequent data packet.
The present invention also provides a computer program product for carrying out the method as defined above. A computer program product may comprise a set of computer executable method steps stored on a suitable carrier, such as a CD, a DVD or a magnetic disc. The computer executable method steps may also be retrievable from a remote location, for example using the Internet. The computer executable method steps may be provided in a high-level computer language and/or may be converted into computer executable instructions.
The present invention additionally provides a device for predicting a session time of a service between a source and a destination in a communication network, the device comprising:
The present invention additionally provides a (tele)communication system, comprising a device as defined above. The telecommunications system of the present invention may comprise exchanges, transmission lines, billing apparatus, and other apparatus.
The present invention will further be explained below with reference to exemplary embodiments illustrated in the accompanying drawings, in which:
The communications network 1 shown merely by way of non-limiting example in
The exemplary network 1 is designed for transmitting data in data packets. The actual data may include voice data, video data, control data and other data. The network 1 comprises parts for wireless communication, such as the transceivers 4 and antennas 5, which allow mobile (cellular) terminals 6 to communicate with other (mobile or non-mobile) terminals. The present invention is particularly advantageous in UMTS networks, but is not so limited and may also be used in, for example, GSM networks and other networks.
The exemplary device 10 of
The receiving part 10b of the device 10 comprises a measuring unit 12 for receiving selected data packets sent by the sending part 10a and measuring their respective time delays, a prediction unit 13 for predicting session times on the basis of the measured time delays, and a responding unit 14 for responding to any round trip measurement data packets received by the receiving part 10b.
It will be understood that the sending unit 11 and the auxiliary unit 15 of the sending part 10a may be combined into a single, integral unit, which in turn may be constituted by a microcomputer or similar device. It will further be understood that the measuring unit 12, the prediction unit 13 and the responding unit 14 may be also combined into a single, integral unit, which in turn may be constituted by a microcomputer or similar device. If a microcomputer or microprocessor is used, the units of the device may advantageously be constituted by software modules.
The device 10 of the present invention operates as follows. The sending part 10a and the receiving part 10b are connected to the network 1 at suitable locations, such as near or at end-points (that is, at data sending and receiving devices) of the services to be assessed. The sending unit 11 of the sending part 10a produces a series of data packets and transmits these data packets over the network to the receiving part 10b, where they are received by the measuring unit 12. Of each data packet received by the measuring unit 12, the time of arrival may be determined by using a (local or global) clock. In a preferred embodiment, the time of arrival of all data packets is registered and typically two data packets per series are selected. The time delay is measured by determining the difference between the time of arrival of the last selected data packet (for example the 256th data packet) and the time of arrival of the first selected data packet (for example the 1st data packet). This time delay is fed to the prediction unit 13 which produces a prediction of a session time of a service in the network 1. If any of the selected data packets is lost, its time delay may be determined by extrapolation.
The data packets relative to which the time delays of one or more selected data packets are measured may depend on the service being predicted. For most data services, time delays may be measured relative to the first data packet of the series. In other words, the first data packet of the series serves as a reference data packet. However, for some services the second data packet may be used as a reference, while in other cases the third data packet may prove to yield the best results.
A data packet that may advantageously be selected for measuring its time delay is the last data packet. Accordingly, the (relative) time delay measured by the measuring unit 12 typically is the difference between the time of arrival of the last data packet and the time of arrival of the first data packet. However, this may depend on the service concerned, as mentioned above.
For example, for an FTP (File Transfer Protocol) download of 128 kbyte, the best predictor of the download time is the time delay of the last data packet (relative to the first data packet, as mentioned above). This is also the case for a 4000 kbyte FRP download. However, for a 4 kbyte FTP download the time delay of the 18th data packet relative to the 8th data packet may prove to yield the best prediction for a certain embodiment of the method or device and of the service to be assessed.
For an I-mode browse session (I-mode is a proprietary internet access service for mobile terminals, such as GSM and UMTS handsets), the time delay of the 36th data packet relative to the 33rd data packet may prove to give the best prediction for a certain implementation of the service, while for a regular Internet browse session the last data packet (relative to the second) is the best predictor, as before.
The series of data packets is, in the preferred embodiment, transmitted using a “lossy” protocol, such as the well-known UDP (User Datagram Protocol). This means that it is not guaranteed that data packets arrive at their destination. In UDP, there is no mechanism for checking whether packets arrived or were lost. As a result, data packets will be lost if the sending rate (that is, the rate at which the data packets are sent by the sending part 10a) exceeds the maximum available transmission rate of the network and all buffers are filled.
However, the present invention is not hampered by the loss of data packets due to transmission rate limitations. Arrival times and the associated time delays of lost data packets may be estimated on the basis of extrapolation. That is, the arrival times and/or time delays of received data packets may be used to estimate the arrival times and/or time delays of lost data packets. It has been found that the prediction of the session time of the network is still reliable when estimates are used.
In the present invention, the arrival times of missing data packets are preferably estimated as follows. All data packets received are put in a sequence, in the order of their arrival (alternatively, they may be put in the order indicated by their identifiers, for example sequence numbers). This would normally leave some “gaps” where data packets are missing, but in preferred embodiments of the invention these “gaps” are ignored. This will effectively cause the data packets to be “shifted” so as to fill these gaps. This will later be explained in more detail with reference to
It has been found that this estimation produces very good results while being very simple to implement. Alternatively, conventional interpolation techniques may be used to estimate the arrival times of any intermediate data packets so as to fill the gaps in the series of data packets.
Any “gaps” remaining after the last received data packet (for example when the 256th data packet is required for the prediction and only 243 data packets have been received) are filled using extrapolation of the arrival times of the received data packets. This extrapolation may be carried out using conventional methods, such as (linear) regression, which are well known. Preferably, only a limited set of received data packets is used for the interpolation, for example the last 10 or 20 received data packets, or the data packets received in a certain time interval.
The loss of data packets can be detected by tracking their identifiers, such as sequence numbers, and/or by counting the number of data packets received.
An exemplary series of data packets is schematically illustrated in
It would be possible to use a series of data packets having constant time intervals or constant sizes, still resulting in an increasing data rate (number of bits per second). The increase of the data rate may then be achieved by either increasing the time interval between the data packets or increasing the packet size. In the present invention, however, it is preferred to increase the data rate over the series by increasing the packet size and decreasing the time intervals between the data packets as the series of data packets is transmitted. More in particular, it is preferred to start at a relatively low data rate and to increase the data rate so as to reach the highest available transmission rate of the network. In UMTS networks, the highest available transmission rate is reached when the highest bearer speed is triggered.
In a preferred embodiment, the packet size is increased from an initial 60 bytes (first or “start” data packet) via 500 bytes (second packet) to 1500 bytes (in other embodiments intermediate values, such as 150 bytes, may also be used).
As the packet size is increased, the time interval between the data packets is decreased. While the first and second intervals T1, T2 are 5 and 2 s (seconds) respectively in this preferred embodiment, the subsequent time intervals are reduced from 1 s to 25 ms, for example according to the following pattern: 1000, 500, 250, 125, 64, 32, and 16 ms. The number of data packets having a certain time interval also increases in preferred embodiments of the invention, as illustrated in the following table:
It can thus be seen that two successive data packets may have identical sizes or identical time intervals, but that overall the data rate increases over the series. As a result of the increasing data rate, the maximum available transmission rate of the network may be reached, which may result in a loss of data packets as mentioned above. When such a loss of data packets is detected, the time delays of missing data packets may be estimated using extrapolation.
The time delays are converted into session times using a suitable mapping, for example using a look-up table. Such a look-up table is based on tests which established the relationships between measured time delays of data packets and actual measured session times of a network service. Instead of a look-up table, other mappings may be carried out, for example using (linear) regressions. A linear regression may produce a formula having the format
T=a·Δt+b
where T is the session time to be predicted, a is the slope of the regression line, Δt is the measured differential time delay, and b is the offset of the regression line. Such a formula allows the session time T to be predicted once Δt has been measured.
Various look-up tables and/or regression formulae may be established, each for a different network service. The exemplary regression coefficients a and b mentioned above will typically have different values for different network services. In the present invention, a single (relative) time delay measurement allows the session time T to be determined for a plurality of services. It is noted that for some services the same measured differential time delay Δt can be used (for example the delay of the 256th data packet relative to the 1st data packet), while some services will require another differential time delay Δt (for example the delay of the 36th data packet relative to the 33rd data packet).
The interpolation and/or extrapolation used in preferred embodiments of the present invention is schematically illustrated in
Extrapolation may be carried out by determining a linear regression line R through the extrapolation interval I. As is well known, a linear regression line is the best “fit” through a number of points, minimising a distance criterion such as the least-squares criterion. The linear regression line R of the present example effectively produces estimated delay values E at t=8 and t=9, as schematically illustrated in
In addition to measuring and/or estimating (relative) delay times, it is further advantageous to measure the round trip delay of the network, in addition to the time (preferably relative) delays of selected data packets. To this end, the device 10 (as schematically illustrated in
The device 10, or its constituent parts, may be portable. This offers the advantage of being able to use the device in different networks and in different parts of a single network. Additionally, or alternatively, the device 10 may be controlled remotely. Remote control, for example via the network or via an infra-red remote control device, removes the need for an operator to manually operate the device.
The method of the present invention may be summarized as predicting the session time of a network by measuring the time delay of one or more selected data packets. Accordingly, the method of the present invention may comprise the following steps:
Although examples have been discussed which referred to downloads and download times, the present invention is not so limited and may also be used to predict the session time of uploads and browse sessions.
The present invention is based upon the insight that an end-to-end measurement of time delays of selected data packets provides a simple yet reliable prediction of overall session times in a communication network. The present invention benefits from the further insight that a lossy protocol, such as UDP, is very suitable for this type of measurements.
It is noted that any terms used in this document should not be construed so as to limit the scope of the present invention. In particular, the words “comprise(s)” and “comprising” are not meant to exclude any elements not specifically stated. Single (circuit) elements may be substituted with multiple (circuit) elements or with their equivalents.
It will be understood by those skilled in the art that the present invention is not limited to the embodiments illustrated above and that many modifications and additions may be made without departing from the scope of the invention as defined in the appending claims.
Number | Date | Country | Kind |
---|---|---|---|
050750290.8 | Jan 2005 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP05/14188 | 12/29/2005 | WO | 00 | 4/28/2008 |