发明名称 一种QoS感知和负载均衡的无线Mesh智能电网路由机制
摘要 本发明提出一种QoS感知和负载均衡的无线Mesh智能电网路由机制NQA-LB。该路由机制包括四个步骤:首先用EDCA机制区分不同QoS需求的智能电网业务流,根据EDCA机制的数据包碰撞率计算不同业务流的误帧率;其次根据转发节点缓存的队列长度和数据包成功传输的概率,计算不同优先级的数据包排队延迟;然后综合考虑不同业务流的数据帧误帧率和排队延迟,设计QoS感知和负载均衡的路由判据,为不同QoS需求的业务流选择一条负载较少的最佳路径;最后根据网络总负载和各优先级业务流的负载情况,在MAC层动态的调整数据包优先级。本发明能更加准确的感知MAC层的链路质量,保证智能电网不同业务流的QoS需求,进一步提高数据包投递率和平均吞吐量,减少所有业务流的端到端时延。
申请公布号 CN104661260A 申请公布日期 2015.05.27
申请号 CN201510027735.8 申请日期 2015.01.20
申请人 中南大学 发明人 邓晓衡;和莉芳;刘安丰;桂劲松;曾志文;漆华妹
分类号 H04W28/08(2009.01)I;H04W28/16(2009.01)I;H04W40/02(2009.01)I 主分类号 H04W28/08(2009.01)I
代理机构 中南大学专利中心 43200 代理人 胡燕瑜
主权项 一种QoS感知和负载均衡的无线Mesh智能电网路由机制NQA‑LB,其特征在于包括以下步骤:步骤1计算不同优先级数据流的误帧率根据智能电网不同业务流的QoS需求,用IEEE 802.11e的EDCA机制区分不同业务流,通过三维马尔科夫状态转移图分析EDCA机制中不同优先级i的状态,其中i=0,1,2,3,计算优先级为i的数据包发生碰撞的概率p<sub>i</sub>:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>p</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>&tau;</mi><mi>i</mi></msub><mo>)</mo></mrow><msub><mi>n</mi><mi>i</mi></msub></msup><munderover><mi>&Pi;</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn><mo>,</mo><mi>l</mi><mo>&NotEqual;</mo><mi>i</mi></mrow><mn>3</mn></munderover><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>&tau;</mi><mi>l</mi></msub><mo>)</mo></mrow><msub><mi>n</mi><mi>l</mi></msub></msup></mrow>]]></math><img file="FDA0000659108390000011.GIF" wi="749" he="190" /></maths>其中τ<sub>i</sub>为一个节点在时隙空闲下传输优先级为i的数据包的概率,n<sub>i</sub>表示发送优先级为i的数据流的站点数,数据包在丢失前将尝试传输最大重传次数L<sub>retry(i)</sub>,得到优先级为i的数据帧丢失率p<sub>loss(i)</sub>,也就是优先级为i的数据流的误帧率e<sub>f(i)</sub>:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>e</mi><mrow><mi>f</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><msub><mi>p</mi><mi>loss</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><msup><msub><mi>p</mi><mi>i</mi></msub><mrow><msub><mi>L</mi><mrow><mi>retry</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>+</mo><mn>1</mn></mrow></msup></mrow>]]></math><img file="FDA0000659108390000015.GIF" wi="612" he="86" /></maths>步骤2计算不同优先级数据包的排队延迟根据数据包丢失率p<sub>i</sub>计算优先级为i的数据包成功传输的概率p<sub>succ(i)</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><msub><mi>L</mi><mrow><mi>retry</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub></munderover><msub><mi>p</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msubsup><mi>p</mi><mi>i</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>p</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><msup><msub><mi>p</mi><mi>i</mi></msub><mrow><msub><mi>L</mi><mrow><mi>retry</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>+</mo><mn>1</mn></mrow></msup></mrow>]]></math><img file="FDA0000659108390000012.GIF" wi="1106" he="202" /></maths>优先级为i的数据包排队时延D<sub>Q(i)</sub>等于当前的数据包被服务之前四个队列中被服务的所有数据包的传输时延之和;当队列i中的数据包个数q<sub>i</sub>小于队列j中的数据包个数q<sub>j</sub>,即q<sub>i</sub><q<sub>j</sub>时,优先级为i的数据包排队时延D<sub>Q(i)</sub>表示为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>D</mi><mrow><mi>Q</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>&CenterDot;</mo><msub><mi>q</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>+</mo><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn><mo>,</mo><mi>j</mi><mo>&NotEqual;</mo><mi>i</mi></mrow><mn>3</mn></munderover><msub><mi>q</mi><mi>j</mi></msub><mo>&CenterDot;</mo><mfrac><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub></mfrac></mrow>]]></math><img file="FDA0000659108390000013.GIF" wi="1120" he="194" /></maths>当q<sub>i</sub>>q<sub>j</sub>时:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>D</mi><mrow><mi>Q</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>&CenterDot;</mo><msub><mi>q</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>+</mo><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn><mo>,</mo><mi>j</mi><mo>&NotEqual;</mo><mi>i</mi></mrow><mn>3</mn></munderover><msub><mi>q</mi><mi>j</mi></msub><mo>&CenterDot;</mo><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub></mrow>]]></math><img file="FDA0000659108390000014.GIF" wi="1146" he="193" /></maths>其中q<sub>i</sub>和q<sub>j</sub>为经过指数加权平均移动算法EWMA进行平滑处理过的不同队列中缓存的队列大小,C<sub>a(i)</sub>为优先级为i的数据包预期传输时延;步骤3设计QoS感知和负载均衡的路由判据CC<sub>a</sub>根据步骤1所得的误帧率e<sub>f(i)</sub>和步骤2所得的数据包排队延迟D<sub>Q(i)</sub>,综合考虑链路质量和链路负载,设计QoS感知和负载均衡的路由判据CC<sub>a</sub>:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>CC</mi><mi>a</mi></msub><mo>=</mo><msub><mi>D</mi><mrow><mi>Q</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>+</mo><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>q</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>+</mo><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn><mo>,</mo><mi>j</mi><mo>&NotEqual;</mo><mi>i</mi></mrow><mn>3</mn></munderover><msub><mi>q</mi><mi>j</mi></msub><mo>&CenterDot;</mo><mfrac><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub></mfrac><mo>,</mo><msub><mi>q</mi><mi>i</mi></msub><mo>&lt;</mo><msub><mi>q</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>q</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mo>+</mo><msub><mi>C</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn><mo>,</mo><mi>j</mi><mo>&NotEqual;</mo><mi>i</mi></mrow><mn>3</mn></munderover><msub><mi>q</mi><mi>j</mi></msub><mo>&CenterDot;</mo><msub><mi>p</mi><mrow><mi>succ</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>,</mo><msub><mi>q</mi><mi>i</mi></msub><mo>></mo><msub><mi>q</mi><mi>j</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000659108390000021.GIF" wi="1751" he="379" /></maths>CC<sub>a</sub>表示优先级为i的预期数据包端到端总时延,即传输时延C<sub>a(i)</sub>与排队时延D<sub>Q(i)</sub>之和;步骤4基于EDCA机制的动态数据包优先级调整算法AP‑EDCA综合考虑网络总负载NC和各优先级业务流负载TC[i],在NQA‑LB路由机制的MAC层动态的调整数据包的优先级,提高NQA‑LB在高负载下的可靠性和在低负载下的资源利用率;当网络丢包率低于预设门限值时,说明网络负载较轻,网络状况良好,此时如果高优先级业务的队列长度小于门限值,则说明网络资源有剩余,将低优先级数据包的的优先级调高再加入队列,从而避免了过多信道时隙的浪费;而网络丢包率较高时,说明网络比较拥塞,此时如果低优先级队列较小而高优先队列高于门限值,则降低高优先级队列的优先级缓解连续拥塞,提高网络性能;如果网络丢包率在低门限值和高门限值之间,则保持数据包的优先级不变。
地址 410083 湖南省长沙市岳麓区麓山南路932号