CN100450102C - Method and apparatus for multiuser QOS dispatching - Google Patents

Method and apparatus for multiuser QOS dispatching Download PDF

Info

Publication number
CN100450102C
CN100450102C CNB2006101404756A CN200610140475A CN100450102C CN 100450102 C CN100450102 C CN 100450102C CN B2006101404756 A CNB2006101404756 A CN B2006101404756A CN 200610140475 A CN200610140475 A CN 200610140475A CN 100450102 C CN100450102 C CN 100450102C
Authority
CN
China
Prior art keywords
user
token
scheduling
module
token bucket
Prior art date
Application number
CNB2006101404756A
Other languages
Chinese (zh)
Other versions
CN1949748A (en
Inventor
梁冰
孙浩
杨继涛
Original Assignee
华为数字技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为数字技术有限公司 filed Critical 华为数字技术有限公司
Priority to CNB2006101404756A priority Critical patent/CN100450102C/en
Publication of CN1949748A publication Critical patent/CN1949748A/en
Application granted granted Critical
Publication of CN100450102C publication Critical patent/CN100450102C/en

Links

Abstract

The invention discloses a method and device for making QOS scheduling for multiple users, belonging to communication technical field. And the invention advances a method for implementing MDRR algorithm by token bucket and finally implementing users'QOS scheduling, comprising the concrete steps of: according to the configured QOS informatiojn table, regularly refreshing token number in token bucket; finding the to-be-scheduled user number in scheduling matrix in round robin mode; according to the user number, sending out scheduling request; obtaining the previous scheduling result feedback, and executing the scheduling request. And the invention also provides a device for implementing QOS scheduling for multiple users, comprising configuration module, token bucket refreshing module, scheduling matrix updating module, round robin module, scheduling request sending module and token removing module.

Description

A kind of method and apparatus that the multi-user is carried out the QOS scheduling

Technical field

The present invention relates to communication technique field, particularly a kind of method and apparatus that the multi-user is carried out QOS (Quality of Service service quality) scheduling.

Background technology

The dispatching algorithm of QOS has a variety of, and wherein RR (Round Robin-circulation) is the simplest, and promptly all users are taking turns one by one, and everybody chance all is impartial, and it is suitable for all users' the importance and the identical situation of flow of permission.Use more flexibly for more senior, different such as each user's weight, perhaps the flow of Yun Xuing is inequality, even the formation of each inner queue support different priorities, and when strict situations such as priority were arranged between these formations, RR was helpless.Therefore at various applicable cases, various dispatching algorithms have appearred.Such as, at the different situation of each user's weight, WRR (Weighted Round Robin-weighted round ring) dispatching algorithm has appearred; The inequality and different situation of length of data package each scheduling of flow at each user's permission, for example DRR (circulation of Deficit Round Robin-difference) dispatching algorithm has appearred in the bag length of the Ethernet arbitrary value that can be 64 bytes in 9600 bytes; Inequality at the flow that each user allows, the scheduling of each user's internal support strict-priority simultaneously MDRR (the improved difference circulation of ModifiedDeficit Round Robin-) dispatching algorithm occurred and has solved this problem.Also have DWRR (circulation of DynamicWeighted Round Robin-dynamic weighting), SHVC (Shaping Virtual Clock-shaping dummy clock), CAR (access rate that Committed Access Rate-promises to undertake), WRED dispatching algorithms such as (Weighted RED-weighting RED) in addition, be applicable to different applicable cases respectively.

MDRR is as the dispatching algorithm of a kind of QOS, and the bag that writes down last time scheduling residue or deficiency is long, is compensating in the scheduling next time, and is dispatching passage for priority query has opened up SP (Strict Priority-strict priority).Specifically be exactly user of each visit, judge whether to allow to dispatch the bag of some according to this user configured bandwidth, if then these packet schedulings are gone out, note the byte number that exceeds the user bandwidth set point simultaneously, when dispatching etc. next round, less data are accessed, to compensate the part that accessed last time more.Dispatch next user again after having dispatched this user, repeating query successively.Like this, for a long time, allow the mean value of the data that are scheduled away just to equal this user configured bandwidth at every turn, the flow data of different priorities can be arranged below each user simultaneously, follow the SP scheduling between each flow data.

The method that realizes the QOS scheduling mainly contains barrel and two kinds of token buckets with Louing.Whether leak bucket method and be meant according to user configured speed, periodically detecting this user has data to need scheduling, and the speed of configuration is big more, and the speed that detects and dispatch is fast more.Token bucket methodology is meant according to user configured speed, regularly in token bucket, add token, when the user has data to dispatch, from token bucket, take out corresponding token, obtain scheduling simultaneously, the speed of configuration is fast more, and the speed that adds token in the token bucket is fast more.

Mainly contain two kinds of single-rate and dual rate for the application of QOS.Single-rate is meant only joins a speed to certain user, and this user will can not get scheduling greater than the part of the speed that is disposed.Dual rate is meant certain user disposed two speed, i.e. CIR (speed that Committed Information Rate-promises to undertake) and PIR (Peak Information Rate-flank speed).CIR is for no matter whether current network is congested, that part of speed that must guarantee; PIR is current network when not congested, allows the flank speed that is scheduled.

At the realization of dual rate, can realize that the SHVC algorithm is achieved with leaking the bucket scheme.As shown in Figure 1, the SHVC module has N flywheel, each flywheel is represented a kind of special speed, deposit user ID in the tourbillon, the N value is big more, and its speed that can represent combination is many more, represents the flow of 1Gbps such as the 1st flywheel, the 2nd flywheel represented the flow of 500Mbps, and the 3rd flywheel represented the flow of 250Mbps.Each writes 1.75Gbps is joined in 1 expression of user number to user 1 flow in these three flywheels.The N value is big more, the least unit of the speed of its configuration can be more little or maximum magnitude can be big more.Time stamp is a time tag, is used for representing the time point that the next user of current flywheel need be read out.When repeating query during to N flywheel, the time stamp of system time counting and current flywheel relatively, if system time greater than the time stamp of current flywheel, user ID of then current flywheel output.As shown in Figure 2, user CIR flywheel adopts the SHVC dispatching algorithm to constitute, the user rate that configuration must guarantee, user PIR flywheel adopts the SHVC dispatching algorithm to constitute, and configure user allows to surpass the extra speed of CIR part, and the user organizes the CIR flywheel and adopts the SHVC dispatching algorithm to constitute, the user that configuration must guarantee organizes speed, the user organizes the PIR flywheel and adopts the SHVC dispatching algorithm to constitute, and the configure user group allows to surpass the extra speed of CIR part, and speed restricts export.1 user organizes corresponding 1 CIR and leaks bucket and 1 PIR leakage bucket.The user ID of user's flywheel output is deposited in Lou bucket, and the user organizes the output flow that bucket is leaked in flywheel control.The function of dual rate is achieved in that when the speed of user of configuration or user's group, at first its speed is decomposed and be configured in the middle of each flywheel, the speed that user ID of reading from this flywheel according to total speed decision of the user who disposes in this flywheel or user organize ID.After configuration finishes, at first user's flywheel goes out user ID according to the speed repeating query of configuration, user's group number that the user ID that goes out according to this repeating query is tabled look-up and obtained this user's correspondence, put into this user and organize corresponding leakage bucket, the user ID that repeating query goes out in the user CIR flywheel is put into figure CIR and is leaked bucket, and the user ID that repeating query goes out in the user PIR flywheel is put into figure PIR and leaked bucket; The user organizes the CIR flywheel and also goes out user's group number according to the speed repeating query of its configuration then, from the user of correspondence organizes bucket Lou, spill CIR according to this user's group number and leak user number in the bucket, if CIR leaks in the bucket without any data, then organizing user's group number that the repeating query of PIR flywheel goes out according to the user spills PIR and leaks user number in the bucket from the leakage bucket of user's group of correspondence, read the limit priority information of data of this user's needs scheduling according to this user number, send dispatch request.So the repeating query that does not always stop makes the user of configuration or the dual rate of user's group be achieved.

But above method has significant limitation, increase if user or user organize number, perhaps the progression of scheduling increases, and for example more than user user organizes two-stage but three grades or level Four scheduling, software decomposes and the workload of configured rate will increase greatly, has increased the difficulty of software design.Adopt this method also can consume very large logical resource, at first each user organizes a corresponding CIR and PIR leakage bucket, each leaks bucket with regard to corresponding a slice spatial cache, if the number of user's group increases, the spatial cache that needs will be very big, and the outer RAM (Random Access Merory-random asccess memory) of necessary lacing film; Secondly if the least unit of the speed of feasible configuration is more little or maximum magnitude is big more, need more flywheel, each flywheel is with regard to corresponding a slice spatial cache, and flywheel must use FPGA (Field Programmable Gate Array-field programmable gate array) sheet stored resource based on the requirement of access speed, needs very many FPGA internal storage resources like this; If number of users increases and can make the degree of depth of flywheel increase once more, also can increase expending to the FPGA resource.

Summary of the invention

In order to solve the multi-user is carried out QOS when scheduling, because the increase of number of users, perhaps dispatching progression increases, cause the workload of software decomposition and configured rate to increase greatly, and its implementation consumes very large shortcoming to logical resource, the present invention proposes a kind of employing token bucket and realizes improved difference circulation MDRR dispatching algorithm, and maintenance and user's repeating query of token bucket separated, operation finally realizes user's QOS dispatching method independently of one another.Described method specifically may further comprise the steps:

According to the token number in the configured QOS information table periodic refreshing token bucket, and, upgrade the schedule information of active user in the dispatch matrix according to the state of active user in the quene state mapping table;

Dispatch matrix is carried out repeating query, go out to need the user number of scheduling up to repeating query;

This user's flow queue state in the user number query request state mapping map that goes out according to repeating query, needing to obtain scheduling stream precedence information and send dispatch request;

After obtaining last scheduled result feedback, carry out described dispatch request, and according to the last scheduled result who feeds back to, deduct the token number that spends the token bucket that is scheduled from last time, upgrade dispatch matrix.

Described step according to the token number in the configured QOS information table periodic refreshing token bucket specifically comprises:

Configuration schedules speed in the QOS information table, and scheduling rates is decomposed into two-forty and low rate, allocate two-forty territory and low rate territory respectively into;

According to the scheduling rates of configuration, the token number in the periodic refreshing token bucket.

The step of active user's schedule information specifically comprises in the described renewal dispatch matrix: according to the token number in the described token bucket whether greater than the threshold value of setting, and whether this user has data to need scheduling in the quene state mapping table, upgrades this user number data of corresponding positions in the dispatch matrix.

Token number in the described periodic refreshing token bucket comprises that two-forty refreshes with low rate and refreshes, described two-forty refreshes according to joining speed in the described QOS information table two-forty territory and obtains the token number that needs increase, and described low rate refreshes according to joining speed in the described QOS information table low rate territory and obtains the token number of needs increase.

Described two-forty refreshed to refresh with low rate must refresh all token buckets that finish in the refresh cycle, if can't refresh all token buckets that finish in the refresh cycle, then will expand the refresh cycle.

Described token bucket is the User Token bucket.

Described token bucket comprises that User Token bucket and user organize token bucket.

Described scheduling rates is a committed rate.

Described scheduling rates is a flank speed.

The present invention also provides a kind of device that the multi-user is carried out the QOS scheduling, it is characterized in that described device comprises configuration module, token bucket refresh module, dispatch matrix update module, repeating query module, dispatch request sends module and token deducts module;

Described configuration module is used to dispose the QOS information table, and configuration result is sent to described token bucket refresh module;

The configuration result that described token bucket refresh module sends according to described configuration module, the token number in the periodic refreshing token bucket;

Described dispatch matrix update module is used for the state according to quene state mapping table active user, upgrades the schedule information of active user in the dispatch matrix;

Described repeating query module is used for repeating query and goes out dispatch matrix and need the user number dispatched, and this user number is sent to described dispatch request sends module;

Described dispatch request is sent module and is used for the user number that repeating query goes out according to described repeating query module, and this user's flow queue state sends this user's dispatch request in the query request state mapping map;

Described token deducts module and is used for according to the last scheduled result that feeds back to, deducts the token number that spends the token bucket that is scheduled from last time.

Described configuration module comprises rate configuration unit and the dark dispensing unit of token bucket bucket;

Described rate configuration unit is used for configuration schedules speed;

It is dark that the dark dispensing unit of described token bucket bucket is used to dispose the bucket of token bucket.

Technical scheme of the present invention is not only supported multi-user's dual rate scheduling, and the single-rate that is applicable to the multi-user is dispatched, its expansion can also be supported two-stage or multistage dual rate user's scheduling, the flow set mode of the simplification logical design of Ti Chuing and token computation method simultaneously, solved the user effectively and increased FPGA resource and the allocation problem that brings with scheduling progression, greatly reduce the difficulty of logic realization, this collocation method be applicable to the QOS technology that realizes of useful token bucket.

Description of drawings

Fig. 1 is a SHVC dispatching algorithm fundamental diagram in the prior art;

Fig. 2 is SHVC dispatching algorithm and a token bucket algorithm illustraton of model in the prior art;

Fig. 3 is that the present invention utilizes two token buckets to realize the logic diagram of MDRR algorithm;

Fig. 4 is the flow chart of the embodiment of the invention;

Fig. 5 is that the present invention organizes the structure drawing of device that two-stage is carried out the QOS scheduling to user and user.

Embodiment

The invention will be further described below in conjunction with the drawings and specific embodiments, but not as a limitation of the invention.

The invention provides a kind of method that realizes the multi-user is carried out the QOS scheduling with token bucket.Be scheduling to example with the QOS that uses two token buckets to realize that user and user organize the dual rate of two-stage below, the detailed process of QOS scheduling is described.To each user and two rate parameters of user's configuration set: CIR speed and PIR speed.To each user and two token buckets of user's configuration set: CIR token bucket and PIR token bucket are used for storing the token of CIR and PIR.Just increase token number in CIR and PIR token bucket at regular intervals, the token number of increase is by the speed decision of the CIR and the PIR of configuration, and token bucket no longer increases token when full in token bucket.When scheduling has taken place reality in the CIR bandwidth, from CIR and PIR token bucket, deduct corresponding token number; When the PIR bandwidth with interior reality scheduling has taken place beyond the CIR bandwidth, from the PIR token bucket, deduct corresponding token number.In order to realize two rate parameters of each user and user's configuration set, adopt following dispatching method: when the user has data to dispatch, judge whether the token number that active user and user organize in the CIR token bucket is enough,, then allow scheduling if enough, if it is not enough, judge then whether the token number that active user and user organize in the PIR token bucket is enough,, then allow scheduling if enough, otherwise do not allow scheduling, till token number is enough.

Referring to Fig. 3, use two token buckets to realize the logic diagram of MDRR algorithm for a kind of, thereby realize the user of dual rate and the QOS scheduling that the user organizes two-stage.Below in conjunction with this logic diagram the QOS scheduling process that user and user organize is described, referring to Fig. 4, its scheduling process is as follows:

Step 101: from configured port each user the QOS information table of user and user group and the CIR speed and the PIR speed of user's group are set, and CIR and PIR token bucket bucket are dark.User and user are organized related, logic initialization CIR token bucket, PIR token bucket, CIR dispatch matrix and PIR dispatch matrix.

The concrete grammar of configuration CIR speed and PIR speed is: be minimum speed unit with 8Kbps, with the speed between low rate domain representation 1 * 8Kbps to 999 * 8Kbps of 10bits, with the above speed of two-forty domain representation 1000 * 8Kbps of 8bits.Software must decompose the CIR and the PIR speed of user and user's group according to this collocation method, configures two-forty territory and low rate territory respectively.For example the CIR speed to user and user's group is configured to 88Kbps and 80.12Mbps respectively, software is decomposed into 11 * 8Kbps+0 * 8Mbps and 15 * 8Kbps+10 * 8Mbps respectively with these two CIR speed, 11 * 8Kbps representative of consumer CIR low rate wherein, 0 * 8Mbps representative of consumer CIR two-forty, 15 * 8Kbps representative of consumer group CIR low rate, 10 * 8Mbps representative of consumer group CIR two-forty, the binary number of 10 bits of decimal number 11 correspondences is 0000001011, the binary number of 8 bits of decimal number 0 correspondence is 00000000, the binary number of 10 bits of decimal number 15 correspondences is 0000001111, the binary number of 8 bits of decimal number 10 correspondences is 00001010, therefore to user CIR two-forty territory configuration 0, low rate territory configuration 11, the user organizes CIR two-forty territory configuration 10, and the user organizes CIR low rate territory configuration 15.The PIR speed of each user and user group according to being configured with the same collocation method of CIR speed, is obtained PIR two-forty territory and low rate territory.The token bucket bucket is dark to be unit with the byte, and a token in the token bucket is represented the scheduling authority of 1 byte.

Step 102: according to the CIR speed and the PIR speed of the user who is provided with and user's group, the QOS information management module is organized the QOS information table according to user and user, the CIR token bucket of periodic refreshing user and user's group and the token number in the PIR token bucket realize that user and user organize set CIR speed and PIR speed.Concrete steps are as follows:

Refresh the CIR token bucket of user and user group and during the PIR token bucket, with the N microsecond is to carry out two-forty the refresh cycle to refresh, with the M millisecond is to carry out low rate the refresh cycle to refresh, when two-forty refreshes, the data that the two-forty territory that obtains in the step 101 is disposed multiply by N, the token number that need increase when obtaining this two-forty refreshing token bucket of active user, when low rate refreshes, the data that the low rate territory that obtains in the step 101 is disposed multiply by M, the token number that need increase when obtaining this low rate refreshing token bucket of active user has so just been realized the two-forty and the low rate that are disposed.For example the user is disposed the speed of 80.12Mbps, at first software is decomposed into high rate area and low rate zone with the speed of 80.12M, be 80.12Mbps=10 * 8Mbps+15 * 8Kbps, so two-forty territory configuration 10, low rate territory configuration 15, the QOS information management module is to carry out two-forty the refresh cycle when refreshing with N μ s, the token number that each two-forty refreshes increase is the 10N byte, the two-forty refreshing frequency is 1s/N μ s time in one time in second, the token number that two-forty refreshes increase in a time in second multiply by refreshing frequency in 1 time in second for each token number that increases so, it is 10N * 1s/N μ s=10M byte, it is the token that increases 80Mbit each second, realized the two-forty of the 80Mbps that disposed, the QOS information management module is to carry out low rate the refresh cycle when refreshing with Mms, the token number that each low rate refreshes increase is the 15M byte, the low rate refreshing frequency is 1s/Mms time in one time in second, the token number that low rate refreshes increase in a time in second multiply by refreshing frequency in 1 time in second for each token number that increases so, it is 15M * 1s/Mms=15K byte, it is the token that increases 120Kbit each second, realize the low rate of the 120Kbps that disposed, so just realized the speed of the 80.12Mbps that joined.Wherein, parameter N and M can be positive integers arbitrarily in theory, but consider the simple of realization, and N can get 32 or 64 etc., and M can get 1,2 or 4 etc.

The QOS information management module must refresh the finish CIR of all users and user group and the token number in the PIR token bucket in the refresh cycle, finish in order to guarantee to refresh generally speaking, takes the processing method that CIR and PIR token bucket are refreshed simultaneously.If make token number in the token bucket that in the refresh cycle, can't refresh finish all users and user's group too much because user/the user who supports organizes number, then the refresh cycle can be expanded.

Step 103: if find that token number in the CIR token bucket of user and user's group is greater than the threshold value of setting during refreshing token bucket, illustrate that the user has enough token numbers that can be used to dispatch, if in this user's corresponding queues state mapping map non-empty queue is arranged simultaneously, then this user allows to be scheduled, and the information for " 1 " is refreshed in the position of QOS information management module this user's correspondence in the matrix update information module sends the CIR dispatch matrix; Otherwise the information for " 0 " is refreshed in the position of this user's correspondence in the matrix update information module sends the CIR dispatch matrix.In like manner generate PIR dispatch matrix refreshing information.

Step 104: the matrix update module is upgraded CIR dispatch matrix and PIR dispatch matrix according to the lastest imformation in the matrix update information module.

The CIR dispatch matrix is the RAM of the capable X row of X, has X * X storage cell altogether, corresponding X * X user's scheduling enabler flags.If the scheduling enabler flags position on the memory point of certain user's correspondence is " 1 ", represent that this user can be scheduled in the CIR bandwidth.Make matrix and can in the less resource of cost, reduce repeating query time of user.

The PIR dispatch matrix is the RAM of the capable X row of X, has X * X storage cell altogether, corresponding X * X user's scheduling enabler flags.If the scheduling enabler flags position on the memory point of certain user's correspondence is " 1 ", represent that this user can be scheduled in the PIR bandwidth.Make matrix and can in the less resource of cost, reduce repeating query time of user.

Step 105: the repeating query from CIR and PIR dispatch matrix of user's repeating query module goes out the user number that this need be dispatched, the stream of judging which priority of this user in the quene state mapping table according to this user number has data, find the stream of the limit priority of non-NULL, send this dispatch request.Concrete steps are:

The user takes turns the Xun module CIR dispatch matrix and PIR dispatch matrix is carried out synchronous scanning, according to the pattern of RR all users is dispatched.Paddle wheel Xun process so that 1024 users are example below: the user takes turns and at first begins scanning from user 0 after the Xun module resets, and the priority of scanning from 0 to 1023 is successively decreased, and the bit that judges which user's correspondence is 1, and then this user is exactly the user number that is scanned out.If the user number of dispatching out for the first time is 4, then be that 5 matrix dot begin scanning from user number next time, and scan priority from 5 to 1023 to 0 to 4 is successively decreased, and scans the user of matrix data for " 1 ".If the data in the CIR dispatch matrix all are 0, then judge the scanning result of PIR dispatch matrix, if the data of PIR dispatch matrix also all are 0, then the user take turns the Xun module restart scanning, so circulation is gone down, until scanning the user of first matrix data that scans for " 1 ".The stream of judging which priority of this user in the quene state mapping table according to the user number that goes out of wheel Xun has data, find the stream of the limit priority of non-NULL, the scheduling application of after the formation of scheduling result feedback feeds back to the last scheduled result, sending this, if this user's N priority does not all have data, then the user's that this time repeating query is gone out scan priority is made as the minimum scanning that restarts.

Step 106: last scheduling result is received in the formation of scheduling result feedback, user's dispatch request of buffer memory in the operation dispatching request queue, the scheduling result of the while QOS information management module last time that formation is received according to the scheduling result feedback, user who is scheduled from the last time and user organize and deduct the token number that spends the corresponding token bucket, obtain deducting that CIR and PIR dispatch matrix need updated information behind the token.

The QOS information management module is judged last dispatch request and is come out by the repeating query of CIR dispatch matrix, still come out by the repeating query of PIR dispatch matrix, if come out by the repeating query of CIR dispatch matrix, then the QOS information management module deducts the token number that spends from CIR token bucket and PIR token bucket, if come out by the repeating query of PIR dispatch matrix, then the QOS information management module deducts the token number that spends from the PIR token bucket.

Step 107:QOS information management module upgrades the lastest imformation in the matrix update information module, and execution in step 104 is up to finishing scheduling.

What present embodiment was realized is the QOS scheduling of the dual rate of two-stage, i.e. the QOS scheduling of the CIR of user and user group and PIR.The method of the invention is not only applicable to the QOS scheduling of dual rate, but also is applicable to the QOS scheduling of single-rate, and concrete implementation method is exactly the token bucket of configuration single-rate, and its scheduling process is the same with top described step, here no longer narration.The method of the invention is also supported multistage QOS scheduling simultaneously, by increasing corresponding token bucket, just can realize multistage QOS scheduling.Its scheduling process is also the same with top described step, here also no longer narration.

Employing is decomposed into two-forty and low rate with the flow that is provided with, and two-forty territory and low rate territory are gone in configuration respectively, at the method for two territories with different refresh rate refreshing token buckets, have reduced the difficulty of logic realization widely.When in the prior art the QOS information table of user and user group being provided with, a total speed generally only is set, be regardless of CIR/PIR two-forty and CIR/PIR low rate, why the present invention requires software speed to be decomposed into high low rate setting when being provided with based on following reason:

1. because the rate representation 1000Kbps of 1Mbps is set, but not 1024Kbps has avoided software to do the conversion of 10 systems to 16 systems like this when speed is set, is convenient to software setting.

2. high low rate is separated makes that the set speed of realization is quite simple.If only being set, a total speed certainly will make that the refresh cycle of two-forty and low rate is the same.Because the least unit of token is to be unit with the byte, the refresh cycle that user and user are organized the QOS information table must be 1ms so, if the higher meeting of the speed of She Zhiing makes and drops into a lot of tokens in token bucket so at every turn, flow-rate ratio is more rough, and burst is very serious.If improve the refresh cycle, logic must own make a decision this speed, makes corresponding processing according to the range of flow that is provided with, and certainly will increase the difficulty of logic realization so greatly.

Referring to Fig. 5, the present invention also provides a kind of device that the multi-user is carried out the QOS scheduling, and device comprises configuration module, token bucket refresh module, dispatch matrix update module, repeating query module, dispatch request sends module and token deducts module;

Configuration module is used to dispose the QOS information table, and configuration result is sent to the token bucket refresh module;

The configuration result that the token bucket refresh module sends according to configuration module, the token number in the periodic refreshing token bucket;

The dispatch matrix update module is used for the state according to quene state mapping table active user, upgrades the schedule information of active user in the dispatch matrix;

The repeating query module is used for repeating query and goes out dispatch matrix and need the user number dispatched, and this user number is sent to dispatch request sends module;

Dispatch request is sent module and is used for the user number that repeating query goes out according to the repeating query module, and this user's flow queue state sends this user's dispatch request in the query request state mapping map;

Token deducts module and is used for according to the last scheduled result that feeds back to, deducts the token number that spends the token bucket that is scheduled from last time.

Configuration module comprises rate configuration unit and the dark dispensing unit of token bucket bucket;

The rate configuration unit is used for configuration schedules speed;

It is dark that the dark dispensing unit of token bucket bucket is used to dispose the bucket of token bucket.

Above-described embodiment is more preferably embodiment a kind of of the present invention, and the common variation that those skilled in the art carries out in the technical solution of the present invention scope and replacing all should be included in protection scope of the present invention.

Claims (11)

1. the method that the multi-user is carried out QOS scheduling is characterized in that, realizes improved difference circulation MDRR dispatching algorithm with token bucket, and maintenance and user's repeating query of token bucket separated, and moves independently of one another, and described method specifically may further comprise the steps:
According to the token number in the configured QOS information table periodic refreshing token bucket, and, upgrade the schedule information of active user in the dispatch matrix according to the state of active user in the quene state mapping table;
Dispatch matrix is carried out repeating query, go out to need the user number of scheduling up to repeating query;
This user's flow queue state in the user number query request state mapping map that goes out according to repeating query, needing to obtain scheduling stream precedence information and send dispatch request;
After obtaining last scheduled result feedback, carry out described dispatch request, and according to the last scheduled result who feeds back to, deduct the token number that spends the token bucket that is scheduled from last time, upgrade dispatch matrix.
2. the method that the multi-user is carried out the QOS scheduling as claimed in claim 1 is characterized in that described step according to the token number in the configured QOS information table periodic refreshing token bucket specifically comprises:
Configuration schedules speed in the QOS information table, and scheduling rates is decomposed into two-forty and low rate, allocate two-forty territory and low rate territory respectively into;
According to the scheduling rates of configuration, the token number in the periodic refreshing token bucket.
3. method of the multi-user being carried out the QOS scheduling as claimed in claim 1, it is characterized in that, the step of active user's schedule information specifically comprises in the described renewal dispatch matrix: according to the token number in the described token bucket whether greater than the threshold value of setting, and whether this user has data to need scheduling in the quene state mapping table, upgrades this user number data of corresponding positions in the dispatch matrix.
4. method of the multi-user being carried out the QOS scheduling as claimed in claim 2, it is characterized in that, token number in the described periodic refreshing token bucket comprises that two-forty refreshes with low rate and refreshes, described two-forty refreshes according to joining speed in the described QOS information table two-forty territory and obtains the token number that needs increase, and described low rate refreshes according to joining speed in the described QOS information table low rate territory and obtains the token number of needs increase.
5. method of the multi-user being carried out the QOS scheduling as claimed in claim 4, it is characterized in that, described two-forty refreshed to refresh with low rate must refresh all token buckets that finish in the refresh cycle, if can't refresh all token buckets that finish in the refresh cycle, then will expand the refresh cycle.
6. as the described method that the multi-user is carried out the QOS scheduling of any claim among the claim 1-5, it is characterized in that described token bucket is the User Token bucket.
7. as the described method that the multi-user is carried out the QOS scheduling of any claim among the claim 1-5, it is characterized in that described token bucket comprises that User Token bucket and user organize token bucket.
8. the method that the multi-user is carried out the QOS scheduling as claimed in claim 2 is characterized in that described scheduling rates is a committed rate.
9. the method that the multi-user is carried out the QOS scheduling as claimed in claim 2 is characterized in that described scheduling rates is a flank speed.
10. the device that the multi-user is carried out the QOS scheduling is characterized in that described device comprises configuration module, token bucket refresh module, dispatch matrix update module, repeating query module, dispatch request sends module and token deducts module;
Described configuration module is used to dispose the QOS information table, and configuration result is sent to described token bucket refresh module;
The configuration result that described token bucket refresh module sends according to described configuration module, the token number in the periodic refreshing token bucket;
Described dispatch matrix update module is used for the state according to quene state mapping table active user, upgrades the schedule information of active user in the dispatch matrix;
Described repeating query module is used for repeating query and goes out dispatch matrix and need the user number dispatched, and this user number is sent to described dispatch request sends module;
Described dispatch request is sent module and is used for the user number that repeating query goes out according to described repeating query module, and this user's flow queue state sends this user's dispatch request in the query request state mapping map;
Described token deducts module and is used for according to the last scheduled result that feeds back to, deducts the token number that spends the token bucket that is scheduled from last time.
11. the device that the multi-user is carried out the QOS scheduling as claimed in claim 10 is characterized in that described configuration module comprises rate configuration unit and the dark dispensing unit of token bucket bucket;
Described rate configuration unit is used for configuration schedules speed;
It is dark that the dark dispensing unit of described token bucket bucket is used to dispose the bucket of token bucket.
CNB2006101404756A 2006-10-09 2006-10-09 Method and apparatus for multiuser QOS dispatching CN100450102C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101404756A CN100450102C (en) 2006-10-09 2006-10-09 Method and apparatus for multiuser QOS dispatching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101404756A CN100450102C (en) 2006-10-09 2006-10-09 Method and apparatus for multiuser QOS dispatching

Publications (2)

Publication Number Publication Date
CN1949748A CN1949748A (en) 2007-04-18
CN100450102C true CN100450102C (en) 2009-01-07

Family

ID=38019135

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101404756A CN100450102C (en) 2006-10-09 2006-10-09 Method and apparatus for multiuser QOS dispatching

Country Status (1)

Country Link
CN (1) CN100450102C (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2007355223B2 (en) * 2007-06-19 2012-10-18 Optis Cellular Technology, Llc Methods and systems for scheduling resources in a telecommunication system
CN101938403B (en) * 2009-06-30 2012-02-22 中国电信股份有限公司 Assurance method of multi-user and multi-service quality of service and service access control point
CN102202410A (en) * 2010-03-23 2011-09-28 中兴通讯股份有限公司 Multi-user and multi-service scheduling method and device of wireless communication network
CN101969409B (en) * 2010-11-05 2013-05-08 南京邮电大学 Queue scheduling method based on timer and MDRR
CN103547330B (en) * 2012-12-12 2016-09-28 华为技术有限公司 User scheduling method and device thereof
CN103560974B (en) 2013-10-25 2017-01-25 华为技术有限公司 Method and device for maintaining tokens
CN105574292B (en) * 2016-01-29 2018-12-11 盛科网络(苏州)有限公司 A method of realizing that any bandwidth of multichannel is given out a contract for a project based on dynamic array
CN107896197A (en) * 2017-10-23 2018-04-10 深圳市楠菲微电子有限公司 Method and apparatus, the storage medium of forwarding rate are measured in communication equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862265B1 (en) * 2000-04-13 2005-03-01 Advanced Micro Devices, Inc. Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
US20050135243A1 (en) * 2003-12-18 2005-06-23 Lee Wang B. System and method for guaranteeing quality of service in IP networks
CN1658575A (en) * 2005-03-21 2005-08-24 北京北方烽火科技有限公司 Method for improving service quality in SGSN network processor
CN1663195A (en) * 2002-06-17 2005-08-31 英特尔公司 Token bucket parameters computation for guaranteed services in a data network
CN1787483A (en) * 2004-12-10 2006-06-14 华为技术有限公司 Flow controlling method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862265B1 (en) * 2000-04-13 2005-03-01 Advanced Micro Devices, Inc. Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
CN1663195A (en) * 2002-06-17 2005-08-31 英特尔公司 Token bucket parameters computation for guaranteed services in a data network
US20050135243A1 (en) * 2003-12-18 2005-06-23 Lee Wang B. System and method for guaranteeing quality of service in IP networks
CN1787483A (en) * 2004-12-10 2006-06-14 华为技术有限公司 Flow controlling method
CN1658575A (en) * 2005-03-21 2005-08-24 北京北方烽火科技有限公司 Method for improving service quality in SGSN network processor

Also Published As

Publication number Publication date
CN1949748A (en) 2007-04-18

Similar Documents

Publication Publication Date Title
US20170201582A1 (en) Cross-protocol distributed cloud storage system and data management method based on operation control unit
Shen et al. PriorityMAC: A priority-enhanced MAC protocol for critical traffic in industrial wireless sensor and actuator networks
Chen et al. ThriftyEdge: Resource-efficient edge computing for intelligent IoT applications
CN104079503B (en) A kind of resource allocation methods and device
Hoang et al. Performance optimization for cooperative multiuser cognitive radio networks with RF energy harvesting capability
Li et al. A bit-map-assisted energy-efficient MAC scheme for wireless sensor networks
Huang et al. Distributed throughput optimization for zigbee cluster-tree networks
US20160241481A1 (en) Traffic scheduling device
US9250863B1 (en) Managing virtual machine migration
US9288154B2 (en) Queue scheduling method and apparatus
CN104081736B (en) The system and method for schedule packet transmissions on client device
CN100477633C (en) Method for improving service quality in wireless network
US8325736B2 (en) Propagation of minimum guaranteed scheduling rates among scheduling layers in a hierarchical schedule
CN101420720B (en) Schedule and data caching for wireless tranmission
TWI477109B (en) A traffic manager and a method for a traffic manager
EP2193472B1 (en) Method and apparatus for managing license capacity in a telecommunication network
Yoo et al. Guaranteeing real-time services for industrial wireless sensor networks with IEEE 802.15. 4
CN1989738B (en) Propagation of minimum guaranteed scheduling rates
CN103442049A (en) Component-oriented mixed type cloud operating system structure and communication method thereof
Ren et al. Joint channel access and sampling rate control in energy harvesting cognitive radio sensor networks
US9734056B2 (en) Cache structure and management method for use in implementing reconfigurable system configuration information storage
CN106462389A (en) Context-aware dynamic policy selection for messaging behavior
CN1318968C (en) Method and system for real-time scheduling
Koubaa et al. i-GAME: an implicit GTS allocation mechanism in IEEE 802.15. 4 for time-sensitive wireless sensor networks
CN100596159C (en) Method for processing multiprogress message and method for processing multiprogress talk ticket

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
C14 Grant of patent or utility model
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20121009

C17 Cessation of patent right