一、技术背景
通信系统无线资源分配与管理是系统的关键技术之一,资源管理器的本质就是要解决多Client业务的无线资源共享问题。传统媒体访问控制协议可分为以下三类:
- 固定分配方式,系统将每一帧分割成若干个固定长度的时隙,并按照一定的算法和规则将这些时隙提供给Client,如时分多址接入TDMA、频分多址接入FDMA、码分多址接入CDMA等;
- 随机竞争方式,在此情况下系统并未给Client提供预约的信道和时隙分配的算法,Client在公平竞争的条件下来获取信道的分配,如ALOHA协议,载波监听多路访问/冲突检测CSMA/CD等;
- 按需分配方式,Client或者地面站根据自己实际的需要向Server申请相应的信道分配,如令牌传递多址接入、查询选择多址接入等。
Client业务接入阶段需要针对每个连接的QoS请求在复杂的信道结构中分配时隙资源,时隙资源的有效管理一直都面临着巨大的挑战,面向Client QoS的高效时隙资源分配算法一直都是多址接入技术的难点。例如:固定分配方式中,各Client占据自己相应的时隙或频段,不同Client之间不会存在干扰现象,这种方式的传输稳定性很好,但是利用率却不尽理想,并且在自由空间网络中这种时隙分配方式容易造成在Client数较多的情况下吞吐量下降,而在Client数较少的情况下利用率又不高;随机竞争方式中,由于Client是在公平的条件下通过竞争的方式来接入信道,因此它的端到端时延能够降低得很小,但是这种竞争的方式却有可能产生过多的碰撞,造成较大的传输延迟,且信道不稳定现象依旧存在;而在按需分配方式中,Client可按照自己实际的需求向Server发送上行链路申请,在这种情况下既满足了Client对实际带宽的需求又不会存在信道资源的浪费。
为此我们提出了三个想法:如何保证多Client或者随机Client同时接入的公平性;如何提高信道的资源利用率,使其在不同Client数和数据量的情况下保证性能的最优化;如何在高负载的情况下保证多Client的接入时延和端到端时延。
二、多Client接入控制算法方案
基于以上三点内容的考虑,提供一种多Client接入控制算法,保证多Client接入时的公平性,解决大传播距离下Client接入时延和端到端时延的问题,具体操作步骤如下:
步骤(1):连接开始,Server广播自己的标识号ID;
步骤(2):Client按需接入Server传输数据之前先接收对应广播信息;
步骤(3):Client将ID信息装入ACK返回给对应Server;
步骤(4):Server匹配ACK中的ID信息,完成握手交互;
步骤(5):Client发出预约时隙请求,每个预约时隙都捎带有对应的优先级号,从0开始依次递增,数字越小优先级越高;
步骤(6):上行帧在最初填充预约时隙的时候按照Client的接入请求顺序由小到大依次匹配其优先级编号;
步骤(7):Server收到上行帧后调度器开始工作,调度器模型包括申请调度模型和分配调度模型,首先根据优先级从高到低将Client ID和相应的申请预约时隙数目放入申请调度模型中;
步骤(8):Server进行资源预约的时隙分配,并在预约时隙分配完成后记录每个Client本次预约申请的时隙数;
步骤(9):Server根据预约的时隙数从大到小重置优先级编号;
步骤(10):重置优先级编号后,Server将剩余时隙数用来进行分配调度,分配调度模型中事先记录了所有活动的Client ID;
步骤(11):Server采用平均方式分配剩余时隙数,直到将这一帧中的时隙分配完;
步骤(12):Server根据计算结果组装下行帧,Client收到下行帧后,根据自己的ID匹配相应的时隙,进行数据转发;
步骤(13):第二次发送上行帧时由于优先级重置,Server根据最新优先级排序对Client进行时隙分配,同时根据本次的预约申请时隙数参照步骤(7)~(9)刷新申请调度模型数据,如果有其他Client接入,则不管当前新Client的请求时隙大小,优先级都在前一次接入的Client之后。
三、算法实施例
举例说明,假设第一次连接开始时有3个Client,按照如图1所示的上行帧方式依次填入自己的预约请求时隙,0号Client的优先级编号为0,1号Client的优先级编号为1,2号Client的优先级编号为2,0号Client申请40个预约时隙,1号Client申请100个预约时隙,2号Client申请80个预约时隙,同步骤(5)、(6)。那么Server在完成预约时隙分配后,就将1号Client的优先级编号置为0,2号Client的优先级编号置为1,0号Client的优先级编号置为2,依次类推,并根据计算结果刷新申请调度模型中的数据,比如优先级和预约的时隙数,同步骤(7)、(8)、(9)。
图1 多Client接入控制算法上行帧格式
图2的申请调度模型记录了预约申请的Client ID、优先级号以及相应的预约时隙数目;图3的分配调度模型记录了当前所有活跃Client的ID以及平均分配的时隙数,其中X≤N。
图2 申请调度模型
图3 分配调度模型
同理,在完成预约时隙算法处理后,Server开始进行剩余时隙数的分配,并根据计算结果刷新分配调度模型中的数据,如平均分配的时隙数,同步骤(10)、(11)。
在完成整个计算过程后,Server通过更新的申请调度模型数据和分配调度模型数据将结果填充至如图4的下行帧并发送给各Client进行后续的数据转发,同步步骤(12)。
图4 多Client接入控制算法下行帧格式
在下一次Server收到Client发来的时隙请求时,则根据步骤(13)的内容进行新一次的时隙分配处理。
四、总结
可以看到,采用了优先级按需分配算法之后,每一个Client的每一次突发请求都能被很合理的分配到相应的时隙组中,避免了时隙碎片的产生,合理分配数据帧资源,而且能够很好的降低时隙分配算法的复杂度,保证业务量大的Client能够优先得到处理,满足面向Client QoS的高效时隙资源分配。