The application requires to enjoy the priority of submitting on February 24th, 2000, be called No. 60/184557 United States Patent (USP) provisional application of " frame scheduling in differentiated services networks and buffer management unified algorithm " according to the 119th (e) money in No. 35 bill of US Congress.
Embodiment
Novel scheduling mechanism disclosed herein preferably is attached to a kind of being used in the integrated processes that differentiated service environment execution frame is transmitted with measurable Quality of Service criterion and buffer management, and quality of service criterion wherein for example is time-delay or bandwidth.
QoS is a notion that implication is very wide in range, and different people has different explanations to this.On overall, the method for raising QoS described herein is based on the supposition of several aspects: the Business Stream pattern that is provided is unknown; The professional right and wrong rule of inlet flow or (still,, then can make some other assurances) of shaping not to switching performance if inlet flow is rule or shaping; And network manager is known the application type (or stream type) that carries out and the relative importance of these application, the voice communication in this way of application examples wherein, file transfer or network browsing on this network.Term " shaping " or " shapingization " are defined as the control (being flow control) to the Business Stream flow, promptly by the Business Stream flow restriction is prevented that in the degree of the input tape tolerance that is in close proximity to upstream device overflowing from appearring in upstream device.Regularization and shapingization are similar, and still, in the regularization process, exceeding the Business Stream of setting flow is to be dropped, rather than buffer memory gets up.Have under the prerequisite of these working knowledges, network manager then just can be divided into several types with various application, and sets up a service level agreement for all types of application, and this service level agreement for example is made up of the bandwidth of each type application or the assurance of delaying time.
One type can provide the flow that surpasses the agreement bandwidth.One the flow that the service traffics that provide of rule type are no more than agreement is provided.In contrast, the stream business that type provided in violation of rules and regulations then can surpass the agreement flow.A violation type is to be gathered by little Business Stream of a plurality of violations to form.In order to realize the utilization of high link bandwidth, a violation type is allowed to use any redundancy bandwidth.But, must exceed not damage other QoS that follows the rule type to the tolerance of violation type.
Represented an example form about six types of streams in the following table 1, all kinds stream all has exclusive separately attribute and application in the form.
Six types of streams of table 1. show the sample form
Type C
nTarget
| Obtain the total bandwidth of assurance | Low drop probabilities (low packet loss type) | High drop probabilities (high packet loss type) |
Transmit the highest C of priority
3 | ? ??40Mbps | Use: telephone service (voIP), circuit simulation stand-by period: less than the 1ms packet drop: if C
3Do not transmitted, then do not have packet loss by excess
| Use: the video teaching stand-by period: less than the 1ms packet drop: if C
3Do not transmitted, then do not have packet loss, otherwise, then at first be dropped by excess
|
Transmit the medium C of priority
2 | ? ??35Mbps | Use: interactive application, ecommerce stand-by period: less than the 4ms packet drop: if C
2Do not transmitted, then do not have packet loss by excess
| Use: the non-key interactive application stand-by period: less than the 4ms packet drop: if C
2Do not transmitted, then do not have packet loss, otherwise, then at first be dropped by excess
|
The low C that transmits priority
1 | ? ??25Mbps | Use: Email, the document backup stand-by period: hope can be less than 16ms, but is not vital packet drop: if C
1Do not transmitted, then do not have packet loss by excess
| Use: random network is browsed the stand-by period: hope can be less than 16ms, but is not vital packet drop: if C
1Do not transmitted, then do not have packet loss, otherwise, then at first be dropped by excess
|
Amount to | ??100Mbps | | |
As shown in table 1, various stream types (being that telephone service, circuit simulation, video teaching, key and non-key interactive application, ecommerce, Email, document backup and random network are browsed) have been divided into three type (C
1, C
2, C
3), each type all has been assigned with certain bandwidth assurance and time-delay gauge.Type C
3Be the highest transmission type of priority, all Frames all need be sent in the time less than 1ms, and taken 40Mbps (40%) among the port total bandwidth 100Mbps.Type C
2Be the type of a high medium priority, it has taken the 35Mbps (or being 35%) among the port total bandwidth 100Mbps, and needs all Frames all should send in the time less than 4ms.At last, C
1Type is the minimum type of priority, and it has taken the 25Mbps (or being 25%) among the port total bandwidth 100Mbps, and need all Frames all should be before packet loss takes place, in time, send less than 16ms.
In addition, each transmission type (C
1, C
2And C
3) all have two subgroups: high packet loss subgroup and low packet loss subgroup.The situation of frame losing should seldom appear in the user who follows rule.But user in violation of rules and regulations (being the user that the high flow of ether sends Frame) will lose some Frames, and what at first be dropped will be those Frames that meet high packet loss criterion.If do like this and also be not enough to alleviate congestion, then some Frame that meets low packet loss criterion also will be dropped, and in the worst case, all Frames all will be dropped.
As can be seen from Table 1: the application of type, corresponding attribute and time-delay and packet loss criterion can be arranged in pairs or groups according to any desirable mode.For example, random network is browsed and has been in high packet loss and allows in the stream type of long delay, and voip phone then has been in the stream type of low packet loss ratio, short time delay.
Except three above-mentioned type (C
1, C
2And C
3) outside, can also mark off more a plurality of transmission types with other time-delay gauge and minimum bandwidth assurance.In addition, (best-effort) stream that in another kind of variations, does the best possible can constitute a type that priority is minimum, this stream only other type all without any stream the time just can enjoy bandwidth.Can also increase a kind of higher type of priority that transmits, it has the absolute priority that is higher than other three (or more a plurality of) types; That is to say, if, then also will at first transmit it even the type has only a Frame to transmit.But should be noted in the discussion above that in this specific embodiment each 10/100Mbps port is supported three type (C altogether
1, C
2And C
3).
In the applied environment of a 1Gbps, because line speed is high more, desired QoS guarantees high more, so each port may be supported nearly eight type (C
8-C
1).For example, a kind of default configuration form may have six time-delay gauge formation Q
8-Q
1(correspond respectively to Type C
8-C
1) and two formation Q that do the best possible
2And Q
1(correspond respectively to Type C
2And C
1).For the situation of 1Gbps port, the setting of time-delay gauge for example is: C
8And C
7Be 0.16ms, C
6Be 0.32ms, C
5Be 0.64ms, C
4Be 1.28ms and C
3Be 2.56ms.Have only when needing service, just provide service the type Business Stream that does the best possible without any time-delay gauge stream.For the situation of this 1Gbps port, have two formations that do the best possible, and type high priority is big more more (that is to say C
2To C
1Has absolute priority).Description equally, above is a kind of sample situation.Should be noted that: the IETF classification of type that above-mentioned framework and the Internet engineering duty group propose is compatible.
For solving owing to the uncertainty that produces is not understood in the mixing to inlet flow, adopted a kind of time-delay to guarantee algorithm, dynamically adjust according to the required moment of formation occupy-place situation and formation HOL frame and dispatch criterion and packet loss criterion.The result is exactly: from reliability (confidence) access Frame, can both guarantee to reach time-delay gauge-even occurring under the congested situation of system-wide for all height.Time-delay guarantees that algorithm can identify type in violation of rules and regulations, and abandons some Frames intelligently, does not damage the purpose of following the rule type to reach.This algorithm can also distinguish high packet loss stream with RED (RandomEarly Detection the is earlier detection at random) method (WRED) of a weighting and hang down packet loss stream.The WRED method is used in the internet, is used for avoiding its appearance before becoming problem in that frame is congested.The RED algorithm is monitoring current load along a network on select location point, and when beginning to increase, abandons some Frames congested randomly.In response to abandoning the upper strata operation that Frame detects, the transmission speed of Frame has been slowed down.
Referring to Fig. 1, represented a block diagram among Fig. 1, this block diagram is a upper overview to disclosed embodiment.Novel forwarding mechanism disclosed herein comprises two aspects that combine: buffer management and transmission scheduling, buffer management wherein are used to determine the access of input data frame and abandon according to a kind of discard algorithm work; Transmit scheduling and then be used for the order that the transmission of specified data frame is left away.The importance of above-mentioned combination can be summarized as follows: the correlation between bandwidth, time-delay and the buffer memory by mathematics be expressed as the relational expression of " the bandwidth ∝ queue length of enjoying/experience time-delay ".This has utilized the merging mechanism of dispatching technique and buffer administrative skill to control delay duration and the queue length that is experienced.As the result of the above-mentioned fact and relationship, this associative mechanism has also been adjusted the bandwidth that each type is enjoyed.
Again referring to Fig. 1, frame repeater system 100 comprise one according to discard algorithm work abandon logical circuit 102, discard algorithm is wherein monitoring incoming bit stream 104.This output 106 that abandons logical circuit 102 flow into one or more formations 108,110 and 112 and (is also referred to as formation Q
1, Q
2..., Q
n) in, wherein each formation corresponding respectively each stream type C
1, C
2..., C
nFormation 108,110,112 is being stored these Frames according to each Frame appointed stream type of institute temporarily, and each formation outputs to Frame in the multiplexing logic circuit 114, finally to be input in the output queue 116, this output queue has the total bandwidth capacity of K Mbps.For example, transmit the minimum Type C of priority
1With a service level agreement S
1Be associated, this agreement is by time-delay gauge parameter (δ
1) and a bandwidth parameter (r
1) limit.(be also referred to as Q if be queued in formation 108
1) in the Frame number can not be by time-delay gauge parameter (δ
1) send in time of appointment, then just had and some Frame in the type will have been abandoned to prevent congested certain probability.Similarly, also expressed transmission priority time high Type C among the figure
2, the type and a service level agreement S
1Be associated, this agreement is by time-delay gauge parameter (δ
2) and a bandwidth parameter (r
2) limit.(be also referred to as Q if be queued in formation 110
2) in the Frame number how to can not be by time-delay gauge parameter (δ
2) send in time of appointment, then just had and some Frame in the type will have been abandoned to prevent congested certain probability.
There are a plurality of types in an illustrated embodiment, the C that its medium priority is the highest
nWith a service level agreement S
nBe associated, this agreement is by time-delay gauge parameter (δ
n) and a bandwidth parameter (r
n) limit.(be also referred to as Q if be queued in formation 112
n) in the Frame number how to can not be by time-delay gauge parameter (δ
n) send in time of appointment, then just there is certain probability: abandon to prevent some Frame in the type congested.Output queue 116 is being stored from each type formation 108,110 and 112 temporarily and is being received the Frame of coming, and with each Type C
1, C
2... C
nOutput is to a port P (not shown).Multiplexer 114 is by 118 controls of a scheduling logic circuit, and this logical circuit has been determined the order that Frame is left away from each type formation 108,110 and 112.
Hereinafter be to the more description of generalization of this novel system.Suppose that port P provides service for n stream type of service, this n type is designated as C
1, C
2... C
nNetwork provider is each COS C
iAll discussed and decided a service level agreement S
i, this agreement is δ
iAnd r
IExpression formula, i.e. S
i=(δ
i, r
i), δ in the formula
iBe Type C
iIn any Frame allowed that the longest experience guarantees time-delay, and r
iBe meant and be Type C
iThe overtime minimum bandwidth that guarantees of distributing.These types are configured to like this: make Type C
1Maximum guarantee time-delay δ
1More than or equal to Type C
2Maximum guarantee time-delay δ
2, and Type C
2Maximum guarantee time-delay δ
2More than or equal to Type C
3Maximum guarantee time-delay δ
3, and (that is to say δ by that analogy
1〉=δ
2〉=... 〉=δ
n).Disclosed favourable part that should mechanism is: what kind of the flow pattern formula that no matter is provided is, can both satisfy service level agreement S simultaneously
iThe time-delay constraints and the bandwidth constraint condition of (i is an all values).
Hereinafter the discussion to the scheduling of time-delay gauge is to carry out in the environment of 10/100Mbps port, and port wherein has three time-delay gauge type (C
3, C
2And C
1).But, also can make up applied environment similarly with more a plurality of types.Under the 10/100Mbps port case in table 1, when the time-delay of gauge is dispatched, be drained into three scheduling queue Q
1-Q
3(belong to Type C respectively
1, C
2And C
3) in Frame all comprise and stab time of advent.When team's head (HOL) position in the Frame arrival formation, make the scheduling decision according to the timestamp of HOL Frame in each formation.In the exemplary rule that provides hereinafter, time-delay is defined as work (or Frame) and stabs and the time difference between the current time time of advent.Obviously,, transmission to be waited for, then just the type can not be selected without any Frame if for a certain particular type.
Referring to Fig. 2, this figure has represented congested 200 notion according to disclosed embodiment in Euclidean space.With each COS C
iThe middle formation of waiting for that output port P transmits is overstock length (is unit of measurement with the total bytes) and is made as Q
iIf λ
i=δ
1/ δ
i, and establish D=K δ
1(is unit of measurement with the byte number).Congested hyperplane 200 is by Vector Groups { Q
1, Q
2, Q
3... Q
nSurround, and limit by equation (1):
Cache manager 102 will be in following condition and is only abandoned an input data frame under the following conditions, and this Frame is predetermined will to be sent to port P, and belongs to Type C
i,
And
Q
i>r
i·δ
1
(3)
It is congested that first condition (formula [2]) shows that system 100 has taken place, and that is to say that system 100 has exceeded congested 200.Second condition (formula [3]) shows Type C
iBacklog very big.Even one belongs to Type C
iFrame get permission to have inserted, but can not make any change, this constraints result that to be existing backlog guarantee with minimum bandwidth to other type to its situation that will meet the constraints of delaying time.Thereby the input data frame of the type i will be dropped.
Disclosed buffer management algorithm can be modified to the WRED technology that comprises, the existing in the literature very sufficient introduction of the benefit of WRED technology.The WRED technology adopts a kind of queue length of weighting, comes the judgement system when to become very congested and need to consider to abandon one or more Frames.This abandons rule must abandon abundant Frame, queue length is remained on congested below 200; If not, will abandon 100% Frame prevents congested.Because target is to distinguish high packet loss stream and hang down packet loss stream, so can not allow system 100 to arrive congested 200 critical condition, on congested, all Frames all will be dropped, and the precedence when not considering to abandon.Thereby, in this certain embodiments, defining congested of two Asias (level 1 and level 2), these two congested faces in Asia are designed to realize early stage congestion-prevention, like this, Frame just seldom runs into the severe condition with 100% drop probabilities.
Referring to Fig. 3, the block diagram among the figure has been represented a kind of exemplary repeater system according to table 1.This frame repeater system 300 (being similar to system 100) has the bandwidth of 100Mbps, and has adopted and abandon logical circuit 102 according to discard algorithm work disclosed herein.This abandons logical circuit 102 and is monitoring incoming bit stream 302, and based on predefined criterion the selected data frame 304 in the bit stream 302 is discarded in the dustbin 306 (shown in the figure only is in order to set off a discussion).The Frame of those accesses (307,309,311) then is discharged in the defeated queuing (308,310 and 312) of corresponding types subsequently.For example, input rank 308 is to belong to C
1Type (transmitting the minimum type of priority), the time-delay gauge of the type requires all Frames 307 all should send in the time less than 16ms, if the type C
1When becoming a violation type when having surpassed agreed 25Mbps, just exist to abandon some C owing to the flow that provides
1The probability of type data frame prevents congested with this.Input rank 310 is C
2The formation of type (transmitting the medium type of priority), the time-delay gauge of the type requires all Frames 309 all should send in the time less than 4ms, if the type C
2When becoming a violation type when having surpassed agreed 35Mbps, just exist to abandon some C owing to the flow that provides
2The probability of type data frame prevents congested with this.At last, input rank 312 is C
3The formation of type (transmitting the highest type of priority), the time-delay gauge of the type requires all Frames 311 all should send in the time less than 1ms, if the type C
3When becoming a violation type when having surpassed agreed 40Mbps, just exist to abandon some C owing to the flow that provides
3The probability of type data frame prevents congested with this.
Be drained in each formation (308,310 and 312) corresponding data frame (307,309 and 311) by a multiplexer 314 (it is similar to above-mentioned multiplexing logic circuit 114), with the flow that is no more than 100Mbps be multiplexed to one output bit stream 316 in, 100Mbps flow value wherein is the port output speed of system 300.But, there is a scheduling logic circuit 318 to be connected with multiplexer 314, be used for the transmission of the corresponding types Frame (307,309 and 311) that transmits from each type formation (308,310 and 312) is dispatched.As mentioned above, each data queued frame (307,309 and 311) all has been coupled with a timestamp when arriving corresponding formation (308,310 and 312).When the Frame (307,309 and 311) of a certain type arrives a team position (313,315 and 317) of its corresponding formation (308,310 and 312), make the scheduling decision according to stabbing the time of advent of each formation squadron Frame.
Referring to Fig. 4, the figure line among the figure has been represented congested and inferior congested.Should be noted that definable goes out congested of any number Asia.Inferior congested (being respectively 400 and 402) of level 1 and level 2 a certain proportion ofly highly abandons Frame and keeps in large quantities simultaneously and lowly abandon Frame and prevent congested by abandoning randomly.This becomes and low abandon the victim of Frame and just begin in early days to be dropped with regard to making height abandon Frame.In this example, when already present total formation backlog N 120 between 200KB the time, and type formation Q
1-Q
3In the Frame backlog that is buffered of any one formation meet or exceed corresponding queues limit A, B or C (is unit with KB), just have the certain probability that abandons Frame.In inferior congested 400 of level 1, there is 16Q
3+ 4Q
2+ Q
1〉=120KB, and formation Q
1-Q
3In any one or the overstocked degree of a plurality of formations surpassed corresponding limit (being respectively A, B and C), the scope of low packet loss and high packet loss be respectively 0 and 0-X% between.Similarly, in inferior congested 402 of level 2, there is 16Q
3+ 4Q
2+ Q
1〉=160KB, and formation Q
1-Q
3In any one or the overstocked degree of a plurality of formations surpassed corresponding limit (being respectively A, B and C), the scope of low packet loss and high packet loss is respectively between 0-Y% and 0-Z%.At last, among congested 200 of the 3rd level, this congested face is by 16Q
3+ 4Q
2+ Q
1The relational expression of 〉=200KB limits, and is that high packet loss rule or low packet loss rule all stipulate to want 100% ground to abandon Frame.
Table 2 pair adopts the packet loss rule of WRED to conclude, and in this table, each inferior congested face is that the port according to 100Mbps defines total maximum queue backlog N=200KB in this concrete example.
Table 2. is the packet loss rule that improves QoS under on the 10/100Mbps port, for the situation with three time-delay gauge types.
| ???C
3 | ???C
2 | ???C
1 | Low packet loss | High packet loss |
Level 1 N=120 | ? ???Q
3≥C ???KB
| ? ???Q
2≥B ???KB
| ? ???Q
1≥A ???KB
| ????0% | ????X% |
Level 2 N=160 | ????Y% | ????Z% |
Level 3 N=200 | ????100% | ????100% |
It should be noted that: in having table 1, in the specific embodiment of time-delay gauge, work as 16Q
3+ 4Q
2+ Q
1During 〉=N KB, only used above-mentioned Frame (or packet loss) rule that abandons, content will go through hereinafter in this respect.
Table 3 has provided an example, and it combines above-mentioned drop mechanism with the WRED technology.
Table 3. combines the discarding method sample of WRED technology
| ???C
3 | ???C
2 | ???C
1 | Low packet loss | High packet loss |
Level 1 N=120 | ? ???Q
3≥5 ???KB
| ? ???Q
2≥17.5 ???KB
| ? ???Q
1≥50 ???KB
| ????0% | ????50% |
Level 2 N=160 | ????25% | ????75% |
Level 3 N=200 | ????100% | ????100% |
Level 3 in the table 3 has been deferred to rule proposed above, and supposition has the time-delay gauge constraints of system among Fig. 1.For example, according to above-mentioned separate equation, if at (also only when under such condition): 16Q under such condition
3+ 4Q
2+ Q
1〉=200KB, and formation Q
2Having surpassed predetermined overstocked limit one is Q
2During 〉=17.5KB, a C
2The Frame of type will be dropped.Level 1 and level 2 have formed congested of two Asias (being respectively 400 and 402) of above-mentioned discussion.For example, if 120KB≤16Q
3+ 4Q
2+ Q
1<200KB, and Q
2〉=17.5KB then carries out packet loss with certain probability.Can notice: on each WRED level, identify Frame and belong to high packet loss kind and still belong to low packet loss kind, and specify different drop probabilities in view of the above.
As shown in Figure 2, have three Type C at this
1, C
2And C
3Specific embodiment in, each point on congested 200 has all formed the three-dimensional coordinate (Q of a queue length
1, Q
2, Q
3), this coordinate points can be born, and that is to say, if each queue length (Q
1, Q
2, Q
3) on these numerical value, keeping stable, each then corresponding time-delay gauge all is satisfiable.For example, the one group of stable state queue length that can bear is that unit representation is (50,17.5,5) with KB.These numerical value are to derive like this: Q
3=(r
3) (δ
3)=(40Mbps) (1ms)=5KB; Q
2=(r
2) (δ
2)=(40Mbps) (4ms)=17.5KB; Q
1=(r
1) (δ
1)=(25Mbps) (16ms)=50KB.
For transmitting scheduling, Δ (F) is defined as the current stand-by period of Frame F.Then, the Frame F of type i is defined as has sluggish degree (slack) ψ
i(F), ψ wherein
i(F)=δ
i-A (F).The advantage of this transmission dispatching method is very simple relation: sluggish degree (lag time) is more little, and it is high more then to transmit priority.When the lag time that calculates is when equating for the formation of two or more types, then scheduling process at first is that formation to high priority (type that just has more strict delay requirement) transmits.
Although above preferred embodiment has been made detailed description, be to be understood that: need not surmount protection range of the present invention and design philosophy that appended claims limits, just can make change, replacement and the change of various ways this.