CN1203688C - Fluid track dispatching method - Google Patents
Fluid track dispatching method Download PDFInfo
- Publication number
- CN1203688C CN1203688C CN 03116984 CN03116984A CN1203688C CN 1203688 C CN1203688 C CN 1203688C CN 03116984 CN03116984 CN 03116984 CN 03116984 A CN03116984 A CN 03116984A CN 1203688 C CN1203688 C CN 1203688C
- Authority
- CN
- China
- Prior art keywords
- formation
- track
- scheduling
- array
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present invention relates to a fluid track polling dispatching method belonging to the field of data communication. In the fluid track polling dispatching method, a liquid track array generating method is first used for calculating a track array according to the reserved bandwidth of each service; in each dispatching cycle, a queue required to be dispatched is selected according to a two-stage dispatching topological structure on the basis of a current service state and the calculated track array; and data packets of the queue are sent by a deficit counter module, or the data packets of the queue are directly sent. The fluid track polling dispatching method enables the bandwidth of network nodes to be used for a hundred percent and ensures that the actually used bandwidth of each queue reaches the reserved bandwidth of each service; the idle bandwidth is proportionally allocated according to the reserved bandwidth of each service; and meanwhile, the time delay property can reach the theoretically optimum level of a dispatching method which can be realized. The fluid track polling dispatching method has the advantages of simple realization and convenient expansion.
Description
Technical field
The present invention relates to a kind of dispatching method, particularly a kind of fluid track polling dispatching method of suitable realization router services quality belongs to the data communication field.
Background technology
The stage development that data communication network has transmitted data from traditional " doing one's best " is to the stage that certain service quality (QoS, Quality of Service) need be provided for business.It is that data service ensures qos parameter that such variation requires router, and these parameters comprise time delay (delay), delay variation (delayjitter), Loss Rate (loss rate), throughput (throughput) etc.The Weighted Fair Queuing method is one of current main means that guarantee allocated bandwidth and each Business Stream QoS index in the network node of data communications such as router.General shared processing system (GPS, General Processor Sharing) is a kind of desirable dispatching method that can't realize.Its hypothesis (a) packet is a limitlessly detachable; (b) system can serve a plurality of formations simultaneously.Professional just as fluid flows through network node, each professional each ratio that flows through the speed of network node constantly all equals the ratio of their reserved bandwidth.
Find by literature search, Chinese patent application number is: 01117978.3, name is called: the dispatching method in a kind of integrated service of suitable realization router services quality, this patented technology enters different queue respectively with data flow, formation is divided into three kinds according to service standard, comprise the service queue of doing one's best, controlled service queue of load and assurance service queue, system is provided with a dummy clock, and calculate a virtual markers for each packet of going into formation, according to virtual markers size decision order of transmission, if less than the minimum virtual markers that guarantees in the service queue, then sending, the dummy clock of current system has the minimum packet of target when virtual in do one's best service queue and the controlled service queue of load; Otherwise, send to guarantee to have in the service queue minimum target packet when virtual.This technology has prevented that the assurance business from taking too much bandwidth, even if but occur sometimes guaranteeing that formation has packet, but still the situation of waste bandwidth, bandwidth can't effectively be utilized.And amount of calculation is bigger, can't use in the witched-capacity network node.
Summary of the invention
The objective of the invention is at the deficiencies in the prior art, a kind of Weighted Fair Queuing method of novelty is provided, be called fluid track polling dispatching method, this method calculates the scheduling track by the simulating GPS method, realize scheduling according to this track again, solved waste bandwidth in the background technology, the problem that amount of calculation is big, can't use in the witched-capacity network node.
The present invention is achieved through the following technical solutions, the present invention at first adopts the method that generates fluid track array, goes out the track array according to each service appointment bandwidth calculation, the time point that this track can be scheduled each business is evenly distributed on the time shaft, makes scheduling result reach theoretical optimum fairness and delay character; In each dispatching cycle, according to current service condition, and the track array that calculates is selected the formation of a need scheduling according to the scheduling topological structure of a two-stage then; Send the packet of this formation at last by a deficit counter module, perhaps directly send the packet of this formation;
Described fluid track array, track poll scheduler module is dispatched according to this track array.The length of this array be total reserved bandwidth of network node than last minimum bandwidth granularity, the formation that should select is once dispatched in each representative on this array, the result of the distribution simulation GPS fluid scheduling of individual queue number on fluid track array;
The scheduling topological structure of described two-stage, form the first order of this topological structure by one according to the track poll scheduler module of track array scheduling and Weight Round Robin module that adopts the ordinary round-robin dispatching method, the strict priority scheduling module is formed the second level of this topological structure;
Described deficit counter module, this counter only just need when being elongated to realize at the packet by network node, send the total byte length of packet by this counter controls individual queue at every turn.
Below the invention will be further described, the contents are as follows:
The present invention comprises the method for Fluid Computation track array, the job step of two-level scheduler topological structure, the method for work of deficit counter when realizing.The inventive method step is as follows:
(1) calculates fluid track array according to the service appointment situation;
(2) if all formations are not empty entirely, track poll scheduler module is selected the formation of a need scheduling, and the Weight Round Robin module is selected the formation of a need scheduling simultaneously; If all formations are empty entirely, go back to step (2) next dispatching cycle;
(3) the strict priority scheduling module is selected a formation from two formations that step (2) is selected;
(4) transmit packet in the formation that the strict priority scheduling module selects;
(5), change step (1) if the service appointment situation changes; If the service appointment situation does not change, change step (2).
Step (1) and step (5) have comprised the method for Fluid Computation track array, step (2) and step (3) have embodied the scheduling topological structure work principle of two-stage among the present invention, and step (4) is finished by the deficit counter module in the network node that becomes long data packet.
1, described step (1) is implemented as follows:
Convenience in order to describe is defined as follows parameter:
N: total professional number on this network node.Each business all shows as a formation in network node, and a queue number is respectively arranged: 1,2,3 ..., N.
R: the physical link bandwidth of network node output port.
L
Max: the maximum bag of the packet by this network node is long.
R: the minimum particle size of reserved bandwidth.Professional reserved bandwidth is that network node is necessary for the minimum bandwidth that this business ensures, the bandwidth minimum particle size is meant the least unit of reserved bandwidth when metering, and promptly reserved bandwidth all must be the natural several times of bandwidth minimum particle size.
r
i: the reserved bandwidth of professional i.
R ': total reserved bandwidth, total reserved bandwidth is the summation of all service appointment bandwidth.
N: the ratio of total reserved bandwidth and bandwidth minimum particle size.
S: fluid track array, it is an one-dimension array that the n item is arranged, from the 0th to the n-1 item, be used for storing the scheduling track.
s
j: be the i item of track array S, and 0<s
j≤ N.
The step of Fluid Computation track array is:
A. define two arrays, Tstart (initial markers array), Tend (finishing the markers array).Each array all is the N item, 1, the second all corresponding formation 2 of the 1st all corresponding formation of two arrays, by that analogy.All of Tstart all are initialized as 0, and each of Tend is initialized as the reserved bandwidth of total reserved bandwidth than last corresponding formation.I item such as Tend is initialized as R '/r
iDefined variable j represents the j item of current calculating track array, and is 0 with this initialization of variable, just since the 0th calculating.
If B. finish the n item of track array as calculated, finish the calculating of track array; If has not also calculated the n item, all are satisfied the queue definitions that corresponding Tstart value is less than or equal to current j value is a collection of queues, chooses of Tend value minimum of formation correspondence in this set.There is the queue number of minimum Tend formation to compose j item this to the track array.
C. the Tend of the formation selected among the step B is composed Tstart, the Tend of this formation correspondence is increased R '/r to this formation correspondence
i, j increases by 1, changes step B.
Steps A is to be used for definition and some parameters of initialization, step B and step C all data that generate fluid track array.Can prove that the set among the step B can not be null set certainly, the Tend that in set several formations is arranged for hour, chooses one arbitrarily simultaneously, for convenience, and might as well choose the queue number minimum one.The characteristics of this array are that the scheduling result of simulating GPS generates, after the fluid track array that generates joined end to end, same queue number evenly distributes in the fluid track array of circulation, the interval that occurs about equally, this characteristic has ensured that this dispatching method finally can reach theoretical optimum fairness and delay character.
2, step (2) is implemented as follows:
● track poll scheduler module is selected the formation of a need scheduling, and concrete steps are as follows:
If A. be the scheduling first after fluid track array generates, pointer P who points to fluid track array of initialization is such as it being pointed to the 0th; Step B is directly changeed in scheduling first after generating if not fluid track array.
B. the value of the array item that points to P checks as queue number whether this formation is empty, if be empty, and commentaries on classics step C; If be not empty, change step D.
If C. continuous review all is empty to K formation, wherein 0<K<N points to next array item with P, returns queue number " failure ", finishes this scheduling; If also there is not continuous review to arrive K empty queue, P is pointed to next array item, change step B.
The value of the array item that D. selected current P points to is pointed to next array item as the queue number of need scheduling with P, finishes this scheduling.
Parameter K among the step C is in order can to choose the formation of non-NULL, can not cause dispatching cycle long again as far as possible, a parameter of selecting according to the hardware environment of this method of realization.The P that mentions among step C, the D points to next array item, and this is meant after generating the track array, and it is joined end to end circlewise, and P points to next array item P increase just 1, if P has equaled n-1, just P being composed is 0.The characteristics of this module are to dispatch according to fluid track array, when running into empty queue, skip K empty queue in the one-period at most continuously.
● the Weight Round Robin module is selected the formation of a need scheduling, and concrete steps are as follows:
If A. be the scheduling first after fluid track array generates, pointer Q who points to formation of preliminary examinationization such as it is pointed to formation 1, defines a counter Cwrr, this counter is initialized as reserved bandwidth that pointer Q points to formation than last bandwidth minimum particle size, changes step C; After fluid track array generates, dispatch first, directly change step B.
If B. last strict priority scheduling module selection dispatching cycle is the scheduling result of Weight Round Robin module, change step C; If last strict priority scheduling module selection dispatching cycle is the scheduling result of track poll scheduler module, change step F;
If C. the formation of pointer Q sensing is empty,, change step D with the next formation of Q pointed; If the formation that pointer Q points to is not empty, change step e;
If D. the formation of pointer Q sensing is empty,, re-execute step D with the next formation of Q pointed; If the formation that pointer Q points to be empty, the value of counter Cwrr is composed reserved bandwidth for the formation of Q pointed than last bandwidth minimum particle size, the commentaries on classics step e;
E. the queue number that selected current pointer Q points to subtracts 1 as the queue number of need scheduling with Cwrr.After subtracting 1,, the value of counter Cwrr is composed reserved bandwidth for the formation of Q pointed than last bandwidth minimum particle size, finish if Cwrr=0 points to next formation with pointer Q.
If a F. last dispatching cycle of selected formation is empty, change step D; If the formation of selecting a last dispatching cycle is not empty, the queue number that the queue number that still kept selected last one-period to select is dispatched as need finishes.
Step B need judge according to the result of strict priority scheduling module last dispatching cycle, the pointer Q that mentions among step C, D, the E points to next formation, be to choose successively according to the ascending of queue number, when pointing to formation N, next formation is formation 1.What the Weight Round Robin module was used is ripe method, and the characteristics of this algorithm are in a dispatching cycle, if all formations are not empty entirely, necessarily can select the formation of non-NULL.The present invention uses this method as the replenishing of track poll scheduler module, the bandwidth that is unlikely to waste network node when the track polling dispatching is failed like this.
3, in the step (3), if track poll scheduler module has been selected effective queue number, just be not queue number " failure ", the strict priority scheduling module is selected the scheduling result of track poll scheduler module so; Otherwise if the queue number that track poll scheduler module is selected is " failure ", the strict priority scheduling module is selected the scheduling result of Weight Round Robin module.
4, the realization of step (4) is divided into two kinds of situations according to the difference of applied environment:
If realizing the packet of network node of the present invention is isometric packet, then directly forwarding step (3) chooses first packet of formation just to finish step (4).
If realize that packet is elongated on the network node of the present invention, then the implementation method of step (4) is as follows:
If A. be scheduling first after fluid track array generates,, these counter preliminary examination are turned to 0 for deficit counter of each queue definitions; If not scheduling first, directly begin step B.
Increase L B. for the deficit counter of the current formation of choosing
Max, first open to start from this formation then and send packet, it is long from the bag that the deficit counter of this formation deducts this packet whenever to send out a packet; When the bag of the packet that sends to formation head was grown up value in the deficit counter of this formation, transmission finished, and perhaps sent to formation and sent when empty and finish.If,, finish with the deficit counter O reset of this formation because formation is empty this queuing data bag transmission that finishes.
5, step (5) is implemented as follows:
If the service appointment situation changes, then need to recomputate fluid track array, and initializing variable again, and then dispatch according to new fluid track.
When performing step (5) and step (1), active and standby two groups of parameter spaces can be set in scheduler.When the service appointment situation changes, the new fluid track array that calculates is stored in the standby parameter space, and then, scheduler is equipped with parameter space from using the principal parameter space to be directly switch to and using, like this when the service appointment situation changes, scheduling that can interrupting service.When the service appointment situation changes next time, switch go back to the principal parameter space again.
The present invention has substantive distinguishing features and marked improvement, for the bandwidth usage degree, because in all business when be empty entirely, the Weight Round Robin module always can be selected in the scheduling topological structure of two-stage of the present invention needs the formation of serving, so the use network node bandwidth that the present invention can 100%; For fairness, can prove that the present invention can ensure that each formation utilized bandwidth reaches the bandwidth of this service appointment, and can be according to the idle bandwidth of each service appointment bandwidth pro-rata; Delay character, in the isometric network node of packet, delay character has reached the theoretical optimal level of attainable dispatching method, for the elongated network node of packet, good delay character is arranged also; For the simplicity that realizes, the present invention is owing to be according to track array polling dispatching, so the time complexity of its each scheduling is O (1), time complexity when Fluid Computation track array is O (N*R/r), because the track array is only just calculated once when subscription services changes, so this can't influence the performance of scheduling.Space complexity is O (N+R/r), such as the back end for 10Gbps, 128 formations is arranged, and the granularity of bandwidth is 1kbps, approximately only needs the space of 10Mbyte just can realize, so the present invention realizes easily.Because the increase of formation and the increase of network node bandwidth capacity are very little for realization influence of the present invention, so the present invention also is convenient to expand.
Embodiment
Provide following embodiment in conjunction with content of the present invention, the inventive method done further to understand:
Network node A has 4 business, and total bandwidth is 1Mbps, and the minimum bandwidth granularity is 40Kbps, maximum Bao Changwei 100 bytes, and the parameter K that the empty queue number is skipped in selected control continuously is 2.Except the transfer data packets time, be 200us the computing time that network node is finished dispatching office need.Each professional reserved bandwidth is professional 1:80kbps; Professional 2:160kbps; Professional 3:120kbps; Professional 4:40kbps, elongated by the packet of network node A, maximum Bao Changwei 100Bytes.Variation has taken place in the service appointment situation when 2000us, calculate new track array and need 1000us consuming time.The order that packet arrives network node is:
Package number | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Arrive formation | 1 | 2 | 3 | 2 | 2 | 1 | 2 | 4 | 2 |
Bag length/Byte | 70 | 40 | 50 | 50 | 60 | 60 | 50 | 80 | 50 |
Due in/us | 0 | 100 | 100 | 500 | 600 | 700 | 700 | 1000 | 1100 |
Step 1 generates fluid track array.Total reserved bandwidth is 80+160+120+40=400kbps, so the length of fluid track array is the 400kbps/40kbps=10 item.
1) initialization array Tstart=[0,0,0,0], Tend=[5,2.5,3.33,10] and, begin to calculate the 0th of track array, i.e. j=0;
2) the Tstart value of four formations all is not more than 0, corresponding Tend minimum be formation 2, so the 0th of track array is 2;
3) revise Tstart, the Tend value of formation 2 correspondences, thus Tstart=[0,2.5,0,0], Tend=[5,5,3.33,10] and, begin to calculate the 1st of track array;
4) formation 1,3, and the Tstart value of 4 correspondences is not more than 1, the value minimum of the corresponding Tend of these formations be formation 3, so the 1st of track array is 3;
5) revise Tstart, the Tend value of formation 3 correspondences, thus Tstart=[0,2.5,3.33,0], Tend=[5,5,6.67,10] and, begin to calculate the 2nd of track array;
6) the Tstart value of formation 1,4 correspondence is not more than 2, the value minimum of the corresponding Tend of these formations be formation 1, so the 2nd of track array is 1;
7) revise Tstart, the Tend value of formation 1 correspondence, thus Tstart=[5,2.5,3.33,0], Tend=[10,5,6.67,10] and, begin to calculate the 3rd of track array;
8) the Tstart value of formation 2,4 correspondences is not more than 3, and the Tend minimum of formation 2 correspondences wherein is so the 3rd of track array is 2;
9) revise Tstart, the Tend value of formation 2 correspondences, thus Tstart=[5,5,3.33,0], Tend=[10,7.5,6.66,10] and, begin to calculate the 4th of track array;
10) the Tstart value of formation 3,4 correspondences is not more than 4, and the Tend minimum of formation 3 correspondences wherein is so the 4th of track array is 3;
11) revise Tstart, the Tend value of formation 3 correspondences, thus Tstart=[5,5,6.66,0], Tend=[10,7.5,10,10] and, begin to calculate the 5th of track array;
12) formation 1,2, and the Tstart value of 4 correspondences is not more than 5, and the Tend minimum of formation 2 correspondences wherein is so the 5th of track array is 2;
13) revise Tstart, the Tend value of formation 2 correspondences, thus Tstart=[5,7.5,6.66,0], Tend=[10,10,10,10] and, begin to calculate the 6th of track array;
14) the Tstart value of formation 1,4 correspondence is not more than 6, and the Tend of formation 1 and formation 4 is 10, can choose at random a formation, might as well choose the less formation of queue number 1, so the 6th of track array is 1;
15) revise Tstart, the Tend value of formation 1 correspondence, thus Tstart=[10,7.5,6.66,0], Tend=[15,10,10,10] and, begin to calculate the 7th of track array;
16) the Tstart value of formation 3,4 correspondences is not more than 7, and the Tend value of formation 3 correspondences is less, so the 7th of track array is 3;
17) revise Tstart, the Tend value of formation 3 correspondences, thus Tstart=[10,7.5,10,0], Tend=[15,10,13.33,10] and, begin to calculate the 8th of track array;
18) the Tstart value of formation 2,4 correspondences is not more than 8, selects the less formation 3 of queue number, so the 8th of track array is 2;
19) revise Tstart, the Tend value of formation 2 correspondences, thus Tstart=[10,10,10,0], Tend=[15,12.5,13.33,10] and, begin to calculate the 9th of track array;
20) have only the Tstart value of formation 4 correspondences to be not more than 8, select the less formation 4 of queue number, so the 9th of track array is 4;
21) Tstart, the Tend value of modification formation 4 correspondences, thus Tstart=[10,10,10,10], Tend=[15,12.5,13.33,20];
22) calculate whole 10 of the fluid track array that is over, finish the generation of track array.
So fluid track array is [2,3,1,2,3,2,1,3,2,4], and it is joined end to end.
Then according to this track array data dispatching bag, owing to, need to realize the deficit counter for becoming bag fourdrinier wire network node.
The pointer P=0 of fluid track array is pointed in initialization, and the pointer Q=1 of formation is pointed in initialization, and counter Cwrr=80kbps/40kbps=2, counter that initialization is in the red are 0.
0 constantly, has only formation 1 that packet is arranged.Fluid trace scheduling module is read 2 continuously from the track array, corresponding queues all is empty, and fluid trace scheduling module is returned " failure ", the 3rd of pointer P sensing this moment track array; The Weight Round Robin module is chosen formation 1, after counter subtracts 1, and Cwrr=1; Because fluid trace scheduling module has been returned invalid queue number, the strict priority scheduling module is chosen formation 1; The deficit counter of formation 1 is added to 100, and sending data packet length is 70 bytes, and formation 1 is at this moment empty, the deficit counter O reset of formation 1, and packet 1 begins to send from 200us, and finish dispatching cycle during to 760us.
When beginning to send first packet, just the scheduling of next cycle can have been begun, just 200us begins scheduling for the second time constantly, formation 2 this moment and formation 3 are not empty, the pointer P of fluid trace scheduling module points to the 2nd of track array, is being checked through formation 1 for behind the sky, the 3rd of sensing track array, choose formation 2, pointer P points to the 4th of track array then; Because that last one-period uses is the Weight Round Robin result, the Weight Round Robin module is dispatched once more, and the Weight Round Robin module is chosen formation 1, but formation 1 is empty, points to formation 2 so pointer Q changes into, and it is 4 that Cwrr composes; The strict priority scheduling module is chosen the formation of being selected by the trace scheduling module 2, the deficit counter of formation 2 is increased to 100, finishes because last one-period sends to 760us, has had packet to send packet 2 continuously in formation this moment, packet 4, after having sent these two packets, the deficit counter is also surplus 10, though this moment packet 7 in formation, but because the counter intermediate value is not enough, can't send, send from 760us to 1480us, the deficit counter of formation 2 is left 10.
760us begins to dispatch for the third time, formation 1 this moment, 2,3 is not empty, and fluid trace scheduling module is chosen formation 3, then pointer P is pointed to the 5th of track array, because that last one-period selects for use is the result of fluid trace scheduling, because still not for empty, the Weight Round Robin module is still chosen formation 2 this dispatching cycle in the formation 2 that one-period is chosen on the Weight Round Robin module, Cwrr and pointer Q do not change.The strict priority scheduling module is chosen formation 3, and transfer data packets 3 is transmitting the back owing to queue empty, and the deficit counter O reset of formation 3 transmits from 1480us to 1880us.
1480us begins the 4th scheduling, and fluid trace scheduling module is chosen formation 2; The Weight Round Robin module is still constant; The strict priority scheduling module is chosen formation 2, and the deficit counter increases by 100, becomes 110, transmission packet 5 that can be continuous and packet 7, and the deficit counter is kept to 0, and formation also is empty, sends to last till 2760us.
1880us begins the 5th scheduling, transfer data packets 6.Transmission is from 2760us to 3240us.
2000us Time Bandwidth reservation situation changes, and professional 2 reserved bandwidth changes 40kbps into, and the track array is recalculated as [3,1,2,3,1,3,4], and it is stored in the standby parameter space.The calculating of track array 1000us consuming time.
2760us begins the 6th scheduling, and transfer data packets 8 transmits from 3240us to 3880us.
3240us begins the 7th scheduling, switches to new track array, sends packet 9 then.
Implementation result: from present embodiment as can be seen, the inventive method is in scheduling process, and amount of calculation is little, is easy to expansion, and packet can in time obtain scheduling, and the scheduling time delay is little.
Claims (9)
1, a kind of fluid track polling dispatching method is characterized in that method step is as follows:
(1) calculates fluid track array according to the service appointment situation;
(2) if all formations are not empty entirely, track poll scheduler module is selected the formation of a need scheduling, and the Weight Round Robin module is selected the formation of a need scheduling simultaneously; If all formations are empty entirely, go back to step (2) next dispatching cycle;
(3) the strict priority scheduling module is selected a formation from two formations that step (2) is selected;
(4) transmit packet in the formation that the strict priority scheduling module selects;
(5), change step (1) if the service appointment situation changes; If the service appointment situation does not change, change step (2);
One group of parameter space or active and standby two groups of parameter spaces are set in scheduler; If be active and standby two groups of parameter spaces, when the service appointment situation changes, the new scheduling track array that calculates is stored in the standby parameter space, then, scheduler is equipped with parameter space from using the principal parameter space to be directly switch to and using; When the service appointment situation changes next time, switch go back to the principal parameter space again.
2, fluid track polling dispatching method according to claim 1 is characterized in that, step (1) is implemented as follows:
A. define two arrays, Tstart, initial markers array, Tend finishes the markers array, and each array all is the N item, 1, the second all corresponding formation 2 of the 1st all corresponding formation of two arrays, by that analogy; All of Tstart all are initialized as 0, and each of Tend is initialized as the reserved bandwidth of total reserved bandwidth than last corresponding formation, and just the i item of Tend is initialized as R '/r
iDefined variable j represents the j item of current calculating track array, and is 0 with this initialization of variable, just since the 0th calculating;
If B. finish the n item of track array as calculated, finish the calculating of track array; If also do not calculated the n item, all are satisfied the queue definitions that corresponding Tstart value is less than or equal to current j value is a collection of queues, choose minimum one of the Tend value of formation correspondence in this set, have the queue number of minimum Tend formation to compose j item this to the track array;
C. the Tend of the formation selected among the step B is composed Tstart, the Tend of this formation correspondence is increased R '/r to this formation correspondence
i, j increases by 1, changes step B;
N is a professional number total on this network node, and each business all shows as a formation in network node, and a queue number is respectively arranged: 1,2,3 ..., N; R is the physical link bandwidth of network node output port; L
MaxFor the maximum bag of the packet by this network node long; R is the minimum particle size of reserved bandwidth, and professional reserved bandwidth is that network node is necessary for the minimum bandwidth that this business ensures, the bandwidth minimum particle size is meant the least unit of reserved bandwidth when metering, and promptly reserved bandwidth all must be the natural several times of bandwidth minimum particle size; r
iReserved bandwidth for professional i; R ' is total reserved bandwidth, and total reserved bandwidth is the summation of all service appointment bandwidth; N is the ratio of total reserved bandwidth and bandwidth minimum particle size; S is a fluid track array, and it is an one-dimension array that the n item is arranged, from the 0th to the n-1 item, be used for storing the scheduling track; s
jBe the i item of track array S, and 0<s
j≤ N.
3, fluid track polling dispatching method according to claim 2 is characterized in that, the scheduling result of the simulating GPS of fluid track array generates, after the fluid track array S that generates is joined end to end, and the s of same queue number
jEvenly distribute in the fluid track array of circulation, the interval of appearance about equally.
4, fluid track polling dispatching method according to claim 1 is characterized in that, step (2) is implemented as follows:
● track poll scheduler module is selected the formation of a need scheduling, and concrete steps are as follows:
If A. be scheduling first after the generation of scheduling track array, the pointer P that scheduling track array is pointed in one of initialization points to the 0th with it; Otherwise, directly change step B;
B. the value of the array item that points to P checks as queue number whether this formation is empty, if be empty, and commentaries on classics step C; Otherwise change step D;
If C. continuous review all is empty to K formation, wherein, 0<K<N points to next array item with P, returns queue number " failure ", finishes this scheduling; If also there is not continuous review to arrive K empty queue, P is pointed to next array item, change step B;
The value of the array item that D. selected current P points to is pointed to next array item as the queue number of need scheduling with P, finishes this scheduling;
Choose the formation of non-NULL among the step C by parameter K as far as possible; P among step C, the D points to next array item, and this is meant after generating track numerical value, and it is joined end to end circlewise, and P points to next array item P increase just 1, if P has equaled n-1, just P being composed is 0;
● the Weight Round Robin module is selected the formation of a need scheduling, and concrete steps are as follows:
If A. be the scheduling first after fluid track array generates, pointer Q who points to formation of preliminary examinationization points to formation 1 with it, defines a counter Cwrr, this counter is initialized as reserved bandwidth that pointer Q points to formation than last bandwidth minimum particle size, changes step C; After fluid track array generates, dispatch first, directly change step B;
If B. last strict priority scheduling module selection dispatching cycle is the scheduling result of Weight Round Robin module, change step C; If last strict priority scheduling module selection dispatching cycle is the scheduling result of track poll scheduler module, change step F;
If C. the formation of pointer Q sensing is empty,, change step D with the next formation of Q pointed; If the formation that pointer Q points to is not empty, change step e;
If D. the formation of pointer Q sensing is empty,, re-execute step D with the next formation of Q pointed; If the formation that pointer Q points to be empty, the value of counter Cwrr is composed reserved bandwidth for the formation of Q pointed than last bandwidth minimum particle size, the commentaries on classics step e;
E. the queue number that selected current pointer Q points to subtracts 1 as the queue number of need scheduling with Cwrr; After subtracting 1,, the value of counter Cwrr is composed reserved bandwidth for the formation of Q pointed than last bandwidth minimum particle size, finish if Cwrr=0 points to next formation with pointer Q;
If a F. last dispatching cycle of selected formation is empty, change step C; If the formation of selecting a last dispatching cycle is not empty, the queue number that the queue number that still kept selected last one-period to select is dispatched as need finishes;
Step B judges that according to the result of the last dispatching cycle of strict priority scheduling module the pointer Q among step C, D, the E points to next formation, is to choose successively according to the ascending of queue number, and when pointing to formation N, next formation is formation 1.
5, fluid track polling dispatching method according to claim 4 is characterized in that, track poll scheduler module is dispatched successively according to the scheduling track that calculates, and when running into empty queue, skips K empty queue in the one-period at most continuously, 0<K<N; The Weight Round Robin module is in a dispatching cycle, if all formations are not empty entirely, one selects the formation of non-NULL surely.
6, fluid track polling dispatching method according to claim 1 is characterized in that, in the step (3), if track poll scheduler module has been selected effective queue number, the strict priority scheduling module is selected the scheduling result of track poll scheduler module; Otherwise if the queue number that track poll scheduler module is selected is " failure ", the strict priority scheduling module is selected the scheduling result of Weight Round Robin module.
7, fluid track polling dispatching method according to claim 1 is characterized in that, in the step (4), according to the two kinds of situations that are divided into of applied environment:
If the packet of the network node of using is isometric packet, then directly forwarding step (3) chooses first packet of formation just to finish step (4);
If packet is elongated on the network node of using, then the implementation method of step (4) is as follows:
If A. be scheduling first after fluid track array generates,, these counter preliminary examination are turned to 0 for deficit counter of each queue definitions; If not scheduling first, directly begin step B;
Increase L B. for the deficit counter of the current formation of choosing
Max, L
MaxLong for the maximum bag of the packet by this network node, first open to start from this formation then and send packet, it is long from the bag that the deficit counter of this formation deducts this packet whenever to send out a packet; When the bag of the packet that sends to formation head was grown up value in the deficit counter of this formation, transmission finished, and perhaps sent to formation and sent when empty and finish; If,, finish with the deficit counter O reset of this formation owing to be sent as and empty finish that this queuing data bag sends.
8, fluid track polling dispatching method according to claim 1 is characterized in that, step (5) is implemented as follows:
If the service appointment situation changes, then need to recomputate fluid track array, and initializing variable again, and then dispatch according to new fluid track.
9, fluid track polling dispatching method according to claim 1 is characterized in that, when performing step (5) and step (1), one group of parameter space or active and standby two groups of parameter spaces is set in scheduler; If be active and standby two groups of parameter spaces, when the service appointment situation changes, the new scheduling track array that calculates is stored in the standby parameter space, then, scheduler is equipped with parameter space from using the principal parameter space to be directly switch to and using; When the service appointment situation changes next time, switch go back to the principal parameter space again.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03116984 CN1203688C (en) | 2003-05-16 | 2003-05-16 | Fluid track dispatching method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03116984 CN1203688C (en) | 2003-05-16 | 2003-05-16 | Fluid track dispatching method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1472936A CN1472936A (en) | 2004-02-04 |
CN1203688C true CN1203688C (en) | 2005-05-25 |
Family
ID=34152644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03116984 Expired - Fee Related CN1203688C (en) | 2003-05-16 | 2003-05-16 | Fluid track dispatching method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1203688C (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100359863C (en) * | 2004-12-31 | 2008-01-02 | 中兴通讯股份有限公司 | Method and apparatus for realizing weighted round-robin scheduling using pseudo-random sequence |
CN1897566B (en) * | 2005-07-14 | 2010-06-09 | 中兴通讯股份有限公司 | System and method for realizing convergent point service quality guarantee based on class grading |
CN100505688C (en) * | 2005-11-23 | 2009-06-24 | 中国科学院计算技术研究所 | A difference weight queue scheduling apparatus and scheduling method for network processor |
CN100459751C (en) * | 2006-07-07 | 2009-02-04 | 华为技术有限公司 | Uplink dispatch method controlled by base station |
CN101505273B (en) * | 2009-03-04 | 2011-07-13 | 中兴通讯股份有限公司 | Switch and scheduling method for implementing private network packet thereof |
CN106789716B (en) * | 2016-12-02 | 2019-08-13 | 西安电子科技大学 | The MAC layer array dispatching method of TDMA ad hoc network |
CN112737941B (en) * | 2020-12-21 | 2022-05-24 | 北京信而泰科技股份有限公司 | Network flow scheduling method, device and computer readable medium |
-
2003
- 2003-05-16 CN CN 03116984 patent/CN1203688C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1472936A (en) | 2004-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8948189B2 (en) | System and method for scheduling reservation requests for a communication network | |
Duato et al. | MMR: A high-performance multimedia router-Architecture and design trade-offs | |
CN1593044A (en) | Method and system for congestion avoidance in packet switching devices | |
CN101568026A (en) | Method for distributing optimum rate for extensible video stream multi-rate multi-cast communication | |
CN1636349A (en) | Apparatus and method for packet scheduling | |
JP3306705B2 (en) | Packet transfer control device and scheduling method thereof | |
CN1855871A (en) | Method for operating a packet based data network | |
CN1681263A (en) | Method and system for actively managing central queue buffer allocation using a backpressure mechanism | |
CN101035078A (en) | Token-based Internet traffic control method | |
CN101286949A (en) | Wireless Mesh network MAC layer resource scheduling policy based on IEEE802.16d standard | |
CN1203688C (en) | Fluid track dispatching method | |
WO2013025703A1 (en) | A scalable packet scheduling policy for vast number of sessions | |
CN1866927A (en) | Information switching realizing system and method and scheduling algorithm | |
CN1376345A (en) | Hierarchical prioritized round robin (HPRR) scheduling | |
CN1960342A (en) | Method for putting apart a bandwidth in advance, and equipment for implementing bandwidth put apart in advance | |
Wu et al. | Network congestion avoidance through packet-chaining reservation | |
CN1518296A (en) | Method of implementing integrated queue scheduling for supporting multi service | |
CN1643874A (en) | Scheduling using quantum and deficit values | |
CN1859279A (en) | Method for dispatching variable length data packet queue in crossbar switching matrix | |
CN1889521A (en) | Data dispatching method and system | |
CN1192563C (en) | Band width split method using emulation weighting reasonable queue technology | |
CN1893389A (en) | Stream scheduling method | |
US7756037B2 (en) | Oversubscription of guaranteed bandwidth | |
CN1878132A (en) | Method and system for realizing variable-length packet switching | |
CN1933441A (en) | Router exchange structure for supporting uniform exchange and service quality guarantee method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |