This non-temporary patent application requires to submit on February 25th, 2000, sequence number is No.60/184, the benefit of priority of the common unsettled U.S. Provisional Patent Application of 975 (lawyer's transaction number No.34646-00458USPL), and be incorporated herein its all disclosures as a reference.This also be incorporated in submitted on February 25th, 2000, sequence number is No.60/185,005 (lawyer's transaction number No.34646-00459USPL) and No.60/185, the full content of the common unsettled U.S. Provisional Patent Application of 003 (lawyer's transaction number No.34646-00460USPL) as a reference.
This non-temporary patent application with regard to theme with in above-mentioned phase same date submission, sequence number is that the non-temporary patent application of the U.S. of No.09/698785 (lawyer's transaction number No.34646-00459USPT) and 09/698672 (lawyer's transaction number No.34646-00460USPT) is relevant.At this full content of also introducing these two non-temporary patent applications of the U.S. as a reference.
Accompanying drawing is described in detail
In the following description, in order to provide to complete understanding of the present invention, purpose for explaining (rather than restriction) proposes specific detail, for example particular electrical circuit, logic module (for example implementing in software, hardware, firmware, some combination or the like between them), technology or the like.Yet for those of ordinary skill in the art, the present invention also can be implemented among other embodiment that breaks away from these specific detail clearly.In other cases, obscure for the inessential details description of this invention is caused, the detailed description of well-known method, equipment, logic code (for example hardware, software, firmware or the like) or the like will be omitted.
1-13 can understand the preferred embodiments of the present invention and benefit thereof best with reference to the accompanying drawings, and similar numeral is used to indicate the corresponding part of class Sihe in each accompanying drawing among the figure.Adopt the angle of UMTS to describe the preferred embodiments of the present invention.Yet be to be understood that principle of the present invention also goes for other wireless communication standard (or system), particularly those are based on the situation of packet communication.
With reference now to Fig. 2,, adopts the protocol model of demonstration of the present invention system of future generation valuably with 200 general description.In protocol model 200 (for example for forward access channel (FACH) transmission channel kinds), interface between " Uu " expression UTRAN 130 and the UE 110, and the interface between " Iub " expression RNC 140 and the Node B 150 (wherein " Node B " for example be the general name of base station transceiver (BTS)).Utilize RAB (RAB) between RNC 140 and UE 110, to carry user and signaling data, below with reference to Fig. 3 explanation.Typically, for UE 110 distributes one or more RAB, each RAB can both carry a user or signaling data stream.RAB is mapped to each logic channel.At medium access control (MAC) layer, one group of logic channel and then be mapped to transmission channel again, comprising two types: " public " transmission channel of sharing by different UEs 110, and " special use " transmission channel (thereby obtaining term " MAC-c " and " MAC-d ") of distributing to single UE 110.One type common signal channel is FACH.The essential characteristic of FACH is exactly can to send the grouping of one or more fixed sizes in each Transmission Time Interval (for example 10,20,40 or 80ms).In physical layer, several transmission channels (for example FACH) and then be mapped to Secondary Common Control Physical Channel (S-CCPCH) again are used for transmitting by the air interface between Node B 150 and the UE 110.
When UE 110 was registered to RNC 140 through Node B 150, this RNC 140 (initial at least) was taken as service and the control RNC 140 of UE 110.(in UMTS network 100, Serving RNC 140 can be different with control RNC 140 subsequently, but whether have the not special relation of this situation at this.) RNC 140 control air interface Radio Resources, and stop the 3rd layer intelligence operation (for example Radio Resource control (RRC) agreement), thus the direct route of the related data of UE 110 oneself and to core net 120.
Be to be understood that, utilize the business of FACH Frame Protocol (FACH FP) entity between RNC 140 and the Node B 150, the MAC-c entity in the RNC 140 is delivered to MAC-c Packet Data Unit (PDU) the reciprocity MAC-c entity of UE 110.FACH FP entity adds header among the MAC-c PDU to, constitutes by AAL2 (perhaps other transmission mechanism) to connect the FACH FP PDU that is transferred to Node B 150.The IWF of Node B 150 makes the FACH frame that is received by FACH FP entity can act at the PHY entity.
Aspect the demonstration of the scheme of Fig. 2 explanation, a vital task of MAC-c entity is exactly the grouping of arranging by the air interface transmission (MAC PDU).If all groupings that the MAC-c entity receives all have identical priority (and identical size), then arrange to become very simple, promptly the grouping that receives is ranked, and send based on arriving first (for example first in first out (the FIFO)) principle of acceptance service earlier.Yet UMTS has defined a frame structure, and wherein different Quality of Service can be assigned to different RAB.Should be sent out by air interface with high priority with the corresponding grouping of the RAB that has distributed high QoS, and should be sent out by air interface with lower priority with the corresponding grouping of the RAB that has distributed low QoS.On the basis of RAB parameter, MAC entity (for example MAC-c or MAC-d) is determined this priority.
UMTS by control RNC 140 in for each FACH provides a set of queues, come the problem of processing priority.Formation can be relevant with each priority-level.Implement an algorithm that is defined as selecting as follows grouping from formation, promptly compare with the grouping of lower priority formation, (on average) goes to handle the grouping of higher priority queues quickly.Owing to there is the following fact, promptly the FACH that sends in same physical channel is not separate, so the essence of this algorithm is just very complicated.More specifically, for each S-CCPCH defines one group of transformat combination (TFC), wherein comprise the size of Transmission Time Interval, grouping and the total transmission scale of each FACH (quantity of grouping in the expression transmission) among each TFC.According to the UMTS agreement, algorithm should be a TFC that TFC is complementary who occurs among FACH selection and this group TFC.
The grouping that receives in the RNC 140 in control preferably is positioned in the formation and (is used for transmitting at FACH), wherein this formation and the priority level that is additional to grouping in addition not and divide into groups big or small corresponding.In other respective nodes of Node B 150 or UTRAN 130, FACH is mapped to S-CCPCH.In a kind of alternative preferred version, the grouping of transmitting among the FACH is relevant with Dedicated Control Channel (DCCH) or Dedicated Traffic Channel (DTCH).Should be noted that preferably each FACH is designed to only carry a kind of grouping of size.But this is not essential, and from a Transmission Time Interval to another time interval, the size of the grouping that given FACH can carry can change.
Indirect is mentioned as mentioned, UE 110 can be through service independent in the UTRAN 130 and control (or drift) RNC 140, communicate (for example, when UE 110 when the zone that original service RNC 140 is covered moves to the new region that is covered by control/Drift Radio Network Controller 140) (not illustrating especially) with the core net 120 of UMTS system 100.In the MAC-d of Serving RNC 140 entity, receive signaling that is assigned to UE 110 and user data packets from core net 120, and these packets are " mapped " to logic channel, promptly for example in Dedicated Control Channel (DCCH) and the Dedicated Traffic Channel (DTCH).MAC-d entity structure Medium Access Control (MAC) Service Data Unit (SDU), comprising: comprise logical channel data in interior Payload part, and especially comprise logical channel identifier at interior MAC head.The MAC-d entity passes to FACH FP entity to MAC SDU.This FACH FP entity adds FACH FP head among each MAC SDU to again, wherein comprises the priority-level of being distributed to MACS DU by the RRC entity in the FACH FP head.Along with UE 110 enters into the overlay area of Drift Radio Network Controller 140, RRC obtains available priority-level, and each priority-level one or more accept the to divide into groups signs of size.
FACH FP grouping connects the reciprocity FACH FP entity that is sent in the Drift Radio Network Controller 140 through AAL2 (or other).This equity FACH FP entity is unpacked MAC-d SDU, and identification is included in the priority in the FRAME FP head.SDU and priorities associated are delivered to the MAC-c entity in the control RNC140.The MAC-c layer is responsible for being arranged in and is transmitted SDU among the FACH.More specifically be exactly, each SDU be placed on corresponding to its priority and the size formation in.For example, if there are 16 priority, then can there be 16 collection of queues in each FACH, and the number of queues in each collection of queues of 16 collection of queues will depend on the quantity of the grouping dimension that priorities associated is accepted.As indicated above, according to some predetermined algorithm (for example requiring), be that given FACH selects SDU from formation for the TFC that satisfies physical channel.
Relate to transfer of data in the communication network with reference to figure 3 and 4 described schemes subsequently, and particularly (although nonessential) relates to transfer of data in the UMTS.
Mention as mentioned, 3GPP is being one group of new agreement of mobile communication system standardization at present.This group agreement totally is called as UMTS.With reference to figure 3, with the synoptic diagram of 300 general description according to the demonstration second layer architecture of demonstration of the present invention system of future generation.Particularly, the mode by example only, demonstration second layer architecture 300 has illustrated the UMTS l2 protocol structure of simplifying, it is comprised in travelling carriage (for example mobile phone), perhaps be UE 110 more in a broad aspect with the radio network controller (RNC) 140 of UMTS network 100 between communicate by letter.RNC 140 is similar to the base station controller (BSC) in the existing GSM mobile telecom network, and it communicates through Node B 150 and travelling carriage.
Comprise the feasible one group of RAB (RAB) 305 that can use the Radio Resource (and professional) of use for the user in the 2nd layer of structure of demonstration second layer architecture 300.For each travelling carriage, can there be one or several RAB 305.The data flow of sending from RAB 305 (for example providing with the segmentation form) is delivered to each Radio Link control (RLC) entity 310, and it also is used for the data sementation that buffer-stored receives except finishing other work.305 of each RAB possess a RLC entity 310.At rlc layer, RAB 305 is mapped in each logic channel 315.The data of transmission in medium access control (MAC) the entity 320 receive logic channels 315, and further from the data map in the logic channel 315 to one group of transmission channel 325.Transmission channel 325 finally is mapped to single used physical transmission channel 330, and it occupies by network all bandwidth (for example less than 2M bps) for its distribution.Whether be dedicated to a travelling carriage according to physical channel, perhaps share between a plurality of travelling carriages, it is taken as " DPCH " or " common signal channel ".The MAC entity that is connected to DPCH is called as MAC-d; Each travelling carriage preferably has a MAC-d entity.The MAC entity that is connected to common signal channel is called as MAC-c; Each sub-district preferably has a MAC-c entity.
The bandwidth of transmission channel 325 is directly by the capabilities limits of physical layer 330, but utilizes transformat (TF) to be configured by radio resource controller (RRC) entity 335.For each transmission channel 325, the size of RRC entity 335 one or several transmission blocks of definition (TB).The size of each transmission block is all directly corresponding with the Medium Access Control (MAC) Protocol Data Unit that is allowed (PDU), and tell the MAC entity it which type of can use divide into groups big wisp data passes to physical layer.Except the size of piece, RRC entity 335 is notified to MAC entity 320 to the size of transport block set (TBS), and this is in single Transmission Time Interval (TTI), and the MAC entity can be to the total number of bits amount of physical layer transmission.The size of TB and the size of TBS, and some out of Memory that relates to the physical layer configurations that is allowed constitutes TF jointly.The example of TF is exactly (TB=80 bit, a TBS=160 bit), and this just means that MAC entity 320 can send the grouping of two 80 bits in single TTI.Like this, this TF can be written as TF=(80,160).RRC entity 335 also is notified to the MAC entity to all possible TF of given transmission channel.The combination of this TF is known as transformat combination (TFC).The example of TFC is exactly { TF1=(80,80), TF2=(80,160) }.In this example, the MAC entity can select to send one or two PDU in a TTI in the transport channel of being discussed; In both cases, PDU has the size of 80 bits.
In each TTI, MAC entity 320 must be determined how many data of transmission in each transmission channel 325 that is attached thereto.These transmission channels 325 are not separate, and subsequently at physical layer 330 multiplexing formation single one physical channels 330 (as above-mentioned discussion).RRC entity 335 must guarantee that the total transmittability in all transmission channels 325 can not exceed the transmittability of lower floor's physical channel 330.This can finish by the following, distributes transmission format composite sets (TFCS) promptly for MAC entity 320, the transformat combination that wherein comprises all transmission channels and allowed.
Pass through example, consider MAC entity 320, wherein have two transmission channels 325, they further are multiplexed in the single one physical channel 330, the latter has the transmittability (should be understood that this ability should be greater than 160 in practice) of 160 bits in each Transmission Time Interval.RRC entity 335 can be defined as two transmission channels 325 and distribute three kinds of transformat TF1=(80,0), TF2=(80,80) and TF3=(80,160).Yet clearly MAC entity 320 can not select to utilize simultaneously TF3 to transmit in two transmission channels 325, because this will cause transmitting 320 bits in physical channel 330, and physical channel only possesses the ability of transmission 160 bits.RRC entity 335 must limit overall transmission rate by the combination that does not allow all TF.This example can be following TFCS[{ (80,0), (80,0) }, { (80,0), (80,80) }, { (80,0), (80,160) }, { (80,80), (80,0) }, { (80,80), (80,80) }, { (80,160), (80,0) }], wherein the transformat of transmission channel " 1 " is provided by the first right element of each element, and the transformat of transmission channel " 2 " is provided by second element.Because MAC entity 320 can only be selected a kind of in the middle of the transformat combination that these allowed from transmission format composite set, so can not exceed the ability of physical channel 330.
The element of TFCS is pointed out that by transport format combination indicator (TFCI) it is the index of corresponding TFC.For example in above-mentioned example, have 6 kinds of different TFC, this just means that TFCI can from 1 to 6 central value arbitrarily.TFCI=2 is corresponding to second TFC, i.e. and { (80,0), (80,80) }, this just means do not transmit any information in first transmission channel, and the grouping of single 80 bits of transmission in second transmission channel.
Certainly be necessary in logic channel 315, to share all available bandwidth.Pass through to select suitable TFCI by MAC entity 320, and carry out bandwidth distribution is arrived the judgement of different transmission channels for each Transmission Time Interval.Can realize this bandwidth sharing by some kinds of modes, for example flow more importantly flow distribution absolute priority than other for being considered to.This will be the simplest implementation method, but this may cause very unfairness of bandwidth distribution.Particularly, the stream with lower priority might not be allowed to transmit in the period that prolongs.If the flow-control mechanism of the stream of lower priority is worked like this, then will cause poor performance.The representative instance of this flow-control mechanism can find in the employed transmission control protocol of current internet (TCP) agreement.In the prior art, for example in Internet protocol (IP) and asynchronous transfer mode (ATM) network, made being given for and given a plurality of inlet flows the resource allocation in the single delivery channel.Yet the algorithm that is used to shared resource in this system can not be directly used in UMTS, and a plurality of inlet flows wherein transmit in each logic delivery channel.
Shared resource is called as general processor shared (GPS) in a plurality of input traffics.When GPS is used to only to possess in the system of single delivery channel, the GPS weighted fair queuing (wfq) of being known as, and by A.K.Parekh, R.G.Gallager is in IEEE/ACMTransaction on Networking (in June, 1993, the 1st volume, No.3, the 344-357 page or leaf) deliver in, being entitled as " A Generalized Processor Sharing Approachto Flow Control in Integrated Services Networks:The Single node Case (general processor that is used for current control in integrated services network is shared scheme: the single node situation) " literary composition has description.In brief, be included among the GPS with the basis of flowing relevant special parameter on, be that each inlet flow calculates the GPS weights.The weights that calculate for all inlet flows are added up mutually, and, can in inlet flow, distribute all available output bandwidths according to the weights of each stream occupied ratio in total weight value.GPS can be used to the MAC entity in the UMTS, and on the basis of the specific RAB parameter of being given corresponding RAB by network allocation, (by the RRC entity) determines the weights of each inlet flow.Particularly, the RAB parameter can equal service quality (QoS), perhaps gives user's assurance speed at the particular network traffic assignments.
Continue now with reference to figure 3 and 4 described schemes, can recognize that it is inconvenient therefore directly utilizing GPS to carry out allocated bandwidth because the GPS hypothesis in MAC entity logic channel, can send infinitesimal data block in the UMTS network.Because UMTS depends on transmission format composite set (TFCS), as the fundamental mechanism that can send how many data in each TTI of definition, so this is impossible in UMTS.If in UMTS, adopt GPS, be necessary that then (from TFCS) selects the TFC that mates most with the bandwidth of being distributed to inlet flow by GPS.The result of this scheme is exactly the real data quantity that sends for inlet flow in given frame or is lower than best speed, perhaps exceeds iptimum speed.In the previous case, need not be sent out overstocking of data for the inlet flow structure.
Be exactly to overcome in this purpose, perhaps alleviate the shortcoming of being mentioned in the above-mentioned paragraph at least with reference to figure 3 and 4 described schemes.By keeping the overstocked counter that overstocks that does not send data that is used for the given inlet flow of tracking MAC entity, can realize this and other purpose to small part.When determining suitable TFC, need to consider this overstocking for the frame subsequently of inlet flow.First aspect according to this scheme, be provided at the method for allocation of transmission resources in medium access control (MAC) entity of Universal Mobile Telecommunications System (UMTS) node, comprise the steps: that for each frame of output stream the justice that each inlet flow into the MAC entity calculates the available output bandwidth of MAC entity shares in this method; Based on the shared bandwidth that calculates is that inlet flow is selected transformat combination (TFC) from TFC set (TFCS), wherein comprises the transformat of distributing to each inlet flow among the TFC; And at each inlet flow, if the TF that is distributed causes message transmission rate less than determined fair allocat, then difference is added in the overstocked counter of this inlet flow, wherein when selecting TFC, considers to overstock the value of counter for the frame subsequently of this output stream.The embodiment of the invention allows to be used for subsequently the TFC selection course of frame and considers overstocking of any existing inlet flow.Selected TFC is adjusted in being intended that like this, overstocks reducing.Because TFCS can only provide limited quantity data transmission possibility, therefore may have this overstocking.Adopt the node of the method for this programme can comprise travelling carriage (for example equipment of mobile phone and communicator type) (perhaps more broad sense is UE) and radio network controller (RNC).
The inlet flow of MAC entity is preferably provided by each Radio Link control (RLC) entity.And each RLC entity is preferably relevant data flow buffer is provided.And, preferably be implemented as the fair step of sharing of inlet flow computational resource by Radio Resource control (RRC) entity.And, preferably also comprise in the step of sharing for the inlet flow computational resource is fair the weights of determining to distribute to this stream and the weights of distributing to all inlet flows and the step of ratio.Then, multiply each other, then can determine fair sharing by total output bandwidth and determined ratio.And, preferably also utilize general processor to share (GPS) mechanism in this step.The weights of data flow can define for one or more RABs (RAB) parameter of RAB by the UMTS network allocation, and wherein RAB is relevant with each MAC inlet flow.And, the overstocked counter that is preferably in given inlet flow have on the occasion of situation under, also comprise the steps: in the method value of overstocked counter is added to during justice that this flowmeter obtains shares, and on the basis of the summation that all inlet flows calculate, select TFC.
In specific embodiment,,, then from the overstocked counter of this inlet flow, deduct this difference if the TF that is distributed will cause message transmission rate to be higher than determined fair allocat wherein at given inlet flow with reference to figure 3 and 4 described schemes.According to the second aspect of this scheme, the node of Universal Mobile Telecommunications System (UMTS) is provided, comprise in this node: medium access control (MAC) entity that is used to receive a plurality of input traffics; Be used to each inlet flow calculating MAC entity of MAC entity to share with the justice of output bandwidth, and be used for basis in the bandwidth sharing that calculates for this inlet flow, from TFC set (TFCS), select the first processor device of transformat combination (TFC), wherein comprise the transformat of distributing to each inlet flow among the TFC; If being lower than determined justice, message transmission rate shares, be used for the message transmission rate of the stream that is obtained by selected TFC and the difference between determined justice is shared are added to second processor device of the overstocked counter relevant with each inlet flow, wherein the first processor device is designed to consider to overstock the value of counter when selecting TFC for the frame subsequently of this output stream.First and second processor devices are preferably provided by Radio Resource control (RRC) entity.
As in this description, comprise medium access control (MAC) entity of Radio Resource control (RRC) entity, each travelling carriage and Radio Link control (RLC) entity of each RAB (RAB) among the 2nd layer of the UMTS of simplification with reference to figure 3.The MAC entity is responsible for arranging the dateout grouping, and the RLC entity provides buffer for each inlet flow.The RRC entity is by distributing one group of transformat combination that is allowed (TFC) (being taken as TFC set or TFCS) for each MAC, the upper limit of the maximum amount of data that can transmit in each stream can be set, but how many data each MAC must determine from each flow transmission independently by select best available transport format combinations (TFC) from TFCS.
With reference now to Fig. 4,, totally be used to the demonstration methods (in a flowchart) of the distribution of flows bandwidth resources between the entity with 400 explanations, these entities are arranged in the demonstration second layer architecture of Fig. 3.Flow chart 400 is the flow charts that for example distribute the method for bandwidth resources for the inlet flow of MAC entity in the 2nd layer of Fig. 3.Usually, can follow following steps according to the demonstration methods of flow chart 400.At first, RLC receives inlet flow, and buffer-stored data (step 405).Buffer is filled class information and is delivered to MAC entity (step 410).After buffer filling class information is transmitted, calculate the fair MAC bandwidth sharing (step 415) of each inlet flow.Then, by a relevant content that overstocks counter being added to during each justice that calculates shares, adjust the justice shared (step 420) that each flowmeter obtains.Be adjusted in case the justice that calculates is shared, the justice of selecting to adjust with process from the TFC set is shared the TFC (step 425) of coupling the most.Subsequently, according to selected TFC, indication RLC is to MAC entity transmission grouping (step 430).The MAC entity also can go to arrange grouping (step 435) according to selected TFC.Grouping arrangement can be transmitted Traffic Channel (step 440) after finishing on physical channel.In case packet traffic is transmitted, just should upgrade overstocked counter (step 445).When RLC receives new inlet flow and buffer-stored data (step 405), process can continue (through arrow 450).
And, operate the specific embodiment of this programme in the following way, promptly on the basis of every Transmission Time Interval (TTI), the MAC entity utilizes general processor to share (GPS) scheme and calculates the best distribution of available bandwidth (referring to the people's such as A.K.Parekh of above-mentioned reference article).And utilize overstocked counter separately to go to follow the tracks of the degree that each stream distributes apart from optimum bandwidth.Utilize standard GPS weights to be the stream distribution available bandwidth, these weights can utilize the RAB parameter, are calculated by RRC.
This method can at first distribute for inlet flow calculates GPS, and current each overstocked adding in the GPS value.Carry out once this operation in the TTI of every 10ms, and give birth to the transmission rate of justice for each miscarriage.Yet, owing to following situation may occur: promptly in all buffers, do not have enough data to be sent out, so this speed may not be best.In order to obtain the throughput and the fairness of the best, fair GPS distributes and is lowered, and makes not exceed the maximum permission speed that current buffer is filled rank or any logic channel.Carry out the evaluation process of two steps then.
At first, for one group of fair rate that all inlet flows calculate is compared with possible transformat combination (TFC) successively, each TFC is given a mark with the degree of closeness of the iptimum speed of sending by basis.In fact, this point can realize by following operation simply, promptly calculate TFC and send what (if given TFC can send all groupings with fair rate, then its score value are zero) of the fair configuration of failure, and only consider to have the TFC of minimum score value then.The most approaching coupling is selected, and is used to the quantity of definite grouping of sending from each formation.Can also send how many added bits according to the TFC that possesses identical score value, reward score value (can give the carrying person with first water grade in order to ensure the capacity that exceeds, then this can further be weighted by evaluation the quality) for it distributes.Final selection is based on other score of two-stage: select the TFC with minimum score value for use.If have the TFC of several same score value, then select to have the TFC that Nobel prize is encouraged score value.The speed of so just guaranteeing each TTI can realize maximization.Can realize fairness by following operation, if promptly the selected TFC of check can not provide its determined fair rate less for all flow to, then the bit of being lost is added in the overstocked counter of respective streams, and repeats to select in next TTI.If any stream does not all have informational needs to transmit, then overstock and be set to zero.Provide this algorithm, the bandwidth (and time delay boundary under some hypothesis) close with GPS can be provided.Yet it still keeps fairness, and keeps the independence between all streams.Because this algorithm has utilized the following fact, promptly the MAC layer can transmit in several transmission channels simultaneously, and therefore with regard to calculating, this algorithm is more simpler than weighted-fair-queuing.This just can cause the optimum utilization of wave point in the UMTS Radio Link or near optimum utilization.False code subsequently is exactly the general introduction that is used to implement above-mentioned exemplary algorithm with reference to figure 3 and 4 described schemes:
/*
* the TFC based on GPS selects.Dispatch grouping by optimizing throughput
* still keep simultaneously this fairness (i.e. the speed of Bao Zhenging)
int?sched_gpsO{
double?weight,weight_sum;
double?score,bonus_score;
double?min_score=HUGE_NUMBER;
double?max_bonus_score=0;
int?maxrate;
int?i,j;
int?tfc,tfci,qf,rate,trch;
int?tfc_to_use;
double?backlog[MAX_TRCH];
double?gps_req[MAX_TRCH];
double?gps_req_comp[MAX_TRCH];
/ * at first calculate the weighted sum * of all activity queues/
weight_sum=0;
for(trch=0;trch<MAX_TRCH;trch++){
if(queue_fill_state[trch]>0){
weight_sum.+=weight_vector[trch];
}
}
/ * uses GPS to calculate the fair distribution of available bandwidth then.
If if * in buffer, do not have enough data or arrangement
* speed is higher than the maximum rate of given logic channel, then repaiies
* change this GPS and arrange, reduce this speed
*/
int?gps_rate=0;
for(trch=0;trch<MAX_TRCH;trch++){
if(queue_fill_state[trch]=0){
backlog[trch]=0;
}
∥ here we calculate us should be on every channel by GPS
How many bits ∥ sends
gps_req[trch]=0;
gps_req_comp[trch]=0;
if(queue_fill_state[trch)>0){
weight=weight_vector[trch];
gps_req[trch]=weight/weight_sum*maxrate+
backlog[trch];
gps_req_comp[trch]=gps_req[trch];
if(gps_req_comp[trch]>queue_fill_state[trch]){
gps_req_comp[trch]=queue_fill_state[trch];
}
if(gps_req_comp[trch]>trch_max_rate[trch]){
gps_rsq_comp[trch}=trch_max_rate[trch];
}
}
}
We have our basic principle that is used to select TFC to/* now.
* by calculating all available TFC from the GPS result who revises
* how far have and to they scorings.If have several send whole
* a GPS result TFC (perhaps approaching comparably) then selects
* make the throughput-maximized TFC of the highest QoS grade.Note
* TFCI is assumed that the ascending order of using by relative bandwidth
*/
for(tfci=o;tfci<MAX_TPCI;tfci++){
rate=score=bonus-score=0;
for(trch=0;trch<MAX_TRCH;trch+-+){
int?tbs=tfcs[trch][tfci][0];
int?tbss=tfcs[trch][tfci][1];
rate+=tbss;
if(tbss<gps_req_comp[trch]){
score+=gps_req_comp[trch]-tbss;
}else{
if(tbss<=queue_fill_state(trch]){
bonus_score+=QoS_vector[trch]*(tbss-gps_req_comp[trch]);
}
}
}
if(score<min_score){
tfc_to_use=tfci;
min_score=tfcScore;
max_bonus_score=bonus_score;
}
if(score==min_score&&bonus_score>max-bonus-score){
tfc_to_use=tfci;
min_score=score;
max_bonus_score=bonus_score;
}
}
We have selected TFC to use to/* now.Upgrade and to overstock
* and export this suitable TFCI
*/
for(trch=0;trch<MAX_TRCH;trch++){
tbss=tfcs[trch][tficToUse][1];
if(tbss<queue_fill_state){
if(gps_req[trch]-gps_req_comp[trch]){
backlog[trch]=gpsReq[trch]-tbss;
if(backlog[trch]<0)backlog[trch]=0;
}else{
backlog[trchG1]=0;
}
}
return?tfc_to_use;
}
With reference now to Fig. 5,, wherein provides the part of the second layer architecture of describing among Fig. 3.More specifically, wherein provide in the MAC entity 320 of Fig. 3 and comprise aforesaid MAC-c entity 500, this entity 500 is connected to special-purpose MAC-d entity 510 similarly, as described above.Fig. 5 gives RLC entity 515, and it receives the data of zoned format from each RAB, and data map in corresponding logic channel 315.Each RLC 515 is equipped with buffer 520, be used to cushion receive, comprise PDU at interior data sementation.MAC-d entity 510 provides service for the single mobile station (not shown), and the data that the MAC-d entity sends are delivered to DPCH DPCH through transmission channel 325.
Again with reference to figure 5, wherein provide and be furnished with buffer 525 and be connected, particularly the public MAC-c entity 500 of PDU from MAC-d entity 510 and other MAC-d entity that does not draw, to receive data.According to the present invention, wishing provides flow-control mechanism 530 between each special-purpose MAC-d entity and public MAC-c entity 500.By managing the Business Stream of the buffer 525 from the MAC-d entity to MAC-c entity 500 selectively, current control 530 can make a plurality of different MAC-d entities that are in the activity data stream mode respectively go to share the available free space of MAC-c buffer 525.Current control is designed to provide " fair share " by the given excessive data current capacity in MAC-d buffer-empty free space for each movable MAC-d entity, this just guarantees that all movable MAC-d entities all are assigned with rational chance, remove to use sort buffer device capacity, to improve their streaming rates separately.Like this, in all activity-specific logic channels, will share available public transmission channel data rates.Current control also is designed the filling rank of MAC-c solid bumper is maintained or approach best the filling on the rank.
With reference to figure 5, can see that again the data of MAC-c entity 500 transmission are sent to transmission channel FACH.
With reference to figure 6, wherein provide and be coupled with the current control 530 of management traffic from each RLC of a plurality of RLC 515 to MAC-c PDU buffer 525, each RLC515 is coupled to different travelling carriages or other subscriber equipment 1-n.In useful embodiment of the present invention, current control is operated according to " circulation " or some other principle, and promptly being connected to each MAC-d entity of given MAC-c entity can order or successively, perhaps according to flowing activity (greedy mode) to its Data transmission.In this embodiment, according to the criterion that hereinafter describes in further detail, for each MAC-d entity distributes line of credit.Receive after the line of credit, the MAC-d entity is authorized to send a Packet Data Unit to MAC-c buffer 525.
With reference to figure 7, wherein provide MAC-c buffer 525, can use for the dedicated channel relevant with the MAC-d entity.The MAC-c buffer has best level Q
Copt, it requires relevant with the time delay and the throughput of buffer operation.Current control 530 is utilized the feedback information that receives from the MAC-d entity, keeps this level as possible.Current control also is responsible for keeping the MAC-c buffer low as far as possible, makes the time delay relevant with using common signal channel can be evenly distributed among the different MAC-d users.If a particular moment, the rank of buffer 525 is Q
c, then available buffer space Q
CdiffEqual Q
Copt-Q
c Current control 530 is operated, and by the line of credit of distributing equal number for user's (if they have the PDU that can be used for transmitting), goes to share this space between MAC-d user.Buffer according to MAC-d and MAC-c is filled rank, and Flow Control is made as each MAC-d entity and calculates line of credit.More specifically, current control is set up and buffer level Q
CoptAnd the rank Q that also provides among Fig. 7
CmaxAnd Q
CunRelevant line of credit allocation criteria.These criterions are as follows:
(1) if the MAC-c buffer is filled rank Q
cLess than Q
Cun, then distribute unlimited or unconfined line of credit for the MAC-d entity.
(2) if current MAC-c buffer is filled rank Q
cGreater than Q
Cun, but less than Q
Copt, difference (Q then
Copt-Q
Cun) in movable MAC-d entity, distribute.
(3) if current MAC-c buffer is filled rank Q
cGreater than Q
Copt, then except initial line of credit, do not have new line of credit and go through.If line of credit before was set to " unconfined ", then by sending " zero " line of credit, they zero clearings to suitable MAC-d entity.
We expect that algorithm can easily be generated, and with operations flows control 530, distribute or the distribution line of credit according to above-mentioned criterion.Usefully, when the specific user became non-activity, algorithm can continue as all the other users and distribute remaining line of credit.Be appreciated that active user is exactly the dedicated channel service that is connected to common signal channel, and in its RLC-d buffer, have data.When its RLC-d buffer became empty, active user became passive user.Algorithm can be provided in fair shared all available bandwidths between the active user that has available bandwidth.This algorithm also minimizes the time delay of grouping, and when other user possessed large-sized grouping, this was particularly important for the user who utilizes little grouping to operate.
Under overload situations, flow control algorithm separates different data, and only improves the RLC buffer filling rank of the dedicated channel with flank speed.The RLC buffer of the channel that other speed remains unchanged is filled rank and can be enhanced.Like this, this algorithm is supported the work of channel handoff functionality, and this function can be discerned overload channels, and overload channels is switched to dedicated transmission channel.This algorithm stops calculating place storage user ID at it, and when flow control algorithm is used once more, continues from next User Recognition.
Illustrated among Fig. 8 from the buffer of dedicated channel process, and the mode of utilization order or cyclic process be each dedicated channel allocation or the process of distributing line of credit to buffer 525 Data transmission of MAC-c entity 510.More specifically, provide step 600 among Fig. 8,, wherein described the order assignment and the respective data transfer of the line of credit of some dedicated channels of incorporating Radio Link control RLC-1, RLC-2 and RLC-3 relatively respectively into respectively with the 1-18 label.Each step among the step 1-12 shows the sign of an indication step number, but also provides certain count information in bracket.Shown in the project among Fig. 8 620, comprise the MAC-c buffer in the count information and fill rank Q
c, corresponding to the filling rank Q of a dedicated channel buffer
d, and the available credit volume counting in the step ending.By explanation, project 620 provides the note of step 2.
With reference to figure 8, provide its project 610 again, be used in reference to the beginning that is shown in process shown in Figure 8, the data available space Q in the MAC-c buffer 525
Cdiff Equal 12 line of credits.As mentioned above, be the dedicated channel allocation line of credit, can make channel that the data of specific quantity (for example PDU) are passed to the MAC-c buffer.Like this, in the step 1 of Fig. 8, the channel of RLC-1 receives a line of credit.The result is, the free space of MAC-c buffer will be reduced to 11 from 12, and can send to the MAC-c buffer to a PDU corresponding to a line of credit from the RLC-1 buffer.Correspondingly, the initial value data content that equals the RLC-1 buffer of 2 line of credits can be reduced to Q
dCounting is 1.
With reference to figure 8, can see therefrom that again in step 2 subsequently, the RLC-2 channel has received a line of credit, then available Q
cCounting is lowered to 10, and the counting Q of buffer RLC-2
dAlso be reduced to 3 from initial count value 4.The process of step 3 is similar with it, and is relevant with the RLC-3 buffer.Yet step 4 has illustrated the cyclic process of the embodiment of the invention, wherein provides next line of credit and is assigned to the RLC-1 channel once more.Receive after the line of credit Q of RLC-1 counting
dCount value reaches zero, and the expression channel has not had available PDU.According to step 5,,, next line of credit is distributed to the RLC-2 channel like this as the indication of step 7 at the RLC-2 channel.This is according to above-mentioned criterion (2).Similarly, according to step 9, the Q of RLC-2 channel
dThe count value vanishing, wherein all line of credits subsequently all are assigned to the RLC-3 channel.
In the second embodiment of the present invention, current control 530 is once more according to operating based on the line of credit algorithm of circulation or stream activity (greedy mode).With reference to figure 9, wherein provide the MAC-c buffer 525 that is used by dedicated channel once more.Q the best (Q among Fig. 9
Copt) dotted line represents that buffer about non-hope overflows, the best level of time delay variance and good throughput.Current control is filled rank (Q by current buffer queues
c) and formation maximum (Q
Cmax) mode of threshold value, and, as possible buffer is maintained Q by belonging to the information mode of the active user that is connected to the MAC-c buffer
CoptOn the rank.As mentioned above, active user is exactly the dedicated channel service that is connected to common signal channel, and has data in its RLC-d buffer.When its RLC-d buffer became empty, active user will become passive user.
In order to make up the flow control algorithm of second embodiment, calculate line of credit C according to following formula:
Equation (1)
Q
Copt=T
h+ R
Cmax(2*T
d) equation (2)
Equation (3)
In above-mentioned equation, T
hBe operation time delay/processing delay, T
dBe propagation delay time, and R
CmaxIt is the maximum rate of the FACH transmission channel of this buffer.N
Mac-dBe the quantity of movable MAC-d entity, and Q
CmaxBe that buffer is high-level.Q
CmaxDefault value can be 2 * Q
Copt
Current control has relevant preprocessing function, can by the PDU, timer of input or above-mentioned both trigger and operate.The line of credit state of preprocessor inspection user, Q
cValue and the quantity of the active user of buffer.If line of credit does not then start flow control algorithm greater than zero or other predetermined value.
With reference to Figure 10, wherein provide the general operation of the current control of second embodiment of the invention.At 0 millisecond of place, line of credit (C) equals 2 at first, and will pass to MAC-c at existing three PDU of special-purpose MAC-d user.If there are two available line of credits, then can transmit two PDU, line of credit (C) vanishing subsequently.So just start flow control algorithm,, provide 4 line of credits as shown in figure 10 according to the calculating of formula (3).No longer carry out flow control process, after 20 milliseconds, the vanishing once more of the numerical value of line of credit, perhaps other predetermined value.
Figure 11 to (3), has provided Q according to formula (1)
cAnd the relation between the line of credit.Dotted line is represented C is limited in the adjustment of having done in the maximum range.
With reference to Figure 12, wherein being given in can usefully adopted modification among above-mentioned any embodiment of the present invention.
The suitable buffer that MAC-d at first is transmitted to MAC-c is passed through in grouping from the RLC-d buffer, is delivered to the FACH transmission channel then.According to the indication in the path 700 of Figure 12, the MAC-d grouping is filled class information and is sent out at interior Frame with also comprising the RLC-d buffer.MAC-c utilizes the control frame that comprises line of credit, removes to control the customer traffic from MAC-d, and line of credit promptly is the number of packet that the user can be transmitted, and represents with the path among Figure 12 710.
When MAC-d user when MAC-c sends its last grouping, shown in path 720, this meeting in group is transmitted with the Frame of expression " buffer-empty ".Correspondingly, the line of credit that the MAC-c entity can MAC-d user is set to initial value.Like this, receive last grouping from the user after, shown in path 730, MAC-c can send to MAC-d user and have initial credit volume parameter control frame message.Yet sending this message after the user receives last grouping again can increase the next transmission packets time delay that arrives, and increases the number of control frame message, as shown in figure 12.
For after its buffer temporarily becomes sky, make that user's the time delay of next one grouping is less, reduce the quantity of control messages simultaneously, need to use the design of initial credit volume approval in advance.Correspondingly, when flow control algorithm showed that the line of credit that calculates is equal to or greater than the number of remaining grouping in the specific RLC-d buffer, the flow control algorithm in the MAC-c should add the initial credit volume in the line of credit that calculates to.Like this, the initial credit volume should be sent to MAC-d in advance, and after receiving last grouping, there is no need to send any new line of credit parameter to it.This point provides explanation in Figure 13, wherein provide by utilizing the control frame of path 740 (line of credit and initial credit volume), and the additional control frame in the path 730 among Figure 12 is omitted.
Although in description of drawings and in above-mentioned detailed description, described the preferred embodiment of method of the present invention, system and design, but should be understood that, the present invention is not limited to the disclosed embodiments, multiplely design again, revise and replace but can be rendered as, and can not exceed spirit of the present invention and the scope that claim proposed and defined subsequently.