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

上传人:111****112 文档编号:4335062 上传时间:2018-09-14 格式:PDF 页数:14 大小:3.47MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210344427.4

申请日:

2012.09.17

公开号:

CN102821001A

公开日:

2012.12.12

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):H04L 12/24申请公布日:20121212|||实质审查的生效IPC(主分类):H04L 12/24申请日:20120917|||公开

IPC分类号:

H04L12/24; H04L12/56

主分类号:

H04L12/24

申请人:

吉林大学

发明人:

杨晓萍; 陈虹; 郝玉香; 郑楠; 卢川; 宋春凤; 李帅; 刘晓娇; 姜健

地址:

130012 吉林省长春市前进大街2699号

优先权:

专利代理机构:

长春吉大专利代理有限责任公司 22201

代理人:

齐安全;胡景阳

PDF下载: PDF下载
内容摘要

本发明公开了一种模糊神经元主动队列管理方法在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)进行丢弃。

权利要求书

1: 一种模糊神经元主动队列管理方法在 IPCOP 中实现的方法, 其特征在于, 所述的模 糊神经元主动队列管理方法在 IPCOP 中实现的方法的步骤如下 : 1) 相关参数的定义及初始化 ; 2) 等待新的数据包到达 ; 3) 采用有导的 Hebb 学习算法对神经元加权系数动态调节 ; 4) 采用模糊控制方法动态调整神经元增益 K ; 5) 计算丢弃概率 p(k) 并以丢弃概率 p(k) 丢弃数据包。2: 按照权利要求 1 所述的模糊神经元主动队列管理方法在 IPCOP 中实现的方法, 其特 征在于, 所述的相关参数的定义及初始化是指 : 1) limit 为路由器缓存大小, 初始值为 600packets ; 2) qref 为队列长度的期望值, 初始值为 300packet ; 3) w 为采样频率, 初始值为 160 ; 4) q(k) 为当前时刻瞬时队列长度, q(k-1) 为前一时刻瞬时队列长度, q(k-2) 为前两时 刻瞬时队列长度, 初始值均为 0 ; 5) p(k) 为数据包的丢弃概率, p(k-1) 为前一时刻的丢弃概率, 初始值均为 0 ; 6) e(k) 为当前队列长度与期望队列长度的误差, e(k-1) 为前一时刻的误差, e(k-2) 为 前两时刻的误差, 初始值均为 0 ; 7) xi(k) 为神经元的输入量, i = 1,2,3, 初始值均为 0 ; 8) ηi 为学习速率, i = 1,2,3, 初始值分别为 8e-5, 1e-6 和 1e-7 ; 9) wi(k) 为神经元的加权系数, i = 1,2,3, 初始值分别为 2.58392e-6, 2.98290e-6 和3: 50735e-8 ; 10) K 为神经元增益, 其初始值 K0 设置为 0.12。 3. 按照权利要求 1 所述的模糊神经元主动队列管理方法在 IPCOP 中实现的方法, 其特 征在于, 所述的采用有导的 Hebb 学习算法对神经元加权系数动态调节的步骤如下 : 1) 将 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-1), x3(k) = e(k)-2e(k-1)+e(k-2) ; 3) 实时计算神经元的加权系数 : wi(k+1) = wi(k)+ηie(k)p(k)xi(k), i=1,2,3 ; 4) 将 k+1 时刻的三个加权系数分别赋值给 k 时刻的加权系数, 用于下一次计算。4: 按照权利要求 1 所述的模糊神经元主动队列管理方法在 IPCOP 中实现的方法, 其特 征在于, 所述的用模糊控制方法动态调整神经元增益 K 的步骤如下 : 1) 以 x1(k) 和 x2(k) 作为输入量, 神经元增益 K 的变化量 ΔK 作为输出量, 对输入量 x1(k) 和 x2(k) 进行模糊化, 其中包括量程转换和选取隶属度函数两部分, 将 x1(k) 和 x2(k) 分别转化到 [-3, 3] 和 [-0.3, 0.3] 内, 输入输出均选取为七个模糊状态, 分别为 PB 即负大、 PM 即负中、 PS 即负小、 Z 即零、 NS 即正小、 NM 即正中、 NP 即正大, 隶属度函数选取为三角形 2 函数 ; 2) 结合专家知识和经验制定 ΔK 的模糊规则表, 共有 49 条模糊规则, 第一条模糊规则 可以写成 : If x1 is NB and x2 is NB then ΔK is PB, 其他模糊规则与之类似 ; 3) 采用 Mamdani 法进行模糊推理得到增益 ΔK 的模糊值 ; 4) 用最大隶属度法进行反模糊化得到 ΔK 的真实值, 即若输出量只有一个峰值, 那 么取极值为精确值, 若有多个峰值, 则取峰值的平均值为精确值, 并对 K 进行更新, 即K= K0+ΔK。5: 按照权利要求 1 所述的模糊神经元主动队列管理方法在 IPCOP 中实现的方法, 其特 征在于, 所述的计算丢弃概率 p(k) 并以丢弃概率 p(k) 丢弃数据包的步骤如下 : 1) 计算丢弃概率 p(k) : 其中 : w′ i(k) 为输入量加权系数 wi(k) 的归一化, 即 2) 最后将数据包以丢弃概率 p(k) 进行丢弃。

说明书


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

    技术领域 本发明涉及一种实际通信网络实验平台中模糊神经元主动队列管理方法在 IPCOP 软件路由器中实现的方法。
     背景技术 近年来, 计算机网络作为一种新兴的技术已被人们广泛使用, 很多研究者已经做 了大量的研究来改善其性能。 但是随着科技的不断发展, 网络规模一直处于增长状态, 对有 限网络资源的过度需求致使计算机网络的拥塞问题, 从而导致网络数据包的大量丢失和网 络资源的低利用率以及一些其他性能的恶化。所以, 网络拥塞作为一个比较严重的问题引 起了研究者的高度重视。
     仅仅依赖于源端控制策略和机制进行控制是远远不够的, IETF(互联网工程任务 组) 提出了主动队列管理 AQM, 其目的是为了弥补端到端拥塞控制机制存在的缺陷。主动队 列管理 AQM 方法解决的问题主要包括以如几个方面 :
     1. 在延迟和吞吐量之间保持简单的权衡, 使队列处于未满的状态是必要的。
     2. 可以吸收突发流, 对于持续流和间隙流进行公平地处理。
     3. 在队列满之前对新到达的数据包进行随机丢弃, 或者在队列满的时候对缓存区 的数据包随机丢弃, 从而避免拥塞的发生。
     4. 避免多个 TCP 连接由于队列溢出而造成的 “慢启动” 状态。
     在主动队列管理 AQM 方法提出之前, 路由器采取的是 “Droptail”方法, 即弃尾 法, 其原则是在路由器缓存区满之后进来的数据包全部丢弃。而主动队列管理 AQM 方 法是除了使用分组丢弃以外, 还在拥塞发生之前使用分组标记通知源端减小发送速率, 主动队列管理 AQM 方法不但能够很好地避免拥塞, 同时还能避免全局同步现象 (Global Synchronization)。1993 年, Flyod 和 Jacobson 提出了随机早期检查 RED(Random Early Detection) 方法, 然而许多随后的研究已经证实了随机早期检查 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 速率控制器 PD 和基于队列的自适应
     PI 控制器 PD。为了对系统的整体性能进行改善, 在 PI 的基础上又加入了微分环节, 例如 : PD、 PID 作为一种调节队列长度的 AQM 算法而出现, 然而由于计算机网络本身存在的延迟和 随机性, 这些控制器的处理效果并不是很理想。而且将网络作为一种线性时不变系统是存 在问题的并且不切合实际, 因为实际的网络是复杂多变的。 因此, 这些方法具有局限的有效 性, 并且这些算法都是在 NS2 仿真软件中实现的, 并没有应用于实际网络环境中。 发明内容
     本发明所要解决的技术问题是克服了现有技术都是在 NS2 仿真软件中实现的并 没有应用于实际网络环境中的问题, 提供了一种模糊神经元主动队列管理方法在 IPCOP 软 件路由器中实现的方法。
     为解决上述技术问题, 本发明是采用如下技术方案实现的 : 所述的模糊神经元主 动队列管理方法在 IPCOP 中实现的方法的步骤如下 :
     1. 相关参数的定义及初始化 ;
     2. 等待新的数据包到达 ;
     3. 采用有导的 Hebb 学习算法对神经元加权系数动态调节 ; 4. 采用模糊控制方法动态调整神经元增益 K ;
     5. 计算丢弃概率 p(k) 并以丢弃概率 p(k) 丢弃数据包。
     技术方案中所述的相关参数的定义及初始化是指 :
     1) limit 为路由器缓存大小, 初始值为 600packets ;
     2) qref 为队列长度的期望值, 初始值为 300packet ;
     3) w 为采样频率, 初始值为 160 ;
     4) q(k) 为当前时刻瞬时队列长度, q(k-1) 为前一时刻瞬时队列长度, q(k-2) 为前 两时刻瞬时队列长度, 初始值均为 0 ;
     5) p(k) 为数据包的丢弃概率, p(k-1) 为前一时刻的丢弃概率, 初始值均为 0 ;
     6) e(k) 为当前队列长度与期望队列长度的误差, e(k-1) 为前一时刻的误差, e(k-2) 为前两时刻的误差, 初始值均为 0 ;
     7) xi(k) 为神经元的输入量, i = 1,2,3, 初始值均为 0 ;
     8) ηi 为学习速率, i = 1,2,3, 初始值分别为 8e-5, 1e-6 和 1e-7 ;
     9) wi(k) 为神经元的加权系数, i = 1,2,3, 初始值分别为 2.58392e-6, 2.98290e-6 和 3.50735e-8 ;
     10) K 为神经元增益, 其初始值 K0 设置为 0.12。
     技术方案中所述的采用有导的 Hebb 学习算法对神经元加权系数动态调节的步骤 如下 :
     1) 将 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-1),
     x3(k) = e(k)-2e(k-1)+e(k-2) ;
     3) 实时计算神经元的加权系数 :
     wi(k+1) = wi(k)+ηie(k)p(k)xi(k), i=1,2,3 ;
     4) 将 k+1 时刻的三个加权系数分别赋值给 k 时刻的加权系数, 用于下一次计算。
     技术方案中所述的用模糊控制方法动态调整神经元增益 K 的步骤如下 :
     1) 以 x1(k) 和 x2(k) 作为输入量, 神经元增益 K 的变化量 ΔK 作为输出量, 对输入量 x1(k) 和 x2(k) 进行模糊化, 其中包括量程转换和选取隶属度函数两部分, 将 x1(k) 和 x2(k) 分别转化到 [-3, 3] 和 [-0.3, 0.3] 内, 输入输出均选取为七个模糊状态, 分别为 PB 即负大、 PM 即负中、 PS 即负小、 Z 即零、 NS 即正小、 NM 即正中、 NP 即正大, 隶属度函数选取为三角形 函数 ;
     2) 结合专家知识和经验制定 ΔK 的模糊规则表, 共有 49 条模糊规则, 第一条模糊 规则可以写成 : If x1 is NB and x2 is NB then ΔK is PB, 其他模糊规则与之类似 ;
     3) 采用 Mamdani 法进行模糊推理得到增益 ΔK 的模糊值 ;
     4) 用最大隶属度法进行反模糊化得到 ΔK 的真实值, 即若输出量只有一个峰值, 那么取极值为精确值, 若有多个峰值, 则取峰值的平均值为精确值, 并对 K 进行更新, 即K= K0+ΔK。
     技术方案中所述的计算丢弃概率 p(k) 并以丢弃概率 p(k) 丢弃数据包的步骤如 下:
     1) 计算丢弃概率 p(k) :
     其中 : w′ i(k) 为输入量加权系数 wi(k) 的归一化, 即2) 最后将数据包以丢弃概率 p(k) 进行丢弃。
     与现有技术相比本发明的有益效果是 :
     1. 模糊神经元方法能够应用于实际网络中, 并且能够保持较小的队列波动性, 达 到了理想的队列控制效果。
     2. 模糊神经元方法能够将队列长度稳定在介于 0 至缓存大小之间的任意值。
     参阅图 3, 为了检验模糊神经元方法的上述性能, 搭建了实际网络平台, 节点 R1 是 编译得到的 IPCOP 软件路由器, 节点 R2 是 H3C 硬件路由器, R1 和 R2 之间的瓶颈链路大小
     设置为 15Mbps, 其他链路均为 100Mbps, 在 LINUX 系统下由 Si(i=1,2,3,4) 端向 D1 端利用 TCP 协议共发送 30 个大小为 10.7MB 的文件, 路由缓存大小为 600packets, 队列期望值为 300packets。本发明方法的初始值设置如下 : 模糊神经元方法的学习速率 η1、 η2 和 η3 分 别设置为 8e-5, 1e-6 和 1e-7, 加权系数初始值 w1, w2 和 w3 分别为 2.58392e-6, 2.98290e-6 和 3.50735e-8。模糊神经元增益的初值 K0 为 0.12。神经元方法的初始参数设置与模糊神 经元方法相同。 以上初值都是以控制领域为依据来设定的, 通过实验大量实验表证明 : 当参 数为其他值时, 算法效果并不理想。
     将神经元方法和模糊神经元方法分别嵌入到 IPCOP 中, 并应用于图 3 的网络平台 中, 两种方法在实际网络环境中的队列长度变化情况参考图 4 和图 5, 可以看出, 两种方法的队列长度都比较稳定。两种方法的平均队列长度和均方差参阅图 6 和图 7, 可以明显出, 与神经元方法相比, 模糊神经元方法的平均队列长度更接近于期望值, 且其方差较小, 说明 模糊神经元方法与神经元方法相比, 队列长度更稳定, 波动性较小。
     将模糊神经元方法的队列期望值分别设置为 50packets 和 500packets, 该方法作 用下的队列长度变换情况参考图 8 和图 9, 可以看出, 两种情况下的队列长度分别可以稳定 在 50 和 500 附近, 说明模糊神经元方法可以将队列长度稳定在 0 至缓存值之间的任意期望 值附近 (已实验证明) , 且队列比较稳定, 它有效地消除了队列震荡。
     从以上两组实验可以得出结论 : 模糊神经元方法在真实的网络环境下是可实现 的, 且实现方法无需额外的硬件成本。 附图说明
     下面结合附图对本发明作进一步的说明 :
     图 1-a 是 x1 的隶属度函数 ;
     图 1-b 是 x2 和 K 的隶属度函数 ;
     图 2 是本发明所述的模糊神经元主动队列管理方法在 IPCOP 中实现的方法的流程 图; 图 3 是本发明所述的模糊神经元主动队列管理方法在 IPCOP 中实现的方法的实际 网络实验拓扑图 ;
     图 4 是本发明所述的神经元主动队列管理方法在 IPCOP 中实现的方法在实际网络 环境下的队列长度变化 ;
     图 5 是本发明所述的模糊神经元主动队列管理方法在 IPCOP 中实现的方法在实际 网络环境下的队列长度变化 ;
     图 6 是神经元方法和模糊神经元方法的平均队列长度比较 ;
     图 7 是神经元方法和模糊神经元方法的队列长度的方差 ;
     图 8 是期望值设置为 50packets 时模糊神经元方法的队列长度 ;
     图 9 是期望值设置为 500packets 时模糊神经元方法的队列长度。
     具体实施方式
     下面结合附图对本发明作详细的描述 :
     参阅图 2, 本发明解决的技术问题是将模糊神经元方法添加到 IPCOP 软件路由器 中, 并应用于实际网络环境中, 模糊神经元方法能够根据期望值对队列长度进行调整, 最终 使得瞬时队列长度能够稳定在队列期望值附近, 且队列波动小, 本发明所述的模糊神经元 主动队列管理方法在 IPCOP 中实现的方法包括如下步骤 :
     1. 相关参数的定义及初始化 :
     1) limit 为路由器缓存大小, 初始值为 600packets ;
     2) qref 为队列长度的期望值, 初始值为 300packet ;
     3) w 为采样频率, 初始值为 160 ;
     4) q(k) 为当前时刻瞬时队列长度, q(k-1) 为前一时刻瞬时队列长度, q(k-2) 为前 两时刻瞬时队列长度, 初始值均为 0 ;5) p(k) 为数据包的丢弃概率, p(k-1) 为前一时刻的丢弃概率, 初始值均为 0 ;
     6) e(k) 为当前队列长度与期望队列长度的误差, e(k-1) 为前一时刻的误差, e(k-2) 为前两时刻的误差, 初始值均为 0 ;
     7) xi(k) 为神经元的输入量, i = 1,2,3, 初始值均为 0 ;
     8) ηi 为学习速率, i = 1,2,3, 初始值分别为 8e-5, 1e-6 和 1e-7 ;
     9) wi(k) 为神经元的加权系数, i = 1,2,3, 初始值分别为 2.58392e-6, 2.98290e-6 和 3.50735e-8 ;
     10) K 为神经元增益, 其初始值 K0 设置为 0.12。
     2. 等待新的数据包到达。
     3. 采用有导的 Hebb 学习算法对神经元加权系数动态调节 :
     1) 将 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-1), x3(k) = e(k)-2e(k-1)+e(k-2) ;
     3) 实时计算神经元的加权系数, 采用如下公式 :
     wi(k+1) = wi(k)+ηie(k)p(k)xi(k), i=1,2,3 ;
     4) 将 k+1 时刻的三个加权系数分别赋值给 k 时刻的加权系数, 用于下一次计算。
     4. 采用模糊控制方法动态调整神经元增益 K, 步骤如下 :
     1) 以 x1(k) 和 x2(k) 作为输入量, 神经元增益 K 的变化量 ΔK 作为输出量, 参阅图 1, 对输入量 x1(k) 和 x2(k) 进行模糊化, 其中包括量程转换和选取隶属度函数两部分, 将 x1(k) 和 x2(k) 分别转化到 [-3, 3] 和 [-0.3, 0.3] 内, 输入输出均选取为七个模糊状态, 分 别为 PB( 负大 )、 PM( 负中 )、 PS( 负小 )、 Z( 零 )、 NS( 正小 )、 NM( 正中 )、 NP( 正大 ), 隶属 度函数选取为三角形函数 ;
     2) 结合专家知识和经验制定 ΔK 的模糊规则表, 如表 1 所示, 共有 49 条模糊规则, 第一条模糊规则可以写成
     If x1 is NB and x2 is NB then ΔK is PB
     其他规则与之类似 ;
     表1
     3) 采用 Mamdani 法进行模糊推理得到增益 ΔK 的模糊值 ;
     4) 用最大隶属度法进行反模糊化得到增益的变化量 ΔK 的真实值, 即若输出量只 有一个峰值, 那么取极值为精确值, 若有多个峰值, 则取峰值的平均值为精确值, 并对增益 K 进行更新, 即 K = K0+ΔK。
     5. 计算丢弃概率 p(k) 并以丢弃概率 p(k) 丢弃数据包, 步骤如下 :
     1) 计算丢弃概率 p(k), 采用公式如下 :
     其中 : w′ i(k) 为输入量加权系数 wi(k) 的归一化, 即 2) 最后将数据包以丢弃概率 p(k) 进行丢弃。
    

模糊神经元主动队列管理方法在IPCOP中实现的方法.pdf_第1页
第1页 / 共14页
模糊神经元主动队列管理方法在IPCOP中实现的方法.pdf_第2页
第2页 / 共14页
模糊神经元主动队列管理方法在IPCOP中实现的方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《模糊神经元主动队列管理方法在IPCOP中实现的方法.pdf》由会员分享,可在线阅读,更多相关《模糊神经元主动队列管理方法在IPCOP中实现的方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102821001 A (43)申请公布日 2012.12.12 C N 1 0 2 8 2 1 0 0 1 A *CN102821001A* (21)申请号 201210344427.4 (22)申请日 2012.09.17 H04L 12/24(2006.01) H04L 12/56(2006.01) (71)申请人吉林大学 地址 130012 吉林省长春市前进大街2699 号 (72)发明人杨晓萍 陈虹 郝玉香 郑楠 卢川 宋春凤 李帅 刘晓娇 姜健 (74)专利代理机构长春吉大专利代理有限责任 公司 22201 代理人齐安全 胡景阳 (54) 发明名称 模糊神。

2、经元主动队列管理方法在IPCOP中实 现的方法 (57) 摘要 本发明公开了一种模糊神经元主动队列管理 方法在IPCOP中实现的方法,该方法步骤如下: 1.相关参数的定义及初始化;2.等待新的数据 包到达;3采用有导的Hebb学习算法对神经元加 权系数动态调节;包括对当前时刻瞬时队列长度 q(k)进行采样,并计算神经元方法输入量x 1 (k), x 2 (k),x 3 (k)的值;4.采用模糊控制方法动态调整 神经元增益K,包括以x 1 (k)和x 2 (k)为输入量, 神经元增益K的变化量K为输出量,对输入量 x 1 (k)和x 2 (k)进行模糊化;5.计算丢弃概率p(k) 并以丢弃概率p。

3、(k)对数据包进行丢弃,包括计算 丢弃概率p(k),最后将数据包以丢弃概率p(k)进 行丢弃。 (51)Int.Cl. 权利要求书2页 说明书6页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 6 页 附图 5 页 1/2页 2 1.一种模糊神经元主动队列管理方法在IPCOP中实现的方法,其特征在于,所述的模 糊神经元主动队列管理方法在IPCOP中实现的方法的步骤如下: 1)相关参数的定义及初始化; 2)等待新的数据包到达; 3)采用有导的Hebb学习算法对神经元加权系数动态调节; 4)采用模糊控制方法动态调整神经元增益K; 5)计算丢弃概率。

4、p(k)并以丢弃概率p(k)丢弃数据包。 2.按照权利要求1所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特 征在于,所述的相关参数的定义及初始化是指: 1)limit为路由器缓存大小,初始值为600packets; 2)q ref 为队列长度的期望值,初始值为300packet; 3)w为采样频率,初始值为160; 4)q(k)为当前时刻瞬时队列长度,q(k-1)为前一时刻瞬时队列长度,q(k-2)为前两时 刻瞬时队列长度,初始值均为0; 5)p(k)为数据包的丢弃概率,p(k-1)为前一时刻的丢弃概率,初始值均为0; 6)e(k)为当前队列长度与期望队列长度的误差,e(k-1。

5、)为前一时刻的误差,e(k-2)为 前两时刻的误差,初始值均为0; 7)x i (k)为神经元的输入量,i1,2,3,初始值均为0; 8) i 为学习速率,i1,2,3,初始值分别为8e-5,1e-6和1e-7; 9)w i (k)为神经元的加权系数,i1,2,3,初始值分别为2.58392e-6,2.98290e-6和 3.50735e-8; 10)K为神经元增益,其初始值K 0 设置为0.12。 3.按照权利要求1所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特 征在于,所述的采用有导的Hebb学习算法对神经元加权系数动态调节的步骤如下: 1)将q(k-1)的值赋给前两时刻瞬。

6、时队列长度q(k-2),将q(k)的值赋给前一时刻瞬时 队列长度q(k-1),q(k)重新采样; 2)计算神经元方法输入量x 1 (k),x 2 (k),x 3 (k)的值: x 1 (k)q(k)-q ref e(k), x 2 (k)e(k)-e(k-1), x 3 (k)e(k)-2e(k-1)+e(k-2); 3)实时计算神经元的加权系数: w i (k+1)w i (k)+ i e(k)p(k)x i (k),i=1,2,3; 4)将k+1时刻的三个加权系数分别赋值给k时刻的加权系数,用于下一次计算。 4.按照权利要求1所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特 。

7、征在于,所述的用模糊控制方法动态调整神经元增益K的步骤如下: 1)以x 1 (k)和x 2 (k)作为输入量,神经元增益K的变化量K作为输出量,对输入量 x 1 (k)和x 2 (k)进行模糊化,其中包括量程转换和选取隶属度函数两部分,将x 1 (k)和x 2 (k) 分别转化到-3,3和-0.3,0.3内,输入输出均选取为七个模糊状态,分别为PB即负大、 PM即负中、PS即负小、Z即零、NS即正小、NM即正中、NP即正大,隶属度函数选取为三角形 权 利 要 求 书CN 102821001 A 2/2页 3 函数; 2)结合专家知识和经验制定K的模糊规则表,共有49条模糊规则,第一条模糊规则 。

8、可以写成:If x 1 is NB and x 2 is NB then K is PB,其他模糊规则与之类似; 3)采用Mamdani法进行模糊推理得到增益K的模糊值; 4)用最大隶属度法进行反模糊化得到K的真实值,即若输出量只有一个峰值,那 么取极值为精确值,若有多个峰值,则取峰值的平均值为精确值,并对K进行更新,即K K 0 +K。 5.按照权利要求1所述的模糊神经元主动队列管理方法在IPCOP中实现的方法,其特 征在于,所述的计算丢弃概率p(k)并以丢弃概率p(k)丢弃数据包的步骤如下: 1)计算丢弃概率p(k): 其中:w i (k)为输入量加权系数w i (k)的归一化,即 2)最。

9、后将数据包以丢弃概率p(k)进行丢弃。 权 利 要 求 书CN 102821001 A 1/6页 4 模糊神经元主动队列管理方法在 IPCOP 中实现的方法 技术领域 0001 本发明涉及一种实际通信网络实验平台中模糊神经元主动队列管理方法在IPCOP 软件路由器中实现的方法。 背景技术 0002 近年来,计算机网络作为一种新兴的技术已被人们广泛使用,很多研究者已经做 了大量的研究来改善其性能。但是随着科技的不断发展,网络规模一直处于增长状态,对有 限网络资源的过度需求致使计算机网络的拥塞问题,从而导致网络数据包的大量丢失和网 络资源的低利用率以及一些其他性能的恶化。所以,网络拥塞作为一个比较。

10、严重的问题引 起了研究者的高度重视。 0003 仅仅依赖于源端控制策略和机制进行控制是远远不够的,IETF(互联网工程任务 组)提出了主动队列管理AQM,其目的是为了弥补端到端拥塞控制机制存在的缺陷。主动队 列管理AQM方法解决的问题主要包括以如几个方面: 0004 1.在延迟和吞吐量之间保持简单的权衡,使队列处于未满的状态是必要的。 0005 2.可以吸收突发流,对于持续流和间隙流进行公平地处理。 0006 3.在队列满之前对新到达的数据包进行随机丢弃,或者在队列满的时候对缓存区 的数据包随机丢弃,从而避免拥塞的发生。 0007 4.避免多个TCP连接由于队列溢出而造成的“慢启动”状态。 0。

11、008 在主动队列管理AQM方法提出之前,路由器采取的是“Droptail”方法,即弃尾 法,其原则是在路由器缓存区满之后进来的数据包全部丢弃。而主动队列管理AQM方 法是除了使用分组丢弃以外,还在拥塞发生之前使用分组标记通知源端减小发送速率, 主动队列管理AQM方法不但能够很好地避免拥塞,同时还能避免全局同步现象(Global Synchronization)。1993年,Flyod和Jacobson提出了随机早期检查RED(Random Early Detection)方法,然而许多随后的研究已经证实了随机早期检查RED方法存在着一些缺 点,例如参数较敏感、不能很好地识别拥塞程度、公平性问。

12、题以及不能控制队列长度的稳 定目标值等。为了克服随机早期检查RED方法存在的缺点,一些随机早期检查RED方法 的改进算法被提出,如ARED(Adaptive-RED)、SRED(Stabilized-RED)、FRED(Flow-RED)、 HRED(Hybrid-RED)、和ERED(Effective-RED)。除了随机早期检查RED的改进方法,还有一 些其他的主动队列管理AQM方法,如BLUE方法、虚拟队列AVQ方法、REM方法等等。大量的 实验表明以上这些方法在动态性能和反应速度方面存在缺陷,在网络环境动态变化的情况 下,仍然不能提供令人满意的服务质量。 0009 2000年TCP(传。

13、输控制协议)模型建立以后,C.Hollot等人基于控制理论分析了 网络参数对系统稳定性的影响,提出了PI(Proport ional Integral,比例积分)拥塞控制 器,它消除了稳态误差,对于缓存队列调整具有较好的响应性和鲁棒性。与随机早期检测 RED方法相比,PI拥塞控制方法可以更好的调节队列长度。然而,它对于负载和网络参数 的变化存在着缺陷。随后研究人员又提出了自适应PI速率控制器PD和基于队列的自适应 说 明 书CN 102821001 A 2/6页 5 PI控制器PD。为了对系统的整体性能进行改善,在PI的基础上又加入了微分环节,例如: PD、PID作为一种调节队列长度的AQM算。

14、法而出现,然而由于计算机网络本身存在的延迟和 随机性,这些控制器的处理效果并不是很理想。而且将网络作为一种线性时不变系统是存 在问题的并且不切合实际,因为实际的网络是复杂多变的。因此,这些方法具有局限的有效 性,并且这些算法都是在NS2仿真软件中实现的,并没有应用于实际网络环境中。 发明内容 0010 本发明所要解决的技术问题是克服了现有技术都是在NS2仿真软件中实现的并 没有应用于实际网络环境中的问题,提供了一种模糊神经元主动队列管理方法在IPCOP软 件路由器中实现的方法。 0011 为解决上述技术问题,本发明是采用如下技术方案实现的:所述的模糊神经元主 动队列管理方法在IPCOP中实现的。

15、方法的步骤如下: 0012 1.相关参数的定义及初始化; 0013 2.等待新的数据包到达; 0014 3.采用有导的Hebb学习算法对神经元加权系数动态调节; 0015 4.采用模糊控制方法动态调整神经元增益K; 0016 5.计算丢弃概率p(k)并以丢弃概率p(k)丢弃数据包。 0017 技术方案中所述的相关参数的定义及初始化是指: 0018 1)limit为路由器缓存大小,初始值为600packets; 0019 2)q ref 为队列长度的期望值,初始值为300packet; 0020 3)w为采样频率,初始值为160; 0021 4)q(k)为当前时刻瞬时队列长度,q(k-1)为前一。

16、时刻瞬时队列长度,q(k-2)为前 两时刻瞬时队列长度,初始值均为0; 0022 5)p(k)为数据包的丢弃概率,p(k-1)为前一时刻的丢弃概率,初始值均为0; 0023 6)e(k)为当前队列长度与期望队列长度的误差,e(k-1)为前一时刻的误差, e(k-2)为前两时刻的误差,初始值均为0; 0024 7)x i (k)为神经元的输入量,i1,2,3,初始值均为0; 0025 8) i 为学习速率,i1,2,3,初始值分别为8e-5,1e-6和1e-7; 0026 9)w i (k)为神经元的加权系数,i1,2,3,初始值分别为2.58392e-6,2.98290e-6 和3.50735。

17、e-8; 0027 10)K为神经元增益,其初始值K 0 设置为0.12。 0028 技术方案中所述的采用有导的Hebb学习算法对神经元加权系数动态调节的步骤 如下: 0029 1)将q(k-1)的值赋给前两时刻瞬时队列长度q(k-2),将q(k)的值赋给前一时刻 瞬时队列长度q(k-1),q(k)重新采样; 0030 2)计算神经元方法输入量x 1 (k),x 2 (k),x 3 (k)的值: 0031 x 1 (k)q(k)-q ref e(k), 0032 x 2 (k)e(k)-e(k-1), 0033 x 3 (k)e(k)-2e(k-1)+e(k-2); 说 明 书CN 10282。

18、1001 A 3/6页 6 0034 3)实时计算神经元的加权系数: 0035 w i (k+1)w i (k)+ i e(k)p(k)x i (k),i=1,2,3; 0036 4)将k+1时刻的三个加权系数分别赋值给k时刻的加权系数,用于下一次计算。 0037 技术方案中所述的用模糊控制方法动态调整神经元增益K的步骤如下: 0038 1)以x 1 (k)和x 2 (k)作为输入量,神经元增益K的变化量K作为输出量,对输入量 x 1 (k)和x 2 (k)进行模糊化,其中包括量程转换和选取隶属度函数两部分,将x 1 (k)和x 2 (k) 分别转化到-3,3和-0.3,0.3内,输入输出均选。

19、取为七个模糊状态,分别为PB即负大、 PM即负中、PS即负小、Z即零、NS即正小、NM即正中、NP即正大,隶属度函数选取为三角形 函数; 0039 2)结合专家知识和经验制定K的模糊规则表,共有49条模糊规则,第一条模糊 规则可以写成:If x 1 is NB and x 2 is NB then K is PB,其他模糊规则与之类似; 0040 3)采用Mamdani法进行模糊推理得到增益K的模糊值; 0041 4)用最大隶属度法进行反模糊化得到K的真实值,即若输出量只有一个峰值, 那么取极值为精确值,若有多个峰值,则取峰值的平均值为精确值,并对K进行更新,即K K 0 +K。 0042 技。

20、术方案中所述的计算丢弃概率p(k)并以丢弃概率p(k)丢弃数据包的步骤如 下: 0043 1)计算丢弃概率p(k): 0044 0045 其中:w i (k)为输入量加权系数w i (k)的归一化,即 0046 2)最后将数据包以丢弃概率p(k)进行丢弃。 0047 与现有技术相比本发明的有益效果是: 0048 1.模糊神经元方法能够应用于实际网络中,并且能够保持较小的队列波动性,达 到了理想的队列控制效果。 0049 2.模糊神经元方法能够将队列长度稳定在介于0至缓存大小之间的任意值。 0050 参阅图3,为了检验模糊神经元方法的上述性能,搭建了实际网络平台,节点R 1 是 编译得到的IPC。

21、OP软件路由器,节点R 2 是H3C硬件路由器,R 1 和R 2 之间的瓶颈链路大小 设置为15Mbps,其他链路均为100Mbps,在LINUX系统下由S i (i=1,2,3,4)端向D 1 端利用 TCP协议共发送30个大小为10.7MB的文件,路由缓存大小为600packets,队列期望值为 300packets。本发明方法的初始值设置如下:模糊神经元方法的学习速率 1 、 2 和 3 分 别设置为8e-5,1e-6和1e-7,加权系数初始值w 1 ,w 2 和w 3 分别为2.58392e-6,2.98290e-6 和3.50735e-8。模糊神经元增益的初值K 0 为0.12。神经。

22、元方法的初始参数设置与模糊神 经元方法相同。以上初值都是以控制领域为依据来设定的,通过实验大量实验表证明:当参 数为其他值时,算法效果并不理想。 0051 将神经元方法和模糊神经元方法分别嵌入到IPCOP中,并应用于图3的网络平台 中,两种方法在实际网络环境中的队列长度变化情况参考图4和图5,可以看出,两种方法 说 明 书CN 102821001 A 4/6页 7 的队列长度都比较稳定。两种方法的平均队列长度和均方差参阅图6和图7,可以明显出, 与神经元方法相比,模糊神经元方法的平均队列长度更接近于期望值,且其方差较小,说明 模糊神经元方法与神经元方法相比,队列长度更稳定,波动性较小。 005。

23、2 将模糊神经元方法的队列期望值分别设置为50packets和500packets,该方法作 用下的队列长度变换情况参考图8和图9,可以看出,两种情况下的队列长度分别可以稳定 在50和500附近,说明模糊神经元方法可以将队列长度稳定在0至缓存值之间的任意期望 值附近(已实验证明),且队列比较稳定,它有效地消除了队列震荡。 0053 从以上两组实验可以得出结论:模糊神经元方法在真实的网络环境下是可实现 的,且实现方法无需额外的硬件成本。 附图说明 0054 下面结合附图对本发明作进一步的说明: 0055 图1-a是x 1 的隶属度函数; 0056 图1-b是x 2 和K的隶属度函数; 0057 。

24、图2是本发明所述的模糊神经元主动队列管理方法在IPCOP中实现的方法的流程 图; 0058 图3是本发明所述的模糊神经元主动队列管理方法在IPCOP中实现的方法的实际 网络实验拓扑图; 0059 图4是本发明所述的神经元主动队列管理方法在IPCOP中实现的方法在实际网络 环境下的队列长度变化; 0060 图5是本发明所述的模糊神经元主动队列管理方法在IPCOP中实现的方法在实际 网络环境下的队列长度变化; 0061 图6是神经元方法和模糊神经元方法的平均队列长度比较; 0062 图7是神经元方法和模糊神经元方法的队列长度的方差; 0063 图8是期望值设置为50packets时模糊神经元方法的。

25、队列长度; 0064 图9是期望值设置为500packets时模糊神经元方法的队列长度。 具体实施方式 0065 下面结合附图对本发明作详细的描述: 0066 参阅图2,本发明解决的技术问题是将模糊神经元方法添加到IPCOP软件路由器 中,并应用于实际网络环境中,模糊神经元方法能够根据期望值对队列长度进行调整,最终 使得瞬时队列长度能够稳定在队列期望值附近,且队列波动小,本发明所述的模糊神经元 主动队列管理方法在IPCOP中实现的方法包括如下步骤: 0067 1.相关参数的定义及初始化: 0068 1)limit为路由器缓存大小,初始值为600packets; 0069 2)q ref 为队列。

26、长度的期望值,初始值为300packet; 0070 3)w为采样频率,初始值为160; 0071 4)q(k)为当前时刻瞬时队列长度,q(k-1)为前一时刻瞬时队列长度,q(k-2)为前 两时刻瞬时队列长度,初始值均为0; 说 明 书CN 102821001 A 5/6页 8 0072 5)p(k)为数据包的丢弃概率,p(k-1)为前一时刻的丢弃概率,初始值均为0; 0073 6)e(k)为当前队列长度与期望队列长度的误差,e(k-1)为前一时刻的误差, e(k-2)为前两时刻的误差,初始值均为0; 0074 7)x i (k)为神经元的输入量,i1,2,3,初始值均为0; 0075 8) 。

27、i 为学习速率,i1,2,3,初始值分别为8e-5,1e-6和1e-7; 0076 9)w i (k)为神经元的加权系数,i1,2,3,初始值分别为2.58392e-6,2.98290e-6 和3.50735e-8; 0077 10)K为神经元增益,其初始值K 0 设置为0.12。 0078 2.等待新的数据包到达。 0079 3.采用有导的Hebb学习算法对神经元加权系数动态调节: 0080 1)将q(k-1)的值赋给前两时刻瞬时队列长度q(k-2),将q(k)的值赋给前一时刻 瞬时队列长度q(k-1),q(k)重新采样; 0081 2)计算神经元方法输入量x 1 (k),x 2 (k),x。

28、 3 (k)的值: 0082 x 1 (k)q(k)-q ref e(k), 0083 x 2 (k)e(k)-e(k-1), 0084 x 3 (k)e(k)-2e(k-1)+e(k-2); 0085 3)实时计算神经元的加权系数,采用如下公式: 0086 w i (k+1)w i (k)+ i e(k)p(k)x i (k),i=1,2,3; 0087 4)将k+1时刻的三个加权系数分别赋值给k时刻的加权系数,用于下一次计算。 0088 4.采用模糊控制方法动态调整神经元增益K,步骤如下: 0089 1)以x 1 (k)和x 2 (k)作为输入量,神经元增益K的变化量K作为输出量,参阅图 。

29、1,对输入量x 1 (k)和x 2 (k)进行模糊化,其中包括量程转换和选取隶属度函数两部分,将 x 1 (k)和x 2 (k)分别转化到-3,3和-0.3,0.3内,输入输出均选取为七个模糊状态,分 别为PB(负大)、PM(负中)、PS(负小)、Z(零)、NS(正小)、NM(正中)、NP(正大),隶属 度函数选取为三角形函数; 0090 2)结合专家知识和经验制定K的模糊规则表,如表1所示,共有49条模糊规则, 第一条模糊规则可以写成 0091 If x 1 is NB and x 2 is NB then K is PB 0092 其他规则与之类似; 0093 表1 说 明 书CN 102。

30、821001 A 6/6页 9 0094 0095 3)采用Mamdani法进行模糊推理得到增益K的模糊值; 0096 4)用最大隶属度法进行反模糊化得到增益的变化量K的真实值,即若输出量只 有一个峰值,那么取极值为精确值,若有多个峰值,则取峰值的平均值为精确值,并对增益K 进行更新,即KK 0 +K。 0097 5.计算丢弃概率p(k)并以丢弃概率p(k)丢弃数据包,步骤如下: 0098 1)计算丢弃概率p(k),采用公式如下: 0099 0100 其中:w i (k)为输入量加权系数w i (k)的归一化,即 0101 2)最后将数据包以丢弃概率p(k)进行丢弃。 说 明 书CN 102821001 A 1/5页 10 图1-a 图1-b 说 明 书 附 图CN 102821001 A 10 2/5页 11 图2 说 明 书 附 图CN 102821001 A 11 3/5页 12 图3 图4 说 明 书 附 图CN 102821001 A 12 4/5页 13 图5 图6 图7 说 明 书 附 图CN 102821001 A 13 5/5页 14 图8 图9 说 明 书 附 图CN 102821001 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1