发明名称 一种无线网络的模糊控制方法
摘要 本发明公开了一种无线网络的模糊控制方法,该方法提出一种适用于信道状态不良的无线网络利用模糊控制在线调整调度器当中各个客户端的权值wi′基于WF2Q+的自适应的方法,属于路由器队列管理和分组调度领域;在无线网络中,直接使用有线网络的WF2Q+调度机制,无法实现对开始信道处于不良状态的业务流进行快速的信道补偿,而使用基于模糊控制方法的分组反馈调度机制则能够改善这一情况;它能够为业务流获得期望服务量提供更快速的信道补偿,为确保其服务质量提供更好的保证;使用基于模糊控制方法的分组反馈调度机制能够获得更公平更有效率的网络服务,更好的QoS。
申请公布号 CN101674607B 申请公布日期 2013.06.12
申请号 CN200910192909.0 申请日期 2009.09.30
申请人 广东工业大学 发明人 刘治;胡小青;文俊朝;章云
分类号 H04W28/06(2006.01)I;H04W28/14(2009.01)I;H04W72/12(2009.01)I;G05B13/02(2006.01)I 主分类号 H04W28/06(2006.01)I
代理机构 广州粤高专利商标代理有限公司 44102 代理人 林丽明
主权项 1.一种无线网络的模糊控制方法,其特征包括如下步骤:步骤1):初始化预设<img file="FSB00000937556300011.GIF" wi="396" he="59" />w<sub>i</sub>、w<sub>i</sub>′、Q<sub>i</sub>、Q<sub>i</sub>′、Q<sub>sum</sub>、a<sub>11</sub>、a<sub>12</sub>、a<sub>21</sub>、a<sub>22</sub>,其中,<img file="FSB00000937556300012.GIF" wi="118" he="77" />为客户端i第k个数据包到达系统的虚拟时间;<img file="FSB00000937556300013.GIF" wi="46" he="58" />为客户端i第k个数据包开始发送的虚拟时间;<img file="FSB00000937556300014.GIF" wi="53" he="60" />为客户端i第k个数据包完成发送的虚拟时间;w<sub>i</sub>为客户端i的预设权值;w<sub>i</sub>′为从权值调节器中获得的客户端i的调度用权值w<sub>i</sub>′;Q<sub>i</sub>为客户端i的期望服务量;Q<sub>i</sub>′为系统反馈所得的客户端i的实际获得服务量;Q<sub>sum</sub>为系统反馈所得的系统实时总服务量;a<sub>11</sub>、a<sub>12</sub>、a<sub>21</sub>和a<sub>22</sub>为模糊控制规则的权值修正参数的取值;步骤2):在路由器上建立一个基于模糊控制的分组反馈调度机制的调度器;步骤3):当新分组到来时,判别分组所属的客户端,安排到对应客户端所属的缓存队列,如果此时对应客户端的缓存队列不为空,转到步骤4);如果此时对应客户端的缓存队列为空,转到步骤5);步骤4):判断缓存队列是否有足够空间接纳新分组,如果空间不足直接丢弃;如果空间充足,分组直接进入对应缓存队列,系统不更新<img file="FSB00000937556300015.GIF" wi="363" he="59" />三个值;如果继续有数据包进入队列,回到步骤3);步骤5):分组进入对应缓存队列后,更新对应客户端的虚拟开始时间<img file="FSB00000937556300016.GIF" wi="73" he="59" /><img file="FSB00000937556300017.GIF" wi="525" he="66" />更新对应客户端的虚拟完成时间<img file="FSB00000937556300018.GIF" wi="82" he="59" /><img file="FSB00000937556300021.GIF" wi="367" he="72" />其中,<img file="FSB00000937556300022.GIF" wi="40" he="60" />为客户端i第k个数据包的大小;更新系统的虚拟时间<img file="FSB00000937556300023.GIF" wi="115" he="58" /><img file="FSB00000937556300024.GIF" wi="718" he="65" />其中,<img file="FSB00000937556300025.GIF" wi="154" he="59" />为各个客户端中最小的虚拟开始时间,如果继续有数据包进入队列,回到步骤3);步骤6):当系统的缓存队列当中有数据包时,启动此步骤;本步骤从虚拟开始时间<img file="FSB00000937556300026.GIF" wi="46" he="59" />不大于系统虚拟时间<img file="FSB00000937556300027.GIF" wi="115" he="59" />的客户端当中选取虚拟完成时间<img file="FSB00000937556300028.GIF" wi="54" he="58" />为最小的客户端;步骤7):转发该客户端的数据包;更新客户端i的实际获得服务量Q<sub>i</sub>′,<img file="FSB00000937556300029.GIF" wi="305" he="59" />其中,<img file="FSB000009375563000210.GIF" wi="74" he="58" />和<img file="FSB000009375563000211.GIF" wi="80" he="58" />分别为数据源i的成功转发第k和第k-1个数据包时的实际服务量;更新系统实时总服务量Q<sub>sum</sub>,<img file="FSB000009375563000212.GIF" wi="383" he="81" />上式中,<img file="FSB000009375563000213.GIF" wi="79" he="58" />表示在第k-1个数据包成功转发后的系统总服务量;L<sup>k</sup>表示现在刚刚转发成功的第k个数据包的大小;而<img file="FSB000009375563000214.GIF" wi="79" he="58" />则表示第k个数据包成功转发后的系统总服务量;步骤8):判断数据包发送完毕后,该客户端的缓存队列是否为空,如果该队列在发送后不为空,转到步骤9);如果该队列在发送后为空,跳过步骤9),直接执行步骤10);步骤9):更新该客户端的虚拟开始时间<img file="FSB000009375563000215.GIF" wi="73" he="58" /><img file="FSB00000937556300031.GIF" wi="312" he="78" />直接把该客户端上一次发送数据包时的虚拟完成时间设为新的虚拟开始时间;更新该客户端的虚拟完成时间<img file="FSB00000937556300032.GIF" wi="82" he="59" /><img file="FSB00000937556300033.GIF" wi="480" he="67" />步骤10):更新系统虚拟时间<img file="FSB00000937556300034.GIF" wi="142" he="58" /><img file="FSB00000937556300035.GIF" wi="866" he="67" />其中,<img file="FSB00000937556300036.GIF" wi="133" he="59" />为各个客户端中最小的虚拟开始时间,W表示当前所缓存队列不为空的待发送客户端的预设权值w<sub>i</sub>的总和;步骤11):计算各个客户端期望获得的服务量与实际服务量之差e<sub>i</sub>及误差的变化量<img file="FSB00000937556300037.GIF" wi="112" he="73" />e<sub>i</sub>=Q<sub>i</sub>-Q<sub>i</sub>′;<img file="FSB00000937556300038.GIF" wi="749" he="119" />其中Q<sub>i</sub>为客户端期望获得的服务量,Q<sub>i</sub>=Q<sub>sum</sub>*w<sub>i</sub>/W;步骤12):模糊化数据源i的误差e<sub>i</sub>和误差变化量<img file="FSB00000937556300039.GIF" wi="112" he="72" />计算出误差e<sub>i</sub>和误差变化量<img file="FSB000009375563000310.GIF" wi="87" he="73" />的隶属函数参考值e<sub>i</sub>′和<img file="FSB000009375563000311.GIF" wi="136" he="73" /><img file="FSB000009375563000312.GIF" wi="313" he="256" /><img file="FSB000009375563000313.GIF" wi="397" he="271" />步骤13):计算误差和误差变化量的隶属度,y1=|e<sub>i</sub>′|; <img file="FSB00000937556300041.GIF" wi="308" he="96" />步骤14):根据模糊规则,把计算误差和误差变化量的隶属度分成S和B两种状态,a<sub>11</sub>、a<sub>12</sub>、a<sub>21</sub>和a<sub>22</sub>分别为误差和误差变化量两个输入值处于S和B隶属状态时对应的权值修正参数a的取值,利用重心法可以求得实际输出的权值修正参数a,<img file="FSB00000937556300042.GIF" wi="1876" he="177" />步骤15):更新各个客户端在调度器中的调度权值w<sub>i</sub>′,we<sub>i</sub>(k)=we<sub>i</sub>(k-1)+a*e<sub>i</sub>′;w<sub>i</sub>′(k)=w<sub>i</sub>*we<sub>i</sub>(k);其中we<sub>i</sub>(k)和we<sub>i</sub>(k-1)分别为k时刻和k-1时刻的调度权值系数;w<sub>i</sub>′(k)为k时刻客户端i的调度权值;步骤16):跳回步骤6),不断循环执行,直到各个客户端的缓存队列均为空。
地址 510006 广东省广州市番禺区广州大学城外环西路100号