模糊神经元主动队列管理方法在ipcop中实现的方法

文档序号:7860544阅读:239来源:国知局
专利名称:模糊神经元主动队列管理方法在ipcop中实现的方法
技术领域
本发明涉及一种实际通信网络实验平台中模糊神经元主动队列管理方法在IPCOP软件路由器中实现的方法。
背景技术
近年来,计算机网络作为一种新兴的技术已被人们广泛使用,很多研究者已经做了大量的研究来改善其性能。但是随着科技的不断发展,网络规模一直处于增长状态,对有限网络资源的过度需求致使计算机网络的拥塞问题,从而导致网络数据包的大量丢失和网络资源的低利用率以及一些其他性能的恶化。所以,网络拥塞作为一个比较严重的问题引起了研究者的高度重视。仅仅依赖于源端控制策略和机制进行控制是远远不够的,IETF (互联网工程任务组)提出了主动队列管理AQM,其目的是为了弥补端到端拥塞控制机制存在的缺陷。主动队列管理AQM方法解决的问题主要包括以如几个方面I.在延迟和吞吐量之间保持简单的权衡,使队列处于未满的状态是必要的。2.可以吸收突发流,对于持续流和间隙流进行公平地处理。3.在队列满之前对新到达的数据包进行随机丢弃,或者在队列满的时候对缓存区的数据包随机丢弃,从而避免拥塞的发生。4.避免多个TCP连接由于队列溢出而造成的“慢启动”状态。在主动队列管理AQM方法提出之前,路由器采取的是“tooptail”方法,即弃尾法,其原则是在路由器缓存区满之后进来的数据包全部丢弃。而主动队列管理AQM方法是除了使用分组丢弃以外,还在拥塞发生之前使用分组标记通知源端减小发送速率,主动队列管理AQM方法不但能够很好地避免拥塞,同时还能避免全局同步现象(GlobalSynchronization)。1993 年,Flyod 和 Jacobson 提出了随机早期检查 RED (Random EarlyDetection)方法,然而许多随后的研究已经证实了随机早期检查RED方法存在着一些缺点,例如参数较敏感、不能很好地识别拥塞程度、公平性问题以及不能控制队列长度的稳定目标值等。为了克服随机早期检查RED方法存在的缺点,一些随机早期检查RED方法的改进算法被提出,如 ARED(Adaptive-RED)、SRED(Stabilized-RED)、FRED(Flow-RED)、HRED(Hybrid-RED)、和ERED(Effective-RED)。除了随机早期检查RED的改进方法,还有一些其他的主动队列管理AQM方法,如BLUE方法、虚拟队列AVQ方法、REM方法等等。大量的实验表明以上这些方法在动态性能和反应速度方面存在缺陷,在网络环境动态变化的情况下,仍然不能提供令人满意的服务质量。2000年TCP (传输控制协议)模型建立以后,C. Hollot等人基于控制理论分析了网络参数对系统稳定性的影响,提出了 PI (Proportional Integral,比例积分)拥塞控制器,它消除了稳态误差,对于缓存队列调整具有较好的响应性和鲁棒性。与随机早期检测RED方法相比,PI拥塞控制方法可以更好的调节队列长度。然而,它对于负载和网络参数的变化存在着缺陷。随后研究人员又提出了自适应PI速率控制器H)和基于队列的自适应PI控制器ro。为了对系统的整体性能进行改善,在PI的基础上又加入了微分环节,例如ro、PID作为一种调节队列长度的AQM算法而出现,然而由于计算机网络本身存在的延迟和随机性,这些控制器的处理效果并不是很理想。而且将网络作为一种线性时不变系统是存在问题的并且不切合实际,因为实际的网络是复杂多变的。因此,这些方法具有局限的有效性,并且这些算法都是在NS2仿真软件中实现的,并没有应用于实际网络环境中。

发明内容
本发明所要解决的技术问题是克服了现有技术都是在NS2仿真软件中实现的并没有应用于实际网络环境中的问题,提供了一种模糊神经元主动队列管理方法在IPCOP软件路由器中实现的方法。为解决上述技术问题,本发明是采用如下技术方案实现的所述的模糊神经元主动队列管理方法在IPCOP中实现的方法的步骤如下 I.相关参数的定义及初始化;2.等待新的数据包到达;3.采用有导的Hebb学习算法对神经元加权系数动态调节;4.采用模糊控制方法动态调整神经元增益K ;5.计算丢弃概率P (k)并以丢弃概率P (k)丢弃数据包。技术方案中所述的相关参数的定义及初始化是指I) limit为路由器缓存大小,初始值为600packets ;2) qref为队列长度的期望值,初始值为300packet ;3)w为采样频率,初始值为160 ;4)q(k)为当前时刻瞬时队列长度,q(k-l)为前一时刻瞬时队列长度,q (k_2)为前两时刻瞬时队列长度,初始值均为O ;5) p(k)为数据包的丢弃概率,P (k_l)为前一时刻的丢弃概率,初始值均为O ;6)e(k)为当前队列长度与期望队列长度的误差,e(k-l)为前一时刻的误差,e (k-2)为前两时刻的误差,初始值均为O ;7) Xi (k)为神经元的输入量,i = 1,2,3,初始值均为O ;8) Jli为学习速率,i = 1,2, 3,初始值分别为8e_5,le_6和le_7 ;9)Wi (k)为神经元的加权系数,i = 1,2, 3,初始值分别为2. 58392e_6,2. 98290e_6和 3.50735e-8 ;10) K为神经元增益,其初始值K。设置为O. 12。技术方案中所述的采用有导的Hebb学习算法对神经元加权系数动态调节的步骤如下I)将q (k-1)的值赋给前两时刻瞬时队列长度q (k_2),将q (k)的值赋给前一时刻瞬时队列长度q(k-l),q(k)重新采样;2)计算神经元方法输入量X1 (k), X2(k), X3(k)的值 X1 (k) = q (k) -qref = e (k),x2 (k) = e (k) _e (k_l),X3 (k) = e (k) _2e (k_l)+e (k_2);
3)实时计算神经元的加权系数Wi (k+1) = Wi (k) + n ^ (k) p (k) Xi (k), i=l, 2, 3 ;4)将k+1时刻的三个加权系数分别赋值给k时刻的加权系数,用于下一次计算。技术方案中所述的用模糊控制方法动态调整神经元增益K的步骤如下I)以X1(Ii)和x2(k)作为输入量,神经兀增益K的变化量ΔΚ作为输出量,对输入量X1 (k)和X2GO进行模糊化,其中包括量程转换和选取隶属度函数两部分,将X1 (k)和X2GO分别转化到[-3,3]和[-0.3,0. 3]内,输入输出均选取为七个模糊状态,分别为PB即负大、PM即负中、PS即负小、Z即零、NS即正小、匪即正中、NP即正大,隶属度函数选取为三角形函数;2)结合专家知识和经验制定Λ K的模糊规则表,共有49条模糊规则,第一条模糊 规则可以写成If X1 is NB and x2 is NB then ΔK is PB,其他模糊规则与之类似;3 )采用Mamdani法进行模糊推理得到增益Λ K的模糊值;4)用最大隶属度法进行反模糊化得到ΛΚ的真实值,即若输出量只有一个峰值,那么取极值为精确值,若有多个峰值,则取峰值的平均值为精确值,并对K进行更新,即K =K0+Λ K。技术方案中所述的计算丢弃概率P (k)并以丢弃概率p(k)丢弃数据包的步骤如下I)计算丢弃概率P (k):p(k) = p(k -1)十 ATWi (k)x. (k)
i=l
vv,(人)其中w' Jk)为输入量加权系数Wi (k)的归一化,S卩’2)最后将数据包以丢弃概率p (k)进行丢弃。与现有技术相比本发明的有益效果是I.模糊神经元方法能够应用于实际网络中,并且能够保持较小的队列波动性,达到了理想的队列控制效果。2.模糊神经元方法能够将队列长度稳定在介于O至缓存大小之间的任意值。参阅图3,为了检验模糊神经元方法的上述性能,搭建了实际网络平台,节点R1是编译得到的IPCOP软件路由器,节点R2是H3C硬件路由器,R1和R2之间的瓶颈链路大小设置为15Mbps,其他链路均为100Mbps,在LINUX系统下由Si (i=l, 2,3,4)端向D1端利用TCP协议共发送30个大小为10. 7MB的文件,路由缓存大小为600packets,队列期望值为300packets。本发明方法的初始值设置如下模糊神经元方法的学习速率I、1和H3分别设置为8e-5,le-6和le_7,加权系数初始值W1, W2和W3分别为2. 58392e_6,2. 98290e_6和3. 50735e-8。模糊神经元增益的初值Ktl为O. 12。神经元方法的初始参数设置与模糊神经元方法相同。以上初值都是以控制领域为依据来设定的,通过实验大量实验表证明当参数为其他值时,算法效果并不理想。将神经元方法和模糊神经元方法分别嵌入到IPCOP中,并应用于图3的网络平台中,两种方法在实际网络环境中的队列长度变化情况参考图4和图5,可以看出,两种方法的队列长度都比较稳定。两种方法的平均队列长度和均方差参阅图6和图7,可以明显出,与神经元方法相比,模糊神经元方法的平均队列长度更接近于期望值,且其方差较小,说明模糊神经元方法与神经元方法相比,队列长度更稳定,波动性较小。将模糊神经元方法的队列期望值分别设置为50packets和500packets,该方法作用下的队列长度变换情况参考图8和图9,可以看出,两种情况下的队列长度分别可以稳定在50和500附近,说明模糊神经元方法可以将队列长度稳定在O至缓存值之间的任意期望值附近(已实验证明),且队列比较稳定,它有效地消除了队列震荡。从以上两组实验可以得出结论模糊神经元方法在真实的网络环境下是可实现的,且实现方法无需额外的硬件成本。


下面结合附图对本发明作进一步的说明图Ι-a是X1的隶属度函数; 图Ι-b是X2和K的隶属度函数;图2是本发明所述的模糊神经元主动队列管理方法在IPCOP中实现的方法的流程图;图3是本发明所述的模糊神经元主动队列管理方法在IPCOP中实现的方法的实际网络实验拓扑图;图4是本发明所述的神经元主动队列管理方法在IPCOP中实现的方法在实际网络环境下的队列长度变化;图5是本发明所述的模糊神经元主动队列管理方法在IPCOP中实现的方法在实际网络环境下的队列长度变化;图6是神经元方法和模糊神经元方法的平均队列长度比较;图7是神经元方法和模糊神经元方法的队列长度的方差;图8是期望值设置为50packetS时模糊神经元方法的队列长度;图9是期望值设置为500packets时模糊神经元方法的队列长度。
具体实施例方式下面结合附图对本发明作详细的描述参阅图2,本发明解决的技术问题是将模糊神经元方法添加到IPCOP软件路由器中,并应用于实际网络环境中,模糊神经元方法能够根据期望值对队列长度进行调整,最终使得瞬时队列长度能够稳定在队列期望值附近,且队列波动小,本发明所述的模糊神经元主动队列管理方法在IPCOP中实现的方法包括如下步骤I.相关参数的定义及初始化I) limit为路由器缓存大小,初始值为600packets ;2) qref为队列长度的期望值,初始值为300packet ;3)w为采样频率,初始值为160 ;4)q(k)为当前时刻瞬时队列长度,q (k-1)为前一时刻瞬时队列长度,q (k_2)为前两时刻瞬时队列长度,初始值均为O ;
5) p(k)为数据包的丢弃概率,p (k-1)为前一时刻的丢弃概率,初始值均为O ;6)e(k)为当前队列长度与期望队列长度的误差,e(k-l)为前一时刻的误差,e (k-2)为前两时刻的误差,初始值均为O ;7) Xi (k)为神经元的输入量,i = 1,2,3,初始值均为O ;8) Jli为学习速率,i = 1,2,3,初始值分别为8e-5,le_6和le-7 ;9)Wi (k)为神经元的加权系数,i = 1,2, 3,初始值分别为2. 58392e_6,2. 98290e_6和 3.50735e-8 ;10) K为神经元增益,其初始值K。设置为O. 12。2.等待新的数据包到达。 3.采用有导的Hebb学习算法对神经元加权系数动态调节I)将q (k-1)的值赋给前两时刻瞬时队列长度q (k_2),将q (k)的值赋给前一时刻瞬时队列长度q(k-1),q(k)重新采样;2)计算神经元方法输入量X1 (k), X2(k), X3(k)的值X1 (k) = q (k) -qref = e (k),x2 (k) = e (k) _e (k_l),X3 (k) = e (k) _2e (k_l)+e (k_2);3)实时计算神经元的加权系数,采用如下公式Wi (k+1) = Wi (k) + n ^ (k) p (k) Xi (k), i=l, 2, 3 ;4)将k+1时刻的三个加权系数分别赋值给k时刻的加权系数,用于下一次计算。4.采用模糊控制方法动态调整神经元增益K,步骤如下I)以X1(Ii)和x2(k)作为输入量,神经兀增益K的变化量ΔΚ作为输出量,参阅图1,对输入量^00和&00进行模糊化,其中包括量程转换和选取隶属度函数两部分,将X1 (k)和1200分别转化到[_3,3]和[_0.3,0.3]内,输入输出均选取为七个模糊状态,分别为PB (负大)、PM(负中)、PS (负小)、Z (零)、NS (正小)、NM(正中)、NP (正大),隶属度函数选取为三角形函数;2)结合专家知识和经验制定Λ K的模糊规则表,如表I所示,共有49条模糊规则,第一条模糊规则可以写成If X1 is NB and X2 is NB then ΔΚ is PB其他规则与之类似;表I
权利要求
1.ー种模糊神经元主动队列管理方法在IPCOP中实现的方法,其特征在于,所述的模糊神经元主动队列管理方法在IPCOP中实现的方法的步骤如下 1)相关參数的定义及初始化; 2)等待新的数据包到达; 3)采用有导的Hebb学习算法对神经元加权系数动态调节; 4)采用模糊控制方法动态调整神经元增益K; 5)计算丢弃概率P(k)并以丢弃概率P (k)丢弃数据包。
2.按照权利要求I所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特征在于,所述的相关參数的定义及初始化是指 1)limit为路由器缓存大小,初始值为600paCketS ; 2)qref为队列长度的期望值,初始值为300paCket ; 3)w为采样频率,初始值为160 ; 4)q(k)为当前时刻瞬时队列长度,q(k-l)为前ー时刻瞬时队列长度,q(k_2)为前两时刻瞬时队列长度,初始值均为O ; 5)p(k)为数据包的丢弃概率,P (k-1)为前ー时刻的丢弃概率,初始值均为O ; 6)e(k)为当前队列长度与期望队列长度的误差,e(k-1)为前ー时刻的误差,e(k_2)为前两时刻的误差,初始值均为O ; 7)Xi (k)为神经元的输入量,i = 1,2,3,初始值均为O ; 8)Jli为学习速率,i = 1,2,3,初始值分别为8e-5,le-6和le_7 ; 9)Wi (k)为神经元的加权系数,i = 1,2, 3,初始值分别为2. 58392e-6,2. 98290e_6和3.50735e-8 ; 10)K为神经元增益,其初始值Ktl设置为O. 12。
3.按照权利要求I所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特征在于,所述的采用有导的Hebb学习算法对神经元加权系数动态调节的步骤如下 1)将q(k-Ι)的值赋给前两时刻瞬时队列长度q(k_2),将q(k)的值赋给前ー时刻瞬时队列长度q (k-1),q(k)重新采样; 2)计算神经元方法输入量X1(k),X2 (k),X3 (k)的值 X1 (k) = q (k) -qref = e (k),x2 (k) = e(k)-e(k_l), X3 (k) = e (k) _2e (k_l)+e (k_2); 3)实时计算神经元的加权系数 Wi (k+1) = Wi (k) + Π θ (k) p (k) Xi (k), i=l, 2, 3 ; 4)将k+1时刻的三个加权系数分别赋值给k时刻的加权系数,用于下一次计算。
4.按照权利要求I所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特征在于,所述的用模糊控制方法动态调整神经元增益K的步骤如下 I)以X1GO和x2(k)作为输入量,神经元增益K的变化量ΛΚ作为输出量,对输入量X1 (k)和X2GO进行模糊化,其中包括量程转换和选取隶属度函数两部分,将X1 (k)和X2GO分别转化到[-3,3]和[-0.3,0. 3]内,输入输出均选取为七个模糊状态,分别为PB即负大、PM即负中、PS即负小、Z即零、NS即正小、匪即正中、NP即正大,隶属度函数选取为三角形函数; 2)结合专家知识和经验制定ΛΚ的模糊规则表,共有49条模糊规则,第一条模糊规则可以写成If X1 is NB and x2 is NB then ΔK is PB,其他模糊规则与之类似; 3)采用Mamdani法进行模糊推理得到増益ΛK的模糊值; 4)用最大隶属度法进行反模糊化得到ΛΚ的真实值,即若输出量只有一个峰值,那么取极值为精确值,若有多个峰值,则取峰值的平均值为精确值,并对K进行更新,即K =K0+Λ K。
5.按照权利要求I所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特征在于,所述的计算丢弃概率P(k)并以丢弃概率p(k)丢弃数据包的步骤如下 1)计算丢弃概率P(k)p(k) = p(k -1) + 人,"V H·(ん)λ·. (k)=1, 'V1',. (k) 其中-yル)为输入量加权系数Wi(k)的归ー化,g卩‘け)I; 2)最后将数据包以丢弃概率P(k)进行丢弃。
全文摘要
本发明公开了一种模糊神经元主动队列管理方法在IPCOP中实现的方法,该方法步骤如下1.相关参数的定义及初始化;2.等待新的数据包到达;3采用有导的Hebb学习算法对神经元加权系数动态调节;包括对当前时刻瞬时队列长度q(k)进行采样,并计算神经元方法输入量x1(k),x2(k),x3(k)的值;4.采用模糊控制方法动态调整神经元增益K,包括以x1(k)和x2(k)为输入量,神经元增益K的变化量ΔK为输出量,对输入量x1(k)和x2(k)进行模糊化;5.计算丢弃概率p(k)并以丢弃概率p(k)对数据包进行丢弃,包括计算丢弃概率p(k),最后将数据包以丢弃概率p(k)进行丢弃。
文档编号H04L12/24GK102821001SQ20121034442
公开日2012年12月12日 申请日期2012年9月17日 优先权日2012年9月17日
发明者杨晓萍, 陈虹, 郝玉香, 郑楠, 卢川, 宋春凤, 李帅, 刘晓娇, 姜健 申请人:吉林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1