CN101631115B - 基于小波神经网络的拥塞控制方法 - Google Patents
基于小波神经网络的拥塞控制方法 Download PDFInfo
- Publication number
- CN101631115B CN101631115B CN2009100566920A CN200910056692A CN101631115B CN 101631115 B CN101631115 B CN 101631115B CN 2009100566920 A CN2009100566920 A CN 2009100566920A CN 200910056692 A CN200910056692 A CN 200910056692A CN 101631115 B CN101631115 B CN 101631115B
- Authority
- CN
- China
- Prior art keywords
- layer
- queue
- output
- rate
- change
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于小波神经网络的拥塞控制方法,属于计算机通信网络拥塞控制领域。本发明的技术方法含有以下步骤:在路由器上建立一个基于小波神经网络的控制器。每隔一个采样周期,采集一次路由器中的队列长度,并据此计算队列误差及其变化率。将计算所得的队列误差及变化率输入到小波神经网络控制器中,计算得到数据包标记概率,依此进行数据包标记操作。同时在每个采样周期内,对控制器参数进行更新计算,以适应网络环境变化。本发明具有结构简单,适应性强,鲁棒性好的优点,能够有效降低数据报文丢失率,减小队列延时和延时抖动,同时保证良好的链路利用率。
Description
技术领域
本发明涉及一种网络工程技术领域的控制方法,特别是一种基于小波神经网络的拥塞控制方法。
背景技术
网络拥塞主要是由于网络资源无法满足用户需求所致,拥塞的发生会导致严重的后果,如:数据包丢失,数据传输延时增大,链路利用率下降,严重时会导致网络崩溃。所以,必须在通信网络中引入相应的拥塞控制方法。因特网拥塞控制的最初的形式就是TCP协议中的流量控制方法,该方法应用于终端***(如:主机),以数据包丢失作为拥塞信号,通过减少拥塞窗口来降低数据源端的发送速率,从而缓解拥塞。但是,近年来的研究表明,终端***在流量管理中所发挥的作用终究有限,对降低各传输延迟和丢包率基本无能为力。
为了解决上述技术问题,提出了AQM的路由器队列控制方法,并建议在中间节点部署,作为端到端拥塞控制的一种增强手段。AQM的技术目标是:降低路由器中排队延时,减小延时抖动,保证较高的数据吞吐量,同时能够具有良好的适应性和鲁棒性。但是研究人员对其提出了存在很多严重的缺陷,主要有参数配置困难,受网络负载变化影响很大,路由器队列长度抖动大,适应性、鲁棒性差等问题。随后,研究者在RED方法的基础上,提出了RED的改进方法,主要有Gentle-RED(温和RED)、Adaptive-RED(自适应RED)、SRED(稳定RED)以及self-configuration RED(自整定RED)等。遗憾的是,上述这些RED的改进方法均是基于启发式规则设计而来的。由于缺少***的设计方法,它们自身仍然存在参数配置困难的问题,同时无法适应网络环境的变化,鲁棒性较差。
随后,又开发了一些新的AQM方法,较有影响的是BLUE、AVQ、GREEN、PI(比例积分控制)、PID(比例积分微分控制)等。其中,BLUE、AVQ、GREEN仍然采用启发式的设计规则,不可避免地存在参数配置困难,适应性和鲁棒性较差等诸多问题。具体地,AVQ和GREEN经常出现路由器队列排空现象,导致链路利用率下降;而BLUE的队列抖动很大,常出现队列溢出的现象,增大了数据传输延时,造成强制性的数据包丢失,严重降低了网络性能。PI和PID是基于网络数据流量模型设计而来的,虽然克服了RED的一些缺陷,但其自身问题也是很明显的,主要有:队列的响应缓慢,容易出现超调,严重时甚至造成队列的溢出或排空;另外,在这两个方法的设计过程中,将因特网的流量特性视为一个线性***,所以这个设计本身就有很大的缺陷,这也是它们环境适应性和鲁棒性差的原因所在。
经对现有技术文献的检索,尚未发现与本发明主题相关的技术文献的报道。
发明内容
本发明的目的在于解决上述技术问题,提供了一种基于小波神经网络的拥塞控制方法。本发明在路由器中建立一个拥塞控制器,通过检测路由器的队列长度误差及其变化率,并将它们输入到小波神经网络中,计算输出数据包标记概率,进而对数据包进行标记处理,实现拥塞控制。本发明非常适用于瞬息万变的动态网络,具有很强的适应性和鲁棒性,能够有效降低数据报文丢失率,减小队列延时和延时抖动,同时保证良好的链路利用率。
本发明是通过以下技术方案实现的:
本发明包括以下步骤:
步骤一,在路由器上建立一个用于用线网络的基于小波神经网络的控制器,并且支持TCP/IP协议和显示拥塞通知技术,同时具有队列控制功能。
首先,该路由器用于有线网络(区别于无线网络),不论局域网或是广域网;其次,路由器必须支持当前因特网广泛使用的TCP/IP协议;再次,必须支持路由器队列控制机制,也就是路由器中含有实现队列控制功能的软件。最后,支持显式拥塞通告方法(ECN)。对于路由器的其他技术性能和指标,诸如接口功能,包交换能力,路由协议以及安全功能都没有特别的限制和要求。
至于拥塞程度如何检测,即如何根据路由器中的队列长度来计算标记概率,则由本发明中的小波神经网络控制器完成。该控制器由一个具有三层结构的小波神经网络来实现,有两个输入,一个输出。具体地,三层结构分别指输入层,隐层和输出层。输入层有两个计算节点,隐层含有三个计算节点,输入层有一个计算节点。
小波神经网络控制器的设计,包含以下步骤:
(1.1)初始化控制器中的以下变量。
u1和u2分别为控制器的输入;
w11、w21、w12、w22、w13和w23分别为输入层节点到隐层计算节点的加权系数;
t1、t2和t3为平移参数;
x1、x2和x3为经过加权累加后的隐层输入信号;
s1、s2、s3为隐层的输出;
w′1、w′2、w′3分别为隐层计算节点到输出节点的加权系数;
x′、y和θ分别是输出层节点的输入、输出信号和设定系数。
(1.2)计算隐层的输入信号xj,它由进入小波神经网络输入层的信号ui进行加权组合而得:
x1(k)=w11(k)u1(k)+w21(k)u2(k)-t1(k)
x2(k)=w12(k)u1(k)+w22(k)u2(k)-t2(k)
x3(k)=w13(k)u1(k)+w23(k)u2(k)-t3(k)
其中,i=1,2为输入层节点的个数,j=1,2,3为隐层节点的个数,wij为加权系数,tj为平移参数。
(1.3)计算隐层节点的输出信号sj,即根据隐层的输入信号xj,依照下式计算:
s1(k)=(1-x1(k)2)exp(-x1(k)2/2)
s2(k)=(1-x2(k)2)exp(-x2(k)2/2)
s3(k)=(1-x3(k)2)exp(-x3(k)2/2)
(1.4)计算输出层节点的输入x,它由隐层输出信号sj进行加权组合而得:
x′(k)=w′1(k)s1(k)+w′2(k)s2(k)+w′3(k)s3(k)
其中,w′1,w′2和w′3均为隐层和输出层之间的加权值。
(1.5)计算神经网络的输出y:
若x′(k)≥0,则y(k)=1-θ(k)-x′(k);
否则,y(k)=0。
其中,θ是大于1的系数。
步骤二,每隔一个采样周期采集一次当前路由器中的队列长度q(k),它由接口提供,执行调用即可。
步骤三,将队列长度q(k)减去预先设定的队列目标值q*(k),得到队列误差e(k)。
步骤四,将所得的队列误差e(k)与上一个采样周期内的队列误差e(k-1)相减,得到误差的变化率Δe(k)。
步骤五,将计算所得的队列误差e(k),以及误差变化率Δe(k),输入到小波神经网络控制器中,由步骤一得到控制器的输出即为数据包标记概率p(k)。
步骤六,根据标记概率p(k),决定对当前数据包是否标记。若要标记,则将ECN标志位,由0更改为1;否则,不进行标记操作。
步骤七,在每个采样周期内,对控制器参数进行更新。
参数的更新步骤如下:
(7.1)初始化变量:更新计算的步长η′1、η′2、η′3、η11、η12、η21、η22、η31、η32、ηt1、ηt2和ηt3;公共项λ,符号位Sgn,隐层节点输出对输入的变化率Δsx;
(7.2)计算标记概率的变化率Δp,即将当前标记概率减去上一个采样周期中的概率大小,可得Δp(k)=p(k)-p(k-1);
(7.3)将队列误差变化率Δe(k),和标记概率变化率Δp(k)进行符号比较,如果两者的乘积大于或者等于0,则将预先定义的符号位Sgn记为1;否则,记为-1;
(7.4)计算预先定义的公共项λ:
λ(k)=e(k)·Sgn·lnθ(k)·θ(k)-x′(k)
这里的各项:e(k)、Sgn、θ(k)和x′(k)都在以前的步骤中计算过,这里只需调用。
(7.5)逐个计算更新下一个周期内的连接权值w′j大小:
w′j(k+1)=w′j(k)-η′j·λ(k)·sj(k)
其中,η′j为步长系数,是预先设定好的正数,j分别取1,2,3,以表示有三个连接权值。
(7.6)依照下式计算sj(k)相对于xj(k)的变化率Δsx:
(7.7)逐个计算更新下一个周期内的加权系数wij大小:
wij(k+1)=wij(k)-ηij·λ(k)·w′j(k)·ui(k)·Δsx
其中,ηij为步长系数,是预先设定好的正数,i分别取1,2,j分别取1,2,3。其它各余项都已经在以前的步骤中计算过,余项执行调用。
(7.8)逐个计算更新下一个周期内的平移参数tj大小:
tj(k+1)=tj(k)+ηtjλ(k)w′j(k)Δsx
其中,ηtj为步长系数,也是预先设定好的正数,j分别取1,2,3。
本发明的技术效果在于:构造小波神经网络控制器,通过检测瞬时队列误差及其变化率,计算数据包的标记概率。同时,在每个采样周期内,更新计算控制器参数。本发明无需建立被控对象的模型,具有结构简单,易于实现的优点。非常适用于非线性、时变网络环境,并且具有良好的适应性和鲁棒性,能够有力地保证良好的网络性能,能够有效降低数据报文丢失率,减小队列延时和延时抖动,同时保证良好的链路利用率。
附图说明
图1为本发明的仿真实验拓扑图(单瓶颈链路);
图2为本发明的仿真实验拓扑图(多瓶颈链路);
图3为本发明中的小波神经网络控制器结构图;
图4为本发明的流程图;
图5为本发明的队列长度在TCP流突变时的变化情况;
图6为本发明的队列长度在UDP流突变时的变化情况;
图7为本发明的性能指标随TCP流数的变化情况;
图8为本发明在链路3和链路4处的队列长度变化情况。
具体实施方式
以下结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。
本实施例在如图1和2所示的单瓶颈链路和多瓶颈链路网络中实施。图1所示的单瓶颈链路网络拓扑结构,它是由N个发送端S1-Sn,N个接收端D1-Dn,以及路由器R1,R2组成的哑铃型结构。每条链路上标记有带宽、传输延时。其中瓶颈链路带宽c=5Mb,传输延时为Tp=5ms。其他全部链路带宽为10Mb,传输延时为5ms。采用如图2所示的多瓶颈链路网络拓扑,它由6个路由器连接了5条共享链路。除了一条穿越5条链路的数据通道,其中还引入了两条交叉数据流,网络环境的设定在图2中已经做了清楚的标注。本实施例的路由器最大数据包转发能力为100Mbit/s,缓存大小为400pkts,其中每个数据包的大小为500字节。
本实施例给图1中的路由器1,和图2中的路由器2、3、4,配置小波神经网络控制器。本实施例的路由器支持TCP/IP协议和显示拥塞通知技术,同时具有队列控制功能。显示拥塞通知技术是通过在IP数据包的包头中使用两个标志位,来指示网络拥塞。当路由器接收到源端主机发送来的数据包时,可以根据拥塞程度,将上述标志位由0标记为1,从而实现显式指示拥塞程度。路由器中的队列控制功能模块,能够为本实施例提供控制接口。即为本实施例提供可定期采样的队列长度,同时根据本实施例计算得到的标记概率,按照拥塞通知技术进行数据包的标记工作。
本实施例实施过程中选用的小波神经网络控制器,如图3所示。该控制器包含三层结构,分别为输入层,隐层和输出层。其中,输入层含有2个节点,隐层含有3个计算节点,输出层有1个计算节点。信号的流向为:从输入层进入到本发明的小波神经网络控制器中,经过加权累加作为隐层的输入,随后经过隐层节点的计算,从隐层输出,再次经过加权累加,进入到输出层,输出层也会做出相应的数值计算,最后从小波神经网络控制器中输出。
本实施例中的小波神经网络控制器,其实施步骤如下:
(1)初始化控制器中的以下变量。
u1和u2分别为控制器的输入;
w11、w21、w12、w22、w13和w23分别为输入层节点到隐层计算节点的加权系数;
t1、t2和t3为平移参数;
x1、x2和x3为经过加权累加后的隐层输入信号;
s1、s2、s3为隐层的输出;
w′1、w′2、w′3分别为隐层计算节点到输出节点的加权系数;
x′、y和θ分别是输出层节点的输入、输出信号和设定系数。
(2)计算隐层的输入信号xj,它由进入小波神经网络输入层的信号ui进行加权组合而得:
x1(k)=w11(k)u1(k)+w21(k)u2(k)-t1(k)
x2(k)=w12(k)u1(k)+w22(k)u2(k)-t2(k)
x3(k)=w13(k)u1(k)+w23(k)u2(k)-t3(k)
其中,i=1,2为输入层节点的个数,j=1,2,3为隐层节点的个数,wij为加权系数,tj为平移参数。
(3)计算隐层节点的输出信号sj,即根据隐层的输入信号xj,依照下式计算:
s1(k)=(1-x1(k)2)exp(-x1(k)2/2)
s2(k)=(1-x2(k)2)exp(-x2(k)2/2)
s3(k)=(1-x3(k)2)exp(-x3(k)2/2)
(4)计算输出层节点的输入x′,它由隐层输出信号sj进行加权组合而得:
x′(k)=w′1(k)s1(k)+w′2(k)s2(k)+w′3(k)s3(k)
其中,w′1,w′2和w′3均为隐层和输出层之间的加权值。
(5)计算神经网络的输出y:
若x′(k)≥0,则y(k)=1-θ(k)-x′(k);
否则,y(k)=0。
其中,θ是大于1的系数。
上述控制器初始化控制器中各个变量。设定w11、w21、w12、w22、w13和w23的初值均为0.5×10-2。t1、t2和t3的初值均为0。w′1、w′2和w′3的初值均为1。θ的初值取为自然对数e≈2.7183。其它变量:x1、x2、x3、s1、s2、s3、x′、y的初值均为0。
本实施例对小波神经网络控制器中的参数,在每个采样周期中进行更新计算。当前周期内调整后的参数数值,将用于下一个周期中的标记概率计算中。采样的时间隔间设定为0.00625s,即采样频率为160Hz。
参数的更新步骤如下:
(1)初始化参数设定:
η′1=η′2=η′3=1.0×10-12;
η11=η12=η21=η22=η31=η32=1.0×10-10;
ηt1=ηt2=ηt3=1.0×10-5;
λ、Sgn、Δsx初值为0;
(2)计算标记概率的变化率Δp(k),即将当前标记概率减去上一个采样周期中的概率大小;
(3)将队列误差变化率Δe(k),和标记概率变化率Δp(k)进行符号比较,如果两者的乘积大于或者等于0,则将预先定义的符号位Sgn记为1;否则,记为-1;
(4)计算预先定义的公共项λ(k):
λ(k)=e(k)·Sgn·e-x′(k)
(5)按下式逐个计算更新下一个周期内的加权系数w′j大小:
w′j(k+1)=w′j(k)-10-12·λ(k)·sj(k)
其中,j分别取1,2,3,对应w′1、w′2和w′3这三个系数。三个系数的更新计算顺序没有特别的要求,只需按照上式依次完成更新计算即可。
(6)依照下式计算sj(k)相对于xj(k)的变化率Δsx:
(7)按下式逐个计算更新下一个周期内的加权值wij:
wij(k+1)=wij(k)-10-10·λ(k)·w′j(k)·ui(k)·Δsx
其中,i分别取1,2,j分别取1,2,3,从而wij分别对应着w11、w21、w12、w22、w13和w23。同样,对这6个系数的更新顺序没有特别的要求,只需按照上式依次完成更新计算即可。
(8)按下式逐个计算更新下一个周期内的平移参数tj的大小:
tj(k+1)=tj(k)+10-5·λ(k)·w′j(k)·Δsx
其中,j分别取1,2,3,对应t1、t2和t3这三个系数。三个系数的更新计算顺序没有特别的要求,只需按照上式依次完成更新计算即可。
至此,控制器实施处理步骤,以及参数更新的实施步骤如图4所示。其具体步骤如下:
步骤(1):在路由器上建立一个基于小波神经网络的控制器,该控制器采用测量的队列长度误差及其变化率,计算数据包标记概率,同时在每个采样周期内,对控制器参数进行更新调整,以适应动态网络环境变化;
步骤(2):初始化参数和变量,设
w11、w21、w12、w22、w13和w23的初值均为0.5×10-2;
t1、t2和t3的初值均为0;
w′1、w′2和w′3的初值均为1;
θ的初值取为自然对数e≈2.7183;
η′1、η′2、η′3为1.0×10-12;
η11、η12、η21、η22、η31、η32为1.0×10-10;
ηt1、ηt2、ηt3为1.0×10-5;
其它变量:x1、x2、x3、s1、s2、s3、x′、y、λ、Sgn、Δsx的初值均为0;
T为队列长度的采样时间,设定为0.00625s;
Sys-Time用于记录***时间,以判断是否到达下一个采样周期,初始化为当前时刻。
步骤(3):判断当前***时刻是否达到Sys-Time+T,如果已经到达,则执行步骤(4),否则执行步骤(10);
步骤(4):采集一次当前路由器中的队列长度q(k),它由接口提供,只需调用即可;
步骤(5):计算队列长度误差e(k),即将队列长度q(k)减去目标值q*(k);
步骤(6):计算队列长度误差的变化率Δe(k);将所得的队列误差e(k)与上一个采样周期内的队列误差e(k-1)相减;
步骤(7):将队列误差e(k)及其变化率Δe(k)输入小波神经网络控制器,计算得到数据包标记概率p(k)。具体的计算步骤是:
①对队列误差及其变化率进行加权累加,依照下式计算隐层的输入信号x1(k)、x2(k)和x3(k):
x1(k)=w11(k)e(k)+w21(k)Δe(k)-t1(k)
x2(k)=w12(k)e(k)+w22(k)Δe(k)-t2(k)
x3(k)=w13(k)e(k)+w23(k)Δe(k)-t3(k)
②根据计算所得的x1(k)、x2(k)和x3(k),依照下式计算隐层节点的输出信号s1(k),s2(k)和s3(k):
s1(k)=(1-x1(k)2)exp(-x1(k)2/2)
s2(k)=(1-x2(k)2)exp(-x2(k)2/2)
s3(k)=(1-x3(k)2)exp(-x3(k)2/2)
③根据计算所得的s1(k),s2(k)和s3(k),对其进行加权累加,依照下式计算输出层节点的输入x′(k):
x′(k)=w′1(k)s1(k)+w′2(k)s2(k)+w′3(k)s3(k)
④计算数据包标记概率p(k):
若x′(k)≥0,则p(k)=1-exp(-x′(k));
否则,p(k)=0。
步骤(8):更新计算控制器参数,具体步骤为:
①计算标记概率的变化率Δp(k),即将当前标记概率减去上一个采样周期中的概率大小;
②将队列误差变化率Δe(k),和标记概率变化率Δp(k)相乘,若结果大于或者等于0,则将预先定义的符号位Sgn记为1;否则,记为-1;
③依照下式计算公共项λ(k):
λ(k)=e(k)·Sgn·e-x′(k)
④按下式逐个更新计算加权系数w′j大小:
w′j(k+1)=w′j(k)-10-12·λ(k)·sj(k)
其中,j分别为1,2,3,对应w′1、w′2和w′3这三个系数。三个系数的更新计算顺序没有特别的要求,只需按照上式依次完成更新计算即可。
⑤依照下式计算sj(k)相对于xj(k)的变化率Δsx:
⑥按下式逐个更新计算加权值wij:
wij(k+1)=wij(k)-10-10·λ(k)·w′j(k)·ui(k)·Δsx
其中,i分别取1,2,j分别取1,2,3,从而wij分别对应w11、w21、w12、w22、w13和w23。同样,对这6个系数的更新顺序没有特别的要求,只需按照上式依次完成更新计算即可。
⑦按下式逐个更新计算平移参数tj的大小:
tj(k+1)=tj(k)+10-5·λ(k)·w′j(k)·Δsx
其中,j分别取1,2,3,对应t1、t2和t3这三个系数。三个系数的更新计算顺序没有特别的要求,只需按照上式依次完成更新计算即可。
步骤(9):把sys-Time赋值为当前***时刻;
步骤(10):等待新的分组到来,如果新的分组到达,则执行步骤(11),否则执行步骤(3);
步骤(11):以概率p(k)标记此分组;
步骤(12):转至步骤(3),重复执行步骤(3)到步骤(11),直到结束。
本实施例在NS2(Network Simulator,Version 2)中实现了控制方法,并对其进行了详细的性能测试。NS2网络模拟器是一种通用的多协议网络仿真软件,它是互联网上公开发布的免费开源软件,由于其采用开放的体系结构,支持的协议广泛,目前已经成为网络研究应用领域最权威、使用最广泛的网络仿真软件之一。
采用图1所示的单瓶颈链路网络拓扑结构,在TCP突变和多瓶颈链路网络实验中,设定目标队列长度为100pkts,其它实验中设定为200pkts。路由器中采用本实施例与比例积分控制方法、比例积分微分控制方法进行对比,同时使用显式拥塞指示。在仿真过程中,源端Si向对应的接收端Di发送大量的FTP数据。为了测试本实施例的性能,进行了一系列的仿真对比实验。
实验(1):考虑到实际网络中的TCP连接数随时在变化,为了测试本实施例在突发业务流情况下的适应性和鲁棒性,在仿真开始时启动100个FTP流,在100s、200s和300s时分别启动100、200和200个附加FTP数据流,并依次在600s、500s和400s处关闭。如图5所示,在负载突增和突减的情况下,比例积分控制方法和比例积分微分控制方法响应能力较差,队列长度的调整时间较长,抖动较大;而本实施例具有快速的响应能力,能够在短时间内将队列长度调整对目标值,并维持小幅振荡,体现出很强的环境适应性和鲁棒性。正由于实施例凭借其良好的响应性,队列长度调整迅速,从而可以有效避免路由队列溢出和排空的现象,从而减小数据包丢失,保证较高的链路利用率。
实验(2):引入非响应流以测试本实施例在混合流环境中的性能。在仿真开始时,启动80个FTP流和10个CBR流,并在40s和80s处启动附加的20和40个CBR流,依次在120s和160s关闭。如图6所示,比例积分控制方法和比例积分微分控制方法的队列长度受UDP连接数突变的影响而波动,出现超调;而本实施例能够将队列长度稳定在目标值,对非响应流有很好的鲁棒性。
实验(3):为了更精确地反映本实施例的综合性能,该仿真实验测试并统计了在不同TCP连接数(从100到500个)的网络环境中,本实施例的平均队列长度、队列标准差以及报文丢失率。如图7所示,本实施例的各项性能较超越了比例积分控制方法和比例积分微分控制方法的性能,取得了最稳定的队列长度,最小的队列抖动,以及最少的数据包丢失。稳定的队列长度可以提供可预期的传输延时,小幅的队列抖动不仅意味着较小的延时抖动,同时也能够保证较高的链路利用率。
实验(4):采用如图2所示的多瓶颈链路网络拓扑,目标队列长度设定为100pkts。在仿真开始时,给TCP连接簇1、TCP连接簇2和TCP连接簇3分别设定150、50和50个FTP连接。在20s、40s处,给TCP连接簇2和TCP连接簇3分别启动25个FTP连接,并依次在60s和80s处关闭。由于链路2和链路4的队列长度变化相似,故而图8的(a)和(b)分别给出链路3、链路4处的队列长度变化。从图8中可以看出,比例积分控制方法和比例积分微分控制方法的队列长度受环境变化的影响较大,队列收敛速率慢,抖动大。
本实施例的队列长度稳定在目标设定值,保持小幅振荡。在交叉流量突变的情况下能够迅速将队列长度调整到稳态,体现出很强的鲁棒性,同时表明本实施例能够在复杂多变的网络环境中稳定运行,提供理想的网络性能。
Claims (1)
1.一种基于小波神经网络的拥塞控制方法,其特征在于,包括以下步骤:
(1)在路由器上建立一个用于有线网络的基于小波神经网络的控制器,并且支持TCP/IP协议和显示拥塞通知技术,同时具有队列控制功能;
(2)每隔一个采样周期T,采集一次路由器中的队列长度q(k),它由接口提供,执行调用;
(3)将队列长度q(k)减去预先设定的队列目标值q*(k),得到队列误差e(k);
(4)将所得的队列误差e(k)与上一个采样周期内的队列误差e(k-1)相减,得到误差的变化率Δe(k);
(5)将计算所得的队列误差e(k),以及误差变化率Δe(k),输入到小波神经网络控制器中,由步骤(1)得到控制器的输出即为数据包标记概率p(k);
(6)根据标记概率p(k),决定对当前数据包是否标记:若要标记,则将ECN标志位,由0更改为1;否则,不进行标记操作;
(7)在每个采样周期内,对控制器参数进行更新;
其中,参数k为采样时刻,所述的控制器设计包含如下步骤:
(1)初始化控制器中的以下变量:
u1和u2分别为控制器的输入,
w11、w21、w12、w22、w13和w23分别为输入层节点到隐层计算节点的加权系数;
t1、t2和t3为平移参数,
x1、x2和x3为经过加权累加后的隐层输入信号,
s1、s2、s3为隐层的输出,
w′1、w′2、w′3分别为隐层计算节点到输出节点的加权系数,
x′、y和θ分别是输出层节点的输入、输出信号和设定系数;
(2)计算隐层的输入信号xj,它由进入小波神经网络输入层的信号ui进行加权组合而得:
x1(k)=w11(k)u1(k)+w21(k)u2(k)-t1(k)
x2(k)=w12(k)u1(k)+w22(k)u2(k)-t2(k)
x3(k)=w13(k)u1(k)+w23(k)u2(k)-t3(k)
其中,i=1,2为输入层节点的个数,j=1,2,3为隐层节点的个数,wij为加权系数,tj为平移参数;
(3)计算隐层节点的输出信号sj,即根据隐层的输入信号xj,依照下式计算:
s1(k)=(1-x1(k)2)exp(-x1(k)2/2)
s2(k)=(1-x2(k)2)exp(-x2(k)2/2)
s3(k)=(1-x3(k)2)exp(-x3(k)2/2)
(4)计算输出层节点的输入x′′,它由隐层输出信号sj进行加权组合而得:
x′(k)=w′1(k)s1(k)+w′2(k)s2(k)+w′3(k)s3(k)
其中,w′1、w′2、w′3均为隐层和输出层之间的加权值;
(5)计算神经网络的输出y:
若x′(k)≥0,则y(k)=1-θ(k)-x′(k);
否则,y(k)=0
其中,θ是大于1的系数;
所述的控制器中的各参数在每个采样周期内更新,包括如下步骤:
(1)初始化变量:更新计算的步长η′1、η′2、η′3、η11、η12、η21、η22、η31、η32、ηt1、ηt2和ηt3·公共项λ,符号位Sgn,隐层节点输出对输入的变化率Δsx,其中,ηt1、ηt2和ηt3中的t1、t2、t3是平移参数;
(2)计算标记概率的变化率Δp,即将当前标记概率减去上一个采样周期中的概率大小,可得Δp(k)=p(k)-p(k-1);
(3)将队列误差变化率Δe(k),和标记概率变化率Δp(k)进行符号比较,如果两者的乘积大于或者等于0,则将预先定义的符号位Sgn记为1;否则,记为-1;
(4)计算预先定义的公共项λ:
λ(k)=e(k)·Sgn·1nθ(k)·θ(k)-x′(k)
这里的各项:e(k)、Sgn、θ(k)和x′(k)都在以前的步骤中计算过,这里只需调用;
(5)逐个计算更新下一个周期内的连接权值w′j大小:
w′j(k+1)=w′j(k)-η′j·λ(k)·sj(k)
其中,η′j为步长系数,是预先设定好的正数,j分别取1,2,3,以表示有三个连接权值;
(6)依照下式计算sj(k)相对于xj(k)的变化率Δsx:
(7)逐个计算更新下一个周期内的加权系数wij大小:
wij(k+1)=wij(k)-ηij·λ(k)·w′j(k)·ui(k)·Δsx
其中,ηij为步长系数,是预先设定好的正数,i分别取1,2,j分别取1,2,
其它各余项都已经在以前的步骤中计算过,余项执行调用;
(8)逐个计算更新下一个周期内的平移参数tj大小:
tj(k+1)=tj(k)+ηtjλ(k)w′j(k)Δsx
其中,ηtj为步长系数,也是预先设定好的正数,ηtj中的tj是平移参数,j分别取1,2,3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100566920A CN101631115B (zh) | 2009-08-20 | 2009-08-20 | 基于小波神经网络的拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100566920A CN101631115B (zh) | 2009-08-20 | 2009-08-20 | 基于小波神经网络的拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101631115A CN101631115A (zh) | 2010-01-20 |
CN101631115B true CN101631115B (zh) | 2012-06-27 |
Family
ID=41576061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100566920A Expired - Fee Related CN101631115B (zh) | 2009-08-20 | 2009-08-20 | 基于小波神经网络的拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101631115B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855773A (zh) * | 2012-09-13 | 2013-01-02 | 东南大学 | 一种停车场有效泊位占有率短时预测方法 |
CN105469140A (zh) * | 2015-08-24 | 2016-04-06 | 南京邮电大学 | 一种心音小波神经网络的构造方法 |
CN106656548A (zh) * | 2016-09-26 | 2017-05-10 | 苏州蓝海飞讯信息科技有限公司 | 一种基于神经网络的WiFi控制*** |
WO2020168443A1 (en) * | 2019-02-18 | 2020-08-27 | Nokia Shanghai Bell Co., Ltd. | Method and apparatus for determining tcp congestion window |
CN111372284B (zh) * | 2020-03-10 | 2022-07-29 | 中国联合网络通信集团有限公司 | 一种拥塞处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000065783A1 (en) * | 1999-04-23 | 2000-11-02 | Degree2 Innovations Limited | Routing device |
CN101272314A (zh) * | 2007-03-21 | 2008-09-24 | 大唐移动通信设备有限公司 | 拥塞控制方法和装置 |
CN101388833A (zh) * | 2008-07-18 | 2009-03-18 | 广东工业大学 | 基于自适应阈值机制的网络控制方法 |
-
2009
- 2009-08-20 CN CN2009100566920A patent/CN101631115B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000065783A1 (en) * | 1999-04-23 | 2000-11-02 | Degree2 Innovations Limited | Routing device |
CN101272314A (zh) * | 2007-03-21 | 2008-09-24 | 大唐移动通信设备有限公司 | 拥塞控制方法和装置 |
CN101388833A (zh) * | 2008-07-18 | 2009-03-18 | 广东工业大学 | 基于自适应阈值机制的网络控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101631115A (zh) | 2010-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101635674B (zh) | 通信网络自适应拥塞控制方法 | |
CN101631115B (zh) | 基于小波神经网络的拥塞控制方法 | |
Dukkipati et al. | Why flow-completion time is the right metric for congestion control | |
Li et al. | Proportional delay differentiation service based on weighted fair queuing | |
Tai et al. | Making large scale deployment of RCP practical for real networks | |
Ma et al. | Congestion tracking control for multi-router TCP/AQM network based on integral backstepping | |
Chen et al. | Adding randomness to modeling Internet TCP-RED systems with interactive gateways | |
CN101997776A (zh) | 基于拥塞辨识的路由器队列控制***及其控制方法 | |
Dukkipati et al. | Building a RCP (rate control protocol) test network | |
Kumar et al. | A loss-event driven scalable fluid simulation method for high-speed networks | |
Sun et al. | Neuron PID: a robust AQM scheme | |
CN102404208B (zh) | 一种互联网拥塞控制方法 | |
Zhang et al. | ABS: Adaptive buffer sizing for heterogeneous networks | |
Pakzad et al. | Link capacity estimation in wireless software defined networks | |
Kantawala et al. | Queue management for short-lived TCP flows in backbone routers | |
CN101977155B (zh) | 虚拟带宽自适应控制***及其控制方法 | |
CN101175031A (zh) | 一种基于二阶最优模型和自适应计算的路由器主动队列管理方法 | |
Athuraliya et al. | An empirical validation of a duality model of TCP and queue management algorithms | |
Aweya et al. | Weighted proportional loss rate differentiation of TCP traffic | |
Sonkoly et al. | Understanding highspeed TCP: A control-theoretic perspective. | |
Schreiber et al. | Performance of voice and video conferencing over ATM and Gigabit Ethernet backbone networks | |
Barbera et al. | Improving fairness in a WRED-based DiffServ network: A fluid-flow approach | |
Skorpil et al. | Network elements controlled by artificial neural network | |
Aweya et al. | Proportional loss rate differentiation in a FIFO queue | |
Matrawy et al. | A rate adaptation algorithm for multicast sources in priority-based IP networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120627 Termination date: 20140820 |
|
EXPY | Termination of patent right or utility model |