Not Applicable.
Not Applicable.
The present embodiments relate to computer networks and are more particularly directed to a network with routers or switches configured to schedule traffic according to a dynamic fair mechanism in response to quality of service and an index dispersion of counts.
As the number of users, traffic volume, and packet speed continue to grow on the global Internet and other networks, an essential need has arisen to provide efficient scheduling mechanisms for packet switched networks. More recently, scheduling has been implicated as needing to consider that the Internet is also evolving towards an advanced architecture that seeks to guarantee the quality of service (“QoS”) for real-time applications. QoS dictates the treatment given to packets as they are routed in a network. One type of QoS framework seeks to provide hard specific network performance guarantees to applications such as bandwidth/delay reservations for an imminent or future data flow. Such QoS is usually characterized in terms of ability to guarantee to an application-specified peak and average bandwidth, delay, jitter, and packet loss. Another type is to use Class-of-Service (“CoS”) such as Differentiated Services (“Diff-Serv”) to represent the less ambitious approach of giving preferential treatment to certain kinds of packets, but without making any performance guarantees.
Given the preceding, scheduling mechanisms for packet traffic in switches and routers play a sometimes critical role in providing the QoS guarantees required by many applications such as video-on-demand and multimedia video or teleconferencing. Typical prior art implementations in a router include a number of queues, where packets in each queue belong to a predefined “flow,” meaning those packets share one or more predefined attributes. With this structure, classical fair-share scheduling assigns a share of link bandwidth to each queue according to a defined weight for each queue in a fair manner for better QoS implementation. The scheduler chooses in what order service requests can access resources, dictates how to multiplex packets from different connections, and decides which packets to transmit. Various goals are often presented in connection with the scheduling philosophy. For example, a good service discipline should allow the network to treat users differently in accordance with their QoS requirements. As another example, preferably the service discipline can protect packets of well-behaving guaranteed source clients from unconstrained best effort traffic, that is, these sources are given certain bandwidth, yet this flexibility should not compromise the fairness of the scheme to such an extent such that a few classes of users should not be able to degrade service in other classes to the extent that performance guarantees are violated. To allocate bandwidth in a way that QoS of all active flows are satisfied as much as possible, the excess bandwidth of a flow or a class of flows is not only reused by that flow or class, but in some instances it is allocated to other flows or classes as well. The fair-share allocation intends that the flows having little QoS requirements such as Best-Effort traffic can capture the least bandwidth. The fairness for the excess bandwidth allocation can be weighted so that the flows in the higher classes can obtain more bandwidth.
In general, the prior art scheduling mechanisms fall into two categories, namely, static weight allocation and dynamic weight allocation. Many static schedulers in fast packet routers and switches attempt to provide fair service across a range of traffic classes by employing derivatives of the Generalized Processor Sharing (“GPS”) discipline, in which each of the sessions sharing the link has a first-in first-out (“FIFO”) queue. The scheduler assigns a predetermined weight to each different FIFO queue so that the packets stored in the respective queue are treated according to their assigned weight. However, GPS is limited in that it does not transmit packets as entities, and only one session can receive service at a time and an entire packet must be served before another packet can be served. A typical dynamic scheduling mechanism is the dynamic Weighted Fair Queuing, in which agents in the routers dynamically reconfigure the weights of their associated services. In this scheme, the weights are modified to reflect the changing QoS requirements of a number of packet streams as their queue sizes change over time based on the pre-defined committed information rates.
While the preceding approaches have merit in some applications, they also include various drawbacks. For example, ideally the traffic scheduler should be influenced by a number of parameters including packet delay and buffer occupancy. However, various static weight allocation mechanisms generally consider little of real-time traffic measurements and QoS information. Instead, they often determine the schedule by sorting the timestamps of packets contending for the link. The exception of brief dynamic behavior in Weighted Fair Queuing itself also focuses around the packet being serviced at that instant in time, and it does not consider the system as a whole and the effect it has on the other sessions later. Further, current dynamic weight allocation mechanisms are not optimized as most of them depend solely on the number of active flows. Although a few of them do consider the QoS information, they merely allocate the excess bandwidth according to the number of flows in a specific class of service or the pre-defined committed information rates.
In view of the above, there arises a need to address the drawbacks of the prior art, as is accomplished by the preferred embodiments described below.
In the preferred embodiment, there is a network system, comprising a plurality of nodes. Each node in the plurality of nodes is coupled to communicate with at least one other node in the plurality of nodes. Each node of the plurality of nodes comprises a plurality of queues and is operable to perform the steps of receiving a plurality of packets and, for each received packet in the plurality of packets, coupling the received packet into a selected queue in the plurality of queues, wherein a respective selected queue is selected in response to the respective received packet satisfying one or more criteria. Each node of the plurality of nodes is also operable to perform the step of assigning a weight to each respective queues in the plurality of queues. Each weight assigned to a respective queue in the plurality of queues is responsive to quality requirements for each packet in the respective queue and to a ratio of packet arrival variance in the respective queue and a mean of packets arriving to be stored in the respective queue during a time interval.
Other aspects are also described and claimed.
Continuing with
Completing the discussion of
Given the various connections as also set forth in Table 1, in general IP packets flow along the various illustrated paths of network 20, and in groups or in their entirety such packets are often referred to as network traffic. In this regard and as developed below, the preferred embodiments operate such that each router may schedule which packets from the router are transmitted at a given time, in accordance with QoS as well as other considerations.
The operation of router Rx is now described, beginning with flow determiner 30. Flow determiner 30 receives each incoming packet and determines, from a set of criteria, to which one of multiple different flows the packet belong. Further, for each packet that satisfies a same criterion or criteria, it is routed by flow determiner to a corresponding one of queues 320 through 32n. As a result, each queue 32x stores packets of a same flow. The criteria evaluated by flow determiner 30 may be based on various different considerations. For example, the criteria may be based on the source and destination address included in the packet. For example with reference to
As a packet is received in a queue 32x, certain attributes of the packet are also available to the respective Eb estimator 34x and IDC determiner 36x. From these attributes, Eb estimator 34x estimates the effective bandwidth, Eb, for the packet and IDC determiner 36x determines the value of IDC for the packet. The determination of each of these values is discussed below.
Looking now in greater detail to Eb estimator 34x and its estimation of effective bandwidth, Eb, the effective bandwidth for a traffic stream is the minimum bandwidth required for carrying that traffic, subject to meeting QoS requirements. In this regard, and in the context of
Given the preceding, a mathematical framework for determining a value of effective bandwidth, Eb, has been defined based on the general expression shown in the following Equation 1, and is noteworthy here insofar as it provides an understanding of the functionality provided by each Eb estimator 32x in
In Equation 1, the effective bandwidth is shown as Eb (s,t) to reflect the fact that it relates to variables s and t. In this regard, At is the amount of incoming work in duration of t. The values of (s, t) are the so-called space and time parameters, respectively, which characterize the operating point at the router link and depend on the context of the stream (i.e., link resources and the characteristics of the multiplexed traffic). The space parameter s shows the degree of statistical traffic multiplexing or “mix” of the link and the degree of QoS requirements. In this regard, often s tends toward infinity, which corresponds to the case of deterministic multiplexing (i.e., zero probability of overflow), but that case cannot be assumed. If QoS requirements are relaxed, or if the degree of multiplexing increases, s tends to zero and the effective bandwidth, Eb, approaches the mean rate. If QoS requirements are more constrained, or if the degree of multiplexing decreases, s tends to infinity and effective bandwidth, Eb, of the source approaches the maximum rate of max(At)/t, measured over the interval t. Note also that the time parameter t corresponds to the most probable duration of buffer busy period prior to overflow.
The effective bandwidth for various types of traffic models has been derived from the relationship set forth in Equation 1, where examples of such models appear in the following papers, all of which are hereby incorporated herein by reference: (1) C. Courcoubetis and R. Weber, “Buffer overflow asymptotics for a buffer handling many traffic sources,” J. Appl. Prob., vol. 33, pp. 886-903, 1996; (2) G. Kesidis, J. Walrand, and C. S. Chang, “Effective bandwidths for multiclass markov fluids and other ATM sources,” IEEE Trans. Network, vol. 1, no. 4, pp. 424-428, August 1993; (3) C. Courcoubetis, V. A. Siris, and G. Stamoulis, “Application of the many sources asymptotic and effective bandwidths to traffic engineering,” Telecommunication Systems, vol. 12, no. 2-3, pp. 167-191, 1999; and (4) R. Gibbens and P. Hunt, “Effective bandwidths for the multi-type uas channel,” Queuing Systems, vol. 9, pp. 17-28, 1991. However, unlike the estimation of observable parameters such as mean and variance, the space parameter s parameter cannot be directly estimated from measurements. Accordingly, some effective bandwidths algorithms calculate the space parameter s by using Large Deviations Theory (“LDT”) and by making a large buffer assumption. LDT deals with rare event probabilities and is suitably applied to the effective bandwidth determination since loss probability constraints to be satisfied are very small.
Note further that other manners exist in the art for estimating effective bandwidth, and those also may be implemented in connection with the preferred embodiment. For example, with space and time parameter estimation being a possible difficulty in the previously mentioned algorithms, Norros suggested a different approach to estimate effective bandwidth. This approach does not rely on large deviation theory and it addresses long-range dependent traffic type. This approach is based on the queue analysis of a server with Fractional Brownian Motion (“FBM”) input traffic. The main issue in this method is the FBM parameter estimation. The robust and feasible wavelet based H estimator suits in this method, where “H” is the Hurst parameter, a parameter used to measure the degree of self-similarity behavior on the underlying traffic. In any event, effective bandwidth estimation may be implemented from the above discussion as well as other alternatives and information ascertainable by one skilled in the art.
As introduced earlier, once an Eb estimator 34x determines a value for effective bandwidth, Ebx, then the estimator 34x also determines a respective preliminary weight, PWx. More particularly, in the preferred embodiment, for a determined value of effective bandwidth, Ebx, its respective preliminary weight, PWx, is as shown in the following Equation 2:
In Equation 3, B is the total bandwidth available to the router Rx. Thus, the preliminary weight is the ratio of effective bandwidth to total bandwidth. However, in the preferred embodiment and as detailed further below, from each preliminary weight a final and respective weight, Wx, is determined by weight optimizer 42, and the value of Wx may be adjusted upward above with respect to the respective value PWx based on two additional consideration, detailed later.
Looking now in greater detail to IDC determiner 36x and its determination of a corresponding value IDCx, as each packet arrives in a queue 32x, sufficient packet arrival time corresponding to that packet are stored by the respective IDC determiner 36x so as to determine the respective value, IDCx. Particularly, the IDC has heretofore been proposed to be used to characterize packet burstiness in an effort to model Internet traffic, whereas in contrast, in the present inventive scope IDC is instead combined with the other attributes described herein to apply weights to packet queues for purposes of scheduling traffic. By way of background, in the prior art, in a document entitled “Characterizing The Variability of Arrival Processes with Index Of Dispersion,” (IEEE, Vol. 9, No. 2, February 1991) by Riccardo Gusella and hereby incorporated herein by reference, there is discussion of using the IDC, which provides a measure of burstiness, so that a model may be described for Internet traffic. Currently in the art, there is much debate about identifying the type of model, whether existing or newly-developed, which will adequately describe Internet traffic. In the referenced document, IDC, as a measure of burstiness, is suggested for use in creating such a model. IDC is defined as the variance of the number of packet arrivals in an interval of length t divided by the mean number of packet arrivals in t. For example, assume that a given network router has an anticipation (i.e., a baseline) of receiving 20 packets per second (“pps”), and assume further that in five consecutive seconds this router receives 30 packets in second 1, 10 packets in second 2, 30 packets in second 3, 15 packets in second 4, and 15 packets in second 5. Thus, over the five seconds, the router receives 100 packets; on average, therefore, the router receives 20 packets per second, that is, the average receipt per second equals the anticipated baseline of 20 pps. However, for each individual second, there is a non-zero variance in the amount of packets received from the anticipated value of 20 pps. For example, in second 1, the variance is +10, in second 2 the variance is −10, and so forth. As such, the IDC provides a measure that reflects this variance, in the form of a ratio compared to its mean, and due to the considerable fluctuation of the receiving rate per second over the five second interval, there is perceived to be considerable burstiness in the received packets, where the prior art describes an attempt to compile a model of this burstiness so as to model Internet traffic.
Also in connection with IDC, note that the interval, t, for the present discussion of IDC may be different from the time parameter, t, discussed above for effective bandwidth Eb, and they are not necessarily related. There are various prior art papers that attempt to identify an optimal “t” in Eb in the real cases. However, in a preferred embodiment, it may be desirable to align the time interval, t, of IDC with the time parameter, t, of effective bandwidth since scheduling is based on both Eb and IDC, although this is not necessarily the case. For example, the time parameter, t, in Eb can be specified as 2 seconds and the time interval, t, in IDC may be 10 seconds; alternatively, both times can be the same as well if the time scale works in both Eb and IDC.
Continuing with an examination of IDC determiner 36x, attention is now directed to its actual operation in determining the IDC value for a given packet. Recalling that the IDC is defined as the variance of the number of packet arrivals in an interval of length t divided by the mean number of packet arrivals in t, it may be written as shown in the following Equation 3:
In Equation 3, Nt indicates the number of arrivals in an interval of length t. In the preferred embodiment and for estimating the IDC of measured arrival processes, only considered are the time at discrete, equally spaced instants τi (i≧0). Further, letting ci indicate the number of arrivals in the time interval τi−τi−1, then the following Equation 4 may be stated:
In Equation 4, var(cτ) and E(cτ) are the common variance and mean of ci, respectively, thereby assuming implicitly that the processes under consideration are at least weakly stationary, that is, that their first and second moments are time invariant, and that the auto-covariance series depends only on the distance k, the lag, between samples: cov(ci, ci+k)=cov (cj, Cj+k), for all i, j, and k.
Further in view of Equations 3 and 4, consider the following Equation 5:
Further, for the auto-correlation coefficient ξi,j+k, it may be stated as in the following Equation 6:
Then from Equation 6, the following Equation 7 may be written:
Finally, therefore, the unbiased estimate of E(cτ), var(cτ), and ξj are as shown in the following respective Equations 8 through 10:
Thus, the IDC may be determined by the preferred embodiment using the above Equations 8 and 9, and further in view of Equation 10.
Having demonstrated various alternatives for preferred embodiment determination of the preliminary weight PWx and the respective value of IDCx, recall that each of these values provides a multiplicand into a respective multiplier 40x, with the product output being connected to weight optimizer 42, which also receives the value of each preliminary weight, PWx. Given these connections, in the preferred embodiment, weight optimizer 42 is operable to determine, for each preliminary weight, PWx, a corresponding final weight, Wx. Specifically, these corresponding final weights are determined from the constraints imposed by the following Equations 11, 12, and 13:
Equation 11 demonstrates that for each preliminary weight value, PWx, its corresponding final weight value, Wx, is equal to or exceeds the preliminary weight value, PWx. Further, Equation 12 demonstrates that all final weight values combined should total a value of one. Lastly, Equation 13 solves an objective function, that is, each final weight value, Wx, is adjusted so that the summation of Equation 13 is minimized. This latter constraint therefore is such that by minimizing an objective function from the overall traffic burstiness, each value Wx is determined so as to fairly allocate the bandwidth weight to smooth the bursty traffic without compromising the QoS requirements. Given the final weight values {W0, W1, . . . , Wn}, weight optimizer 42 outputs those as part of scheduler 38, to control respective queues 320 through 32n. In other words, each queue 32x is then serviced in priority as defined by its corresponding final weight, Wx. Accordingly, scheduling of resource access and packet transmission is thereby weighted according to these values and, thus, this more fairly allocates bandwidth while smoothing burstiness and taking into consideration QoS requirements
From the above illustrations and description, one skilled in the art should appreciate that the preferred embodiments provide a computer network with routers or switches configured to schedule traffic according to a dynamic fair mechanism in response to quality of service and an index dispersion of counts. The embodiments provide numerous benefits over the prior art. As one example, as compared to static mechanisms, the preferred embodiments dynamically schedule link bandwidth based on real-time traffic measurements. In addition, unlike various dynamic algorithms, which simply allocate excess bandwidth according to the number of flows in a specific class of service or the pre-defined committed information rates, the preferred embodiment considers the actual on-line traffic burstiness, as measured in IDC, as an objective function. As still another example, the preferred embodiments also take advantage of effective bandwidth as the lower bound, which guarantees the QoS requirements for the high priority traffic flows or classes can be always satisfied during the optimization. As yet another benefit, in the preferred embodiments, excess bandwidth of a flow or a class of flows is not only reused by that flow or class but is allocated to other flows or classes as well. Further, by designating the lower bound for the flows having little QoS requirements such as Best-Effort traffic, these flows can also capture the least bandwidth so that the fairness for the excess bandwidth allocation can be achieved. Note that these preferred embodiments and benefits can be well applied in the DiffServ environment because in that context the classes of traffic flows are the primary targets instead of individual flows so that there are less scalability issues. As a final benefit, while the preferred embodiments have been described in connection with an IP network, they also may be applied to any network that is cell or packet based. Given the above, it will be further appreciated that while the present embodiments have been described in detail, various substitutions, modifications or alterations could be made to the descriptions set forth above without departing from the inventive scope which is defined by the following claims.