一种WiMAX系统上行带宽的动态分配方法
技术领域
本发明涉及无线通信技术领域,具体涉及WiMAX系统中上行带宽的分配问题。
背景技术
802.16标准主要对WiMAX系统的物理层和MAC层进行了详细的定义,标准支持时分双工(TDD)、频分双工(FDD)以及半频分双工(HFDD)三种双工方式,但由于TDD模式不需要对称频带,并且每帧中上下行子帧的划分是可以动态调整的,为此受到了广泛应用。另外,标准支持点对多点(PMP)和网状网(Mesh)两种组网方式,但应用较广泛的只有PMP方式。
在WiMAX系统中,各用户站SS是通过按需方式接入(DAMA),以TDMA方式共享上行信道带宽,由SS提出带宽申请(主动授予UGS调度类型除外),基站BS根据SS请求的业务类型以及系统资源的占用情况进行统一调度分配上行带宽。上行带宽的分配是通过UL-MAP中的消息信息单元(Information element,即IE)指示的。协议规定了包括用于请求带宽(Request IE)、用于初始测距(InitialRanging IE)以及用于数据传输(Data Grant Burst Type IE)在内的多种类型IE。带宽请求消息只能在Request IE或Data Grant IE指示的上行间隔内发送,它又包含多个竞争发送机会(transmission opportunity,记为TO),可以传输多个带宽请求消息。对于TDD系统,这种请求消息的带宽分配实际上对应于时间等发送机会的分配,不同物理层规范的发送机会含义有所不同,在单载波调制以及增强型单载波调制物理层(WirelessMAN-SC和Wireless MAN-SCa)中发送机会指的是传输时隙,而在正交频分复用和正交频分复用多址物理层(WirelessMAN-OFDM和WirelessMAN-OFDMA)中发送机会指的是子信道和时间段,如果采用自适应天线系统(AAS),传输机会还将包括空间的概念。
协议规定了多种方法让SS发送带宽请求消息给BS。为了分配用于发送申请消息的带宽,协议提供了轮询机制(poll),BS需要对SS进行轮询。轮询指的是BS会给某个或某些SS分配指定的上行带宽用于传输带宽请求消息。对于标准所规定的UGS、rtPS、nrtPS和BE四种业务类型,除UGS不需要带宽申请外,其它三种业务类型都可以利用轮询的方式来请求上行带宽。轮询有单播、多播和广播3种方式。如果分配的上行带宽对应的是某SS的Basic CID,则表示为单播轮询,BS为此SS分配指定的上行带宽来进行带宽请求,协议规定rtPS业务只允许使用单播轮询方式,而nrtPS和BE业务可以使用所有轮询方式。显而易见,当SS不需要发送带宽请求消息时,这种方式浪费了带宽资源;而如果分配的带宽对应的是Multicast CID或Broadcast CID,则表示为多播或广播轮询,此时,BS分配的上行带宽为多个SS所共有,多个SS可以同时发送请求,因此会造成竞争,从而有可能产生碰撞,使请求失效,如图1所示。碰撞几率的大小和系统所分配的用于发送带宽请求消息的竞争请求带宽大小有关,若分配的竞争请求带宽较大,则发生碰撞的几率就越小,带宽请求消息的通过率就越大,但此时用于单播轮询和数据传输的带宽将减小;而若减少竞争请求带宽的大小,则请求消息所发生的碰撞几率将增大,因此WiMAX系统在竞争请求带宽的分配和数据传输带宽的分配上存在一个最优化问题。
802.16标准中采用截短的二进制指数退避算法来减少竞争的碰撞几率。二进制指数退避算法是指一个消息的重发回退延时的取值范围与该消息的重发次数构成二进制指数关系。即随着消息因冲突而重发的次数增加,其退避延时的取值范围按2的指数增大。这实质上相当于使重发报文的优先级随重发次数的增加而逐步降级的做法,有利于系统的稳定。当然,要限制重发的次数,以避免无限制的重发循环。通常的做法是设置重发计数器,当该计数器达到规定值时,停止发送消息,使它退出发送队列,提交到网络层和更高层次上去处理。
在WiMAX系统中,基站不断地广播包含请求回退开始(Request BackoffStart)和请求回退结束(Request Backoff End)的UCD消息。请求回退开始和请求回退结束用于指示算法中用到的初始回退窗口和最大的回退窗口。这些值在UCD消息中以2的指数形式被指定,即如果请求回退开始值为n,则起始回退窗口为2n。
假设用k表示请求发生的冲突次数,基站指定的Request Backoff Start等于RBS,Request Backoff End等于RBE,用random(x,y)表示从x到y中随机选取的一个数,用exp(2,z)表示2的z次幂。算法的流程图如图2所示,具体阐述如下:
1)初始化回退窗口backoff=random(0,exp(2,RBS));
2)发送带宽请求消息,同时T16计时器开始计时;
3)在T16期满之前,收到Data Grant Type IE,则带宽请求消息发送成功,发送结束。否则,继续下一步;
4)已发生了冲突,统计冲突次数k,并判断k是否大于最大允许重传次数,若大于最大允许重传次数,则带宽请求消息发送失败,发送结束;否则,继续下一步;
5)计算回退窗口backoff=random(0,exp(2,RBS+k)),并判断backoff是否大于exp(2,RBE),如果大于,则重新计算backoff=random(0,exp(2,RBS));否则,直接下一步;
6)请求回退backoff个窗口(即等待backoff个传输机会)后,回到2)。
标准对于Request Backoff Start和Request Backoff End的选择给与了很大的自由度,由具体的分配算法来确定最佳的后退窗口。
发明内容
针对以上的分析,本发明的目的是提供一种有效分配上行带宽的方法。这种方法优化了后退窗口尺寸,依据上一帧的分配结果并考虑了数据包的到达情况以及可用的带宽请求方式来对本帧的上行带宽分配进行动态调整。
发明具体包括:
首先,通过对竞争请求数量与后退窗口大小关系的分析,确定竞争请求带宽的初始分配以及回退窗口的大小。具体原理如下:
假设有N个业务需要在竞争请求带宽中发送带宽请求,后退窗口大小为M,包含M个发送机会TO。假设一个TO即可传输一个带宽请求,这样一个业务从M个TO中随机选取一个的概率大小即为ρ=1/M,而一个TO不被任何一个业务选择的概率则为
P1=(1-ρ)N
如果某个TO只被一个业务的带宽请求消息所占用,那么这个请求消息就能够被成功发送,而不会产生碰撞,因此一个带宽请求消息被成功发送的概率为
P2=Nρ(1-ρ)N-1
为了使带宽请求消息的吞吐量最大,我们令
得到
又由于 因此我们得到带宽请求消息吞吐量最大时的窗口最佳尺寸大小
M=N
即当后退窗口的大小和参与竞争带宽的业务数量相等时,可以用最小的后退窗口使请求消息的吞吐量达到最大。由此可确定系统竞争请求带宽的初始大小以及回退窗口的尺寸。
其次,系统负载加重时,系统并不需要继续维持先前的竞争请求带宽大小。由于从汇聚子层送来的SDU业务流除了可以采用轮询的竞争方式请求带宽外,还可以采用协议所规定的Piggyback request或Bandwidth stealing方式请求带宽,以这两种方式发送的带宽请求不占用竞争请求带宽,所以当有k个SDU以poisson分布到达SS时,可以只发送一次带宽请求消息,而后采用Piggyback request或Bandwidth stealing方式来请求带宽。基于对请求方式的分析,本发明提出根据上一帧数据传输带宽和竞争请求带宽的分配比例,对本帧的竞争请求带宽分配进行动态调整,算法的流程图如图3所示,通过这种调整,可以显著减少带宽请求的碰撞次数以及缩短竞争解决过程的时长,从而提高系统的传输效率和MAC的性能。
最后,本发明还提出通过控制竞争请求带宽的大小分配来对网络流量进行拥塞控制的想法。
具体步骤如下:
1)指定rtPS业务以单播轮询的方式请求带宽,而nrtPS和BE业务以竞争方式、Piggyback方式、或Bandwidth stealing方式申请带宽;
2)分配系统首帧的竞争请求带宽大小等于系统中的nrtPS和BE的业务流数量;
3)周期统计欲请求带宽的nrtPS和BE业务流数量,并使系统的Request BackoffStart=Request Backoff End=round(log2(欲申请带宽的nrtPS和BE业务流数量));
4)累积计算已成功发送的带宽请求消息数量和已发送的nrtPS、BE数据包数量,计算两者的比值;
5)根据当前数据包的到达情况和上一帧的分配结果计算本帧的竞争请求带宽大小;
6)依据已成功发送但未得到带宽授予的请求消息数量来调整本帧的竞争请求带宽的大小,以达到控制拥塞的目的。
附图说明:
图1为带宽请求与数据传输关系示意图;
图2为WiMAX的二进制指数退避算法流程图;
图3为上行带宽分配的算法流程图;
图4为上行子帧带宽分配示意图。
具体实施方式
下面结合附图,详细说明本发明的具体实施方式。
图4为WiMAX系统上行子帧的带宽分配示意图,其中B为总上行带宽大小,Bfix,i为第i帧中提供给竞争测距、UGS、rtPS以及其它周期性分配的带宽大小,Bcontention,i为第i帧中分配的竞争请求带宽大小,上行子帧中余下的带宽用来传送nrtPS和BE数据包,它的大小Bdata,i=B-Bfix,i-Bcontention,i。
依据图3给出的算法流程图,具体的实施过程详述为:
(1)指定rtPS业务只能在提供的单播轮询机会中请求带宽,而nrtPS和BE业务只能以竞争方式、Piggyback方式、以及Bandwidth stealing方式请求带宽;同时确定系统首帧竞争请求带宽的初始大小等于nrtPS和BE业务流数量;
(2)为UGS分配固定的带宽大小,为已请求的rtPS类业务分配所需带宽以及为rtPS类业务分配周期的单播轮询机会(周期性的带宽);
(3)周期统计欲请求带宽的nrtPS和BE业务流数量,记其大小为Nreq,同时令Request Backoff Start=Request Backoff End=round(log2(Nreq)),其中round(x)表示对x取整;
(4)在竞争请求带宽中发送带宽请求消息,并依二进制指数退避算法解决竞争冲突问题;
(5)累积计算以竞争方式成功发送的带宽请求消息数量和已发送的nrtPS、BE数据包的数量,并计算平均比值
(6)根据数据包的到达情况,计算第i帧的竞争请求带宽大小为:
其中k为到达的数据包数量;Lc为每个带宽请求消息所占据的带宽大小;Ld为发送一个nrtPS和BE数据包所需要的平均带宽大小,可测得。
(7)统计已成功发送但在BS中还未得到带宽授予的请求数量,记其大小为Nungrant,判断
若不等式成立,则重新令 继续下一步;否则,直
接下一步;(不等式中的η可由BS中已被接收正等待授予的请求消息队列长度决定,可由系统配置。如η=2,则 表
示已被BS成功接收但还授予带宽的请求消息在两帧的时间间隔内不能得到带宽授予,因此将被丢弃,为此我们必须阻止新的带宽请求消息的发送,缩小竞争请求带宽的大小。)
(8)按Bcontention,i大小分配竞争请求带宽,返回(3)。