1 Introduction

Quality of Service (QoS) in VoIP transmission is the most important factor for the end user who pays for the service. QoS-aware applications based on network mechanisms and decision processes improve the user perception of the human speech. In order to provide assumed QoS level, one has to deal with the network problems such as congestion, bottlenecks, failures, bit error rates, etc. Since the network traffic is usually self-similar [1, 2], the complexity of this issue increases because of the non-trivial relationship between the level of self-similarity and queueing systems measures like latency and packet loss rate. The advantage of using packet IP networks instead of circuit switching (PSTN) for VoIP transmission is that packet switching allows to utilize the same transmission medium to transport multiple VoIP calls as well as other data. The main benefits are cost reduction (communication infrastructure), portability (the same phone number everywhere, especially when traveling) and mobility of the service (voicemail, call logs, security). VoIP technology is deployed using either centralized or a distributed architecture, but the most commonly user architecture is based on client-server centralized model, where the server plays a role of PBX (Private Branch eXchange). The example tasks for PBX are phone device registering, establishing session, call redirection, IVR (Interactive Voice Response), etc. To provide a suitable quality of voice traffic that is sensitive to delayed or lost packets, especially when the level of self-similarity in the background traffic is high, one should apply additional mechanisms that satisfies QoS requirements [4].

Another issue concerned with the assuring of desired level of QoS is the resource reservation mechanism [5, 6]. RSVP (ReSerVation Protocol) delivers PATH and RESV parameters to each router through the network path. In our case, messages sent by the VoIP gateways include parameters of resource reservation in the routers for many simultaneously transmitted VoIP streams, saving bandwidth for packets of VoIP signaling protocols (SIP, H.323) that would be necessary for each RSVP session. In this article, a simple algorithm of determining resource reservation parameters for providing certain QoS level of aggregated VoIP streams, that takes into consideration the self-similar nature of network traffic, is presented and discussed.

2 Proposed Algorithm

The aim of the proposed algorithm is to provide a simple method for determining the required bandwidth as well as buffer size for aggregated VoIP streams shown in Fig. 1. The problem is further complicated by the fact, that self-similar traffic has an adverse effect on queueing performance. In order to find the simple relationship between the level of self-similarity and the mean delay or mean packet loss of the queueing system, a number of experiments was carried out. All random sequences used in simulation process consisted of 10000 samples that was utilized to drive the input process of the queueing system with one server and different buffer sizes. Because the all packets in VoIP streams have the same size, the service times was deterministic.

Fig. 1.
figure 1

Diagram of the VoIP network

Fig. 2.
figure 2

Simulation results for delay in M/D/1 system and analytical curves for M/D/1/K systems

Fig. 3.
figure 3

Packet loss in M/D/1/K systems

The results of the simulations are presented in Fig. 2. For the example traffic load (0.893) one can see that for different buffer sizes there is a big difference in delay. The highest delay is for infinite buffer sizes, because all packets find a space in the queue, the lowest delay is when there is only a place for one packet in the queue. A bigger difference can be observed for packet loss values (Fig. 3). The service times are deterministic due to the constant length of VoIP packets. As far as for the impact the self-similarity on these measures goes, it was determined by the shift of traffic load for the same, M/D/1/K queueing system:

$$\begin{aligned} \begin{aligned} S_D(H, K)&= d_0(K) \cdot H + d_1(K) \\ S_P(H, K)&= p_0(K) \cdot H + p_1(K), \end{aligned} \end{aligned}$$
(1)

where \(S_D\) and \(S_P\) are shift functions of delay and packet loss, respectively, H - Hurst exponent responsible for the level of self-similarity, K - buffer size. The following functions: \(d_0(K)\), \(d_1(K)\), \(p_0(K)\) and \(p_1(K)\) are the binomial functions that were obtained by minimizing the mean square error for delay and packet loss with respect to the shift in traffic load:

$$\begin{aligned} \begin{aligned} d_0(K)&= 10^{-3}\left( -0.9 K^2 + 35.7 K + 18.7\right) \\ d_1(K)&= 10^{-3}\left( 0.5 K^2 - 19.6 K - 4.7\right) \\ p_0(K)&= 10^{-3}\left( -1.84 K^2 + 61.1 K + 14.2\right) \\ p_1(K)&= 10^{-3}\left( 0.96 K^2 - 30.9 K - 23.1\right) . \end{aligned} \end{aligned}$$
(2)

The above equations make it possible to determine delay and packet loss values for the self-similar traffic based on the analytical dependencies. The theoretical delay and packet loss of the M/D/1/K can be calculated using the following formulas [7]:

$$\begin{aligned} D(\rho , K) = \frac{t_s}{\lambda } \sum _{k=0}^{K} k P(\rho , k, K) \end{aligned}$$
(3)
$$\begin{aligned} P_B(\rho , K) = 1 - \frac{\psi (\rho , K - 1)}{1 + \rho \psi (\rho , K - 1)}, \end{aligned}$$
(4)

where:

$$\begin{aligned} \begin{aligned} P(\rho , 0, K)&= \frac{1}{1 + \rho \psi (\rho , K - 1)} \quad \text {for} \quad k = 0 \\ P(\rho , k, K)&= \frac{\psi (\rho , k) - \psi (\rho , k - 1)}{1 + \rho \psi (\rho , K - 1)} \quad \text {for} \quad k = 1,\dots ,K-1 \\ P(\rho , K, K)&= P_B(\rho , K) \quad \text {for} \quad k = K \end{aligned} \end{aligned}$$
(5)
$$\begin{aligned} \psi (\rho , k) = \sum _{i=0}^{k} \frac{(-1)^i}{i!} (k-i)^i e^{(k-1)\rho } \rho ^i \end{aligned}$$
(6)
Fig. 4.
figure 4

The algorithm for determining \(K_{res}\) and \(B_{res}\)

The full algorithm of determining the bandwidth and buffer size parameters is presented in Fig. 4 and will be explained by means of an example. The input parameters for the algorithm are:

  • \(\lambda \): input traffic intensity [pkts/time unit]

  • \(P_L\): packet length [bytes]

  • \(t_s\): time unit - interval when packets are counted [s]

  • \(PS_{max}\): maximum allowed packet loss, probability [0...1]

  • \(D_{max}\): maximum delay [s]

  • \(K_{max}\): maximum buffer size [packets]

  • \(B_{max}\): maximum allowed bandwidth [kbits/s]

Regarding a certain level of QoS defined by the maximum delay and packet loss rate, one can determine reservation bandwidth and buffer size for the outgoing aggregated VoIP packet stream from \(LAN\text {-}A\) network towards router B (\(A \rightarrow B\)). The same should be done in the opposite direction. Because the algorithm is the same for both routers, only the case for the router B will be investigated. Network traffic parameters are measured at the intB1 interface. Then, the QoS parameters are determined: \(PS_{max}\) and \(D_{max}\), so that after taking into account the average level of packet loss and delay between routers A and B, do not exceed these maximum values for VoIP devices in \(LAN\text {-}A\) and \(LAN\text {-}B\) networks. After determining the input parameters, the shift values of the traffic load are calculated with respect to the theoretical delay and packet loss of the M/D/1/K queueing system (Eqs. 3 and 4). These shift values corresponds to the adverse impact of self-similarity in network traffic, where the Hurst exponent value belongs to the range \(H \in (0.5; 1)\). After many simulations, a simple relationship between H and shift was developed (Eq. 1). The next step is to calculate the maximum value of traffic load \(\rho _{B_{max}}\) resulting from the following condition:

$$\begin{aligned} P_B \left( \rho _{B_{max}} + S_P(H, K_{max}), K_{max} \right) = PS_{max}, \end{aligned}$$
(7)

where \(P_B(\rho , K)\) is the blocking probability in M/D/1/K system. Additionally, if the analytic delay value for \(\rho _{B_{max}}\) and \(K_{max}\) is less than the assumed maximum delay \(D_{max}\) then the reservation bandwidth \(B_{res}\) is determined and the reserved buffer size \(K_{res} = K_{max}\). The reservation is possible only when the \(B_{res}\) is less than \(B_{max}\), otherwise the reservation is rejected. The next condition is related to the delay, if the following inequality holds: \(D(\rho _{B_{max}}, K_{max}) > D_{max}\), where \(D(\rho , K)\) denotes theoretical delay, then the maximum value of traffic load is determined by decreasing the buffer size, having regard the Hurst exponent based shift. The \(D(\rho , K)\) delay is calculated based on the probability mass function of the queue length in M/D/1/K system.

The maximum value of traffic load, which corresponds to the minimum value of reserved bandwidth, can be determined for the smallest absolute difference of traffic loads calculated for delay and packet loss, i.e.:

$$\begin{aligned} \left| \rho _B(k) - \rho _D(k) \right| \rightarrow min., \quad k = 0, \dots , K_{max} - 2 \end{aligned}$$
(8)

where \(K = K_{max} - k - 1\) is the buffer size. The bandwidth \(B_{res}\) is related to the less value of traffic load:

$$\begin{aligned} B_{res} = \left\lceil {\frac{\lambda \cdot P_L \cdot 8}{\rho _{res} \cdot t_s}} \right\rceil , \end{aligned}$$
(9)
$$\begin{aligned} \rho _{res} = \text {min} \left( \rho _B(ind), \rho _D(ind)\right) , \end{aligned}$$
(10)

where \(\left\lceil x \right\rceil \) denotes the lowest integer greater or equal x and \(\rho _{res}\) is the reservation load corresponding to the smaller value obtained for delay and packet loss for the reservation buffer size \(K_{res} = K_{max} - ind - 1\). The index variable ind can be found applying Eq. 8. Example values for the aforementioned procedure of obtaining reservation load value is shown in Table 1. All results in this table were performed for the following input parameters: \(B_{in}=266.54\) kbps (aggregated VoIP traffic rate), \(H=0.8\). For the assumed QoS parameters: \(P_{max} = 1.5\%\), \(D_{max} = 30\)ms, using the proposed algorithm one can obtain the reservation buffer size and bandwidth: \(K_{res} = 8\) packets and \(B_{res} = 366\) kbps.

Table 1. Example values of traffic load and bandwidth for different buffer sizes

3 Conclusions

The most important issue for the user that uses VoIP technology is the quality of service, which depends mostly on delay and packet loss rate. To provide the good quality, the voice packets should not be dropped at all, or the drop rate should be very low (1–2%). Another quality factor is delay (latency), which should not exceed certain value. Unfortunately, the performance of queueing systems at each of the router interface is degraded due to the self-similarity phenomenon. Proposed algorithm takes into account this important factor and makes it possible to determine buffer size as well as bandwidth for aggregated VoIP stream and subsequently, to make a resource reservation in routers that are involved in the transmission. Furthermore, the proposed method is relatively simple, which makes it easy to implement by network designers as well as software developers of VoIP applications. There is one more factor that has not yet been incorporated into proposed algorithm - the varying delay called jitter, which could be the subject of the future research.