The present invention proposes a measurement-based connection admission control device for a packet data network, comprising at least one measurement module adapted to measure packet data traffic in said packet data network and to output corresponding measurement results; at least one estimation module adapted to perform an estimation to obtain an estimated maximal rate envelope of traffic based on said measurement results, and an admission control module adapted to admit a requested new connection in said packet data network based on the estimated maximal rate envelope of traffic.
|
0. 18. A method for controlling a measurement-based connection for a packet data network, the method comprising:
measuring packet data traffic in a packet data network on a per packet basis by counting data packets;
performing an estimation to obtain an estimated maximal rate envelope of traffic based on the measurement results;
admitting a requested new connection in the packet data network based on the estimated maximal rate envelope of traffic; and
prioritizing a reading operation in counting data packets and an updating operation of previously measured results.
0. 15. A method for admitting a requested new connection in a packet data network, the method comprising:
measuring packet data traffic in a packet data network on a per packet basis by counting data packets;
providing an indication that measurement results are ready;
copying measurement results from a commonly used memory area when the measurement results are indicated to be ready;
performing an estimation to obtain an estimated maximal rate envelope of traffic based on the measurement results; and
admitting a requested new connection in the packet data network based on the estimated maximal rate envelope of traffic.
6. A measurement-based connection admission control device for a packet data network, comprising
at least one measurement module to measure packet data traffic in said packet data network and to output corresponding measurement results, said measurement module comprises counting means which measure the packet data traffic on a per packet basis by counting data packets;
at least one estimation module to perform an estimation to obtain an estimated maximal rate envelope of traffic based on said measurement results, and
an admission control module to admit a requested new connection in said packet data network based on the estimated maximal rate envelope of traffic, wherein a reading operation from said counting means and an update operation of previously measured results is prioritized, so that stability of the device under processor overload situations is achieved.
1. A measurement-based connection admission control device for a packet data network, comprising
at least one measurement module to measure packet data traffic in said packet data network and to output corresponding measurement results, said measurement module comprises counting means which measure the packet data traffic on a per packet basis by counting data packets;
at least one estimation module to perform an estimation to obtain an estimated maximal rate envelope of traffic based on said measurement results, and
an admission control module to admit a requested new connection in said packet data network based on the estimated maximal rate envelope of traffic,
wherein said measurement result interface further comprises a measurement result ready indicator adapted to be set by said measurement module and to be read by said at least one estimation module, and wherein said at least one estimation module copies results indicated to be ready by said ready indicator from said a commonly used memory area for being processed by said estimation module.
2. A device according to
3. A device according to
7. A device according to
a respective one of said at least one measurement module is associated to a respective one of said at least one estimation module, and
each of said at least one of said associated measurement and estimation modules is spatially distributed to a corresponding switching unit of a switch device of said packet data network.
8. A device according to
9. A device according to
10. A device according to
11. A device according to
12. A device according to
13. A device according to
0. 16. The method according to claim 15, wherein the indication that measurement results are ready is set after a longest measurement interval has passed.
0. 17. The method according to claim 15, further comprising resetting a partition of the commonly used memory holding copied measurement results after the measurement results have been copied.
0. 19. The method according to claim 18, further comprising reporting a current state of connections and making an admission decision based on the current state.
0. 20. The method according to claim 18, copying measurement results from a commonly used memory area when the measurement results are indicated to be ready.
0. 21. The method according to claim 18, further comprising providing an indication that measurement results are ready.
0. 22. The method according to claim 21, wherein the indication that measurement results are ready is set after a longest measurement interval has passed.
0. 23. The method according to claim 18, further comprising copying measurement results from a commonly used memory area when the measurement results are indicated to be ready.
0. 24. The method according to claim 23, further comprising resetting a partition of the commonly used memory holding copied measurement results after the measurement results have been copied.
|
In practice, τ is larger than cell transmission time. Note that in the context of this MBAC T is not expressed in seconds but it is a pure integer. The length of the measurement window is obtained by multiplying T with the smallest time period τ:
Measurement window(in seconds)=Tτ
Clearly, the linear function I(k) makes the size of maximal rate envelope vector huge when either r is very small or T is very large.
Now we are ready to define the maximal rate envelope R, which is a set of peak rates over intervals Ik=kτ,k=1, . . . ,T inside measurement window Tn:
Maximal rate envelope can also be defined such that the intervals Ik are not restricted to be inside measurement window T but only begin inside T:
In this way, absolute maximal peak rates over longer intervals are found in contrast to original definition, where the longest interval is not slid at all, because it is equal to Tτ, length of measurement window. This may increase the accuracy a little.
The idea of describing the behavior of the traffic flow by its maximal rates over numerous intervals of different length is quite unique among previously known MBAC proposals.
Several benefits of this approach have been attributed thereto. First, a traffic flow's rate and its maximal rate as well are meaningful only if they are associated with an interval length. Second, by characterizing the aggregate traffic flow by its maximal rates instead of mean rates one describes extreme rates of the flow which are most likely to cause buffer overflow. Finally, the variation of maximal rate tends to be less than the variance of traffic flow itself making estimation based on maximal rates more stable. This is due to asymptotic decrease of the variance of maximal rate when the length of observation period is increased.
It is important to observe how the maximal rate envelope describes the behavior of traffic flow over different time scales. This is in contrast to most measurement methods sampling rate over just one interval. The characterization over different time scales is important, since even the same kind of traffic may have very different characteristics.
Although maximal rate envelope describes recent extreme behavior of the traffic, it is incorrect to assume the envelope will bound the future traffic as well. The estimation in this MBAC is based on the behavior of N past maximal rate envelopes.
The theoretical background of the estimation is now explained. Two steps are taken to estimate the future traffic. First, the next maximal rate envelope in future is estimated by determining estimates of mean and variance for each maximal rate Rk. Second, to estimate the bandwidth demand of the aggregated flow in respect of target CLR, distributions of each maximal rate Rk are approximated.
A method to get an estimate of future maximal rate envelope is to calculate empirical mean and variance of each envelope element Rk using N past measured sample values:
where Rk is the mean of the Rkn's in past N windows:
Although these two basic statistical parameters alone do not predict the future behavior of aggregate flow reliably, together with the knowledge of the nature of the random variables Rk they give means for estimating distributions of Rk 's.
As mentioned above, maximal rate envelope describes variations of aggregate flow at time scales up to Tτ. However, a single maximal rate envelope does not recognize current long time scale dynamics or trend—for example, whether there is currently more flow arrivals than flow departures or vice versa.
To estimate the effect of long time scale dynamics, a method based on conditional prediction technique has been presented by Qiu. Conditional prediction is used for predicting conditionally next value of mean rate, {circumflex over (m)}−1, and its variance based on the past measured values mN−1,mN−2, . . . ,m0. Moreover, a normalized envelope is defined as the peak-to-mean ratio rkn=Rkn/mn, where mn is the mean rate over measurement window Tn during which the peak rate Rkn is measured. The mean of normalized envelopes is defined as
and the variance as
Finally, the predicted mean {circumflex over (m)}−1 and the mean of normalized envelopes
where
is the predicted variance of {circumflex over (m)}−1. Now, the first term of
For an admission control algorithm, an estimate of the bandwidth demand of the aggregated flow for a given target CLR is needed. This is due to the fact that in statistical multiplexing, the bandwidth demand of the aggregated flow depends on the target CLR and delay constraint. The effect of buffers causing delay is taken into account in the admission control algorithm.
Because the empirical mean and variance of the maximal rate Rk inside interval of length Tτ are known, a natural way to approach the solution is to assume the distribution of the random variable is known as well, and then write the estimated limit for maximal rate {tilde over (R)}k in terms of the mean, standard deviation and confidence coefficient α:
{tilde over (R)}k=
If the (cumulative) distribution function (cdf) of Rk is Fk(•), then the probability that the random variable, maximal rate Rk, will not exceed the value of {tilde over (R)}k in the time interval Tτ can be written as
The motivation for writing bandwidth demand as {tilde over (R)}k=
Subsequently, the question is how to find a distribution approximating the cdf Fk(•) well enough? If the number of past samples N was huge and measured Rk'S were independent of each other, Gaussian distribution would be a natural and safe choice. In this case, however, N is not large enough. Further, the approximation of Gaussian cdf is not accurate with tail probabilities. Gaussian approximation has been used in the first version of the Qiu's MBAC method, anyway.
A good idea introduced by Knightly and Qiu is to take advantage of the extreme value theory. In fact, Rk is not a plain random variable of traffic rate but it is a maximum of several observed values. The extreme value theory in turn describes the behavior of extreme values like minimum and maximum values.
From the collection of distributions describing different asymptotic distributions of the probability P{max{X1, X2, . . . , Xn}≦x} when n→∞, Knightly and Qiu have chosen the Gumbel distribution to approximate the cdf of Rk. Naturally, the asymptotic distribution depends on the distribution of the underlying random variable whose cdf in the case of data traffic rate is generally not known. In Knightly's and Qiu's publication no comparison with data traffic has been made between candidate distributions, so the choice of the Gumbel distribution has not been justified thoroughly. On the other hand, in litertature the Gumbel distribution is proven to describe the asymptotic distribution of the maximum with most of the well-known distributions. Moreover, the simulation results of Knightly and Qiu give reason to believe the choice of the Gumbel distribution works.
The cdf of the Gumbel distribution is given by
Parameters λ and δ are related to mean
However, because it is possible to use a normalized distribution instead an empirical one, it is easier to calculate parameters for normalized distribution and use them from this point onward:
Now, using the normalized distribution, the probability that the random variable, maximal rate Rk, will not exceed
This is also the probability that no cell loss will occur, assuming buffers are able to accommodate bursts exceeding the average rate Rk during interval Ik. However, the complementary probability 1−Φ(α) does not tell directly an estimate for CLR, since it indicates only the probability that the actual maximal rate Rk will exceed the estimated limit {tilde over (R)}k, but not how large the exceeding, Rk−{tilde over (R)}k, is. Even if the expected exceeding E[(Rk−{tilde over (R)}k)+] was known, it would indicate only the average of the maximal exceeding in interval Tτ but not how many smaller exceedings there occur.
Given a queuing system able to serve at maximum rate of {tilde over (R)}k over interval Ik, then an lower bound of number of cells lost in the interval Ik is (Rk−{tilde over (R)}k)+·Ik. Now, if the maximal rate Rk>{tilde over (R)}k in the measurement window Tτ is known, we cannot determine the number of cells lost Lk, because there may exist other periods of length Ik over which the rate is between rates {tilde over (R)}k and Rk.
E[(Rk−{tilde over (R)}k)+]
holds over every interval Ik in the measurement window Tτ and the service queue is served at least at the rate {tilde over (R)}k=
E[Lk]≦E[(Rk−{tilde over (R)}k)+]·Tτ,
where
Because the CLR is defined as the number of lost cells per the number of cells sent, CLR can be derived from E[Lk] just by dividing it by
Although not addressed by Qiu and Knightly, one should recognize the following supposition: the inequality above is an upper bound for the CLR only in the case where the queuing system has enough buffer capacity to accommodate worst possible burst structure with average rate {tilde over (R)}k inside interval Ik. Both an imaginary typical case and the worst possible case of the buffer need are now considered. The worst case appears when sources behave extremely by sending two bursts of size RkIk consecutively, assuming the maximal rate Rk+1 over longer interval Ik+1 allows a burst of size 2·RkIk. Although the maximal rate Rk does not exceed the service rate C={tilde over (R)}k, a buffer of a size bmax is needed to avoid cell loss. The buffer size is dependent on the maximal incoming rate Cin
It is believed that this is a finding not to be forgotten in the context of admission control and delay estimation, because the maximal rate Rk does not bound the traffic flow or give any other information about it at time scales remarkably shorter than Ik.
After introducing the basis for the cell loss estimation used in the context of this (Qiu's) method, we are finally ready to reveal the admission control algorithm.
The algorithm is presented using the two theorems introduced and proved in Qiu and Knightly. Before presenting the theorems, the connection setup information supposed by the method is explained because the algorithm is not designed for any particular network model like ATM.
A new flow is supposed to be bounded by similar maximal rate envelope rk as the estimated aggregated flow. However, leaky bucket based traffic parameters of ATM are easily mapped to maximal rate envelope. For example, with a CBR connection, the PCR parameter bounds the rate over every interval Ik, so the envelope is r={PCR,PCR, . . . ,PCR}. For VBR sources, the maximal rate over intervals of length Ik is given by
In the admission control algorithm and/or method, the delay or cell loss requirements of a connection are not explicitly taken into account. Because the algorithm assumes a shared FIFO queue, maximal queue length (buffer size) and service rate determine absolute delay bound straightforwardly:
Delay bound=(buffer size)/(service rate).
In line with the shared queuing scenario, the queue under decision must have a predefined CLR target less than or equal to the CLR of any connection.
Admission Decision Theorem
Theorem 1: Consider a new flow bounded by rk, k=1, . . . , T requesting admission to a first-come-first-served server with capacity C, buffer size B, and a workload characterized by a maximal rate envelope with mean bounding rate
and
where
This theorem offers the actual admission decision. The first condition of the theorem checks that allocated buffer B is able to accommodate all bursts of length less or equal to IT−1 by estimating the buffer need over every interval Ik is less than B. The buffer need is approximated by first calculating the difference between estimated future maximal rate and service rate and then multiplying the difference by the length of the interval Ik in order to get the size of burst in bits.
The second condition of the theorem 1 is referred to as the stability condition in Qiu's and Knightly's aforementioned publication, because it requires that the average rate over IT is less than the link rate. As a consequence, the busy period of the queue server is less than IT meaning that queue will not be occupied longer than IT. Note that if Rk is defined according to the equation introduced in connection with
To bind the confidence level Φ(α) to the target CLR, another theorem is proposed:
Theorem 2: Consider an aggregate traffic flow that satisfies the schedulability condition of Theorem 1 and has mean bounding rate
For theorem 2, the upper bound of loss probability was actually derived earlier herein above in the context of estimation. To take the desired cell loss probability into account in the admission decision, the corresponding parameter α must be solved from the theorem 2 using the upper bound inequality.
Subsequently, some important issues about the feasibility of this MBAC are highlighted. We assess here the impact of the theoretical problems more than practical details because the latter ones are considered in later chapters. The estimation of future behavior of maximal rates relies strongly on the assumption that maximal rates of data traffic obey the Gumbel distribution. Naturally some experimental evidence about the distribution of Rk's with different kind of traffic would be welcome to assure that the estimation is able to give correct results even with very small target cell loss probabilities.
A serious theoretical approximation we are concerned about is the correctness of cell loss estimation with small buffer B corresponding delays much shorter than the shortest measurement interval I1. The buffer test in admission decision ensures that the difference between estimated maximal rate Rk and server rate C is so small that buffer B does not overflow over any interval Ik. However, as mentioned before, some buffers are needed unless the maximal traffic rate stays constant over whole Ik. The problem is emphasized over shortest interval I1, because there are not shorter intervals to reveal higher maximal rates inside I1. To predict delays which are, for example, one tenth of the shortest interval I1 or less, the traffic should be very smooth over whole I1 to avoid excess cell loss.
Actually, according to worst-case calculation B=bmax the smallest delay which can be guaranteed if maximal rate R1 does not exceed service rate C is
However, one must remember that the worst-case traffic scenario mentioned earlier before is very unlikely, as is the best case scenario assumed by the algorithm with very short delays, so in practice the truth lies probably somewhere between these two extremes. In addition, the upper bound of the cell loss estimate is based on the worst-case assumption that the maximal rate Rk holds over every Ik inside measurement window IT. It would not be a surprise if this assumption were able to partly compensate the optimistic assumption because the maximal rate over shorter interval is usually higher and it is unlikely that the maximal rate over shortest interval would hold over IT.
Selection of the shortest and the longest measurement intervals, I1 and IT, is an important theoretical and practical issue. From a practical point of view, both a very large T and a very short I1 increase computational complexity. From a theoretical point of view, the importance of a short I1 was already discussed, so a trade-off between complexity and accuracy exists.
The length of the measurement window IT is a complicated question with this MBAC. The maximal rates are searched inside IT but their mean and variance are calculated using measurements of N past windows. Therefore there are actually two measurement windows of lengths IT and N*IT.
Fortunately, the algorithm should be robust against the choice of IT. According to Knightly and Qiu, this is due to opposite behavior of the two admission tests, buffer occupancy test and stability test in function of IT. With a short IT, the stability test behaves conservatively because the variation of mean rates among N windows of length IT is large and therefore the variance of mean
As the choice of I1 is determined by limitations of implementation and as the choice of IT could probably be adjusted automatically, the only parameter without clear guidelines is N, the number of past windows to take into account in mean and variation calculations. Recalling Tse's stability analysis of measurements, it is easy to imagine that with too large an N the CAC could not react fast enough to changes in flow dynamics. Probably the use of conditional prediction makes the algorithm more robust against the choice of N. It is suggested to use N=8 or N=10. Without conditional prediction, the algorithm will probably allow too many connections in the transient state where initially an empty system is rapidly filling with connection, because the mean rate remains low, unless the variation becomes so large that it can compensate a too low mean rate.
None of Qiu's and/or Qiu's and Knightly's publications does directly suggest how to handle very frequent connection requests. Before a new estimated rate envelope is ready, new connections accepted meanwhile are not taken into account in measured variables—this leads to overload.
The solution to this resides in the following: advertised rate envelopes of flows admitted after the last estimation are added to the requested flow's advertised envelope before using it in admission decision. This makes the algorithm a bit conservative under high load and also relieves the real-time requirement of the estimate updates. As a whole, this MBAC seems to be the most convincing one of those introduced in this work because it characterizes traffic over many time scales and because it should be quite robust against the choice of measurement time scale in contrast to previous methods.
Nevertheless, with the Qiu's method described up to here, the problems mentioned earlier in using it under practical packet data networks such as ATM networks still exist.
Note that in previous publications dealing with CAC and/or MBAC methods, algorithms are introduced for a simplified environment, like for one FIFO queue.
However, when the implementation of CAC and/or MBAC in an ATM switch is considered, a number of new problems are encountered, which are solved by the present invention.
To keep the discussion and explanation of the present invention at a practical level, we have chosen Qiu's maximal rate MBAC algorithm as a basis and this Qiu's MBAC method is adapted to ATM as an example of a packet switched network.
Recall what kind of multiplexing environment and what information is required for the employment of the maximal rate algorithm:
1. A shared packet or cell queue with buffering capacity B (in bits) which is serviced using first-in-first-out (FIFO) scheduling discipline,
2. Target cell loss ratio Ploss
3. Minimum service rate S
4. Measured maximal rate envelope, R={R1,R2, . . . ,Rk}, k=1,2, . . . , T, of the recent workload of the queue,
5. Maximal rate envelope r={r1,r2, . . . ,rk}, k=1,2, . . . , T bounding the connection requested.
Several conclusions can be drawn from these assumptions. Firstly, the algorithm in its basic form requires the switching system to consist of shared queues that are served with FIFO scheduling and cell arrivals of each queue to be counted by hardware. Secondly, the algorithm does not accept direct delay constraints for the queues. Instead, the buffer size and the minimum service rate of the queue determine the delay constraint:
Third, due to FIFO queuing the delay constraint of the queue must be chosen according to the connection having the tightest delay constraint. Consequently, in order to increase the utilization by extensive buffering of connections with looser delay constraints one must have several queues with different delay bounds.
An ATM network is supposed to be able to provide particular services with such a high QoS level that the Internet is not imagined to provide even far in the future. This is partly due to historical reasons: ATM was chosen to be an implementation technique of the B-ISDN, which in turn was designed to be the successor of the narrowband ISDN network providing digital service of very high quality.
From CAC's viewpoint, the real-time services of the ATM are the most demanding. ITU-T has defined the end-to-end cell delay variation (CDV) objective of QoS class 1 (QoS class 1 defines QoS objectives for Deterministic Bit Rate and Statistical Bit Rate 1 ATM transfer capabilities which correspond to CBR and VBR services of ATM forum) to be 3 ms with exceeding probability of 10−8 and the end-to-end CLR to be 10−7, or 10−8 if possible. Because one connection may traverse even dozens of switches, the delay variation due to queuing of real-time connections must be of the order of hundreds microseconds.
For the maximal rate MBAC (i.e. Qiu's MBAC) very tight delay constraints seem to be a problem. As mentioned before, the cell loss estimation is based on the assumption that the switch has some buffers to accommodate variations inside the measurement interval I1. While the variations inside intervals of Ik, k=2, . . . , T are mostly characterized by maximal rates over shorter intervals, the variations inside the shortest intervals I1 are not characterized at all. For this reason, when the buffer size B is very small in comparison to the number of cells arriving during I1, the probability that the buffer is not able to accommodate variations, increases.
To predict delays that are very short in comparison to the shortest measurement interval, a simple modification of the maximal rate algorithm (Qiu' MBAC) is presented. The improved algorithm is based on two components: traffic contract based peak rate of the queue and the estimated maximal rate envelope of the original algorithm, Rk=
Because we are concentrating on packet networks such as ATM networks now, we can assume that for any input queue in the switch the deterministic traffic constraint function is defined by the PCR and CDVT parameters of the connections flowing through the queue. Further, if the shaping effect of the upstream queues inside the switch is known, that is, the change of cell delay variation, then our model is suitable for any constant rate FIFO queue in an ATM switch.
A combination of deterministic traffic constraint and estimated maximal rate envelope gives a traffic constraint function (no shown) of a shape that can be described as follows: the rectangular portions as a function of time intervals denote the estimated maximal rate envelope limiting the maximal number of arrivals over periods Ik. Inside interval I1 the maximum arrival rate is limited by PCR, the total peak rate of connections. A burst at the beginning, BPCR, is due to delay variations and it is determined by the leaky bucket (PCRi, CDVTi) of each connection i according to equation BPCR=ΣiPCRi·CDVTi. With this function, the worst-case delays are obtained when assuming that
i) Total peak rate PCR is larger than service rate S
ii) Estimated maximal rate Rk over any interval Ik is less than service rate S.
With these assumptions we can easily calculate the delays occurring with the function:
Delay d0 is determined by queue service rate S and BPCR:
Delay d1 is determined by BPCR, PCR, S and estimated maximal arrivals R1I1:
Delays d2 . . . dT are calculated identically:
For the cases other than assumed above we may conclude as follows:
a) S>PCR: some delay occurs only at the beginning due to BPCR and therefore the only delay to check against delay constraint is d0.
b) If Ri>S for some i=1, . . . , T: This kind of situation suggests there may be long busy periods and therefore small delay constraint is hard to preserve unless the traffic is totally smooth at short time scales. Therefore it is reasonable to exclude this kind of situation by requiring that S>Ri for all i.
c) Ri>PCR for some i=1, . . . , T: This odd situation might occur due to variations of maximal rates or at least it might be difficult to show that the situation is impossible. However, it does not matter whether the situation is possible or not because the condition S>Ri ensures that the estimate never exceeds service rate, and therefore the condition S>PCR holds and according to a) only d0 is checked.
From the calculations and conclusions above we can draw the admission control algorithm where D denotes the maximum delay allowed:
If new total PCR is less than service rate S then
if d0<D then
accept connection
else
else
accept connection
else
deny connection
Remember that the buffer size required for the queue under decision is B=D·S.
One must understand that the (modified) algorithm presented above is only the first step towards an improved MBAC controlling very small delays. The original (Qiu's) algorithm is able to give only an estimate of the maximal number of arrivals over shortest interval I1 and because the target CLR is already taken into account in estimation, we must ensure that no remarkable cell loss occurs due to traffic fluctuations at time scales shorter than I1. Because measurements do not directly provide any information about these short-range fluctuations, we chose a deterministic way to approximate short delays. To get more efficient CAC for real-time traffic one must estimate the effect of short-range fluctuations either with statistical means or with another measurement methodology.
Despite the worst-case approach, our improved algorithm is able to provide better utilization than the peak rate allocation S≧ΣiPCRi if the sources are not sending at their peak rates.
However, judging the maximum ratio of PCR/S allowed as a function of ratio R1/S, where R1 is the measurement-based estimate of maximum rate over R1, the algorithm does not perform very well. For example, with 1 ms delay constraint and completely smooth traffic with rate R1/S=0,5 the algorithm achieves utilization of only 0,5*1,25=0,625 although the utilization close to one would be possible due to smooth traffic. However, it is still 25 percent better than the peak rate allocation based only on traffic contracts.
In consequence, according to the proposed modification as conceived by the present inventor, a still further modified algorithm for static priority queues is proposed, starting from the maximal rate MBAC algorithm, i.e. Qiu's MABC method.
Particularly, delay calculations of priority queues are more complicated than those of FIFO queues. The delay of the highest priority queue, usually denoted as a priority 1, is the only exception since its delay is same as with FIFO queue. The service rate of lower priority queues is always determined by the workload of higher priority queues.
A fairly complete worst-case delay analysis of priority queues is presented in literature by Liebeherr et. al (mentioned before). Advantageously, the performance analysis of static priority queues as presented in literature by Liebeherr et. al (mentioned before) is used in a suitable modification conceived by the present inventor in connection with the proposed method according to the present invention.
Liebeherr et. al. give deterministic delay bounds of static priority queues both for concave and non-concave traffic constraint functions. For concave traffic constraints, the maximum delay of the queue of priority p is
Here Ajp(t) denotes the traffic constraint function of the connection j of priority p indicating the time required to serve cells arrived by the time t; sminp denotes the minimum service time of a packet of priority p and smaxr denotes the maximum service time of a packet of priority r. However, the service times of ATM cells are equal and negligible, so as the inventor found out in the course of his research, the equation may be simplified just by leaving out (neglecting) all three s terms.
Suppose we are given the constraints of aggregated traffic, Ap, instead of individual constraints Ajp such that
AP=ΣjAjp
and
Further, due to negligible cell transmission times we may approximate A1,p−1(t+τ)−A1,p−1(t+τ). As a result, the maximum delay is
To interpret the equation above intuitively, consider the time t as the arrival time of a tagged cell of priority p. Then, the inner minimization indicates the first moment τ when the scheduler has had enough free cell slots between higher priority cells to serve all of the cells of priority p arrived by the time t, Ap(t), including the tagged cell. See
S·(t+Dmaxp)≧Ap(t)+A1,p−1(t+Dmaxp).
This condition follows directly from the delay equation.
From a practical point of view, it is important that both the delay equation (illustrated in
Actually, the use of the equations in practice is much easier with piece-wise linear constraints because the maximum delay may occur only with certain values of t. To prove this claim, suppose the case of
S·(t+τ)=Ap(t)+A1,p−1(t+τ).
Then, consider how the value of τ changes if t is either increased or decreased:
i) When t is increased, r increases until t+τ=3k, because the function Ap grows faster around t than the difference S−A1,p−1 does around t+τ, that is,
Note that the difference S−A1,p−1 is used to serve priority p cells arrived by the time t.
ii) After t+r has passed the value of 3k, r starts to decrease, because now the difference S−A1,p−1 grows faster than the function Ap does around t, that is,
We can conclude that the increase or decrease rate of r stays constant until either t or t+τ reaches next integer multiple of k because the rate of change of τ depends only on the derivative of Ap around t and the derivative of difference S−A1,p−1 around t+τ. Due to piecewise linearity, these derivatives stay constant until the next multiple of k is reached. As a result, the global maximum of τ may occur only either when t=n·k or t+τ=n·k, where n=1,2 . . . .
From the viewpoint of our delay violation test, this result is remarkable. If the delay bound Dmaxp is a multiple of k, the violation test needs to be performed only with values t=n·k. To prove that, we first consider the maximum delay such that r>Dmaxp. Then the maximum is found either when tm=n·k or tm+τ=n·k. In the former case the condition
S·(t+Dmaxp)<Ap(t)+A1,p−1(t+Dmaxp)
holds at least when t=tm. In the latter case, when t is increased to the next multiple of k, so that t>tm, the endpoint of busy period, t+τ, must advance unless the service rate S is infinite at the moment tm+τ and therefore our condition check reveals the violation.
Let us sum up our priority queue algorithm:
Consider a static priority queue system with total service rate of S and with P queues having each an individual delay bound Dmaxp defined, where Dmaxp=i·k,i∈N. In addition, traffic constraint Ap(t) of the current workload of each queue is given and these constraints are linear between values t=n·k, n=1,2, . . . ,T. Also similar traffic constraints of total current workload of queues from priority 1 to p, A1,p−1, are given, where p=1,2, . . . ,P.
Now, consider a new connection of priority q with an arrival constraint a(t) requesting admission, where a(t) is also linear between values t=n·k.
The admission is granted, if both the following condition holds for all n=1,2, . . . ,T
(nk+Dmaxq)·S≧Aq(nk)+a(nk)+A1,q−1(nk+Dmaxq)
and the following condition holds
for all p=q+1, . . . , P and n=1,2, . . . ,T
(nk+Dmaxp)·S≧Ap(nk)+A1,p−1(nk+Dmaxp)+a(nk+Dmaxp).
Usually there are only a few different priorities, so the test is not much more complicated than the buffer test in Qiu's MBAC.
Since we have a simple admission control test for concave, piece-wise linear traffic functions, the next question is: how do we actually get such traffic constraint functions? Recall that a piecewise linearization of estimated maximal rate envelope Rk=
Concave approximation has some performance drawbacks. Firstly, especially with quasi-periodic traffic, like MPEG coded video, the concave constraint degrades performance. Secondly, every new estimated maximal rate envelope must be made concave before any CAC decision.
To avoid such performance problems of concave approximation, one could use the delay equation with non-concave traffic constraints, presented by Liebeherr et al., to develop another method.
However, maximum delay with non-concave constraints is more complicated and at least admission decisions as conceived by the present inventor and derived from the delay equation of Lieberherr et. al. resulted in a complicated decision with a complexity of O(n2) where n is the number of elements in maximal rate envelope.
Because the estimate update interval is typically of the order of seconds, under high load one estimate is likely to be used for several CAC/MBAC decisions and therefore concave approximation with simple O(n) admission check should be a more stable choice. Finally, note that computational complexity of the simple admission check equals that of the original algorithm's admission check which also has O(n) running time.
Another performance related issue is the estimation of the traffic constraint of aggregated traffic of priorities from 1 to p−1. The simplest solution is to sum the individual constraints:
However, this compromises utilization, since each constraint is estimated in respect of cell loss and it is very unlikely that all queues behave extremely at the same time. Better utilization is achieved by measuring and estimating maximal rates of aggregated traffic of priority queues from 1 to p−1 for all p=2, . . . ,P−1, where P is the lowest priority queue having a delay bound defined.
Finally, note that one may use any other CAC method for real-time queues and apply the MBAC method only for non-real-time queue(s). Consider a case where CBR connections are directed to the highest and rt-VBR connections to the second highest priority queue. The third priority queue is used for nrt-VBR connections, and the fourth for UBR traffic. The MBAC is used only for CAC of nrt-VBR connections to achieve high link utilization. In this case, the only constraints needed are A1,2 and A3.
So far we have concentrated only on the allocation of physical resources, like the bandwidth of an output link, the service rate of a scheduler or the buffer space of an interface unit. Although these physical resources ultimately determine the quality of service experienced by cross-connected connections, there are also logical resources in an ATM switch to be controlled by CAC according to another aspect of the present invention. In ATM, VC connections (VCC) are carried logically inside VP connections (VPC) by giving a VP identifier to VC connections. Every VPC has a traffic contract similar to a contract of VCC, including service category and traffic description. An ATM network node may perform either VP, VC or both VP and VC cross connections.
In VP cross connection, cells are forwarded to the proper output link according to VP identifiers. The VPC can be seen as a bunch of VCCs, but the switch is not aware of the number or the nature of those VCCs. It only needs to know the traffic descriptor of the VPC to make CAC decision and reserve resources. In
In VC cross connection, VPCs end up and they are broken down into VCCs. Individual VCCs need to change into other VPCs due to possibly different destinations links. In this case, the switch sets up cross connections separately for each VCC, meaning that each VCC is going to travel under a new VPC and the cells are forwarded to the proper output links depending of their new VPC. In VC cross connection, the switch needs to know the traffic descriptor of each VCC, because different VCCs consume different resources, like the bandwidth of different links.
Note that in VC cross connection VPCs are terminated in the switch, like VPC 1, 3, 4 and 5 in
However, even VPC end points have service category and traffic descriptor defining PCR, SCR etc., because the next switch may perform only VP cross connection and it has to know the traffic descriptor to determine sufficiency of physical resources. As a consequence, the aggregated flow of the VCCs switched into a VPC must not violate the traffic description of the VPC.
Clearly, there is kind of a dilemma: Should we reserve resources immediately for a new VPC end point, meaning that the CAC checks whether there is resources or not for the new VPC, or should we just accept the new VPC end point and not reserve any resources until a new VCC request arrives for it? And if we want to reserve some resources for a terminated VPC, how should it be done?
First of all, one needs to understand that the bandwidth of the outgoing link is actually the sole possible resource to be reserved for a VPC end point. This stems from the fact that the buffer need depends on the nature of VCCs to be switched inside the VPC and the fact that VCCs may traverse through different queues and internal interfaces inside a switch depending on the incoming link and the VPC.
Suppose we have somehow allocated bandwidth for terminated VPCs. Then, if a new VCC does not cause VPC traffic descriptor violation, it will be accepted with a great probability. Only the internal bottlenecks of the switch can restrict the access. One drawback of advance allocation is the overall utilization of the switch may stay at a very low level since the request for creation of new VPC end points or increase of the allocation for an old one could be rejected although there would be a plenty of real bandwidth for new traffic on the outgoing link. Note that advance resource allocation for VPCs must be done with some preventive CAC method that may provide either statistical or deterministic QoS guarantee.
In the case where no advance allocation for VPC end points have been made, it is possible to achieve high utilization of the switch. However, a drawback with this option is that some VCCs may be rejected although the target VPC would be half-empty, resulting low utilization in the next VP cross connecting switch unless that switch is using MBAC. On the other hand, it may be even dangerous to apply MBAC in a switch performing mostly VPC cross connections, because the connection holding times with VPCs may be very long and so the switch recovers very slowly from an overload situation caused by sudden increase in traffic of ongoing VPCs.
Neither no-allocation nor pre-allocation strategy provides optimal network utilization. For a network having a lot of long VP connections traversing through numerous switches, the high utilization of VPCs is the key to high overall network utilization, supposing the backbone switches use a preventive, parameter-based VPC admission control. In such an environment, some hybrid of the two alternatives in the border switches, like an automatic renegotiation of traffic parameters of VPCs according to changes of load or a partial advance allocation of resources for terminated VPCs could provide the best result.
A first step and still adequate solution is to perform the following admission check for new CBR-type VPC end points:
and the following test for new VBR-type end points:
An overallocation of VBR-type end points provides better overall utilization of the switch and because it is very unlikely that all VPC end points are concurrently full, individual VPC end points rarely lose VC connections because of the shortage of physical resources.
Regardless of VPC admission control method and policy, a VC cross connecting switch must ensure that every terminated VPC conforms to its traffic contract, meaning that the traffic parameters of a VPC are not exceeded due to acceptance of a new VC connection. The conformance can be checked by using estimated maximal rate envelope, as illustrated in
Describing the admission test formally, the following condition must hold for all k=1,2, . . . ,T:
where Rk=
where
Although these VPC conformance tests provide high utilization, they may not be applicable in the ATM network performing strict policing. This is due to the inaccuracy of the approximated traffic constraint giving a peak rate that is actually a maximal mean rate over I1. Therefore momentary peak rates may violate the leaky bucket GCRA(PCR, CDVT) used by policing, although the estimated traffic constraint of
If a very strict conformance to traffic contract is required, then the short delay version of the MBAC introduced earlier or some preventive CAC method must be used, but in most cases it will result in lower utilization. On the other hand, one may question the need for absolutely strict conformance in the case where switches use some preventive CAC method for VPC admission control. Such CAC methods are based on traffic parameters and usually allocate resources assuming that sources send maximal traffic allowed by the traffic contract. In reality, it is unlikely that the every VPC end point on the same link is full of traffic and has non-conforming bursts concurrently. Further, our conformance test restricts the duration of such burst to be less than I1.
Having described the theoretical basis for the method(s) to be implemented, now, according to the present invention, a real implementation of Qiu's MBAC and/or its modification(s) presented before is described.
Throughout the years, one very important design criterion has arisen, both in the area of communications and computer science: scalability. Whatever application area is chosen, it is impossible to know in advance, how large the system will grow.
What problems we meet if we increase the size of an ATM switch, if only CAC is considered? Firstly, the frequency of new connection requests grows. Secondly, when the number of physical and logical links is increased, the amount of measurements, as well as the effort needed to perform all estimations and memory needed to remember both the past data and estimations. If the measurement data is processed in a centralized unit, the amount of measurement data to transfer to and save in the central unit increases. However, the time to make more frequently arriving admission decision must not be affected but remain same. Clearly, when the system size grows, at some point one or more problems listed cannot be solved any more within only one processing unit.
Decentralization of any larger method/device requires dividing the device into independent modules. Especially in real-time systems, the interfaces between modules should be designed to minimize message exchange between modules that are running in separate processing units. Without careful interface design, waiting times increase and the messaging capacity may become as a bottleneck.
According to the present invention, a device operated to carry out an MBAC method, actually should be decentralized in the following modules of
estimation functionality module (because estimation is usually quite complex operation, and requires a considerable amount of calculations);
measurement functionality module (because a large switch may have a huge amount of interfaces and even more separate measurement points all over the switch).
Further, measurement functionality presumably needs the support of switching hardware in cell (an ATM cell constituting a data packet in a packet data network) counting. In order to access counters or counting means at least part of the measurement module must be provided locally at each independent switching unit of a switch device or interface unit.
If a so-called MBAC device is divided into three independent modules of admission decision, estimation and measurements, then we have some chances to get on with a large switching system.
Measurement processes can be distributed to every switching unit of a switch device. Estimation processes need to collaborate intimately with measurement processes, so they follow measurement processes everywhere. That is, to each of a plurality of measurement modules there is associated a corresponding one of a plurality of estimation modules. Note that in a minimum configuration, at least one of each modules is provided for.
An admission decision modules controls the device, and asks the estimation processes to report current state of links in order to make admission decisions. If admission decision operation is simple enough, there may not be a need for distributing admission decision functionality at all.
A respective measurement/estimation module may be provided for a respective switch unit, i.e. may be provide per virtual channel VC connection and/or per virtual path VP connection and/or per any internal transport interface in an ATM switch, for example (cf.
In the following section, an implementation of an MBAC (here Qiu's MBAC) is described according to these principles and the solution according to the present invention is introduced module by module.
Measurement Module (
The measurement of maximal rate envelope is a much more demanding operation than just measuring an average rate over a single interval. Either hardware or software becomes complicated.
Hardware Support
Let us consider what kind of measurement services switching hardware may provide for measuring the maximal rate envelope of (Qiu's) MBAC. Basically, two kinds of solutions are quite obvious:
a) Very specific hardware measures maximal rate envelope on its own. Measurement intervals should be configurable, for example, by using a vector of size T including Ik 's, k=1 . . . T.
b) Hardware offers only cell counters. Counters are read either from some register visible in memory address space or the counting hardware writes results directly to a configurable memory area using DMA (Direct Memory Access).
Remember that in both cases the hardware needs to offer means for setting up arrival measurements of any interface or queue and departure measurements of any VPC end point. In the case b), interrupts are likely to be needed to wake up (trigger) the measurement whenever the shortest measurement interval, denoted by τ, has expired and the counter is therefore ready for reading.
After a short reasoning it should be quite clear that the option a) is far too complicated and too bound to a single algorithm to be implemented in hardware. The option b) is much easier to implement and it provides a generic measurement facility to any measurement-based algorithm, so this option is chosen to be the base of our implementation.
Requirements for Measurements
First of all, we define some general level performance requirements:
a) Ongoing measurement must not be disturbed by configuration operations.
b) Hardware counters must be read very soon after interrupt to get right values.
The measurement module provides its services to estimation and so the estimation operations define some requirements for measurement module. These requirements stem from the fact that measurement parameters have no definitely ideal values.
c) The length of measurement intervals Ik cannot be constant. Instead, estimation and admission control must have freedom to choose an appropriate set of intervals Ik and announce them to measurement module for example in a vector I.
d) The number of measurement intervals, T, is not constant.
e) The shortest interval I1 is not constant. For example, it may be a multiple of τ which is the shortest possible measurement interval.
f) The vector I, and the parameters r and I1 might be changed at any time because of measurement optimization performed by admission decision.
Implementation
In order to fulfill performance requirement a) we further divided the measurement module into two separate processes:
1. measurement process and
2. measurement administration process.
In this way, measurement process can be given some real-time priority provided by underlying operating system, which guarantees non-interrupted and immediate reading of counters. Administration process can handle creations, modifications and deletions of measurements with lower priority, because a delay of few milliseconds is not crucial for those operations. To fulfill the requirement b) all the counter values are always written into a temporary variable of each measurement before calculations of maximal rates.
The whole architecture of measurement module is illustrated in
Configuration interface: Creations, modifications and deletions of measurements are requested through configuration interface by using message queues. Message queues were chosen because they provide simple interprocess communication without synchronizing problems. (Note that the configuration interface of the measurement module (at least partly) corresponds to measurement configuration interface of the estimation module to be described later.)
Measurement interface: The client of measurement module, estimation process, needs maximal rate envelopes frequently and therefore a considerable amount of data must be exchanged between estimation and measurement processes. With message queues a lot of processing would be needed due to double copying. In addition, message buffers could fill up causing either blocking of the measurement process or loss of measurement data. To avoid these problems, the estimation process is allowed to read directly measurement structures from a shared memory segment. After updating all maximal rate envelopes, the pointers of ready measurement structures are put into a fast FIFO queue (“list for ready measurements” in
Hardware interface: Hardware interface is actually as clear as possible. Measurement process attaches shared memory segment of hardware counters to its address space in order to read counters. Each measurement request includes the address of hardware counter to read. (Note that a respective counter is allocated to a respective switch unit to be measured, as mentioned before.)
In addition to shared memory segment for measurement, there is another shared memory segment for past counter values shared by administration and measurement processes. From this segment a cyclic counter buffer of a fixed size of (Imax
A functionality called update_msr (not shown) is responsible for calculating maximal rate envelopes. It uses the more accurate definition of maximal rate envelope where only the ends of sliding intervals are restricted to reside inside the measurement window. This method is equivalent to the one represented in the equation on page 22 herein above where interval must only begin inside measurement window.
The problem in implementation of this feature is the fact that under heavy load, it may take a while before estimation process has read a ready measurement and therefore the recent rates, rk's, expire. The solution was a ready flag in measurement structure: the update of rk's is not interrupted when the maximal rate envelope becomes ready—only the comparison whether rk>Rk and the update of Rk's is stalled until the estimation process clears ready flag.
The shared measurement structures provide a fast way to provide access for several processes to the same structures. However, with the use of shared memory a synchronization problem arises and one usually ends up using semaphores (as a kind of arbiters) as presented in literature to guarantee mutual exclusion.
In connection with the solution according to the present invention, two semaphores are needed. A semaphore called msr_sem is used among administration and measurement process. Whenever measurement process starts updating measurement structures, it locks msr_sem. Before releasing of the semaphore, measurement process checks the new list and link new measurements to its update job list.
Correspondingly, whenever the administration process needs to modify or delete measurement structures, or add a new one to the new list, it locks the semaphore. Modify and remove flags are used in measurement structure to indicate ongoing operations so that the administration process needs to hold the semaphore locked only for very short time to avoid delays of the measurement process. Note that the counter value reading cannot be delayed by the semaphore, because the counters are read by a functionality called read counters (not shown) before locking the msr_sem.
Performance requirements are fulfilled, but how about the requirements from c) to f)? Individual set of interval lengths for every measurement is possible, because the measurement request messages bring an interval vector I to the administration process which then copies the vector to the measurement structure for the measurement process. The number of measurement intervals, T, is transmitted and stored as well. However, arbitrary T is not possible, because data structure definitions need a maximum value of T, called max_T. The value of shortest interval need not to be τ, because the unit of interval lengths represented in vector I is I1·τ, where I1 is the first element of I.
Finally, all the variables mentioned here can be modified with a request message, so the requirements are fulfilled.
As a whole, with the measurement module the priorisation of counter read operation is achieved and frequent transfers of large amount of data between processes are enabled without overloading the entire device.
Estimation Module (
The job of estimation module is to offer an estimated maximal rate envelope by calculating means and deviations of rates Rk in the past N envelopes and also calculate the confidence level α that reflects the targeted cell loss ratio in the estimate.
Requirements
For estimation module, following performance requirements were defined:
a) Together with the measurement module, estimation module must provide a stable estimation entity which performance does not collapse even when there is a shortage of processing power.
b) Estimation process must avoid unnecessary estimate calculations.
c) Estimation module must be distributable together with measurement module.
d) The estimation module provides estimation services to its client who is either admission control or some other functionality. The clients have their requirements:
d) Configuration and estimation result requests must be communicated through the same simple interface.
e) Client must have a freedom to choose individual estimation parameters for each estimate.
f) A unique ID given by the client identifies each estimate.
Implementation
The estimation module was implemented as a single process for simplicity, although same kind of two process implementation as with measurement module would have been possible.
Main characteristics of the architecture of estimation module are presented in
The interfaces towards measurement module (measurement configuration and measurement result interfaces) are naturally bound to the implementation of measurement module. In order to fulfill requirements from c) to f) the interface towards admission control (estimation interface for CAC) was implemented with message queues, as the message queues is practically the only simple way to effectively distribute processes. Both configuration and estimate result requests and acknowledgments are carried through the same two queues with two different kinds of messages: est_msg for configuration and est_result_msg for result requests.
The configuration request (in estimation setup, cf. also
Estimation results are requested like configuration requests with an est_msg message. In this case, the only meaningful field is the ID field. The estimation process replies with an est_result_request message including the number of intervals (a field T), the estimated mean rate (a field R_T), the estimated maximal rate envelope (a vector R), the deviations of maximal rates (a vector D), the confidence level (a field alpha) and the sequence number of the estimate (a field seqnum).
On the basis of the sequence number, admission control module is able to determine whether the estimate has been updated since last request or not. Actually the sequence number indicates the sequence number of last measurement used for estimation and also the estimation process uses it to determine whether it needs to calculate a new estimate for the result request or not, so this feature fulfills the requirement b).
The stability requirement a) was actually taken into account already in the design of measurement module. The measurement process puts the pointers of ready measurements into a fast FIFO queue (ready queue) residing in separate shared memory segment and sends then a signal to the estimation process. The signal handler of estimation process then gets the pointers of ready measurement one at a time from the queue and copies the maximal rate envelope into the correct estimate structure. The desired stable behavior is achieved by marking each measurement structure ready for measurements after its maximal rate envelope is copied. Under very heavy load the estimation process does not have enough time to process ready measurements as frequently as they become ready, so the ready queue becomes longer. However, the longer the ready queue is, the fewer measurements are active and the lower is the frequency at which the ready queue gets new items.
In practice, the queue length tend to oscillate a little, but its still better than a total collapse of performance. With this solution, the only consequence of the system overload is the use of a bit older measurements in estimation. We argue this delay is not significant, because the estimates always have quite old elements. For example, if IT=1 s and N=6, then the oldest elements are at least 6 s old.
The estimate request handling is implemented so that by default, the estimate process is waiting any request message to arrive and whenever a message arrives, it is processed immediately and after that the process sleep again to wait a message. However, when a signal arrives indicating ready measurements, the current operation is interrupted regardless the process is just waiting for requests or processing some request. To prevent the ready measurement processing to monopolize process's execution time when the system is under heavy load, a threshold value of processed measurements is defined. When the threshold value is achieved, the process checks for pending requests. If pending requests exists, new signals and therefore ready measurements are ignored until the first request is processed.
Estimate Calculation
Before coding function for estimate calculation one must resolve the confidence level a from equation (4.3.24), because admission control has no use with maximal rate envelopes and deviations without a which takes the effect of CLR into account. The a can be solved from the upper bound of the equation mentioned in connection with Theorem 2 on page 32 herein above as follows:
A functionality called “calculate” (not shown) calculates a according to the above equation re solved for α. In addition, the estimated maximal rate envelope is a simple mean of past N envelopes and the deviation envelope is also a simple deviation of past N maximal rate envelopes, so the conditional prediction was not used.
As a whole, the implementation of estimation module provides a stable and fare handling of estimation configuration and result requests and clear interface towards admission control.
In order to still further clarify the structural composition and functional behavior of the interface between an estimation module and a measurement module, reference is made to
1. Values from all hardware counters are read into latest count variables at intervals of I1 when the hardware sends interrupt to the measurement module.
2. The latest counter values are copied into the vectors including the past counter values over a period of longest measurement interval IT, at least. In addition, the current rates over intervals I1 . . . IT are updated to the current rate vectors. These operations are executed even if the maximal rate envelope is ready and waiting in the ready queue.
3. The maximal rate envelopes (can be called vectors as well) that are not ready are updated after operation 2. If the current rate(s) is (are) greater than the maximal rate(s) the maximal rate(s) is (are) set to current rate.
4. After a period of IT, the maximal rate envelope becomes ready, a pointer of it is put into the ready queue, and the update of the envelope is interrupted.
5. Estimation module gets pointers of ready envelopes from the ready queue and copies the maximal rates to its structures.
6. The maximal rates of the envelope are zeroed and the envelope is marked as not ready, so the measurement module starts updating the maximal rates again.
7. When the AC module requests an estimate, the estimation module checks whether it has got new maximal rate envelopes since last calculation of the estimate or not. In former case, new estimate is calculated, and in latter case, the old estimate is provided.
Admission Decision Module
For admission control module the following kind of architecture is provided.
CAC algorithms
Herein above, it was illustrated how much hardware architecture has effect on the method. We continue our previous assumptions and imagine that the hardware (of the switch device in the packet network) has the priority queue implementation. Therefore admission control for highest priority real-time connections could be based on the modified real-time version of the method (as conceived by the present inventor) and for non-real-time connections the priority queue version could be applied. For VPC end point admission control the sum admission tests of the equations indicated on page 51 and for VPC conformance tests the maximal rate envelope-based conformance test of the equations indicated on page 52, are applied, both introduced in this application.
VP cross connection admission control can be made with same methods as VC cross connection admission control, assuming that a remarkable portion of connections are VCCs with shorter holding times.
All of the three variations of the MBAC we have developed in this work—the real-time version, the priority queue version and the VPC conformance check version—need the improvement for frequent connection request rate we suggested in connection with the introduction of Qiu's method. For example, if IT=1 s, new estimated maximal rate envelopes are available only at 1-second intervals.
The improved operation of each method is quite simple: when the first connection request arrives, according to the method a request for a new estimate from estimation module is issued and the sequence number of estimate is saved. If the connection is accepted, according to the methods, the advertised maximal rate envelope is saved (see first equation on page 30) of the connection into a sum envelope.
If the sequence number of next estimate requested at the time of next connection request is still same, the sum envelope is added to the estimated envelope and the new connection is again added to sum envelope after admission. The sum envelope is zeroed always when a fresh estimate with a new sequence number is received. In this way the algorithms should be conservative enough during a transition state when an empty system is filling up rapidly.
According to the presented architecture the only connection type requiring per connection estimation instance is VPC end point. Therefore we believe that estimation and measurement configurations are not a performance bottleneck.
Data Structures
The real-time method has to save VC connection specific information, PCR at least. Also the PCR, SCR and MBS parameters of every VPC end point have to be saved, because both VPC end point admission control algorithm and VPC conformance check needs these parameters. According to our current knowledge the priority queue method does not need to save per connection information. As a whole, the described measurement-based CAC architecture needs smaller data structures than preventive CAC algorithms which typically save all traffic parameters of every connection.
In the literature a remarkable data structure entity of any CAC architecture is usually forgotten: the switch topology data structure. In order to make admission decisions the CAC must know the switch architecture very well. In our case, the admission control module is responsible for setting up necessary estimation instances. For each estimate instance the admission control have to remember the estimation parameters it has sent to estimation module.
Estimation Parameter Choices
The effect of parameters choices was generally discussed in connection with the introduction of Qiu's MBAC method, so we concentrate here only some details. One detail is the function I(k) and another is the adjustment of the measurement window length IT.
The original version of Qui's MBAC uses linear increase of interval length. If the IT=1 s and I1=10 ms, then the number of intervals is T=100 which may be intolerable large, because the processing requirements of measurement and estimation increase in proposition to T. Further, maximal rates over 990 ms and 1000 ms are not likely to differ a lot. Therefore it is reasonable to use exponential increase of Ik.
There is one problem with the exponential increase of Ik, anyway. Recall that the priority queue algorithm requires that the increase is linear, because the admission tests of the equations given on top of page 46 does not work with non-linear I. The solution is to use a linear increase of Ik at first, say from 10 ms to 100 ms, if the I1=10 ms, and increase the I exponentially with larger values.
Because the maximal rate decrease near monotonically, we can require that for longer intervals the sum of maximal rate estimate of higher priorities and the current priority do not exceed service rate, without noticeable decrease in utilization.
Conceivable Alternative Implementations:
The above discussed concept was that the implementation is divided into three independent modules, which provides a clear and sound solution with appropriate interfaces.
Optionally, due to the estimation and measurement modules being tightly coupled and the use of shared memory makes the interface between modules not too easy, and both modules alone has no use for other purposes, an alternative solution could reside in a combined module that could be implemented as a single process.
Counter read and measurement calculation operations would have a priority when implemented by using signal handler as already proposed above, because the signal handler function is always finished before continuing execution of a stack just before the signal arrived.
This provides a kind of one way mutual exclusion—therefore modify, remove and ready flags could be set on and of without semaphores. Also message interface between estimation and measurement could be saved. Every time the measurement update function would finish, the execution of ongoing estimation or configuration request would continue. With this solution, the number of operations like message passing, semaphore operations and process switches could be decreased. As a result, the computational complexity would also decrease.
However, controlling overload situation might be more difficult than before, because the control system should guarantee the execution of measurement signal handler function without preemption of the process. On the other hand, the process must be preempted at some time in order to execute other processes. Therefore the preemption of the process should happen after the signal handler function has finished its job. To do this, a real-time operating system with ability to provide minimum uninterrupted execution time and ability to preempt the process after that is needed.
As has been described herein before, the present invention proposes a measurement-based connection admission control device for a packet data network, comprising at least one measurement module adapted to measure packet data traffic in said packet data network and to output corresponding measurement results; at least one estimation module adapted to perform an estimation to obtain an estimated maximal rate envelope of traffic based on said measurement results, and an admission control module adapted to admit a requested new connection in said packet data network based on the estimated maximal rate envelope of traffic.
It should be understood that the above description and accompanying figures are merely intended to illustrate the present invention by way of example only. The preferred embodiments of the present invention may thus vary within the scope of the attached claims.
Patent | Priority | Assignee | Title |
8732719, | Apr 05 2007 | PayPal, Inc | Method and system for managing resource connections |
Patent | Priority | Assignee | Title |
5119367, | Oct 28 1988 | Oki Electric Industry Co., Ltd. | Method and a node circuit for routing bursty data |
5317570, | Jul 16 1990 | Kabushiki Kaisha Toshiba | System and method for learning transmission band of multiplex packet |
5583857, | Mar 17 1994 | Fujitsu Limited | Connection admission control method and system in a network for a bandwidth allocation based on the average cell rate |
5805577, | Jul 19 1996 | Erica: explicit rate indication for congestion avoidance in ATM networks | |
5896371, | Jul 27 1990 | Kabushiki Kaisha Toshiba | Broadband switching networks |
6314085, | Mar 10 1997 | Nokia Telecommunications Oy | Connection admission control in broadband network |
6456624, | Oct 29 1997 | Extreme Networks, Inc | Network address resolve blocker |
6597662, | Mar 24 1998 | RPX CLEARINGHOUSE LLC | Apparatus and method for optimizing max-min fair rate control in ABR sessions |
6754177, | Apr 26 1998 | Level 3 Communications, LLC | Method and system for burst congestion control in an ATM network |
6874032, | Jun 26 1998 | Level 3 Communications, LLC | Method and system for burst congestion control in an internet protocol network |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 18 1999 | Intellectual Ventures I LLC | (assignment on the face of the patent) | / | |||
Mar 22 2007 | Nokia Corporation | SPYDER NAVIGATIONS L L C | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025618 | /0154 | |
Jul 18 2011 | SPYDER NAVIGATIONS L L C | Intellectual Ventures I LLC | MERGER SEE DOCUMENT FOR DETAILS | 026637 | /0611 | |
Nov 26 2019 | Intellectual Ventures I LLC | INTELLECTUAL VENTURES ASSETS 161 LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 051945 | /0001 | |
Dec 06 2019 | INTELLECTUAL VENTURES ASSETS 161 LLC | HANGER SOLUTIONS, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052159 | /0509 |
Date | Maintenance Fee Events |
May 28 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
May 09 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 11 2015 | 4 years fee payment window open |
Mar 11 2016 | 6 months grace period start (w surcharge) |
Sep 11 2016 | patent expiry (for year 4) |
Sep 11 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 11 2019 | 8 years fee payment window open |
Mar 11 2020 | 6 months grace period start (w surcharge) |
Sep 11 2020 | patent expiry (for year 8) |
Sep 11 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 11 2023 | 12 years fee payment window open |
Mar 11 2024 | 6 months grace period start (w surcharge) |
Sep 11 2024 | patent expiry (for year 12) |
Sep 11 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |