背景技术
为了提高下行数据的发送速率,3GPP(3rd Generation Partnership Project,第三代合作组织)Release5引入了HSDPA(High Speed Downlink PacketAccess,高速下行分组接入业务)。HSDPA中采用的关键技术包括快速分组调度,自适应调制编码(AMC)和混合自动请求应答(HARQ)。其中,快速分组调度方法会直接影响无线通信系统的吞吐量和所提供服务在用户之间的公平性。
引入HSDPA后,需要在Node B(基站)增加MAC-hs实体,负责对分组数据包(Packet)的快速调度和管理。Node B将为每个使用HS-DSCH(高速下行共享业务信道)的UE(User Equipment,用户终端)分配1到8个优先级队列,UE可以伴随一个或多个MAC-d流,每个MAC-d流的数据可以映射到一个或多个优先级队列,但是每个优先级队列只能承载来自一个MAC-d流的数据。Node B根据所采用的分组调度方法确定服务哪些优先级队列。
现有技术中,采用以下三种方法进行分组调度:
MAX C/I(最大信噪比)调度方法:选择具有最大C/I(信噪比)的用户服务,即为信道条件最好的用户优先服务。这种方法可以获得最佳的小区吞吐性能,但其服务欠缺公平性,信道条件较差的用户可能因未被调度而长期得不到服务;
RR(Round Robin,轮询)调度方法:顺序调度每个用户,为用户分配相同的服务时间,这种方法考虑了服务公平性,但由于没有考虑不同用户的信道条件差异,不能发挥AMC和HARQ的技术优势,从而使得小区吞吐量性能较差;
PF(Proportional Fair,正比公平)调度方法:该方法由Qualcomm公司提出,设时刻t,终端用户k的平均传输速率为Rk(t),k=1,Λ,K,其请求基站传输的实时速率为DRCk(t),则基站在时刻t选择服务的终端用户为:
若用户k在该时刻没有分组数据传输,DRCk(t)=0;
用户k的平均吞吐量的更新等式为:
上式中,Tc为时间常数,表示时间滑窗的大小。时间滑窗的大小反映了用户对接收不到分组数据传输的忍受能力,较长的Tc将允许等待较长的时间直到该用户的信道质量变好,这有利于系统吞吐量的提高,但可能带来附加的迟延,并造成用户之间服务不公平;而且其实现比较复杂,并且无论怎样调整Tc,小区吞吐量性能也与MAX C/I调度方法相差较远。
可见,以上三种调度方法都没有考虑不同业务类型的QoS(Quality ofService,服务质量)、不同用户的具体需求。当不同用户进行的业务具有不同QoS要求时,上述三种调度方法都难以实现适当的服务优先级。
发明内容
本发明要解决的是现有技术中分组调度方法难以满足不同业务类型QoS要求的问题。
本发明所述基于服务质量的分级包调度方法包括以下步骤:
为优先级队列设置满足服务质量QoS要求的允许时延;
计算各优先级队列的调度权值;所述调度权值与信道质量参数成正比,与优先级队列中分组数据包的等待时间成正比,与优先级队列设置的允许时延成反比;
调度具有最高调度权值的优先级队列中的分组数据包。
优选地,所述信道质量参数为单位资源能够发送的最大数据量current_tbs;
所述优先级队列设置的允许时延为满足QoS要求的最大允许时延max_allow_delay;
所述优先级队列中分组数据包的等待时间delay为该优先级队列中位于队列头的分组数据包的等待时间,或该优先级队列中所有分组数据包的平均等待时间。
优选地,在调度周期n,所述计算各优先级队列的调度权值具体为:
其中,current_tbs(i,n)为第i个用户在调度周期n单位资源能够发送最大数据量,delay(i,j,n)为第i个用户的第j个优先级队列在调度周期n的等待时间,max_allow_delay(i,j)为第i个用户第j个优先级队列的最大允许时延;p和q大于等于0。
优选地,单位资源能够发送的最大数据量:
current_tbs=TBS/BRUs;
其中,TBS由当前信道质量参数得出的传输块大小,BRUs为上一个调度周期分配的资源。
本发明同时提供了一种上述分级包调度方法的在具有N个资源维度的系统中进行资源分配的方法,包括以下步骤:
a)为优先级队列设置满足服务质量QoS要求的允许时延;
b)调度当前具有最高调度权值的优先级队列中的分组数据包;所述调度权值与信道质量参数成正比,与优先级队列中分组数据包的等待时间成正比,与优先级队列设置的允许时延成反比;
c)计算被调度优先级队列占用每个维度的可用资源时具有的最大传输能力Max_trans_bits;
d)在各种维度中查找最大传输能力Max_trans_bits大于等于被调度优先级队列的数据量Buffer_length_bits的最低维度;
e)为被调度的优先级队列分配所述维度的资源。
优选地,所述步骤d)具体为:
设具有维度K的最大传输能力为Max_trans_bits(K),K为从1到N的整数;维度1为传输能力最大的最高维度,维度N为最低维度;
如Buffer_length_bits≥Max_trans_bits(N),则查找结果为维度N;
如Max_trans_bits(N)>Buffer_length_bits>Max_trans_bits(N-1),则查找结果为维度(N-1);
如Max_trans_bits(j)≥Buffer_length_bits>Max_trans_bits(j-1),则查找结果为维度(j-1),其中j为大于1并且小于N的整数。
优选地,在调度周期n,所述调度权值的计算方法是:
其中,信道质量参数current_tbs(i,n)为第i个用户在调度周期n单位资源能够发送最大数据量,delay(i,j,n)为第i个用户的第j个优先级队列在调度周期n的等待时间,max_allow_delay(i,j)为第i个用户第j个优先级队列的最大允许时延;p和q大于等于0;
所述单位资源能够发送最大数据量current_tbs=TBS/BRUs;其中,TBS为由当前信道质量参数得出的传输块大小,BRUs为上一个调度周期分配的资源。
优选地,所述维度K的最大传输能力:
Max_trans_bits(K)=current_tbs(i,n)*BRUs(K);
其中,BRUs(K)为K维度资源具有的资源数目。
本发明还提供了一种具有分级包调度功能的通信设备,用于具有N个资源维度的系统,包括服务质量时延模块、调度权值模块、分组调度模块,其中:
服务质量时延模块用来设置并存储各优先级队列满足服务质量QoS要求的允许时延;
调度权值模块用来计算各个优先级队列的调度权值,通知分组调度模块当前具有最高调度权值的优先权队列;所述调度权值与信道质量参数成正比,与优先级队列中分组数据包的等待时间成正比,与优先级队列设置的允许时延成反比;
分组调度模块对当前具有最高调度权值的优先级队列进行分组数据包调度。
优选地,还包括队列数据量模块、资源维度选择模块、资源分配模块和数据传输模块,其中:
队列数据量模块用来计算当前调度的优先级队列的数据量;
资源维度选择模块用来根据当前每个维度可用资源具有的最大传输能力和被调度的优先级队列的数据量选择资源分配的维度,并通知资源分配模块;所选择的维度为最大传输能力大于等于被调度优先级队列的数据量的最低维度;
资源分配模块用来根据当前资源维度和被调用优先级队列的数据量进行具体资源的分配;
数据传输模块用来将分组调度模块调度的分组数据包在资源分配模块分配的资源上进行传输。
本发明通过综合考虑信道质量条件和业务的服务质量需求来进行优先级队列调度,从而在满足不同业务类型的QoS需求的同时提高了小区的吞吐量,降低了丢包率。
具体实施方式
无线通信系统承载的不同类型的业务中,根据用户对该业务需求的时延不同,具有不同的QoS要求。流业务通常对时延有比较严格的要求,而交互类和背景类业务对时延的要求则比较宽松,因而流业务的允许时延要小于交互类和背景类业务。换言之,QoS要求通过分组数据包传输所允许的时延来表征。
如前所述,用户的分组数据包位于一个或一个以上的优先级队列中,分组调度通过对优先级队列的调度来进行。因此,QoS要求的允许时延可以通过该优先级队列设置的允许时延来反映。
为了保证QoS要求,等待时间接近其允许时延的优先级队列中的分组数据包应被优先调度,同时,为了提高小区的吞吐量,信道条件好的用户应被优先调度。
本发明所述分级包调度方法的流程如图1所示。在步骤S110,为优先级队列设置满足QoS要求的允许时延。不同的优先级队列可能因其传输的业务类型的不同而具有不同的允许时延。
在步骤S120,计算各优先级队列的调度权值。调度权值用该优先级队列设置的允许时延、该优先级队列已经等待的时间、该用户的信道质量等指标来衡量。本发明中,调度权值与该优先级队列设置的允许时延成反比,与该优先级队列的等待时间成正比,与该优先级队列的信道质量参数成正比,以使得具有较小允许时延的优先级队列、等待时间较长的优先级队列、信道质量较好的优先级队列能够更早得到调度。
在步骤S130,对具有最高调度权值的优先级队列中的分组数据包进行调度。
以下以采用HSDPA的TD-SCDMA(Time Division Synchronous CodeDivision Multiple Access,时分同步码分多址)系统为例,说明本发明中分级包调度方法的具体应用。
在TD-SCDMA系统中,RNC(Radio Network Controller,无线网络控制器)可以为用户在Node B的优先级队列配置丢包时延门限max_allow_delay,如果一个优先级队列中的分组数据包在max_allow_delay时间内没有传输成功,将被MAC-hs丢弃。本例中以丢包时延门限max_allow_delay作为QoS的允许时延。
设第i个用户的第j个优先级队列的丢包时延门限为max_allow_delay(i,j),在第n个调度周期,该优先级队列的等待时间为delay(i,j,n)。此时根据用户上报的CQI(Channel Quality Indicator,信道质量指示)或其它测量参数,NodeB预测第i个用户单位资源可以发送的最大数据量为current_tbs(i,n),对数据量进行归一化的原因是为了消除终端能力不同造成的影响。这样,调度优先级和current_tbs(i,n)成正比,和等待时间delay(i,j,n)成正比,和max_allow_delay(i,j)成反比。第n个调度周期,第i个用户的第j个优先级队列的调度权值根据式(1)计算:
则第n个调度周期,被调度的用户编号和优先级队列编号组合(k,m)由式(2)决定:
式(1)和式(2)中,p≥0,q≥0。p表示调度权值随信道质量(或者相对时延)增大而变化的快慢,q表示调度权值随相对时延增大而变化的快慢。相对于q,p越大,则信道质量在调度权值中的权重更大;否则,相对时延在调度权值中的权重更大。一组建议的p、q取值为p=q=1。S表示非空的用户优先级队列集合。
等待时间delay(i,j,n)可以是位于该优先级队列头的分组数据包的等待时间,也可以是该优先级队列中所有分组数据包的平均等待时间。
第i个用户单位资源在第n个周期可以发送的最大数据量current_tbs(i,n)可以通过式(3)估算:
current_tbs=TBS/BRUs........................(3)
其中,TBS为由当前信道质量参数得出的传输块大小,其中当前信道质量参数可以是上次调度反馈的信道质量参数,BRUs为上一个调度周期分配的资源。
在确定调度的优先级队列后,下一步需要为被调度的分组数据包分配信道资源。合理的分配信道资源,能够提高系统的资源利用率,提高系统吞吐率。在移动通信系统中,可以根据载波、时隙等资源将信道分为多个资源维度。本发明提供了一种在资源维度为N的移动通信系统中,根据上述分级包调度方法进行资源分配的方法,其流程如图2所示。
在步骤S210,为优先级队列设置满足QoS要求的允许时延。
在步骤S220,判断是否调度周期到,如果是,执行步骤S230;如果否,为被调度的优先级队列在分配的资源上进行分组数据包传输。
在步骤S230,计算各优先级队列的调度权值。与上述分级包调度方法中相同,调度权值与信道质量参数成正比,与优先级队列中分组数据包的等待时间成正比,与优先级队列设置的允许时延成反比。
在步骤S240,对当前具有最高调度权值的优先级队列中的分组数据包进行调度。当前具有最高权值的优先级队列指本调度周期内未经调度的优先级队列中调度权值最高的一个。
在步骤S250,计算占用每个维度的可用资源时能够提供的最大传输能力。每个维度能够传输的数据量为其最大传输能力,可以通过用户上报的CQI或其他信息来进行估算。
在步骤S260,查找最大传输能力大于等于被调度优先级队列的数据量的最低维度。为了提高系统资源的利用率,本发明中采用分配尽可能小的维度资源的方式。
例如,对一个资源维度为N的系统,按照传输能力的由小到大,维度1为最低维度,维度N为最高维度。设资源维度K的最大传输能力为Max_trans_bits(K),被调度优先级队列的数据量为Buffer_length_bits,则:
当Buffer_length_bits≥Max_trans_bits(N)时,则分配资源的维度为N;
当Max_trans_bits(N)>Buffer_length_bits>Max_trans_bits(N-1)时,则分配资源的维度为(N-1);
当Max_trans_bits(i)≥Buffer_length_bits>Max_trans_bits(j-1)时,则分配资源的维度为(j-1),其中j为大于1并且小于N的整数。
在步骤S270,为被调度的优先级队列分配步骤S260中确定维度的资源。同样为了提高系统资源的利用率,为被调度的优先级队列在该维度分配其传输能力之和大于并最接近于被调度优先级队列的数据量的资源数量。
在步骤S280,判断系统是否还有剩余的可用资源,如果是,执行步骤S290;如果否,则本调度周期资源分配完毕,为被调度的优先级队列在分配的资源上进行分组数据包传输。
在步骤S290,判断本调度周期中是否所有优先级队列已被调度过,如果是,则本调度周期资源分配进行完毕,为被调度的优先级队列在分配的资源上进行分组数据包传输;如果否,则转步骤S240,继续对本调度周期内未经调度的优先级队列进行调度。
在分组数据包传输进行完毕后,转步骤S220。
以下仍以上述采用HSDPA的TD-SCDMA系统为优选实施例,说明在上述分级包调度方法的基础上如何进行资源分配。如前所述,本实施例中仍以各优先级队列设置丢包时延门限max_allow_delay作为QoS的允许时延。步骤S230和S240中分组数据包的调度过程与前述相同,此处不再重复,主要对步骤S250和S260进行说明。
多载波TD-SCDMA系统的资源维度分为多载波、单载波、时隙和码道,如果UE只支持单载波或者进行资源分配的小区只在一个载波上配置了HSDPA,则可调度的资源维度为单载波、时隙和码道。
步骤S250中,根据被调度用户的CQI或其它信息计算占用最多可用载波资源时(由用户能力和系统可用资源共同决定)的最大传输能力Max_trans_bits(4),若UE只支持单载波,或该小区只在一个载波上配置了HSDPA,则不需要估计Max_trans_bits(4);计算占用单载波资源的最大传输能力Max_trans_bits(3),此处暂时假设各个载波上的传输能力相同,如果各载波传输能力不同,Max_trans_bits(3)为各个载波传输能力的最大值;计算占用单个时隙的最大传输能力Max_trans_bits(2);计算占用单码道的最大传输能力Max_trans_bits(1)。
假设占用各个维度资源时的资源数目为BRUs(K),计算公式为式(4):
Max_trans_bits(K)=current_tbs(i,n)*BRUs(K)..................(4)
步骤S260中,根据被调度优先级队列的数据量Buffer_length_bits和各个维度最大传输能力的估算结果为用户分配资源。具体分配方法如下:
若Buffer_length_bits≥Max_trans_bits(4),为用户分配最大资源;若Max_trans_bits(4)>Buffer_length_bits>Max_trans_bits(3),为用户分配部分载波,所选取的载波为其对应传输能力之和大于并最接近Buffer_length_bits的载波;若Max_trans_bits(3)≥Buffer_length_bits>Max_trans_bits(2),为用户分配部分时隙,时隙数目为Buffer_length_bits/Max_trans_bits(2)的上取整;若Max_trans_bits(2)≥Buffer_length_bits>Max_trans_bits(1),为用户分配部分码道,码道数目为Buffer_length_bits/Max_trans_bits(1)的上取整。
需要说明的是,每次执行步骤S240至步骤S270只会调度一个优先级队列并对其进行资源分配,剩余资源的再分配通过多次执行步骤S240至步骤S270进行。
本发明中虽然以TD-SCDMA系统作为优选实施例,但所述的分级包调度方法和资源分配方法并不局限于TD-SCDMA系统,也可以用于其他的无线通信系统。通常的维度包括频域、时域、码域以及空间域的资源,例如WCDMA(Wideband Code Division Multiple Access,宽带码分多址)系统,其资源维度包括载波和码道。
图3所示为应用本发明所述分级包调度方法和资源分配方法的通信设备的结构图。调度权值模块320与服务质量时延模块310、分组调度模块330、队列数据量模块340连接,队列数据量模块340与资源维度选择模块350、资源分配模块360连接,同时资源维度选择模块350也与资源分配模块360相连接,且分组调度模块330与资源分配模块360都连接到数据传输模块370。
如果仅在该通信设备中进行分组数据包调度,则只有服务质量时延模块310、调度权值模块320、分组调度模块330为必需模块。
服务质量时延模块310用来设置并存储各优先级队列满足服务质量QoS要求的允许时延,为调度权值模块320提供计算调度权值所需的参数。
调度权值模块320用来计算各个优先级队列的调度权值,将计算结果排序后通知分组调度模块320和队列数据量模块340当前具有最高调度权值的优先权队列;调度权值与信道质量参数成正比,与优先级队列中分组数据包的等待时间成正比,与优先级队列设置的允许时延成反比。
分组调度模块330对从调度权值模块320得知的当前具有最高调度权值的优先级队列进行分组数据包调度。
队列数据量模块340、资源维度选择模块350、资源分配模块360主要用来根据分组数据包调度的结果进行资源分配。
队列数据量模块340计算从调度权值模块320得知的当前调度的优先级队列的数据量,提供给资源维度模块350和资源分配模块360进行资源分配。
资源维度选择模块350根据当前每个维度可用资源具有的最大传输能力,和队列数据量模块340计算的当前被调度的优先级队列的数据量选择资源分配的维度,并将选择结果通知资源分配模块360;其所选择的维度为最大传输能力大于等于被调度优先级队列的数据量的最低维度。
资源分配模块360根据当前资源维度模块350选择的资源维度和队列数据量模块340计算的被调用优先级队列的数据量进行具体资源的分配;分配原则为所分配资源的传输能力之和大于并最接近于被调度优先级队列的数据量。
数据传输模块370将分组调度模块调度330的分组数据包在资源分配模块360分配的资源上进行传输。
上述通信设备中,调度权值模块320的调度权值计算方法、队列数据量模块340的数据量计算方法、资源维度选择模块350的最大传输能力计算方法、资源分配模块360的分配方法均可以采用本发明优选实施例中的公式,此处不再重复。
可见,本发明在进行分组数据包调度和资源分配时,综合考虑了不同用户、不同业务类型的Qos需求,以及用户的信道质量,从而能够满足各种业务的QoS需求,在提高小区吞吐量的同时降低丢包率。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。