1. Technical Field
The present invention relates to the emulating of the two-way information flow of a real application. Particularly, but not necessarily, the invention relates to the emulating of the information flow of a VoIP (Voice over Internet Protocol) call for determining the Quality of Service (QoS) at a VoIP application level.
2. Discussion of Related Art
Traditionally, when calling by telephone speech has been transferred in circuit-switched networks, such as in a Public Switched Telephone Network (PSTN). When calling by telephone in a digital circuit-switched network, a permanent connection of 64 kbps (kilo bits per second) is set up for each call. The standard band of the connection, 64 kbps, is due to the bit rate required in the sampling of analog speech when using 8-bit Pulse Code Modulation (PCM) at a sampling frequency of 8 kHz, which procedure enables the transmitting of analog speech having a frequency of 300 to 3400 Hz in a digital format.
The digital telephone network described above that is presently in common use is, however, very ineffective and thus consumes a lot of network resources. In the telephone network, the band for a connection is also reserved when the connection is not used actively, i.e. neither party of the connection is transferring information, such as speech or data, along the connection. The kind of use of a static band consumes a lot of data transmission resources, and as a result of this additional capacity must be invested in as the number of users increases. The type of ineffectiveness described above causes problems especially in calls between continents, where increasing the data transmission capacity is not as easy as in other cases. The problem is also partly manifest in call prices; expensive investments in capacity must be covered by high user charges.
To compensate and supplement calls that use a static band reservation in a telephone network, so-called VoIP calls, i.e. IP calls have been started to be marketed. Typically, the information transmitted in an IP call, such as speech, voice and/or video, is first converted from an analog format into a digital format, then compressed and converted into IP packets that are conveyed over an IP-based packet-switched network, such as the Internet network, sharing the band with other IP traffic. In IP calls, a band can be used in a considerably more effective way than in calls that reserve a static band, which is also shown in call prices. In addition, also new more effective coding schemes can be used, such as e.g. G.723.1 coding.
The time of arrival of transmitted IP packets to a receiver is not known before the packets arrive. And because IP routes the information flow packet by packet the time of propagation of packets from a sender to a receiver may vary greatly and the order of the packets may change. Furthermore, packets may be lost, for example, as a result of the overflows of incoming data that take place in the buffers of routers. By using a reliable protocol over IP, for example, packet losses can be identified automatically at a protocol level and the lost packets can be retransmitted. One such protocol is TCP (Transmission Control Protocol).
However, the retransmissions in question would cause additional varying delay in the transmission of information over the IP network. And since several applications used in repeating speech and/or picture transferred in real time do not function flawlessly if, for example, too much delay occurs in the transmission of information, TCP is not well suited for use as a protocol to be used over IP in IP calls. Therefore, UDP (User Datagram protocol), where there are no retransmissions, is normally used in IP calls. Instead, in a call setup, the use of TCP is recommendable so that the call setup would take place as reliably as possible.
For example, just for the reason that the applications used in repeating realtime information transmitted over an IP network have high realtime requirements in order to function flawlessly, at least some kind of arrangement is needed to guarantee the desired Quality of Service (QoS) for the IP call in question. IP as such does not provide QoS support in a form that it would provide a guaranteed Quality of Service. However, several different techniques exist with which a guaranteed QoS can be provided in an IP network. These are, among others, DiffServ (Differentiated Services) and IntServ (Integrated Services) techniques. Irrespective of which QoS technique is used, it is important that the QoS can be measured in order to find out whether it is really possible to provide a guaranteed QoS for each IP call.
Usually, several QoS parameters are required to describe a QoS. Thus, it is appropriate to measure values for a set of different QoS parameters, which in connection with VoIP are, for example, the following: end-to-end delay, end-to-end delay jitter, packet losses and packet loss correlation. Of these, end-to-end delay means the time that it takes for an IP packet to pass through an IP network from a sender to a receiver. End-to-end delay can also be measured as a round trip measurement, whereupon the time that it takes for an IP packet to pass from a sender to a receiver and back is measured. End-to-end jitter can be denoted, for example, as a standard deviation or variance. Packet losses tell how many of the transmitted IP packets fail to be received on the receiving side, i.e. how many IP packets are lost on the way. As for the system performance, it is highly significant whether IP packets disappear or are lost one here and another there (no packet loss correlation) or whether several successive IP packets are lost (high packet loss correlation).
FIG. 1 shows a principle of one QoS measurement according to prior art. There a stream of IP packets is transmitted from a first host 101 through an IP network 103 to a second host. Before transmitting, the first host 101 adds a first information to each IP packet to be transmitted. The stream of IP packets transmitted by the first host 101 is received at the second host 102, which adds a second information to the IP packets and returns them through the IP network 103 back to the first host 101, which adds a third information to the received IP packets.
FIG. 2 illustrates the structure of an IP packet, the use of which is well known in the QoS measurement arrangement illustrated in FIG. 1. An IP packet 200 comprises various types of fields for storing the information added by hosts to the IP packet. For example, in fields 201 and 202, the first host 101 stores just before transmitting the IP packet as said first information a time stamp data TS1 and a packet sequence number data SEQ1 respectively. In fields 203 and 204, the second host 102 stores as said second information on receiving the IP packet a time stamp data TS2 and a packet sequence number data SEQ2 respectively. After receiving the IP packet, the second host 102 returns the IP packet immediately back to the first host 101 which stores, in a field 205, as said third information a time stamp data TS3 on receiving the IP packet. Now, of the QoS parameters, e.g. end-to-end delay drt can be determined by equationdrt=TS3−TS1.
In addition to the fields 201-205, the IP packet 200 in FIG. 2 comprises a dummy length 206. The dummy length 206 is a data portion of a specific length with which the length of the IP packet can be adapted to the size of the packets of a realistic codec, such as G.711. If the IP packets 200 are yet transmitted as such a typically uniform stream of IP packets as is formed by a realistic codec, a real IP call and its QoS measurements can be emulated by the arrangement presented above.
However, the arrangement according to prior art described above has its problems. Let us assume that a stream of IP packets 200 is sent from the first host 101 through the IP network 103 to the second host 102 and that the transmitting of the IP packets from the first host to the second takes place uniformly. In an ideal case, the time of transmission of all the IP packets (end-to-end delay) from the first host to the second is the same, whereupon the IP packets sent from the first host would also arrive at the second host uniformly. However, in reality, the situation is typically such that, for example, due to a varying IP network load IP packets do not arrive at the second host uniformly but burstily. By this is meant that the stream of IP packets arriving at the second host comprises densities (clusters of IP packets) and spacings (there is an exceptionally long pause between IP packets) instead of a steady stream.
When the second host now returns each IP packet it has received back to the first host, the stream of returned IP packets is already on leaving the second host bursty and not uniform as it would be in the case of a realistic IP call. In this case, the QoS experienced by the bursty stream of IP packets returning from the second host to the first host is normally worse than the QoS experienced by the stream of IP packets transmitted uniformly from the first host to the second host. This asymmetry is not characteristic of a real IP call and it distorts the measuring of the values of QoS parameters. Furthermore, if IP packets sent by the first host are lost on their way to the second host, the stream of IP packets returned from the second host to the first has less IP packets than in the original stream of IP packets sent from the first host to the second. In this case, additional spacings are automatically formed in the stream of IP packets returned from the second host to the first, which again increases asymmetry.
Thus, the measurement arrangement according to the prior art presented above is not suited in the best possible way for the QoS measurements of an IP call.