一种解决光网络的分层组播最大吞吐量方法

文档序号:7551855阅读:174来源:国知局
专利名称:一种解决光网络的分层组播最大吞吐量方法
技术领域
本发明涉及光纤通信技术领域,具体涉及一种用于解决光网络的分层组播最大吞吐量实现方法。
背景技术
随着光网络技术的发展,光网络中单点发送、多点接收,多点资源提供、单点搜索,多点发送、多点接收的光组播应用越来越多,光网络带宽的消耗和拥塞发生快速增加,提高光网络组播的吞吐量和光纤线路资源的利用率成为光网络面临的重要问题。同时,光网络中的网络设备、端系统和用户需求是渐进发展的,用户需求及端系统处理能力的差异导致网络的异构问题出现,并且随着未来越来越多不同种类的子网络接入光通信网络,异构问题将更加突出。在这一前提下,按照组播传统意义上的单速率机制实现点到多点组播的做法,数据信息被以相同的速率发送给所有的接收者,发送速率由最慢的接收者决定,这使得所有接收者无论其接收能力如何都要受瓶颈接收者的速率限制,显然对具有较高带宽的接收者是不公平的,单速率组播使快接收者“饥饿”,使整个网络的吞吐量和带宽利用率都比较低。分层的多速率组播可以较好地解决异构光网络的吞吐量和资源利用率问题。多速率组播首先依靠源节点对需发送的数据进行分层或分级,形成多个等级的数据流发送给中间设备(如路由器或网关),以不同速率发送给目的节点,最后目的节点按照自己的接收能力选择适当的速率接收数据流。与单速率光组播通信机制相比,使用分层组播这种传输机制既可以满足高带宽用户需求的高速率数据服务,又可兼顾低带宽用户仅使用低速率数据服务的要求。同时,终端上的用户根据自己的网络带宽性能决定能接受的组播层次,并能够及时根据网络变化动态调节接收能力,具有良好的可扩展性。光层实现信息组播可以充分发挥光传输宽带宽和光信号处理高速率的优势,但光层组播的基础是光通道,在无波长转换器的光组播中需要考虑2个限制条件:一是波长独立性约束,即为保证光网络能够正常运行,同一光纤的光通路在传输不同数据时必须分配不同的波长;二是波长连续性约束,即每一个从源节点到目的节点的光通道中所有的光路上适用的波长必须是相同的。这样,多速率光组播通信的每一个目的节点接收速率只受源节点到它的通路上各链路的最小波长带宽限制,而不受同一组播层中另外的目的节点接收速率的影响,从而实现了各目的节点间的公平性。但是,近几年的研究表明组播的优化速率分层是一个NP完全问题,而近似的优化求解方法仅以最低速率目的接收节点的最大流来考虑分层问题,没有考虑波长带宽分配问题,被证明无法实现整个网络的最大吞吐量。近几年的研究表明:网络编码在网络中间节点和链路上对信息比特进行压缩对有益于提高网络吞吐量和资源利用率,是一种解决组播导致光网络资源日趋紧张的有效手段。在组播中,存在多个目的节点时,不同目的节点的边分离路径很可能出现共享的情况。网络编码技术的特点之一就是能够提高带宽的利用率,而在光网络中,波长本身是很稀缺的资源,使用越多资源开销就越大。多条路径之间若在存在共享波长链路的网络中采用网络编码技术对收到的多个数据包编码成I个,就能减少占用的波长资源,提高带宽利用率。本发明提出了一种基于网络编码实现信息流光层组播的优化组播速率分层和波长带宽分配方法,使网络吞吐量的最大化。

发明内容
针对现有的分层组播网络编码仅优化各分层速率而不优化波长带宽,且分层组播方法存在网络吞吐量低和优化算法复杂度过高的问题,本发明设计了一种基于网络编码的光组播速率分层和带宽分配方法,该方法包括:用启发式算法设计光组播速率分层优化方案和设计在分层光网络中搜索共享度高的光纤链路进行网络编码优化波长带宽分配的方法。具体为,将带宽资源图G(V,E,c,s,T)分层,计算图G中各层最大吞吐量,以及分配最大吞吐量时各层的最优组播分层速率,对到达光网络输入节点的光组播请求,根据光网络中可用波长带宽资源拓扑图G,计算每个组播目的节点的最大流,并按照最大流值升序排列组播目的节点,每个源一宿最大流值对应一层的组播速率,根据目的节点数确定分层数目;分别计算每个单源一单宿节点的层最大吞吐量,获得各层达到最大吞吐量值时的最优分层速率。在分层光网络中搜索共享度高的光纤链路进行网络编码优化波长带宽分配。在分层的光网络的剩余可用资源图中计算每层边不共享的分离链路簇共享度,将共享度最高的链路对应的上游节点加入网络编码,同时为该链路优先分配波长带宽,其他边不共享链路采用带宽平均分配的方法分配剩余可用波长带宽。本发明提出的光层组播最大吞吐量方法,用启发式算法设计光组播速率分层优化方案,将光网络抽象为包括:光网络中的节点集合V、节点之间的光纤链路集合E、每条光纤链路上的波长数目集合C、源节点S、组播目的节点集合T描述的带宽资源图G (V,E,C,S,T);将图G分割成μ层子图,将网络按照|τ|个目的节点划分成N个传输子图,其中μ彡|τ|,即M为光组播目的节点的数目,使各个目的节点可以按照自己的波长带宽限制接收分层数据,其中有It1-M层不传输数据;然后计算图G中每个组播目的节点的最大流,并将最大流值作升序排列,分别计算各层子层划分的图G最大吞吐量,并分配最大吞吐量时各层的最优组播分层速率。其中,M层中各层子图实现最大吞吐量的组播分层速率的优化分配方法具体为:假设&^,民,(;,8,1'1;)是分配k层之后的剩余可用带宽资源图,并有2彡k彡|τ|,而分为
Tl层时的第k层速率可以在剩余可用带宽资源图Rk(Vk,Ek,Ck,s,Tk)中从源节点S到每一个目的节点的最大流来用以下方法来确定:删除最大流为O的目的节点和从源节点到该目的节点的全部路径;对于最大流大于O的目的节点,从最大流中的最小值开始,顺序计算光组播吞吐量,具体为:先以最大流中的最小值为当前层的层速率,计算光组播吞吐量,然后保存结果,再选择次小最大流作为层速率,计算光组播吞吐量,并与之前的吞吐量做对比,保留组播吞吐量更高的层速率值,直至遍历完组播全部目的节点,此时可达到整个光网络分为k层时的最大网络吞吐量。最后在原带宽资源图G上减去k层速率分配消耗的波长容量,计算下一层(k+Ι层)实现光组播最大吞吐量时的层速率。当所有层速率分配结束时,分别输出可用带宽资源图。进一步,在分层光网络中搜索 共享度高的光纤链路进行网络编码优化波长带宽分配,该方法包括:1)在光组播网络中,假设链路容量为单位容量,若源节点S到某个目的节点t的最大流为h,将搜索到的h条边不共享链路的路径称为一个边不共享链路分离路径簇,根据Edmonds-Karp算法可知,组播网络的源节点S到该目的节点t的最大流等于链路分离路径的条数。依上述过程,继续寻找节点S到其它目的节点的边不共享链路分离路径簇。2)在所有目的节点的链路分离路径簇搜索完毕后,依次为每一条边不共享链路计算共享度值。每条边不共享链路的共享度值计算方法为:方向指向该链路起点的链路数与方向离开该链路终点的连接链路数之和减去I。3)对所有边不共享链路分离路径簇中共享度最高的链路的上游节点加入网络编码,利用网络编码节省网络波长带宽资源的占用,并对此共享度高的链路优先分配波长带宽满足组播要求,其他边不共享链路采用平均分配剩余可用波长带宽。本发明设计的一种基于网络编码的光组播速率分层和带宽分配方法,其光组播速率分层方法为基于吞吐量最大的启发式优化算法选择最优的分层速率,而带宽分配方法为基于光层组播权边分离链路共享度的网络编码波长带宽分配方案,解决了传统组播最大流最小值确定层速率导致异构网络节点公平性破坏和吞吐量较低的问题。通过寻找光组播网络的链路分离路径簇,计算链路分离路径簇的共享度,对共享度高的路径入流节点采用网络编码信息,则在共享度高的路径簇上传送编码压缩的信息,对共享度高的链路优先分配波长资源,实现波长资源的最少需求分配,提高了光网络有限波长资源的利用率。本发明有利于实现网络最大吞吐量,提高光组播网络的波长资源利用率,减小光组播需求的波长数目。


图1分层光组播最大吞吐量算法流图;图2吞吐量最大化的分层组播优化算法(MTLMA)流图;图3基于网络编码的波长带宽分配算法(BANC)流图;图4分层光组播的共享链路选择示例。
具体实施例方式本发明提出一种基于网络编码的光组播速率分层和带宽分配方法,包括两个过程:用启发式算法实现最大网络吞吐量的光组播速率分层,在分层光网络中搜索共享度高的光纤链路进行网络编码优化波长带宽分配;对到达光网络输入节点的光组播请求,首先根据光网络中可用波长带宽资源及拓扑关系,计算网络中每个组播目的节点的最大流,并按照最大流值升序排列组播目的节点,每个源一宿最大流值对应一层的组播速率,根据目的节点数确定分层数目;分别计算每个单源一单宿节点的层最大吞吐量,并优化计算各层达到最大吞吐量值时的最优组播分层速率;然后,在已经分层的光网络中计算每层边不共享的分离链路簇的共享度,并统计所有边不共享链路分离路径簇中共享度最高的链路,将这个链路对应的上游节点加入网络编码,同时将这个共享度高的链路优先分配波长带宽满足组播要求,其他边不共享链路采用带宽平均分配的方法分配剩余可用波长带宽。其中,优化计算各层达到最大吞吐量值时的最优组播分层速率具体包括:用启发式算法设计光组播速率分层优化方案,将光网络抽象为包括:光网络中的节点集合V、节点之间的光纤链路集合E、每条光纤链路上的波长数目集合C、源节点S、组播目的节点集合T描述的带宽资源图G(V,E,C,S,T);将图G分割成M层子图,将网络按照|T|个目的节点划分成M个传输子图,其中M < I T I,使各个目的节点可以按照自己的波长带宽限制接收分层数据,其中有It1-M层不传输数据;然后计算图G中每个组播目的节点的最大流,并将最大流值作升序排列,分别计算各层子层划分的图G最大吞吐量,并分配最大吞吐量时各层的最优组播分层速率。其中,M层中各层子图实现最大吞吐量的组播分层速率的优化分配方法具体为:假设嗔’民,。,!;)是分配k层之后的剩余可用带宽资源图,并有2彡k彡Tl,而分为
Tl层时的第1^层速率可以在剩余可用带宽资源图&(九民,(;,8,1'1;)中从源节点S到每一个目的节点的最大流来用以下方法来确定:删除最大流为O的目的节点和从源节点到该目的节点的全部路径;对于最大流大于O的目的节点,从最大流中的最小值开始,顺序计算光组播吞吐量,具体为:先以最大流中的最小值为当前层的层速率,计算光组播吞吐量,然后保存结果,再选择次小最大流作为层速率,计算光组播吞吐量,并与之前的吞吐量做对比,保留组播吞吐量更高的层速率值,直至遍历完组播全部目的节点,此时可达到整个光网络分为k层时的最大网络吞吐量。最后在原带宽资源图G中减去该层(k层)速率分配消耗的波长容量,并依照上述方法计算在剩余带宽资源图中实现光组播最大吞吐量时的下一层的层速率,并分配波长带宽。当所有层速率分配结束时,分别输出可用带宽资源图。下面结合附图对本发明的技术方案作进一步说明。附图1为分层光组播最大吞吐量方法流程图,首先读入带宽资源图网络拓扑G(V, E,c, s,T),分层数M,并设分层数计数器k=l,网络拓扑图G的剩余可用资源拓扑图Rk(Vk, Ek, Ck, s’ Tk);调用MTLMA子算法计算分k层时的Rk (Vk, Ek, Ck, s’ Tk)网络最大吞吐量条件下的最佳组播k层速率;调用BANC子算法实现K层最优波长带宽资源分配。具体方法为:在k层光网络Rk(Vk,Ek,Ck, s,Tk)中计算每层边不共享的分离链路簇的共享度,并统计所有边不共享链路分离路径簇中共享度最高的链路,将共享度最高的链路对应的上游节点进行网络编码,并优先为这个链路分配波长带宽,其他边不共享链路采用带宽平均分配的方法分配剩余可用波长带宽 。若k < M,则在图G中链路减去K层速率优化时已分配波长带宽,并更新可用资源拓扑Rk (Vk,Ek, Ck, s,Tk)的各链路剩余可用带宽值,计数器k加1,并返回再调用MTLMA和BANC子算法优化计算实现最大吞吐量的最佳K层速率和波长资源分配结果;gk=M,则输出分M层时各层实现最大吞吐量时的最佳M层速率和波长资源分配结果。其中,MTLMA算法(Maximize Throughput in layered multicast Algorithm)首先需要将分配k层之后图G的剩余可用资源图Rk (Vk,Ek, Ck, s, Tk)划分成|Tk|个子图,Tk子图数是Rk中目的节点数目,使各个目的节点可以按照自己的波长带宽限制接收分层数据,2彡k彡T|,T为图G的目的节点数目。然后计算剩余可用资源图Rk(Vk,Ek,Ck,s,Tk)中每个目的节点的最大流,并按照每个目的节点的max-flow最大流升序排列目的节点tit)若存在部分目的节点最大流为0,删除最大流为O的目的节点和与从源节点到该目的节点的全部路径,更新并保存剩余可用资源图;当剩余可用资源图中全部目的节点的最大流都大于0,先以最大流的最小值为当前层速率,计算光组播吞吐量,然后保存层速率和最大吞吐量;再选择次小最大流作为层速率,再计算光组播吞吐量,并与之前的组播吞吐量对比,保留较大值的层速率作为当前k层的组播速率,依此类推,直至遍历完Rk (Vk, Ek, Ck, s,Tk)全部目的节点,更新光组播吞吐量和层速率,最后可得到k层的最大网络吞吐量和最佳层速率,分别保存最大吞吐量Wmax (k)和最佳层速率Scheme (k),第k层划分结束。最后,在第k层剩余可用资源网络图Rk(Vk,Ek, Ck, s,Tk)中减去k层最大吞吐量对应的层速率分配所消耗的波长容量,更新剩余可用资源图。附图2为MTLMA算法的流程,算法步骤描述如下:Stepl在图G的当前剩余可用资源图Rk(Vk,Ek,Ck,s’ Tk)中,计算所有从源节点s到
ITk I个目的节点的最大流max-flow值,按max-flow值升序排列|Tk|各目的节点h,设记录第一个目的节点实现最大流的层速率分配方案计数器i=l,令H1 (V1, E1, C1, s,T1) =Rk (Vk, Ek,Ck,s,Tk), RN1=Nk,E1=Ek, C1=Ck, T1=TkoStep2以目的节点的max-flow值作为k层分配的层速率,计算以h目的节点的最大流max-flow作为k层速率时的光组播吞吐量,记为W(i),层速率记为Plan(i)。Step3 若 i = | Tk | ,转 Step5,否则执行 Step4。Step4更新图Hi (Vi, Ei, Ci, s, Ti)。根据已经分配的层速率Plan (i),对每条从源节点s到Ti目的节点对应的路径各链路分配层速率,更新该路径上各链路的容量Ci,各链路的Ci值为该路径上各链路容量减去层速率Plan (i)。若链路容量更新后Ci=O,则在图Hi的链路Ei集合中删除该链路,更新Ei集合。检查图Hi中是否出现无链路连接的孤立节点?若出现孤立节点,则在图Hi中删除该节点并更新Vi ;若出现孤立节点且是目的节点,还需要在Ti集合中删除该组播目的节点,并更新目的节点集合Ti, i = i+Ι,转Step2 ;Step5比较计算k层最大吞吐量Wmax (k) =max {W(i)},保存k层最大吞吐量对应的层速率Rate (k) =Plan (i),输出k层的最佳层速率Rate (k)和最大吞吐量Wmax (k)值。MTLMA算法解决了实现分层最大吞吐量的光组播层速率优化问题,还需要进一步解决网络的波长资源带宽的优化分配问题。可采用基于网络编码的波长带宽分配算法BANC (Wavelength Bandwidth Allocation Algorithm Based on Network Coding)提高带宽的利用率。在光网络中,由于DWDM的波长数目非常有限,波长链路是很稀缺的资源,使用越多资源开销就越大。BANC算法利用网络编码技术,节约光组播占用的波长资源数目。首先计算光组播共享链路的共享度数,对共享链路度数高的链路采用组播信息网络编码后传输,减小占用波长资源数,优先为共享度高的链路分配波长资源,以提高有限波长资源的利用率。统计出共享度高的链路,然后对这些链路对应的上游(入流)节点加入网络编码以节省网络的波长带宽资源。BANC算法流程如附图3所示,包括步骤为:Step I输入k层拓扑图Rk (Vk, Ek, Ck, s,Tk),并设置和保存拓扑图副本Pk (Vk, Ek,Ck, s,Tk) =Rk (Vk, Ek, Ck, s,Tk),初始化链路分离共享度矩阵D= [],i=l ;St印2在网络拓扑图Pk(Vk, Ek, Ck, s,Tk)中源节点s到Tk任一个目的节点\的链路分离路径,\ e Tk,存入矩阵P ;在P矩阵中寻找链路分离路径簇,计算链路分离路径簇共享度值,结果保存在链路分离路径簇共享度矩阵D中;St印3若i〈 |Tk|,转St印2,否则执行下一步;Step4比较D中元素值,并优先为共享度高的链路分离路径分配波长带宽;并依此准则为矩阵D中共享度从高到低的路径簇分配波长带宽。
St印5对P路径集合中其它路径的链路平均分配带宽,即该链路在k层时可用波长带宽除以链路分离路径的数目;St印6输出k层波长带宽分配结果。在Step2中,在P矩阵中寻找链路分离路径簇的方法为:I)在拓扑图副本Pk (Vk, Ek, Ck, s,Tk)中,用最大流方法求得网络图Pk (Vk, Ek,Ck, s,Tk)中源节点s到Tk中一个目的节点\的最大流值h,\ e Tk,设i=l,j=l ;2)使用最短路径算法求拓扑图Pk(Vk, Ek, Ck, s,Tk)的源节点s到\最短路径值,并存入矩阵P(i,j),然后在图Pk上删除此路径上的链路,并更新拓扑图Pk的集合Ek,且j=j+l ;3)判断能否在剩余拓扑图中找到I条链路分离路径?若找到这样的路径,保存为Path(i,j),令j=j+l,算法转步骤4);若不能找到这样的路径,令i = i+1,j=l,返回步骤2);4)重复步骤3),直至找到h条链路分离路径,保存为路径簇P (i);5)判断在剩余拓扑图上是否能够找到从源节点S到Tk中其它目的节点t的路径?若能找到这样的路径,令i = i+Ι,返回步骤2);若不能找到这样的路径,转步骤6);6)输出从源节点s到目的节点Tk的所有链路分离路径簇P。按照以上方法,在所有目的节点的链路分离路径簇搜索完毕后,调用下式依次为每一条链路评价共享度:D (e) =in ( μ j (e)) +out ( μ。(e)) -1, e e Ek式中,Ek为拓扑图Pk链路集合,in⑴表示拓扑图Pk中任意节点i的入流度数,out(i)节点i的出流度度。对于任一条有向链路e= (V, u),记链路e首尾两个端点为μ i(e)=v, yjeku。将上式计算得到的每个路径簇的共享度存入矩阵D,在D中选择共享度最大的路径簇作为分层组播光网络的光路,其中共享度最大的链路入流节点网络编码,并优先分配单位链路波长带宽,实现了网络编码将多路径信息用一条链路传输的目的,节约波长带宽的分配。附图4是光组播BANC算法寻找共享链度的一个单源多汇的单位网络拓扑图,其中,(a)组播网络拓扑图,(b)汇点&的2条边分离路径(C)汇点&的2条边分离路径((Dt1和&的共享路径。源节点是S,目的节点分别是Wt3,假设某一组播应用中需要从源节点S向目的节点h和t3发送数据。如果选择S到&的边分离路径分别为{S — I — 4 — tj和{S — 2 — 6 — tj , S到t2的边分尚路径分别为{S — I — 4 — t3}和{S — 2 — 6 — t3},那么从图(d)可以发现除源节点外{I — 4}和{2 — 6}是2条共享路径,共享了 2条链路,共享链路用虚线表示。如果分别对h和t3的共享路径采用网络编码后再传输组播信息,可以实现比不编码传输条件下节省2个波长带宽的效果,节约了有限的波长带宽资源。
权利要求
1.一种光组播交换网络实现最大吞吐量分层组播优化的方法,其特征在于,将带宽资源图G(V,E,c, s,T)分层,计算图G中各层最大吞吐量,以及分配最大吞吐量时各层的最优组播分层速率,获得最大网络吞吐量的光组播分层速率,在分层光网络中搜索共享度高的光纤链路进行网络编码优化波长带宽分配。
2.根据权利要求1所述的方法,其特征在于,获得最大网络吞吐量的光组播分层速率具体为:对到达光网络输入节点的光组播请求,根据光网络中可用波长带宽资源拓扑图G,计算每个组播目的节点的最大流,并按照最大流值升序排列组播目的节点,每个源一宿最大流值对应一层的组播速率,根据目的节点数确定分层数目;分别计算每个单源一单宿节点的层最大吞吐量,获得各层达到最大吞吐量值时的最优分层速率。
3.根据权利要求1所述的方法,其特征在于,进行网络编码优化波长带宽分配具体为:在分层的光网络的剩余可用资源图中计算每层边不共享的分离链路簇共享度,将共享度最高的链路对应的上游节点加入网络编码,同时为该链路优先分配波长带宽,其他边不共享链路采用带宽平均分配的方法分配剩余可用波长带宽。
4.根据权利要求2所述的方法,其特征在于,获得各层达到最大吞吐量值时的最优分层速率具体为:计算当前层网络各目的节点的最大流值,按照最大流从小到大的顺利排列目的节点顺利,以最大流的最小值为第一层速率,计算此层速率对应的光组播吞吐量,再选择次小最大流值作为第二层速率,计算光组播吞吐量,并与之前计算的光组播吞吐量对比,保留光组播吞 吐量较大值对应的层速率作为当前层的组播速率,依此类推,直至遍历完当前层网络的全部目的节点,获得当前层网络的最大网络吞吐量条件下的最佳层速率。
5.根据权利要求2所述的方法,其特征在于,计算每个组播目的节点的最大流具体为,将图6分配1^层之后的剩余可用资源图14(¥1;31;,(;,8,1'1;)划分成I Tk I个子图,子图数是Rk中目的节点数目,使各个目的节点按照自己的波长带宽限制接收分层数据,计算剩余可用资源图Rk(Vk,Ek,Ck,s,Tk)中每个目的节点的最大流,其中,2彡k彡T|,T为图G中目的节点数目。
6.根据权利要求3所述的方法,其特征在于,分离链路族共享度的计算方法为:在剩余可用资源图中对于任一条有向链路e=(v, u),链路e首尾两个端点为yi(e)=v, μ 0(e)=u,in (V)表示剩余可用资源图中链路e起始节点V的入流度数,out (U)为链路e终止节点u的出流度数,调用公式D(e)=in(yi(e))+0Ut(y(J(e))-l依次计算剩余可用资源图中每一条链路的共享度,获得分离链路族共享度,选择分离链路族共享度中共享度最大的路径簇作为分层组播光网络的光路。
全文摘要
本发明涉及光通讯技术,请求保护光组播交换网络中一种解决光网络最佳层速率分配和最优波长资源分配方法。解决了传统组播最大流最小值确定层速率导致异构网络节点公平性破坏和吞吐量较低的问题。该方法通过寻找光组播网络的链路分离路径簇,计算链路分离路径簇的共享度,对共享度高的路径入流节点采用网络编码信息,则在共享度高的路径簇上传送编码压缩的信息,对共享度高的链路优先分配波长资源,实现波长资源的最少需求分配,提高了光网络有限波长资源的利用率。本发明有利于实现网络最大吞吐量,提高光组播网络的波长资源利用率,减小光组播需求的波长数目。
文档编号H04L12/751GK103166861SQ20131004379
公开日2013年6月19日 申请日期2013年2月4日 优先权日2013年2月4日
发明者刘焕淋, 秦亮, 陈高翔, 谢芸徽, 刘洋, 胡婷 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1