首页 / 专利库 / 电脑编程 / 算法 / 蚁群优化 / 基于蚁群优化的分布式服务质量多播路由方法

基于蚁群优化的分布式服务质量多播路由方法

阅读:343发布:2021-04-07

专利汇可以提供基于蚁群优化的分布式服务质量多播路由方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了种基于 蚁群优化 的分布式服务 质量 多播路由方法。基于蚁群优化的分布式服务质量多播路由方法借鉴蚁群觅食搜索最 短路 径的仿生思想,采用基于概率的正反馈路由选择机制;结合多播路由问题的特点,采用超边技术改进了标准蚁群优化 算法 。本发明的优点:1)分布式多播路由算法不需要一个具有全网信息的核心 节点 来负责计算和协调多播路由树,克服了集中式路由算法易造成链路拥塞,以及异步更新的不足;2)基于概率的正反馈路由选择机制使分布式多播路由算法能自适应地避开故障、拥塞节点,并有效地解决了循环回路的产生;3)采用超过技术改进标准蚁群 优化算法 ,使建立分布式多播路由树的效率大大提高。,下面是基于蚁群优化的分布式服务质量多播路由方法专利的具体信息内容。

1.一种基于蚁群优化的分布式服务质量多播路由方法,其特征在于借鉴蚁 群觅食搜索最短路径的仿生思想,采用基于概率的正反馈路由选择机制;结合 多播路由问题的特点,采用超边技术改进了标准蚁群优化算法,具体步骤如下:
(1)初始化网络,建立路由表;
(2)选择某一有多播要求的目的节点di∈Dest,从源节点释放antnum只蚂 蚁,寻找满足约束条件的最优多播路径,蚂蚁每走一步判断是否满足约束条件, 如果满足则继续向下一节点转移,否则蚂蚁简单死亡,蚂蚁由当前点vi转移到 下一点vj的概率计算采用基于概率的正反馈路由选择机制;
(3)如果蚂蚁当前所在点u=di,表明此次寻路成功,重复步骤(2)利用超边 技术直到该蚂蚁遍历了Dest中的所有节点;
(4)重复步骤(2)、(3),直到所有蚂蚁都成功的遍历了Dest中的所有节点, 转步骤(5);
(5)根据 P j 1 , d i = P j 1 , d i + ΔP 1 + ΔP P j , d i = P j , d i 1 + ΔP , j∈neighbors(r),且j≠j1 对蚂蚁经过的节点进行信息素更新;
(6)重复执行步骤(2)-(5)直到满足算法停止条件。
2.根据权利要求1所述的一种基于蚁群优化的分布式服务质量多播路由方 法,其特征在于所述的基于概率的正反馈路由选择机制为:位于节点i的蚂蚁k 选择下一节点j的概率按照下式计算:
P i , j k = [ τ i , j ] · [ η i , j ] β Σ s tabu k [ τ i , s ] · [ η i , s ] β
式中, η i , j = 1 c ( i , j ) 为启发式信息,可以是包括诸如链路的时延等价格参数。 τi,j为路径(i,j)的信息素量,参数β表示信息素和启发式信息的相对重要程度, tabuk记录蚂蚁已经访问节点的信息。
3.根据权利要求1所述的一种基于蚁群优化的分布式服务质量多播路由方 法,其特征在于所述的超边技术是指蚂蚁在爬行路由的过程中同时进行超边替 换。

说明书全文

技术领域

发明涉及计算机网络通信领域中的路由技术,尤其是指一种基于蚁群优 化的分布式服务质量多播路由方法。

背景技术

随着计算机网络的不断发展,越来越多的网络应用要求具有服务质量 (quality of service,服务质量)的保证,如视频会议、分布式数据库开发、远 程教学、网络实时游戏等。上述应用对网络的承载能提出了越来越高的要求, 除了采用更高速度的交换机、路由器、更高带宽的通讯介质等硬件设施外,人 们越来越多的关注如何采用更好的路由策略来适应这种要求。因为改造硬件设 备成本较高,而且更换单一部件往往会导致传输的拥塞瓶颈转移,改造效果不 会很理想。多播技术在此背景下应运而生[1-5],并很快成为解决上述矛盾的热 点研究课题[6-13]。数据包在计算机网络中传输一般有三种形式:单播、广播 和多播,单播方式为每一个目标节点发送一份完全相同的报文,因此需占用大 量的带宽和其他网络资源;广播方式则导致大量非目标节点的开销,因此下一 代互联网协议IPV6中取消了广播传播方式。多播传输方式只有一份报文在网络 中传递,在路由控制器的协调下,仅目标节点会收到相关报文,所以既节省了 网络宽带,又避免了非目标节点的开销。
应用多播的关键是确定有效的多播路由(multicaste routing),即求解最优 Steiner树,这一问题被证明是NP完全问题[14]。目前提出的大多数的启发式算 法本质上都是集中式的,即至少需要一个掌握整个网络拓扑信息的核心节点。 如Parsa等[15]人提出了一种限界最短的多播算法(bounded shortest multicast algrithm,BSMA),由Kou等[16]提出的KMB算法,Widyono[17]提出的约束 Bellman-Ford算法等。文献[18-20]分别采用遗传算法得到了性能较好的多播树, 刘芳[21]等通过在遗传算法中引入克隆策略大大提高了算法的收敛速度,但这些 算法同样需要一个掌握整个网络拓扑信息的“核心”节点的存在。由于集中式 路由算法首先要通过某个链路协议获得完整的网络拓扑信息,易造成链路拥塞, 给网络造成较大的负荷冲击,因此根据网络的局部信息进行路由选择的分布式 算法就显得尤为重要。
蚁群算法由于本身隐含的并行、分布式计算能力与网络路由具有较强的相 似性,而且蚂蚁选择路径时是基于概率的,因此可方便的实现拥塞规避,这是 其他算法所无法比拟的。文献[22,23]较早的采用蚁群算法求解最优多播树,但 都是先由“核心”节点通过某种算法获得备选路径集,在此基础上采用蚁群算 法进行寻优,因此本质上还是集中式算法。这种算法当网络规模增大时要耗费 大量的存储资源。本章在上述研究的基础上提出了一种基于蚁群算法的具有服 务质量保证的分布式多播路由算法(Distributed Multicast Routing algorithm based on ACO with QoS),分布式多播路由算法能够在不需要核心节点的情况下找到代 价可以接受的多播路由。

发明内容

本发明的目的是提供一种基于蚁群优化的分布式服务质量多播路由方法
基于蚁群优化的分布式服务质量多播路由方法借鉴蚁群觅食搜索最短路径 的仿生思想,采用基于概率的正反馈路由选择机制;结合多播路由问题的 特点,采用超边技术改进了标准蚁群优化算法,具体步骤如下:
(1)初始化网络,建立路由表;
(2)选择某一有多播要求的目的节点di∈Dest,从源节点释放antnum只蚂 蚁,寻找满足约束条件的最优多播路径。蚂蚁每走一步判断是否满足约束条件, 如果满足则继续向下一节点转移,否则蚂蚁简单死亡。蚂蚁由当前点vi转移到 下一点vj的概率计算采用基于概率的正反馈路由选择机制;
(3)如果蚂蚁当前所在点u=di,表明此次寻路成功,重复步骤(2)利用超边技 术直到该蚂蚁遍历了Dest中的所有节点;
(4)重复步骤(2)、(3),直到所有蚂蚁都成功的遍历了Dest中的所有节点,转 步骤(5);
(5)根据 P j 1 , d i = P j 1 , d i + ΔP 1 + ΔP P j , d i = P j , d i 1 + ΔP , j∈neighbors(r),且j≠j1 对蚂蚁经过的节点进行信息素更新;
(6)重复执行步骤(2)-(5)直到满足算法停止条件。
所述的基于概率的正反馈路由选择机制为:位于节点i的蚂蚁k选择下一节 点j的概率按照下式计算:
P i , j k = [ τ i , j ] · [ η i , j ] β Σ s tabu k [ τ i , s ] · [ η i , s ] β
式中, η i , j = 1 c ( i , j ) 为启发式信息,可以是包括诸如链路的时延等价格参数。 τi,j为路径(i,j)的信息素量,参数β表示信息素和启发式信息的相对重要程度, tabuk记录蚂蚁已经访问节点的信息。
所述的超边技术是指蚂蚁在爬行路由的过程中同时进行超边替换。
本发明的优点:1)分布式多播路由算法不需要一个具有全网信息的核心节 点来负责计算和协调多播路由树,克服了集中式路由算法易造成链路拥塞,以 及异步更新的不足;2)基于概率的正反馈路由选择机制使分布式多播路由算法 能自适应地避开故障、拥塞节点,并有效地解决了循环回路的产生;3)采用超 过技术改进标准蚁群优化算法,使建立分布式多播路由树的效率大大提高。
附图说明
图1是基于蚁群优化的分布式服务质量多播路由方法示意图;
图2是本明的超边替换过程示意图;
图3是基于Waxmax随机图模型生成的多播路由网络;
图4是分布式多播路由算法与集中式多播理由算法BSMA、KMB的仿真结 果对比图。

具体实施方式

下面结合附图,对本发明作进一步的说明。
如图1所示,节点V1为源节点,目标节点集合为{V6、V8、V10、V12、 V14}。
网络路由的服务质量要求包括很多内容,如端到端的时延、时延抖动、带 宽、包丢失率、跳数等等。目前在服务质量多播路由问题上,应用前景最广阔 也是最基本的是建立时延受限的多播树问题,因此下面就该问题展开详细的讨 论。
计算机网络可以表示为有向图G(V,E),其中V={v1,v2,L,vn}为图G中节点的集 合,代表实际网络中的路由器集合;E={e1,e2,L,em}为图G的边的集合,对应实 际网络中任意两相邻节点间通信链路的集合。为了不失一般性,假设在任意两 个节点之间至多存在一条直接连通的链路。设Dest={d1,d2,L,dn}表示有多播要求 的目标节点集合,每个目标节点都有自己的服务质量要求,这里规定至少包含 一个阈值Δ,表示对时延的要求;每一条边上有两个权值Dei≥0和Cei≥0,(1≤i≤m) 分别代表该链路的时延和代价。这里链路的时延包括数据包在传输介质中传输 的时延与数据包在路由器中排队、处理的时延之和;代价可以是包含时延、丢 包率、带宽利用率等多项指标的综合。
这里将时延作为很重要的一个度量指标主要原因有两个:
(1)时延可以在很大程度上反映所经过的节点数、链路的传输能力和节点的 处理速度;
(2)当经过拥塞节点时,因为人工蚂蚁具有与数据包同样的优先级,其时延 的大小也能有效地反映拥塞程度。
基于上述描述,多播树可表示为T=(VT,ET),其中VT_V,ET_E。多播树T 的总代价为:
C ( T ) = Σ e E T C e
多播树的时延取源节点到各目的节点时延的最大值,即
D ( T ) = max ( Σ e E T D e )
故寻找时延受限的最小代价路由可以表示为:
min ( Σ e E T C e )
                           s.t.D(T)≤Δ
在DMACO中,每一只蚂蚁就是一个数据包,其中包含一些简单信息,根据 蚂蚁功能的不同可分为以下两类:
(1)Fant(Forward ant)
此类蚂蚁主要负责路径的探寻工作,其数据包的结构如表1所示。其中 source-ID和dest-ID分别表示源节点和目标节点的IP地址;TTL(time to live) 表示该数据包的最大生存周期,以避免由于不可预知的情况导致该数据包在网 络内的无限制循环;Iteration-tag表示当前的迭代次数,可以区分在故障状态下 蚂蚁的类型;DestTab是目标节点序列集合,当蚂蚁执行超边替换时使用;tabu 用来记录蚂蚁已经遍历过的节点,避免进入死循环。
                            表1Fant的数据包结构   源节点   IP地址   目标节点   IP地址   最大生   存周期   当前迭   代次数   目标节点   序列集合   蚂蚁经历   过节点
(2)Bant(Backward ant)
当前向蚂蚁Fant找到目标节点以后,Fant即宣告死亡,目标节点会发送一个 应答,即反向蚂蚁Bant,其数据结构如表2所示。Bant沿Fant的路径返回源节 点,其主要功能是告诉源节点该蚂蚁已经成功找到目标节点,并且报告该路径 的时延,即拥塞情况,可根据“时间戳”(time stamp)域进行判断。每当蚂蚁在 返回路径中到达一个节点的时候,就会根据时间戳上的值进行信息素表的更新。
                         表2Bant的数据包结构   源节点   IP地址   目标节点   IP地址   最大生   存周期   时间戳   目标节点   序列集合   蚂蚁经历   过节点
在应用蚁群算法时首先要为每一个网络节点建立一张路由表,也称为信息素 表或者概率表。表3为网络中某一节点k的信息素表的具体形式,其中di (i=1,L,n)表示从k点能够到达的目标节点;aj(j=1,L,m)表示k点的邻居 节点;pij表示信息素的强度,即蚂蚁由k点到达目标节点di时选择邻居节点aj的 概率。
      表3网络路由中节点k的信息素表   目标节点   邻居节点   a1   a2 …   am   d1   P11   P12 …   P1m   d2   P21   P22 …   P2m   …   …   … …   …   dn   Pn1   Pn2 …   Pnm
表中的每一行满足:
Σ j L nei P j d i = 1
式中Lnei={neighbors(k)}表示蚂蚁可以选择的当前节点k的邻居节点,Pjd表示从 当前节点k经邻居节点j到目的节点di的概率。
位于节点i的蚂蚁k选择下一节点j的概率按照下式计算:
P i , j k = [ τ i , j ] · [ η i , j ] β Σ s tabu k [ τ i , s ] · [ η i , s ] β
式中, η i , j = 1 c ( i , j ) 为启发式信息,可以是包括诸如链路的时延等价格参数。 参数β表示信息素和启发式信息的相对重要程度,tabuk记录蚂蚁已经访问节点的 信息。
为了充分利用Fant收集的信息,当Bant到达路径上的某一节点r时,不仅更 新节点r到目的节点di的信息素值,同时更新节点r到其它中间节点的信息素值, 这里的中间节点指的是节点r与目的节点di之间的节点。信息素更新过程按下式 进行: P j 1 , d i = P j 1 , d i + ΔP 1 + ΔP , 选择邻居节点j1到达di P j , d i = P j , d i 1 + ΔP , j∈neighbors(r),且j≠j1 式中0≤ΔP≤1,取值与蚂蚁经历的时延成反比关系。当一条链路拥塞时,将推迟 转发经过的数据包,即蚂蚁,则蚂蚁经历的时延增加,选择这条路径的概率就 变小了。显然,更新后的信息素表仍然满足 Σ j L nei P jd i = 1 的约束条件。
基于蚁群算法的求解最优多播路由算法的具体步骤如下:
(1)初始化网络,建立路由表;
(2)选择某一有多播要求的目的节点di∈Dest,从源节点释放antnum只蚂 蚁,寻找满足约束条件的最优多播路径。蚂蚁每走一步判断是否满足约束条件, 如果满足则继续向下一节点转移,否则蚂蚁简单死亡。蚂蚁由当前点vi转移到 下一点vj的概率由 P i , j k = [ τ i , j ] · [ η i , j ] β Σ s tabu k [ τ i , s ] · [ η i , s ] β 计算;
(3)如果蚂蚁当前所在点u=di,表明此次寻路成功,重复步骤(2)利用超边技 术直到该蚂蚁遍历了Dest中的所有节点;
(4)重复步骤(2)、(3),直到所有蚂蚁都成功的遍历了Dest中的所有节点,转 步骤(5);
(5)根据 P j 1 , d i = P j 1 , d i + ΔP 1 + ΔP P j , d i = P j , d i 1 + ΔP , j∈neighbors(r),且j≠j1
对蚂蚁经过的节点进行信息素更新;
(6)重复执行步骤(2)-(5)直到满足算法停止条件。
如图2所示为分布式多播路由算法方法中的超边替换示意图。上述蚁群算 法虽然实现简单,但当网络规模增大时存在着收敛速度较慢、解的质量下降等 问题,为此需要根据问题的特点对算法进行改进。首先定义一些符号:设蚂蚁i 本次迭代已经成功遍历过的节点构成的多播树记为CurTree;该蚂蚁本次从源节 点出发寻找目标节点dj(dj_CurTree,dj∈Dest)时已经遍历过的节点记为tabu。
具体改进如下:蚂蚁一边爬行一边进行“超边”的替换,以提高收敛速度, 改善解的质量。超边的概念与文献[15]中“superedge”的概念相类似。
【定义】超边:设某一路径path由节点组成,其中 是度为1的中继节点(非源节点和目标节点),而v0和vk或者是度大于1的中继 节点,或者是源节点和目标节点,则称path为超边。
超边替换的过程如图2所示。设源节点为v1,目标节点集合为 Dest={v6,v8,v10,v12,v14}。图中实线表示蚂蚁i当前已经建立的多播树,则 A=是该树的一条超边。此时蚂蚁在寻找新的目标节点v14时很可能沿 图中虚线路径行进,即沿路径B=前进。比较A与B的费用,如果 cost(A)>cost(B),且替换后的多播树CurTree’仍满足时延约限制,则替换超边A, 该蚂蚁从v6继续前进。可见蚂蚁一边前进一边对已经建立的多播树进行优化, 从而提高收敛速度,改善解的质量。
如图3所示,实验中采用的网络图由Waxman随机图模型生成,在此随机 图中,边的生成概率为:
P e ( u , v ) = h · exp ( - d ( u , v ) gL )
其中d(u,v)表示节点u至节点v的几何距离,L表示两节点间的最大距离,参数 g用来控制随机图中短边和长边呈现的数量,参数h则用来控制随机图的平均度。 本仿真中使用的网络图的平均度均在4.0~4.8之间。图3为随机生成的具有100 个节点的网络。
在仿真实验中首先要设定分布式多播路由算法算法的相关参数,这里设定 启发式因子β=2,蚂蚁数目与目标节点数目相同,迭代次数Nc=10。对于分布 式多播路由算法策略,每组实验独立运行50次,取平均值。实验所用的硬件平 台为:P4-1.7GHz,512M-RAM;软件平台为windows xp的操作系统,Matlab 6.5 编程环境。
为了验证该算法的有效性,将本文提出的分布式多播路由算法算法与集中 式算法中比较成功的BSMA和KMB算法进行比较。BSMA算法能在多项式时 间内取得次优解,其平均质量是最优解的107%。KMB是一种无约束的算法, 求得的准Steiner树的费用与最优费用之比不超过(2-2/l),其中l表示Steiner树 的叶子节点的数目。
图4是分布式多播路由算法与集中式多播路由算法BSMA、KMB的仿真结 果对比图。时延限制Δ=20,网络规模n=100,多播组规模分别为destnum=5、7、 10、12、15、17、20时的多播费用情况。从图中可以看出,在多播规模变化时, 分布式多播路由算法与KMB算法的比值始终保持在1~1.3以内;分布式多播 路由算法与BSMA多播费用的比值也始终保持在1~1.4以内。由于BSMA和 KMB是集中式多播路由算法中性能较好的两个,可以看出分布式多播路由算法 算法还是能够得到性能良好、可以接受的多播树的。
参考文献
[1]S.Deering:Host extensions for IP multicasting.Internet Engineering Task Force,RFC 1112,Stanford University,1989.
[2]S.E.Deering:Multicast Routing in a Datagram Internetwork[D].PhD thesis,Stanford University,1991.
[3]S.Armstrong,A.Freier,K.Marzullo:Multicast Transport Protocol. Internet Engineering Task Force,RFC 1301,1992.
[4]R.Braudes,S.Zabele:Requirements for Multicast Protocols. Internet Engineering Task Force.RFC1458,1993.
[5]W.Stevens:TCP/IP Illustrated.Addison-Wesley,1994.
[6]S.Rampal:Routing and End-to-End Quality of Service in Multimedia Networks[D].PhD Thesis.N.C.State University,1995.
[7]S.Chen,K.Nahrstedt:An overview of quality-of-service routing for the next generation high-speed networks:problems and solutions[J].IEEE Network,1998.12(6):p.64-79.
[8]X.H.Jia,Y.C.Zhang,N.Pissinou,et al.:A distributed multicast routing protocol for real-time multicast applications[J].Computer Networks,1999.31:p.101-110.
[9]B.Wang,J.Hou:Multicast routing and its服务质量extension: problems,algorithms,and protocols[J].IEEE Network,2000.14(1): p.22-36.
[10]A.Striege,G.Manimaran:A survey of服务质量multicasting issues[J].IEEE Communications,2002.40(6):p.82-87.
[11]N.Bean,A.Costa:An analytic modelling approach for network routing algorithms that use″ant-like″mobile agents[J].Computer Networks,2005.49(243-268).
[12]G.Feng:A multi-constrained multicast服务质量routing algorithm[J].Computer Communications,2006.29:p.1811-1822.
[13]C.Garrozi,A.F.R.Araujo:Multiobjective genetic algrithm for multicast routing[C].IEEE Congress on Evolutionary Computation, Canada,2006:p.2513-2520.
[14]P.Winter:Steiner problem in networks:A survey[J].Networks,1987. 17(2):p.129-167.
[15]M.Parsa,Q.Zhu:An iterative algorithm for delay-constrained minimum-cost multicasting[J].IEEE Transactions on Networking, 1998.6(4):p.461-474.
[16]L.Kou,G.Markowsky,L.Berman:A fast algorithm for Steiner tree[J]. Acta Information,1981.15(2):p.141-145.
[17]R.Widyono:The design and evaluation of routing algorithms for real time channels[R].California:Departement of EECS,University of California at Berkeley.ICSI TR-94-024,1994.
[18]何小燕,费翔等:Internet中一种基于遗传算法的服务质量路由选择策略 [J].计算机学报,2000.23(11):p.1171-1178.
[19]M.Karabi,M.Fathy,M.Dehghan:服务质量multicast routing based on a heuristic genetic algorithm[C].IEEE CCGEI,2004:p.1727-1730.
[20]M.Hamdan,M.E.El-Hawary:Muticast routing with delay and delay variation constraints using genetic algorithm[C].IEEE CCGEI,2004: p.2363-2366.
[21]刘芳,杨海潮:参数可调的克隆多播路由算法[J].软件学报,2005. 16(1):p.145-150.
[22]张素兵,刘泽民:基于蚂蚁算法的时延受限分布式多播路由研究[J].通 信学报,2001.22(3):p.70-74.
[23]王颖,谢剑英:一种基于蚁群算法的多媒体网络多播路由算法[J].上海 交通大学学报,2002.36(4):p.526-528.
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈