Abstract

We present an analysis of queues with the dropping function and infinite buffer. In such queues, the arriving packet (job, customer, etc.) can be dropped with the probability which is a function of the queue size. Currently, the main application area of the dropping function is active queue management in routers, but it is applicable also in many other queueing systems. So far, queues with the dropping function have been analyzed with finite buffers only, which led to complicated, computationally demanding formulas. Assuming infinite buffers enabled us herein to obtain formulas in compact, easy to use forms. Moreover, a model with the infinite buffer can often be used as a good approximation of the real queue, in which the buffer is large. We start with noticing that the classic stability condition, , cannot be used for queues with the dropping function and infinite buffer. For this reason, we prove a few new, easy to use conditions, which guarantee system stability or instability. Then we prove several theorems on popular performance characteristics, including the queue size, busy period, loss ratio, output rate, and system response time. Additionally, we derive a special, very important characteristic called the burst ratio, which may influence severely the quality of real-time multimedia transmissions. All the theorems are illustrated with numerical examples, demonstrating in particular how the system stability may be tested and how the shape of the dropping function may affect different performance characteristics.

1. Introduction

The bufferbloat phenomenon, occurring in the contemporary Internet, consists in frequent overfilling of one or more buffers on the packet delivery path. It may cause significant performance deterioration of the network, especially in terms of the packet delivery time. This phenomenon has been diagnosed and described in several papers, (e.g., [13]), and the known remedy for it is an application of active queue management in Internet routers. This has been stated in the RFC 7567 document, from 2015, which begins with the following statement: “It presents a strong recommendation for testing, standardization, and widespread deployment of active queue management (AQM) in network devices to improve the performance of today’s Internet”.

Active queue management is based on preventive packet dropping, before the queue gets very long. Usually, an arriving packet is dropped with some probability, which is recomputed frequently using current or past system characteristics. There are several possible choices of characteristics that should be used to determine the dropping probability. One of the most popular choices is computing the dropping probability, , as a function of the queue size, . Function is called the dropping function.

In early propositions of the dropping-function-based AQMs, a fixed shape of was used in each dropping algorithm proposition. For instance, the linear dropping function was used in [4], the doubly linear one was used in [5], the exponential function was used in [6], the quadratic function was used in [7], the orthogonal polynomials were used in [8], and the cubic function was used in [9]. The performance of those algorithms was studied mainly using discrete-event simulations.

The analysis based on the queueing theory research on queues with the dropping function was initiated with approximate solutions given in [10, 11] and followed by exact results [1219], obtained for various traffic and service assumptions. In particular, in [10], an approximate analysis of the model with batch Poisson arrivals and linear dropping function was presented. In [11], an approximate solution of the model with general batch arrivals and exponential service was given. Exact solutions of models with single and batch Poisson arrivals and exponential services were given in [12]. The system with Poisson arrivals and general distribution of the service time was solved in [13] in the steady state, while in [14] in transient case. In [15], the model with multiple service stations was studied. In [16, 17], systems with autocorrelated arrivals were considered, with and without batch arrivals, respectively. Finally, [18, 19] deal with a generalization of the model to the case with continuous packet volumes, continuous buffer capacity, and an acceptance function (rather than dropping function), which enqueues an arriving packet with probability that depends on the remaining buffer capacity.

Now, it has to be stressed that each model in the aforementioned papers has the finite buffer. The finite-buffer assumption seems reasonable; indeed, buffers in real switches and routers are finite. Unfortunately, analytical solutions of queueing models with the dropping function and the finite buffer are rather complex (see, e.g., [17]) and computationally demanding (see, e.g., [20] for a discussion of this aspect). The reason of this is that the finite-buffer model does not enable simplification of some large, but finite sums are appearing in its solution. On the other hand, similar but infinite sums in the infinite-buffer model can be often simplify to compact formulas. This situation can be observed also in the classic queueing theory (i.e., without the dropping function); solutions of infinite-buffer models are simpler, than the solutions of their finite-buffer counterparts.

To the best of the authors knowledge, there are no published results on queueing systems with the dropping function and the infinite buffer. The purpose of this paper is to perform the analysis of such queueing systems.

There are at least two reasons to study analytically such queues. The first reason was already signalled above; we can expect results in a much simpler form, than in the infinite-buffer case. Indeed, as we will see in the paper, the obtained results are more compact and easy to use. The second reason is that, given the large buffer sizes in modern devices [1], the infinite-buffer queue constitutes often a good approximation of the real queue.

There is, however, an additional cost connected with analysis of infinite-buffer models. Namely, before computing the performance characteristics, the stability of the system has to be determined. (This is not needed in the case of the finite-buffer systems; they are always stable, as the queue size is limited and cannot grow to infinity.)

There is a simple, well-known condition sufficient and necessary for stability of classic queueing systems, i.e., the system load smaller than 1 (). It is a very simple matter to check; that this condition is not necessary for stability of queues with the dropping function. For instance, a system with and dropping function is obviously stable (the arrival stream is in fact thinned to 30 percent of its original intensity). But such examples are trivial only when the dropping function is constant. For nonconstant dropping functions, we have to develop and prove new conditions on system stability. This is done in Section 3, where several new stability tests are developed. They enable us to decide quickly whether, for instance, the system with and is stable, or not. (We encourage the reader to guess the stability of this system, before checking the correct answer in Section 3.)

The analysis of classic queues began with Markovian queues, i.e., with Poisson arrivals and exponential service times. We also use Markovian queues as a starting point in the analysis of queues with the dropping function and infinite buffer. It is possible that the presented methods and results can be then adjusted to non-Markovian queues, exactly as it happened in the classic theory. In all the recent studies, the dropping function does not have a fixed shape; any form of this function can be used. As shown in, e.g., [16], this allows us to control precisely several performance characteristics of interest. Therefore, the dropping function is not further specified in this paper; it can assume any form.

The rest of the paper is structured as follows. Section 2 describes the queueing model analyzed in the paper. In Section 3, theorems on the system stability are proven and accompanied with several examples of stability analysis. In Section 4, theorems on the distribution of the queue length and the average busy period are proven. In Section 5, the packet loss ratio and the output rate are derived. In Section 6, theorems on the distribution of the response time are proven in two cases: for accepted packets only and for all incoming packets. In Section 7, the burst ratio characteristic is recalled and computed for the system of interest. In Section 8, numerical examples of the mentioned characteristics are presented for a few different dropping functions. Finally, Section 9 concludes the paper.

2. Model Description

We deal with the queueing model with Poisson arrivals of intensity , exponential service time with average value , infinite waiting room (buffer), and FIFO (first in, first out) service discipline. In addition to those assumptions, we assume that every arriving packet can be dropped with probability , where is the queue size at time of this packet arrival. Of course, we have to assume that for every . Besides that, function is not further specified; it may assume any form.

The load of the system is defined traditionally as . By we denote the queue size at time , including the service position, if occupied. This convention will be used consequently throughout the paper; any time we say “queue size”, we mean the total number of packets in the system, including the one being serviced.

3. Stability of the System

We say that the queueing system is stable if there exist a proper limiting distribution of the queue size; i.e., for every , there exists the limit: andOtherwise, we say that the system is unstable. In the theory of Markov chains, such stable process of the queue size is called also ergodic.

As shown in many handbooks, classic queueing systems (i.e., without the dropping function) are stable if and only if . But, as argued in Section 1, we need different conditions for systems with the dropping function. We start with the basic theorem on stability.

Theorem 1. The system with dropping function and load is stable, if and only if

Proof. Assume that, at some time , the queue size is and that the service process is suspended. In this case, the time to the first accepted arrival has the exponential distribution with density:This is easy to understand, if we notice that, until the first packet is accepted, the arrival process is equivalent to the thinned Poisson process with intensity and thinning probability . It is known (see, e.g., [21]) that such thinned Poisson process is also Poisson, with rate . The first event in such thinned process happens after an exponentially distributed time with density , so it also must be the distribution of the first time of accepted arrival, if the service is suspended.
Now, assume that at some time , the queue size is , and the service is performed as usual. From the previous considerations, it follows that the queue size process either jumps down after an exponential service time with parameter or jumps up after an exponential service time with parameter , depending what happens first. If the queue size is at time , then the initial arrival parameter is , and only a jump up is possible after an exponential service time with this parameter. After the first jump, the queue size can be either or and the evolution continues in the same manner.
The presented description of the queue size process is equivalent to the constructive definition of the continuous-time Markov chain, with the following intensity matrix: whereIt is known (see, e.g., [22], page 65) that a continuous-time Markov chain with such structure fulfills (1) and (2) if and only if , whereApplying (6)-(10) to (11), we obtainTherefore, we can conclude that the queueing system is stable if and only if (3) is fulfilled, which completes the proof of Theorem 1.

Using directly condition (3) is usually inconvenient, as it is difficult to tell directly whether the series in (3) is convergent, or not. But we can use it to prove the following, very useful stability tests.

Theorem 2 (stability tests). If at least one of conditions (a)-(e) is fulfilled,(a)(b)(c)(d)(e)there exists dropping function such that for every , and the system with and the same is stable, then the system is stable. If at least one of conditions (f)-(j) is fulfilled, (f) for every and (g)(h)(i) for every and(j)there exists dropping function such that for every , and the system with and the same is unstable, then the system is unstable.

Proof. To show (a) and (f), assume first that for every . In this case we have so points (a) and (f) follow from (3) and the ratio test for the convergence of infinite series.
If for some , then the system is stable, no matter what the value of is. This is a direct consequence of (3), as in this case we have for every . Therefore, (a) is valid no matter if for all , or not.
Points (b) and (g) follow from (3) and the root test for the convergence of infinite series, due to the fact that Applying the relationthe Cauchy condensation test for the convergence of infinite series, and (3), we obtain points (c) and (h).
To obtain tests (d) and (i), we assume first that for every , then apply (3) and the Raabe-Duhamel’s test (see, e.g., [23], page 120), by computing the limit of the sequence:As already shown, if for some , then the system is stable. Therefore, (d) is valid no matter if for all , or not.
Point (e) follows directly from (3). Namely, if for every , then alsofor every . Therefore, if the latter series is convergent, the former also must be convergent. In exactly the same way we can prove (j), which completes the proof of Theorem 2.

Remark 3. Using the generalized version of the ratio test, we can replace symbol “” in tests (a) and (f) with “” and “”, respectively. Similarly, using the generalized version of the root test, we can replace symbol “” in tests (b) and (g) with “”.

3.1. Stability: Examples

In the following examples, it will be demonstrated how the proposed stability tests can be used. The dropping functions in these examples are not chosen to be practically useful; they are rather meant to show the difficulties in settling whether the system is stable, or not, and demonstrate the usefulness of different tests. More practical, monotonic dropping functions will be used in numerical examples in Section 8.(1)Let and . One may expect this system to be stable (the system with and without the dropping function is (barely) unstable, but a strong, slowly decreasing dropping function is additionally applied, with an infinite sum of dropping probabilities, ). Surprisingly, the system is still unstable, even after application of the dropping function. This follows from test (h). We have(2)Let and . This system is stable. Now the dropping function decreases slowly enough to compensate . To show that, we may use test (d). We have (3)Let and . This system is unstable, which follows from test (j), with . Namely, for every we have . On the other hand, the system with and constant dropping probability is equivalent to the classic system with and no dropping function, which is unstable.(4)Let and . This system is stable, which follows from test (a). We haveIt is easily seen that the system is in fact stable for any .(5)Let and . This system is unstable, which follows from test (f). We have It is easy to verify that the system is in fact unstable for any .(6)Let and . This system is stable, which follows from test (e). Namely, we have for every , and the system with and dropping function is stable, which can be shown in the same way, as in Example .(7)Let andThe system is stable, which follows from test (b). Obviously, the exact value of the exponent is unimportant. Namely, replacing with we obtain a stable system for any .(8)Let and . This system is unstable, which follows from test (i). We obtain

4. Queue Size and Busy Period

Theorem 4. If the system is stable, then its stationary distribution of the queue size has the form where is defined in (3).

Proof. It is known (see, e.g., [22], page 55) that if for a Markov chain conditions (1) and (2) are fulfilled, then its stationary distribution can be determined by the set of equations:and the solution of this set is unique. Taking into account (6)-(10), (33) can be rewritten asfor . From (35) we getFrom (37) and (36) with we obtainIt is easy to see that in the same way we can obtain arbitrary , , in the form , which completes the proof of the second part of (32).
As for the first part of (32), it can be proven using (34). We have which completes the proof of Theorem 4.

Having computed , , we can compute the average queue size in the steady state, :

Using , we can obtain the average length of the busy period of the system, .

Theorem 5. If the system is stable, then its average duration of the busy period is equal to

Proof. Formula (41) can be shown using two observations.
Firstly, from (10) we can conclude that the Markov chain, after entering state 0, stays in this state for an exponentially distributed time with parameter . Thus the average duration of the idle period has to be equal to Secondly, the ratio of the average duration of the busy period to the average duration of the idle period has to be the same, as the ratio of the nonempty queue probability, to the empty queue probability. Therefore, we haveThen we can obtain (41) from (43) and relation .

5. Loss Ratio and Output Rate

For a stable system, the loss ratio, , is defined as the long-run fraction of dropped packets. It is one of the most important characteristics of queues occurring in packet network nodes. It has been measured experimentally in TCP/IP networks (see, e.g., [2427]) and studied analytically in classic queueing models (see, e.g., [28]).

One way to compute the loss ratio in the queue with the dropping function is by using the stationary distribution of the queue size and the dropping function. From the PASTA property, we know that the queue size distribution observed at Poisson arrival times is the same as the queue size distribution observed at arbitrary times. Therefore, for a stable system we have

There is, however, a simpler way to compute the loss ratio. It is based on the following formula (see, e.g., [16]):which is valid for a general class of single-server queueing systems with losses. Using (45) and (32), we obtain immediately the following result.

Theorem 6. If the system is stable, then its loss ratio equals:Using (46), we can obtain also the average intensity of the output process (see, e.g., [29], page 199):Namely, if the system is stable, then the average rate of the output process is

6. Response Time

The system response time is defined as the total time a packet spends in the system. In systems with losses, the response time can be defined in two ways: for the accepted packets only (i.e., excluding the dropped packets) or for all the packets (i.e., including the dropped packets with the sojourn time 0). The former response time will be denoted by , while the latter by .

We start with derivation of the distribution of .

Theorem 7. If the system is stable, then the response time for an accepted packet has the following distribution:and the average valueor equivalently

Proof. Firstly, we need to determine the probability that an accepted packet finds packets already present in the queue. By definition, is the probability that the queue size is at arbitrary time. From PASTA property we know that is also the probability that the queue size is at a packet arrival epoch, but this concerns all packets, dropped and accepted. We are interested in fact in the conditional probability , where is the event that the queue size is upon a packet arrival, while is the event that an arriving packet is accepted. Obviously, we have , while probability that upon a packet arrival the queue size is and the packet is accepted is . Therefore, we have .
Secondly, the remaining service time of the packet being serviced upon arrival of a new packet is exponentially distributed with parameter . This follows from the memoryless property of the service time distribution.
Therefore, if just before the arrival of an accepted packet the queue size is , this newly accepted packet will spend full service cycles in the system, each exponentially distributed with parameter . Thus the response time of such packet has Erlang distribution function, with parameters and ; i.e.,Summarizing these considerations, we obtainwhich, taking into account (46), gives (49).
From (49) we can get (50). Namely, we haveTo show (51), we can use Little’s theorem. Applying this theorem yields Thus we havewhich completes the proof of the theorem.

We can calculate also the distribution of .

Theorem 8. If the system is stable, then the response time for an arbitrary packet, accepted or not, has the following distribution:and the following average value:or equivalently

Proof. When an arriving packet is dropped, its response time, , is 0. As for an accepted packet the response time is always nonzero, we conclude that the packet loss is the only case, when the response time is 0. Therefore, we haveReasoning in the similar way, as in the proof of the previous theorem, for we havewhich completes the proof of (57).
Finally, (58), (59) can be obtained from (50), (51), respectively, using the following relation: This completes the proof of the theorem.

7. Burst Ratio

As proposed in [30], the burst ratio, , is a characteristic of tendency of packet losses to cluster in long sequences (note that the term is used also in different meanings, but herein we use it strictly in the meaning of patent [30]).

The burst ratio is defined as the average length of the sequence of consecutive packet losses, divided by the average length of the sequence of consecutive losses in the Bernoulli process (i.e., when the losses are independent on each other). As the average length of the sequence of losses in the Bernoulli process equals , the burst ratio can be computed aswhere is the average length of the sequence of losses in the stream of interest.

The burst ratio has a simple interpretation. Namely, means that there is a tendency of losses to cluster together, indicates that the losses are more spread than could be expected in the random case, while is neutral.

The burst ratio in finite-buffer queueing systems without the dropping function has been studied recently in [31, 32]. Among other things, it was shown that the buffering itself is responsible for tendency of losses in networks to cluster in long sequences; in typical queueing scenarios the values of burst ratio were significantly greater than 1. Moreover, in [31] the system with single-arrival stream was considered, while in [32] the system with bursty traffic was modeled by the batch Poisson process. The bursty traffic in [32] resulted in far worse performance in terms of the average length of the sequence of consecutive packet losses. This is yet another characteristic that gets worse when the traffic is bursty. The general deterioration of queueing performance (throughput, delay, and blocking probability) with traffic burstiness has been known for a long time. For instance, in [33] the negative effects of traffic burstiness on the flow control mechanism were shown, using finite-buffer queueing system with the doubly stochastic Poisson traffic model (with the state-dependent arrival rate).

We deal herein with for two reasons. Firstly, has a deep impact on real-time multimedia transmissions; long sequences of losses cause drastic deterioration of such transmissions. For instance, in [34] the following impairment factor for the packetized voice transmission is proposed, as a direct function of and :where and are some parameters, unimportant for this considerations. Secondly, it is intuitively clear that an application of the dropping function should make smaller. This conjecture has been already confirmed by simulations in [35]. We confirm this further in Section 8, using the theorem proven below.

Theorem 9. If the system is stable, then the packet burst ratio is equal towhere

Proof. Let us mark all the packets arriving to the buffer by two letters: , if the packet is accepted, or , if the packet is dropped. For example, the stream of arriving packets may look like this: It will be useful for us to perceive this stream in such a way that every accepted packet finishes the previous sequence of dropped packets and opens a new one. In other words, between two consecutive acceptances we always have a sequence of losses, possibly of length 0. Using such convention, we can rewrite the example given above aswhere each denotes an accepted packet and the numbers between two accepted packets denote the numbers of dropped packets. Let denote the average of these numbers, i.e., the average length of sequence of dropped packets (including sequences of length 0). The computation of will constitute the most important part of the proof.
Because the system drops packets differently, depending on the queue size, to compute , we have to compute first the probability , that just after a packet acceptance, the queue size is . Using PASTA property and formula (46), we getwhich completes the proof of (66).
Now, assume that, at some time , the queue size is , and denote by the probability, that starting from time , exactly arriving packets will be dropped in a row, before the first acceptance. (Note that, due to Markovian structure of the queue size process, does not depend on the choice of .) We will show now that probabilities have the form given in formulas (68)-(71).
Firstly, starting from queue size 0, the sequence of losses of length 0 happens only if the first arriving packet gets accepted. As this happens with probability , we have proven (68). Again, starting from queue size 0, the sequence of losses of length happens only if arriving packets are dropped and the next one is accepted. This happens with probability , so we have proven (69).
The case with the initial queue size greater than 0 is more difficult. This is due to the fact that the queue size may decrease in the middle of the sequence of consecutive drops and the dropping probability is not constant, as in the previous paragraph.
To show (70), we start from . With probability , the first event in the system is a packet arrival. To assure , this packet has to be accepted, which happens with probability . On the other hand, with probability the first event in the system is a packet departure. In that case, the new queue size is 0, and the probability that the next packet will be accepted is . Therefore, we obtainFor , we can proceed in the same manner. With probability , the first event is an arrival; in this case, the packet has to be accepted. On the other hand, with probability , the first event is a departure; in that case, the new queue size is 1, and the probability that the next packet will be accepted is . Thus we haveProceeding by induction, we can complete the proof of (70).
We can use similar arguments, to show formula (71) for every . With probability , the first event is an arrival. In this case, the first packet has to be dropped. Therefore, the queue size does not change and next packets have to be dropped as well; this happens with probability . On the other hand, with probability the first event is a departure. In that case, the new queue size is , and the next packets have to be dropped, which happens with probability .
Having computed for every , we can compute , i.e., the average length of the sequence of dropped packets, starting from the queue size . It is given in (67).
Having computed , , and taking into account the fact that each accepted packet finishes one sequence of losses and begins a new one (as in (73)), we can compute ; namely,Now, in the definition of , we included sequences of losses of length 0. When computing the burst ratio, such sequences have to be excluded, and the remaining probability mass has to be scaled properly to 1. The probability that after a packet acceptance the sequence of losses is not empty is equal toTherefore, the average length of nonempty sequence of losses isFinally, combining (63) with (79) and (46), we arrive at (65), which completes the proof of the theorem.

8. Numerical Examples

In these examples, we use the critically loaded system, with and , and the following four dropping functions:which are depicted in Figure 1. As we can see, represents in fact the lack of the dropping function (i.e., the classic FIFO-drop-tail queueing); it does not drop any packet, when the queue size is below 100, and drops all packets, when the queue size reaches 100 (full buffer). Function also drops all packets, when the queue size reaches 100 packets, but the dropping probability is a nonzero, convex function on interval (0,100), which initially grows rather slowly, but then rapidly. Function does not drop any packet in interval (0,100), but then it grows rapidly as a concave function of . Finally, is a convex function in interval (0,100), smaller than , and concave in interval (100,), greater than . All functions - are monotonic and nondecreasing. Nondecreasing dropping functions are most popular in networking, because there is no practical reason to decrease the dropping probability when the queue size grows. There is no agreement on, however, which shape of the dropping function is the best. We will show below that this is due to the fact that there is no obvious way to define what “the best” means in the context of the dropping function.

Firstly, we can easily check, using test (a) of Theorem 2, that the system is stable for and each of the mentioned dropping functions. Therefore, we can compute all their performance characteristics, derived in the previous sections. The results are gathered in Table 1 and Figures 25. In the networking context, the most important characteristics are the first four in Table 1; the busy period is not easily translated into the network performance.

In Table 1 and Figures 25, we can compare the performance of “proper” dropping functions, -, with each other, as well as with the lack of the dropping function ( case).

Comparing results for functions - with each other, we see that each function has the best performance in some area. Namely, provides the shortest queue size and response time on average; gives an excellent loss ratio, while provides a superb burst ratio, very close to 1 (and not a bad queue size as well). At the same time, each of functions - has a weakness. In the case of and , it is a higher loss ratio, while in the case of , it is a higher queue size. Therefore, it is impossible to tell which one is the best in general. To do this, one should propose first and justify properly, a cost function, which would combine at least characteristics , , and in one formula.

Comparing the performance of functions - with the case of no proper dropping function, , we can say roughly that an application of the dropping function is generally profitable. For instance, comparing the results for with those for , we see that reduces the loss ratio by about 6% and reduces the burst ratio by about 37%, at the cost of the queue size increased by about 5%. Especially good results can be observed in the reduction of the burst ratio, for all considered functions -.

Finally, we checked the correctness of the proven theoretical results by performing simulations in Omnet++ environment, [36]. The results obtained for packets passing through the queueing system and dropping functions , are gathered in the third column of Tables 2 and 3, respectively. For comparison, the results obtained via theorems are given in the second column. We can observe a high agreement between the theoretical and simulation results in all cases.

9. Conclusions

We presented an analysis of queueing systems with the dropping function and infinite buffer. In particular, we gave several conditions to test the system stability and demonstrated them on examples. We derived all the most important performance characteristics: the queue size distribution, the busy period, the loss ratio, the system response time, and the burst ratio. We illustrated the theorems with numerical examples, which demonstrated how profitable an application of the dropping function can be and how the shape of the dropping function may affect different performance characteristics.

One of possible directions of future work was signalled in Section 8. Namely, the dropping function can be used to improve several performance characteristics of the queueing system, at the cost of some degradation of other characteristics. To fully exploit the potential of the dropping function, we need an overall performance cost function, combining all the most important performance characteristics in one formula. Such overall cost function could be then optimized using different forms of the dropping function.

Data Availability

The data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was conducted within Project 2017/25/B/ST6/00110, funded by National Science Centre, Poland.