首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

使用分组间延迟和预补偿的源路由无损重路由中的分组失序预防 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:华为技术有限公司

摘要:一种由网元NE实施的方法,包括:沿着具有初始路由分组延迟的初始路由,将分组流中的一个或多个初始分组从源向目的地转发;获取更新路由分组延迟小于初始路由分组延迟的更新路由;并按照根据初始路由分组延迟、更新路由分组延迟和与分组流相关联的分组间延迟所确定的时间量,延迟更新路由上的后续分组的传输。

主权项:1.一种由网元NE实施的方法,包括:沿着具有初始路由分组延迟的初始路由,将分组流中的一个或多个初始分组从源向目的地转发;获取更新路由分组延迟小于所述初始路由分组延迟的更新路由;以及当所述初始路由分组延迟与所述更新路由分组延迟的差大于所述分组流相关联的分组间延迟时,按照根据所述初始路由分组延迟、所述更新路由分组延迟和所述分组间延迟所确定的时间量,延迟所述更新路由上的后续分组的传输;当所述初始路由分组延迟与所述更新路由分组延迟的差小于或等于所述分组流相关联的分组间延迟时,不延迟所述更新路由上的后续分组的传输。

全文数据:使用分组间延迟和预补偿的源路由无损重路由中的分组失序预防[0001]相关申请的交叉引用[0002]本申请要求于2015年9月29日提交的名为“使用分组间延迟和预补偿的源路由无损重路由中的分组失序预防”的第14869,110号美国专利申请的优先权的权益,该申请的内容在此通过引用并入本文。背景技术[0003]源路由是一种路由技术,其中,分组穿过网段的路由是指定的,通常在源路由报头中指定。源路由报头可以包括要穿过的链路和或节点的严格列表或松散列表。严格列表明确列出了可以在上面传送分组的全部链路和或节点。松散列表可以指定分组为到达目的地而可能穿过的一个或多个链路和或节点,但松散列表未必包括分组为到达目的地而穿过的所有链路和或节点。实施源路由可以简化数据转发网络节点(例如,路由器或交换机),并且与使用转发表相比,还能缩短路由时间和时延。网络节点不再使用转发表执行查找功能,而是可以使用源路由报头中的路由信息来转发数据分组。发明内容[0004]在一个实施例中,本公开包括用于在源路由的重路由期间将防止分组失序所需的延迟量最小化的方法。所述方法由源路由网络中的网元networkelement,NE实施。所述方法包括:沿着初始路由将分组流中的一个或多个分组从源向目的地转发;以及获取与所述分组流相关联的分组间延迟。所述NE是源路由网络的头端,其接收来自源的分组并路由初始路由上的分组。所述方法还包括沿着更新路由重路由分组流中的后续分组,其中,所述更新路由包括的延迟小于初始路由。所述方法还包括确定初始路由和更新路由之间的路径延迟差。所述方法还通过根据分组间延迟减小该路径延迟差来计算防止分组流中分组失序所用的最小延迟。所述方法还包括通过延迟沿着更新路由的一个或多个分组的传输、沿初始路由创建人为延迟或二者的组合来将最小延迟引入分组流。[0005]在另一个实施例中,本公开包括一种NE。所述NE包括与源路由网络耦合的发送器和接收器。所述NE还包括与所述发送器和所述接收器耦合的处理器。所述处理器用于经由所述发送器向所述网络的入口节点发送配置消息,以提供用于将分组流中的一个或多个初始分组从源向目的地转发的初始源路由,其中,连续分组由约为零的分组间延迟隔开。所述处理器还用于经由所述发送器向入口网络节点发送切换消息,以通过提供用于转发该分组流中后续分组的更新源路由来指示重路由,其中,所述更新源路由包括的延迟小于所述初始源路由。所述处理器还用于接收与该分组流相关联的分组间延迟,并确定所述分组流的附加延迟的最小量,以便通过利用分组间延迟来防止所述分组流在重路由期间中出现分组失序。所述处理器还用于经由所述发送器向入口网络节点发送分组延迟消息以指示所述第一网络节点按照所述附加延迟的至少一部分延迟分组流中一个或多个分组的传输。[0006]在又一个实施例中,本公开包括与源路由网络耦合的发送器和接收器。所述NE还包括与所述发送器和接收器耦合的处理器。所述处理器用于经由所述发送器,沿着包括初始路径延迟的初始源路由,在源和目的地之间转发分组流中的一个或多个分组,其中,连续的初始分组由分组间延迟隔开。所述处理器还用于经由接收器接收重路由请求,其用以从初始源路由向更新路径延迟小于初始路径延迟的更新源路由切换。所述处理器还用于:获取根据所述分组间延迟最小化的附加延迟;经由发送器沿着所述更新源路由转发所述分组流中的后续分组。所述处理器还用于:当初始路径延迟和更新路径延迟之间的路径延迟差大于分组间延迟时,按照所述附加延迟的至少一部分的持续时间,延迟所述分组流中至少一些分组的传输。[0007]通过以下详细描述,结合附图和权利要求书,将更加清楚地理解这些及其它特征。附图说明[0008]为了更全面地理解本公开,现在将结合相关附图和详细描述进行如下简短描述,其中,同样的附图标记代表同样的部件。[0009]图1是源路由网络的一个实施例的示意图。[0010]图2是分段路由网络的一个实施例的示意图。[0011]图3是可以作为源路由网络中节点的NE的一个实施例的示意图。[0012]图4示出了源路由网络中的路径变换的一个实施例。[0013]图5示出了源路由网络在路径变换期间的分组失序场景的一个实施例。[00M]图6为示出了用于在源路由网络中的路径变换期间将附加延迟引入分组流的方法的一个实施例的示意图。[0015]图7为示出了用于在源路由网络中的路径变换期间将附加延迟引入分组流的方法的另一个实施例的示意图。[0016]图8为示出了用于在源路由网络中的路径变换期间将附加延迟引入分组流的方法的另一个实施例的示意图。[0017]图9为示出了用于在源路由网络中的路径变换期间将附加延迟引入分组流的方法的另一个实施例的示意图。[0018]图10是示出了路径延迟注入方案的一个实施例的示意图。[0019]图11是源路由网络中的包括分组间延迟的分组流的一个实施例的示意图。[0020]图12是示出了用于在源路由网络中重路由分组流时转变分组延迟的方法的一个实施例的示意图。[0021]图13是用于在源路由中重路由分组流时添加附加延迟的最小量的方法的一个实施例的流程图。[0022]图14是用于在源路由网络中重路由分组流时添加附加延迟的最小量的方法的另一个实施例的流程图。[0023]图15是用于在初始源路由与更新源路由之间分配附加延迟的最小量的方法的一个实施例的流程图。[0024]图16是用于在源路由网络中重路由分组流时添加附加延迟的最小量的方法的另一个实施例的流程图。具体实施方式[0025]首先应当理解的是,虽然下文提供了一个或多个实施例的说明性实施方式,但所公开的系统和或方法可以采用任何数量的已知或现有技术来实施。本公开绝不局限于下文示出的说明性实施方式、附图和技术,包括本文所示出和描述的示例性设计和实施方式等,而是可以在所附权利要求书及其等同物的全部范围内进行修改。[0026]源路由的特征在于:网络中没有串联网络设备和或节点的每路径状态,这些网络设备和或节点可以是路由器、交换机和或桥接器。源路由可以用在不同的网络架构中,包括互联网协议(Internetprotocol,IP网络、多协议标签交换(multiprotocollabelswitching,MPLS网络、异步传输模式asynchronoustransfermode,ATM网络、基于软件定义网络(software-definednetworking,SDN的网络以及任何其它合适的网络架构。通常出于各种管理和或操作原因,对网络业务或分组流进行重路由。分组流是指从源到目的地穿过网络的一系列分组。分组流可以出于多种原因从初始路径重路由到更新路径,例如,负载均衡、避免中断、提高网络性能或为了实现有计划的网络维护。[0027]不同的网络路径包括不同的特性,诸如路径延迟,其可依赖于各种因素,如拓扑路径长度和每个节点的时延。将分组流从初始路由(例如,旧路径)向更新路由(例如,新路径)重路由或切换时,如果新路径比初始路径具有的路径延迟低,则分组流中的分组的顺序可能会打乱。在这种情况下,至少某些分组会不按顺序到达目的地。要在重路由期间防止分组失序,一种方式是向更新路由引入延迟。这些引入的延迟使得沿着初始路由发送的分组在沿着更新路由发送的分组之前到达目的地。一些方案根据初始路由和更新路由之间的路径延迟差来确定延迟量,并在到达目的地之前在沿着更新路由的一个或多个网络节点处分配这些延迟。然而,在网络节点处延迟分组传输可能代价高昂(例如,在缓冲区和或存储器空间方面)。例如,网络节点要延迟从分组流中接收的分组的传输,可以通过在沿着转发路径将分组向下一跳节点发送之前先将分组在存储器中或者一个或多个缓冲区中保持一段延迟时间(例如,等待周期)。在等待期间,网络节点可以继续从分组流接收分组,并且可以将分组存储在缓冲区中。取决于网络节点中可用的缓冲区大小和等待周期的持续时间,分组可能在缓冲区内建立,并且可能潜在地导致网络节点在缓冲区溢出时丢弃分组。因此,向分组流中引入延迟可能影响网络资源的使用效率和或网络性能。[0028]本文公开的是用于在源路由的重路由期间将抑制或防止分组失序所需的延迟量最小化的实施例。例如,分组流从初始路由(例如,先前路径重路由到延迟低于初始路由的更新路由(例如,当前路径)。初始路由和更新路由也可以称为源路由,其传送源路由分组,所述源路由分组包括嵌入有路由信息的源路由报头。为了防止在分组流的重路由期间发生分组失序,附加延迟沿着更新路由引入到分组流以补偿初始路由和更新路由之间的路径延迟差。例如,通过在节点处延迟分组的传输来将附加延迟引入分组流,如执行路径变换的节点或在新路径中的任何其它节点处。在一个实施例中,减少了所添加的延迟,以利用分组流中的分组间延迟。路径之间的延迟差减去分组间延迟即为必须考虑的延迟(当路径延迟减去分组间延迟大于零时)。分组间延迟可以称为固有分组间延迟,并且通常指的是分组流中连续分组之间的时间间隔。分组间延迟通常是生成分组的速率的函数。在第二实施例中,不再是在切换到更新路由后一次性引入全部的附加延迟,例如,沿着更新路由第一次发送分组时,所公开的实施例使若干节点上的分组流中的附加延迟沿着更新路由建立。例如,要建立附加延迟,可以通过在多个连续分组上引入递增量的传输延迟来减少目的地或终端服务处的抖动(jitter。所公开的实施例可以沿着转发路径在多个节点之间分配附加延迟,例如,每个节点可以按照附加延迟的一部分延迟分组的传输。可替代地,所公开的实施例可以沿转发路径为不同节点处的不同分组引入递增的延迟。[0029]图1是源路由网络100的一个实施例的示意图。网络100包括控制器110和通过多个链路131互连的多个网络节点120例如,节点A-G。网络100使用源路由来在源150和目的地160之间传送经过网络节点120的分组。源150可以是适用于提供分组例如,生成分组的任何网络设备,且目的地160可以是适用于接收分组例如,接受分组)的任何网络设备。为了使用源路由,网络节点120在单个网络域下操作,所述单个网络域也称为源路由域。在一个实施例中,网络节点120可以在一个网络域下操作,且源150和或目的地160可以在其它网域下操作,其可以使用任何类型的路由方法。在另一个实施例中,网络节点120、源150和或目的地160可以在相同网络域下操作。链路131可以包括:物理链路,诸如光纤链路和或电链路;逻辑链路例如,MPLS隧道);和或用于传送数据的二者的组合。网络节点中的一些通过并行链路131相互连接,例如,网络节点B120和网络节点E120之间的。应当指出的是,源150和目的地160可能不直接与网络100连接。例如,源150和目的地160可以与各自的IP网络连接,其通过网络100互连。[0030]控制器110可以是虚拟机virtualmachine,VM、管理程序或用于管理网络100的任何其它装置,例如,通过维护网络100的网络拓扑结构和状态并确定经过网络100的路由进行管理。此外,应注意的是,即使将控制器110图示为仅连接到网络节点C120,其也可以通信地耦合到所有节点120。控制器110可以是任何类型的网络控制器,诸如集中式控制器或分布式控制器。在实施例中,控制器110是SDN控制器,诸如OpenFlow使能控制器。在这样的实施例中,转发面与控制面解耦,并且控制器110用转发指令配置网络节点120中的每个,例如,以一个或多个流表的形式。在一些实施例中,网络控制器110可明确地指定数据分组可能在网络100中穿过的一些或所有连接和或转发路径。例如,网络控制器110可以将包括一系列链路131和或网络节点120的的一系列连接提供给用于与源150连接的网络节点120〇[0031]网络节点120可以是交换机、路由器、桥接器和或适用于在网络100中转发数据的任何其它网络设备。网络节点120用于将本地标识符分配给链路131中的每个,包括并行链路131。例如,网络节点C120可以通过标识符3、2和1分别识别连接到网络节点A、D和F120的链路131。在一个基于SDN网络的实施例中,网络节点120接收来自控制器110的转发指令,并根据接收到的转发指令,在网络1〇〇中转发数据分组。在网络1〇〇中,网络节点120可充当入口节点、出口节点和或用于一个或多个分组流的串联节点,例如,关联到不同的源150和或不同的目的地160的分组流。[0032]当网络节点120是入口节点时,其用于将从源150接收到的分组通过网络100导向目的地节点160。例如,网络节点120从网络控制器110接收多个路由,以便通过网络100将分组路由并存储所述多个路由,例如,存储在流表或任何其它转发信息库中。一经从源150接收到分组,网络节点120识别例如,经由源-目的地匹配存储在流表中的路由,采用例如,报头中携带的路由将分组封装,并根据所识别的路由,将分组向下一跳节点转发。[0033]当网络节点120是串联节点(也称为中间节点)时,其在物理和或逻辑上位于转发路径的入口节点和出口节点之间。串联网络节点120用于通过无状态连接在网络100中接收并转发分组。例如,当网络节点120接收来自上游节点的分组例如,去往源150时,网络节点120在不参考连接特定的表的情况下根据携带在报头中的路由信息向下游节点(例如,去往目的地160转发分组。应当指出的是,串联节点也可以称为中间节点。[0034]当网络节点120是出口节点,网络节点120用于将分组传送给分组的目的地160。例如,一经接收到针对目的地160的分组,网络节点120将分组解封装以移除携带有路由的报头,所述路由用于在将分组发送给其目的地160之前通过网络100转发分组。[0035]如图1所示,源150与网络节点C120连接,并且目的地160与网络节点E120连接。因此,网络节点C120是入口节点,并且网络节点E120是针对源150和目的地160对的网络100的出口节点,源150和目的地160可以与同一网络100直接连接,也可以不直接连接。网络控制器110为网络节点C120配置用于在源150和目的地160之间转发分组的路由132示为实线箭头),源150和目的地160记做,其中,S标识源150,D标识目的地160。网络控制器通过沿着路由132为每个网络节点132例如,网络节点C、F和G指示链路131来分配路由132,例如,以矢量形式[1,4,3],其中,1、4和3分别是网络节点C、F和G120处的本地标识符。在一些实施例中,路由132可代表源路由隧道,如MPLS隧道。[0036]当网络节点C120接收从源150去往目的地160的分组时,网络节点C120识别由网络控制器110分配,例如,存储在流表中,的路由[1,4,3]。网络节点C120用接下来的一系列链路131例如,[1,4,3]将分组封装,其中,链路131由每个网络节点120的本地标识符标识。在一些实施例中,所述一系列链路131被格式化为存储在分组报头中的矢量例如,[1,4,3]。如图所示,网络节点C120经由本地标识符1示出为所标识的链路131,将分组转发给网络节点F120。一经接收到来自网络节点C120的分组,网络节点F120经由本地标识符4示出为所标识的链路131,根据分组报头中携带的路由信息将分组转发给网络节点G120。一经接收到来自网络节点F120的分组,网络节点G120经由本地标识符3示出为所标识的链路131,根据分组报头中携带的路由信息将分组转发给网络节点E120。一经接收到来自网络节点G120的分组,网络节点E120可移除携带路由信息的报头,并将分组转发给目的地160。应当指出的是,在一些实施例中,链路131和或网络节点120可以被全局和或局部分配,并且连接列表可以是部分列表或者松散列表。此外,转发路径例如,路由132可以由集中位于管理实体处或共同位于网络节点120处例如,入口节点处)的路径计算元件pathcomputationelement,PCE而不是由控制器110来计算。[0037]图2是分段路由网络200的一个实施例的示意图。网络200类似于网络100,但是采用分段路由,例如,MPLS分段路由。网络200包括多个由多个链路231互连的网络节点220例如,网络节点A-G,所述网络节点220类似于网络节点120,所述链路231类似于链路131,其中,网络节点C220与源250连接,并且网络节点E220与目的地260连接,所述源250类似于源150,所述目的地260类似于目的地160。网络200通过分段标签而非本地标识符矢量来标识路由。如图2所示,分段标签列表[L1,[L4,[L3]]]指示经过网络节点C、F、G和E220的路由232示为实线箭头)。例如,诸如网络控制器110的网络控制器可以为网络节点C220配置路由[L1,[L4,[L3]]]。当网络节点C220接收来自源250的分组时,网络节点C220用携带有由[L1,[L4,[L3]]]所指示的路由信息的报头将分组封装,并将分组转发给网络节点F220。一经接收到来自网络节点C220的分组,网络节点F220从分组报头中提取路由信息,执行弹出操作例如,通过移除用于到达该节点的链路,从而将路径变换为[L4,[L3]]以露出下一跳,并将分组转发给下一跳,即网络节点G220。一经接收到来自网络节点F220的分组,网络节点G220从分组报头提取路由信息,执行弹出操作以露出下一跳例如,[L3],并将分组转发给下一跳,即网络节点E220。当网络节点E220接收到分组时,网络节点E可以从分组报头中移除路由信息,并将分组转发给目的地260。[0038]图3是NE300的一个实施例的示意图。NE300可以充当诸如网络100和200以及如下更充分讨论的网络400、500和1100等源路由网络中的节点,诸如入口节点、出口节点、串联节点、源、目的地、网络节点120和或网络控制器IHLNE300可以用于在本文所描述的源路由路径变换期间实施和或支持路由延迟预补偿。NE300可以在单个节点中实施,或者NE300的功能可以在多个节点中实施。本领域技术人员将认识到,术语“NE”包括范围很宽的装置,其中的NE300仅是示例。包括NE300的目的是为了让讨论更清楚,并非意在将本公开的应用限制为某个或某类具体的NE实施例。在本公开所述特征和方法中,至少一部分可以在网络装置或组件中实现,例如,NE300。例如,本公开所述特征和方法可以采用硬件、固件和或在硬件上安装运行的软件来实现。如图3所示,NE300可以包括收发器TxRx310,其可以是发送器、接收器或其组合。TxRx310可以与多个用于发送和或接收来自其它节点的帧的下游端口320耦合,TxRx310也可以与多个用于发送和或接收来自其它节点的帧的上游端口350耦合。应当理解的是,上游和下游是特定于路由场景的逻辑方向。上游和下游端口不必是分开的或由单独的发送和接收电路310服务。处理器330可以与TxRx310耦合以处理帧或分组,和或确定向哪些节点发送帧。处理器330可包括一个或多个多核处理器和或存储装置332,其可起到数据存储区、缓冲区等作用。处理器330可实施为通用处理器,或者可以是一个或多个专用集成电路applicationspecificintegratedcircuit,ASIC和或数字信号处理器digitalsignalprocessor,DSP的一部分。处理器330可以包括路径延迟预补偿模块333,其可以实施如下更充分讨论的方法500、600、700、800、900、1200、1300、1400、1500和1600和或本文所讨论的任何其它机制。这样,通过加入路径延迟预补偿模块333和相关方法和系统为NE300的功能性提供了改进。此外,路径延迟预补偿模块333影响特定物例如,源路由网络)向不同状态例如,分组延迟)的转变。在一个可替代的实施例中,路径延迟预补偿模块333可以实施为存储装置332中所存储的指令,这些指令可以由处理器330执行。存储装置332可以包括用于临时性存储内容的缓存,例如,随机存取存储器random-accessmemory,RAM。另外,存储装置332可以包括用于相对长期地存储内容的长期存储,例如,只读存储器read-onlymemory,ROM。例如,缓存和长期存储可以包括动态RAMdynamicRAM,DRAM、固态驱动器solid-statedrive,SSD、硬盘或其组合。存储装置332可以用于存储源路由路径变换期间的一个或多个分组缓冲区334,如下进行更充分讨论。[0039]应理解,通过将可执行指令编程和或加载在NE300上,处理器330和或存储装置332中至少有一个会发生改变,从而将NE300部分地转变为特定机器或装置,例如,多核转发架构,并具有本公开所教导的新颖功能。对于电气工程和软件工程领域而言,能够通过将可执行软件加载到计算机中实现的功能均可以通过公知的设计规则转化为硬件实施方式,这一点是根本。要决定理念究竟采取软件还是硬件实现,考虑点通常取决于设计的稳定性和要制造的单元的数量,而非从软件领域转换到硬件领域所涉及的问题。通常,仍需频繁更改的设计优选以软件实现,因为重制硬件实施方式比重制软件设计成本更高。通常,已经稳定、将要大批量生产的设计可能优选以硬件例如,ASIC中)实现,因为对大批量生产而言,硬件实施方式比软件实施方式的成本低。通常,设计会先以软件形式进行开发和测试,之后在ASIC中通过公知的设计规则转化成遵循软件指令的等效硬件实施方式。正如由新ASIC控制的机器是特定的机器或装置,同样地,已经编程和或加载有可执行指令的计算机也可被视为特定机器或装置。[0040]图4示出了在源路由网络400中的路径变换的一个实施例。网络400可类似于网络100或200。网络400包括多个由多个链路431互连的网络节点420,所述网络节点420类似于网络节点120,所述链路431类似于链路231和131。如网络400中所示,由源450生成的分组经由初始路由432示为实线箭头通过网络400进行传送以到达目的地460,所述源450类似于源150和250,所述目的地460类似于目的地160和260。初始路由432类似于路由132,其中,路由信息由本地标识符列表[1,4,3]表示,并且穿过网络节点C、F、G和E420。在一段时间后,网络400配置用于在源450和目的地460之间传送分组的更新路由433示为虚线箭头),例如,出于优化、链路故障、维护,网络条件有变化等原因。更新路由433由本地标识符列表[3,2,2]表示,并且穿过网络节点C、A、B和E420。初始路由432可以称为初始路径,记做Poid,并且更新路由433可以称为更新路径,记做Pnew。在一些实施例中,从初始路由432到更新路由433的路径变换可以在网络节点C420实施,其在对从源450接收并且去往目的地460的分组进行封装时,将路由信息例如,报头中的从[1,4,3]改为[3,2,2]。[0041]由于诸如链路431中的信号传播延迟和或网络节点420中的延迟等一些因素,每个传输路径,如初始路由432和更新路由433,包括一定量的延迟。有些路径比其它路径引入更多的延迟。例如,经过初始路由432的延迟被表示为delayPcild,并且经过更新路由433的延迟被表示为delayPnew。当更新路由433包括的路径延迟比初始路由432大时(例如,delayPnew=ClelayPoid,从初始路由432到更新路由433的路径变换对终端服务和或服务质量QoS只有极少影响,甚或没有影响。例如,终端服务可能因为重路由只经历轻微抖动。然而,当初始路由422具有的路径延迟比更新路由433大时例如,delayPcilddelayPnew,从初始路由432到更新路由433而没有任何补偿的路径变换可能导致分组不按顺序到达目的地460。[0042]图5示出了诸如网络100、200和400等源路由网络在路径变换期间的分组失序场景500的一个实施例。网络500可表示网络100、200和400的一部分。网络500包括入口节点521和出口节点522,其中,入口节点521和出口节点522类似于网络节点120。例如,入口节点521和出口节点522分别类似于网络节点C和E420。如图所示,入口节点521向出口节点522发送与分组流相关联的一系列分组541、542、543和544,其中,分组541-543最初在初始路由532上发送,记做Poid,分组544在更新路由533上发送,记做Pnew。初始路由532和更新路由533类似于路由132、232、432和433,并且在入口节点521与出口节点522之间可以包括一个或多个串联节点或网络节点,例如,网络节点120、220和420。当初始路由532具有的路径延迟比更新路由533大时例如,delayPoiddelayPnew,分组544可在分组543之前到达出口节点522,因此导致分组流中的分组失序,或分组在送达诸如目的地160、260和460的目的地时顺序打乱。[0043]为了解决由于路径变换成更新路由(例如,更新路由533Pnew而导致的分组失序,所述更新路由具有比PoId更低的延迟,可在更新路由处引入附加延迟dt,使得delayPnew+dt=delayPoid。在一个实施例中,附加延迟dt的计算如下:[0044]dt^delayP〇id-delayPnewI[0045]将附加延迟dt应用到沿着Pnew的分组流之后,分组失序将得以抑制或避免。[0046]在不存在网络拥塞时,delayPoId、delayPnew和dt的计算是相当确定性的。路径延迟的大多数影响因素例如,信号传播延迟、交换机中的延迟等都可以较为准确地预先估计。在一个实施例中,路径延迟可以通过采用流量工程trafficengineering,TE数据库来获得。在另一个实施例中,路径延迟可以通过网络发现期间和或一些路由信息中包括的路径延迟参数来获得。在又一实施例中,延迟可通过实验确定,例如,通过沿着不同的路径发送ping确定。如果dtdelayPcild,并且由于重路由而导致分组失序的可能性较低。可替代地,如果dt0,则向更新路由中引入大于或等于dt的附加延迟。图6-图9示出了用于当dt0时在更新路由中引入附加延迟的各种实施例。[0047]图6示出了用于在诸如网络100、200、400和500等源路由网络中的路径变换期间将记做dt的附加延迟670引入分组流的方法600的一个实施例的示意图。分组流可以源自类似于源150、250或450的源,并且可以寻址到类似于目的地160、260和460的目的地。在方法600中,入口节点621例如,入口节点521沿着记做Poid的初始路由632例如,初始路由532将分组流转发给出口节点622例如,出口节点522。入口节点621随后将分组流重路由至记做Pnew的更新路由633例如,更新路由533,所述更新路由具有更短的路径延迟。可根据方程1来计算必须添加的附加延迟670。如图所示,方法600在入口节点621处引入附加延迟670,使得沿着初始路由632发送的分组在沿着更新路由633发送的分组之前到达目的地。在实施例中,入口节点621通过在沿着更新路由633发送分组之前将分组暂时存储在,例如,位于诸如存储装置332等存储装置中的一个或多个诸如分组缓冲区334等缓冲区中来引入附加延迟670,存储时间为附加延迟670的持续时间。[0048]图7示出了用于在诸如网络100、200、400和500等源路由网络中的路径变换期间将记做dt的附加延迟770引入分组流的方法700的一个实施例的示意图。分组流可以源自类似于源150、250或450的源,并且可以寻址到类似于目的地160、260和460的目的地。方法700基本类似于方法600,不过是在出口节点722例如,出口节点522和622处引入附加延迟770,而不是如方法600所述在入口节点721例如,入口节点521和621处引入。在方法700中,入口节点721沿着记做Poid的初始路由732例如,初始路由531和631将分组流转发给出口节点722,并且随后将分组流重路由至记做Pnew并且具有更短路径延迟的更新路由733例如,更新路由533和633。附加延迟770根据方程(1计算。如图所示,方法700在出口节点722处引入附加延迟770,使得沿着初始路由732发送的分组可在沿着更新路由733发送的分组之前到达目的地。在实施例中,出口节点722通过在向诸如目的地160、260和460等目的地发送分组之前将路径733上接收到的分组暂时存储在,例如,位于诸如存储装置332等存储装置中的一个或多个诸如分组缓冲区334等缓冲区中来引入附加延迟770,存储时间为附加延迟770的持续时间。[0049]图8为示出了用于在诸如网络100、200、400和500等源路由网络中的路径变换期间将记做dt的附加延迟引入分组流的方法800的一个实施例的示意图。分组流可以源自类似于源150、250或450的源,并且可以寻址到类似于目的地160、260和460的目的地。方法800基本上类似于方法600和700,不过是将附加延迟dt分配在多个中间节点823中,而不是如方法600所述在入口节点821例如,入口节点521、621和721处分配或如方法700所述在出口节点822例如,出口节点522、622和722处分配。中间(或串联节点823沿着更新路由833位于入口节点821和出口节点822之间,并且可以类似于网络节点A和B120、220和420或网络节点F和G120、220和420。在方法800中,入口节点821沿着记做Poid的初始路由832例如,初始路由532、632和732将分组流转发给出口节点822,并且随后将分组流重路由至记做Pnew的更新路由833例如,更新路由533、633和733。附加延迟dt根据方程(1计算。如图所示,方法800将附加延迟dt分配在多个中间节点823中,使得沿着初始路由832发送的分组可在沿着更新路由833发送的分组之前到达目的地。例如,可以通过将附加延迟分成多个延迟部分870例如,两个由dt2构成的部分),并在每个中间节点823处引入一个延迟部分870来将附加延迟dt分配在多个中间节点823中。在一个实施例中,在将分组转发给下一跳节点例如,如分组报头中指示的之前,每个中间节点823将分组暂时存储在,例如,位于诸如存储装置332等存储装置中的一个或多个诸如分组缓冲区334等缓冲区来中,存储时间为延迟部分870的持续时间。[0050]应当指出的是,将附加延迟dt分配在多个中间节点823上分散了多个中间节点823上的附加缓冲区空间和或存储器使用需求,而不是让单个中间节点来承受。此外,可以采用不同的方法来将附加延迟dt分成多个延迟部分870,这些延迟部分可以是相等的延迟部分例如,两个由dt2构成的部分或不相等的延迟部分例如,一个由dt3构成的部分和一个由2dt3的构成部分)。此外,可以沿着入口节点821和出口节点822之间的更新路由833将附加延迟dt分散到任一数量的节点中,例如,一个或多个中间节点823、入口节点821和或出口节点822。为了确定特定节点处的合适延迟,可以考虑节点的缓冲内存以及通过节点所携带的流量。例如,内存更多或流量更少的节点相比于内存更少或流量更多的节点而言,可能更适合于吸收延迟。[0051]图9为示出了用于在诸如网络100、200、400和500等源路由网络中的路径变换期间将记做dt的附加延迟引入分组流的方法900的一个实施例的示意图。分组流可以源自类似于源150、250或450的源,并且可以寻址到类似于目的地160、260和460的目的地。方法900基本类似于方法800,不过是通过采用逻辑可变延迟分段970来将附加延迟dt分配在多个中间节点923例如,中间节点823中。在方法900中,入口节点921沿着记做Poid的初始路由932例如,初始路由532、632、732和832将分组流转发给出口节点922,并且随后将分组流重路由至记做Pnew并且具有更短路径延迟的更新路由933例如,更新路由533、633、733和833。附加延迟dt根据方程(1计算。如图所示,方法900在中间节点923插入逻辑可变延迟分段970,从而在中间节点处创建延迟,使得沿着初始路由932发送的分组在沿着更新路由933发送的分组之前到达目的地。例如,逻辑可变延迟分段970可以通过使分组在逻辑上循环回到中间节点923来创建延迟。虽然物理路径未变,但一些节点可以将分组有效地转发给自己,从而创造延迟分段970。[0052]在一个实施例中,源路由网络可以是MPLS网络。在这种实施例中,更新路由933可以划分成多个分段934。每个分段934由分段标识符(ID例如,#6、#8和#2标识。在一些实施例中,分段ID直接控制逻辑可变延迟分段970中延迟的量。例如,每个分段ID可以对应于固定量的延迟、延迟的范围、或分段ID与延迟之间的任何其它预先确定的映射。分段934的列表可以携带在穿过更新路由933的分组的报头中。在这种实施例中,当将分组流从初始路由932例如,高延迟路由)重路由至更新路由933例如,低延迟路由)时,可以通过在一个或多个中间节点923添加一个或多个逻辑可变延迟分段970例如,具有相等或不相等的延迟)来在更新路由933中引入附加延迟dt例如,根据方程⑴计算的)。例如,当逻辑可变延迟分段970包括在中间节点923中时,中间节点923基于分段ID触发固定量的延迟,并在根据剩余的源路由转发分组之前将该延迟量赋予分组。应当指出的是,可在单个节点和或多个节点添加任一数量的具有相同或不同分段ID的逻辑可变延迟分段970。例如,更新路由933的分段列表可以表示成[#6,...,#1004,#8,#1004,#2,....]的形式,其中,#1004表示逻辑可变延迟分段970的分段ID。[0053]图10是示出了路径延迟注入方案的一个实施例的图表1000。在图10中,X轴表示某些任意恒定时间单位内的时间,并且y轴表示某些任意恒定时间单位内的路径延迟。延迟方案可以供方法600、700、800和900在路径变换期间使用,以逐步减少附加延迟的量,如附加延迟670和770、延迟部分870和来自逻辑可变延迟分段970的延迟。曲线图1010表示在一段时间内可以引入到当前源路由路径,如更新路由533、633、733、833和933,中的附加延迟的量,其中,在路径变换之前,当前源路由路径具有比先前源路由路径更低的延迟。例如,当路径变换首次发生时,可以将记做dt0的初始附加延迟1011应用到当前源路由路径,并且在持续时间1020之后,可以将更低的附加延迟1012应用到源路由路径。附加延迟可最终降低到零值,或从源路由路径中移除,例如,在所有沿着先前源路由路径发送的分组成功发送给诸如目的地160、260和460等目的地之后,或在初始附加延迟1011完整循环之后。应该注意的是,附加延迟量的降低速率可以根据各种因素而变化,如当前源路由路径和先前源路由路径之间的路径延迟差的量、业务模式和或网络。例如,附加延迟的量可以按对数速率、几何速率或线性速率衰减。另外,当延迟分配在多个节点中时,不同节点处的延迟可以按不同的速率降低。[0054]图11是示出了源路由网络1100中的包括记做τ的分组间延迟1180的分组流1140的一个实施例的示意图。网络1100类似于网络500,并且可表示网络100、200和400的一部分。网络1100示出的机制用于利用分组流1140中的分组间延迟1180来减少可能在路径变换期间应用的记做dt的附加延迟1170的量,例如,附加延迟670和770、延迟部分870以及由逻辑可变延迟分段970创建的与初始路由(例如,初始路由632、732、832和932和更新路由(例如,更新路由633、733、833和933之间的延迟差对应的延迟。网络1100包括入口节点1121和出口节点1122,二者经由记做Poid的初始路由1132和记做Pnew的更新路由1133互连。入口节点1121类似于网络节点C120、220和420以及入口节点521、621、721、821和921。出口节点1122类似于网络节点E120、220和420以及出口节点522、622、722、822和922。初始路由1132类似于初始路由532、632、732、832和932。更新路由1133类似于更新路由533、633、733、833和933。入口节点1121用于将包括多个分组1141、1142、1143和1144的分组流1140导向出口节点1122。分组流1140可以源自类似于源150、250和450的源,并且可以寻址到类似于目的地160、260和460的目的地。分组流1140中连续分组之间的分组间延迟1180可以取决于源生成分组1141-1144的速率例如,分组生成速率)。如图所示,入口节点1121将分组1141-1143沿着初始路由1132转发,并且随后又将分组1144沿更新路由1133转发。通过观察分组间延迟1180,如果初始路由1132和更新路由1133之间的路径延迟差小于分组间延迟1180例如,分组1143和1144之间的时间间隔),则分组1144可以沿着更新路由1133发送而不添加如前所述的附加延迟1170,因为分组间延迟1180提供的延迟量足够弥补路径延迟差。然而,如果路径延迟差大于分组间延迟1180,则可以向分组1144应用附加延迟1170。例如,分组1144可以按照至少等于路径延迟差与分组间延迟1180之间的时间差的量进行延迟,使得分组1144可以在分组1143之后到达目的地。因此,不再按方程(1所示计算附加延迟1170,附加延迟1170可以通过分组间延迟1180得以减少并按如下所示计算:[0055][0056]其中,ε是大于零但明显小于τ的值,使得它不能抵消由τ所提供的期望效果。例如,ε可以设置为最小的正值,使得分组1144可以恰在分组1143之后而非同时到达出口节点1122〇[0057]作为示例,入口节点1121可以在时间T1沿着初始路由1132发送分组1141。然后,可以分别在时间Tl+τ和Τ1+2τ发送分组1142和1143。因此,分组1141、1142和1143可以分别在时间Tl+delayPoid、Tl+delayPoid+τ和Tl+delayPoid+2τ到达出口节点1122。当入口节点1121切换到更新路由1133时,入口节点1121可以按附加延迟1170的持续时间来延迟分组1144的传输。因此,分组1144可以在时间T1+3τ+dt发送,并且可以在时间TI+deIayPnew+3τ+dt到达出口节点1122。分组1141-1144在入口节点1121的发送Tx时间和在出口节点1122的接收Rx时间在表1中总结如下。[0058][0059]表1-分组1141-1144的Tx时间和Rx时间[0060]通过观察分组1143和1144的Rx时间,显而易见的是,附加延迟dt可以按方程⑵计算。这样,通过利用分组间延迟1180,附加延迟1170的量可以根据如下所示方程3来应用:[0061][0062]其中,是如上所述的略大于零的最小延迟偏移值。[0063]应当注意的是,可以通过采用如在方法600、700、800和或900中所描述的基本类似的机制,将附加延迟1170引入到更新路由1133,并且可以在分组1141-1143到达出口节点1122之后从更新路由1133中移除附加延迟1170。此外,附加延迟1170可以通过采用与图表1000所示延迟方案类似的延迟方案,经过一段时间逐渐减小附加延迟1170来移除。[0064]图12是示出了用于在诸如网络100、200、400、500和1100等源路由网络中重路由分组流1240时转变分组延迟的方法1200的一个实施例的示意图。分组流1240可以源自类似于源150、250或450的源,并且可以寻址到类似于目的地160、260和460的目的地。分组流1240包括一串稳定的分组1241、1242、1243、1244、1245和1246,其中,分组流1240包括记做τ的约为零的原始分组间延迟。例如,分组1241-1243之间没有间隔。在方法1200中,入口节点1221例如,入口节点521、621、721、821、921和1121最初将分组流例如,分组1241-1245沿着记做Poid的初始路由1232例如,初始路由532、632、732、832、732、832、932和1132转发给出口节点1222例如,出口节点522、622、722、822、922和1122,并随后执行路径切换以沿着记做Pnew的更新路由1233例如,更新路由533、633、733、833、933和1133转发分组流1240例如,分组1246。例如,初始路由1232包括大于更新路由1233的路径延迟,其中,初始路由1232和更新路由1233之间的路径延迟差大于零例如,delayPoid-delayPnew0。由于原始分组间延迟τ约为零,故而根据方程2和3计算出的附加延迟dt约等于路径延迟差。因此,通过利用原始分组间延迟τ以减少附加延迟dt的机会有所降低。例如,减少附加延迟dt的机会随着分组间延迟τ趋于零值而降低例如,limT-〇应用的延迟)=0。[0065]对于某些系统,在分组流1240切换到更新路由1233后引入附加延迟dt的全量可能会有困难或代价高昂,例如,由于内存和缓冲区的限制,并且可能导致延迟抖动。方法1200可以在路径变换前沿着初始路由1232在若干个节点上建立附加延迟dt的至少一部分。为提供平滑的延迟过渡,方法1200沿着初始路由1232逐渐增大至少一些连续分组(例如,分组1243-1245之间记做τ’的分组间延迟1280。例如,入口节点1221引入记做ηΧΔ的递增量的延迟,其中,η是分组计数器,并且△是连续分组之间的递增附加延迟。方法1200基于入口节点1221的缓冲区限制,沿着初始路由1232建立期望的延迟量。作为示例,当路径延迟差约为7微秒Ois并且入口节点1221包括足够用于缓冲约4ys的数据分组的缓冲区空间时,方法1200可以用于建立分组间延迟,使得分组1245和1246之间的分组间延迟1280约为3ys。当切换到更新路由1233时,入口节点1221处可用的4ys缓冲区空间使入口节点1221能够沿着更新路由1233引入剩余的4ys延迟。因此,通过沿着初始路由1232创建3ys延迟并沿着更新路由1233引入4ys延迟,提供了重路由所需的7ys延迟而没有分组失序。应当指出的是,在一些实施例中,附加延迟dt可以通过组合方法600、700、800、900、1100和1200中所描述的机制而引入到分组流1240中。例如,附加延迟dt可以划分成两个部分,其中,一个部分可以引入到初始路由1232,并且另一部分可以引入到更新路由1233。[0066]图13是用于在源路由网络中重路由分组流时添加附加延迟的最小量的方法1300的一个实施例的流程图。分组流类似于分组流1140和1240,并且网络类似于网络100、200、400、500和1100。方法1300由网络节点实施,如网络控制器110。方法1300指示诸如入口节点521、621、721、821、921、1121和1221,中间节点823和923,以及出口节点522、622、722、822、922、1122和1222等网络节点采用基本上类似于方法600、700、800、900、1100和1200所述机制。方法1300在网络控制器将分组流从初始路由重路由到更新路由时实施,所述更新路由包括比初始路由少的路径延迟。初始路由类似于初始路由432、532、632、732、832、932、1132和1232,并且更新路由类似于更新路由433、533、633、733、833、933、1133和1233。在步骤1310中,向第一网络节点发送配置消息以指示所述第一网络节点沿着初始路由将分组流中的一个或多个初始分组从源向目的地发送,其中,所述第一网络节点可以是诸如入口节点521、621、721、821、921、1121和1221等入口节点,所述初始分组诸如分组541-543、1141-1143或1241-1245,所述源诸如源150、250和450,所述目的地诸如目的地160、260和460。例如,初始路由包括初始路径延迟,其可能是由诸如链路131、232和431等链路和或诸如网络节点120、220和420以及中间节点823和923等网络节点上的信号传播所导致的。[0067]在步骤1320中,发送与分组流相关联的分组间延迟值的查询。在步骤1330中,接收与分组流相关联的分组间延迟值。分组间延迟可以与源处的分组生成速率相关联。例如,查询被发送给入口节点,网络的入口节点监控分组流以便确定分组间延迟并且响应查询。在流式应用的一个实施例中,连续分组之间的分组间延迟可以是大约恒定的。[0068]在步骤1340中,获取延迟小于初始路由的更新路由。例如,网络控制器可以与PCE协作来获取更新路由。在步骤1350中,确定附加延迟的最小量,以便在切换到更新路由时通过利用分组间延迟来防止分组流中出现分组失序。例如,可以如方程2所示,通过从初始路由的初始路径延迟中减去更新路由的更新路径延迟以及分组间延迟并且加上延迟偏移值E来确定附加延迟。在一些实施例中,更新路径延迟和初始路径延迟可从PCE中获取。在步骤1360中,通过将分组延迟消息发送给第二网络节点以延迟分组流中一个或多个分组的传输来向分组流引入附加延迟。第二网络节点可以是入口节点、出口节点,如出口节点522、622、722、822、922、1122和1222,或中间节点,如中间节点823和923。当分组间延迟小于路径延迟差时,将附加延迟引入到分组流例如根据方程⑶)。附加延迟的引入可以是沿着初始路由(例如,如方法1200中所述)、更新路由(例如,如方法1100中所述或其组合,这取决于分组间延迟的量、附加延迟的量以及入口节点的缓冲区大小,例如,通过采用以下将更充分讨论的方法1500和或1600。网络控制器可以指示第二网络节点采用基本上类似于方法600、700、800和900中所述的机制来延迟后续分组的传输。[0069]在步骤1370中,向第一网络节点发送切换消息以指示第一网络节点沿着更新路由发送分组流中的后续分组。在步骤1380中,在从初始路由切换到更新路由后,经过一段时间的等待,从分组流中移除附加延迟。例如,网络控制器可以指示先前被指示延迟后续分组传输的入口节点、出口节点和或中间节点停止延迟沿更新路由的后续分组的传输。等待时间的周期可以约为附加延迟的一个全周期。在一些实施例中,可以通过采用与图表1000中所述延迟方案类似的延迟方案使附加延迟衰减一段时间来移除附加延迟。[0070]应当指出的是,步骤1320的分组间延迟查询和步骤1330的分组间延迟接收是可选的,因此在步骤1350确定的附加延迟可以是初始路由与更新路由之间的路径延迟差。此外,当网络控制器确定在入口节点引入延迟时,网络控制器可以将延迟指令包括在切换消息中而不是单个分组延迟消息中(例如,通过组合步骤1350和1360。此外,方法1300可以按如图所示顺序执行,或者按本领域普通技术人员确定的任何其它合适的顺序执行。[0071]图14是用于在源路由网络中重路由分组流时添加附加延迟的最小量的方法1400的另一个实施例的流程图。分组流类似于分组流1140和1240,并且网络类似于网络100、200、400、500和1100。方法1400由入口节点实施,如入口节点521、621、721、821、921、1121和1221。方法1400可以使用基本上类似于方法600、700、800、900、1100和1200中所述的机制。方法1400在入口节点被指示将分组流从初始源路由重路由到更新源路由时实施,其中,所述更新源路由包括比初始源路由少的路径延迟。初始源路由类似于初始路由432、532、632、732、832、932、1132和1232,并且更新源路由类似于更新路由433、533、633、733、833、933、1133和1233。在步骤1410中,例如,从诸如网络控制器110等网络控制器中接收包括用于分组流的初始源路由的路由配置消息,其中,分组流是从源到目的地。在步骤1420中,沿着初始源路由转发分组流中的一个或多个初始分组。在步骤1430中,接收分组流的分组间延迟的查询。在步骤1440中,为分组流确定分组间延迟。分组间延迟是分组流中连续分组之间固有的延迟,其中,分组间延迟可以取决于分组生成速率。在实施例中,入口节点可通过监控入口节点处初始分组的到达时间来获取分组流的分组间延迟。在步骤1450中,响应于查询,发送所确定的分组间延迟。在步骤1460中,接收包括用于分组流的更新源路由和分组延迟指令的切换消息。例如,更新源路由包括比初始源路由少的延迟,并且分组延迟指令指示用于重路由期间避免分组失序所需要的附加延迟的量。附加延迟的量根据上述方程2和3计算。在步骤1470中,通过延迟分组流中至少一些分组的传输,根据分组延迟指令,将附加延迟引入分组流。例如,在重路由之前可以如方法1200所述,沿着初始源路由建立附加延迟的一部分,并且附加延迟的剩余部分可以如方法1100所述,在重路由时引入到更新源路由。在一些实施例中,附加延迟的分配可以在切换消息中指示。在一些其它实施例中,分配可以由入口节点来确定。分配的确定可以取决于分组间延迟的量和或入口节点的缓冲区限制,如下将在方法1500和1600中更充分地讨论。在步骤1480中,将分组流的后续分组沿着更新源路由重路由。[0072]应当注意的是,步骤1430和1450可以是可选的,其中,步骤1460中的分组延迟指令中收到的附加延迟的量可能不能说明分组间延迟。因此,入口节点可以通过在步骤1460和1470之间执行步骤1440并通过采用上述方程2和⑶说明分组间延迟,使附加延迟的量最小化。此外,入口节点可以采用基本上类似于方法600、700、800和900中所述的机制来延迟后续分组的传输。入口节点可以通过采用与图表1000中所述延迟方案类似的延迟方案,使附加延迟衰减一段时间来移除附加延迟。此外,方法1400可以按如图所示顺序执行,或者按本领域普通技术人员确定的任何其它合适的顺序执行。[0073]图15是用于在诸如初始路由初始路由532、632、732、832、732、832,932和1132等初始源路由与诸如更新路由533、633、733、833、933和1133等更新源路由之间分配附加延迟的最小量的方法1500的一个实施例的流程图。方法1500由NE实施,如网络控制器110、入口节点521、621、721、821、921、1121和1221、以及NE300。在确定从初始源路由到更新源路由的路由切换期间需要在源路由网络例如,网络100、200、400、500和1100中将附加延迟应用于分组流(例如,分组流1140和1240并且分组流包括大于零的分组间延迟之后实施方法1500。例如,入口节点可以为分组流监控分组间延迟。可以结合方法1300和1400采用方法1500以便在初始源路由和更新源路由之间分配延迟。在步骤1510中,判断入口节点处是否有足量的可用缓冲内存来支持附加延迟的全量。可用的缓冲内存容量可以由入口节点估计,并且可传达至网络控制器。如果有足量的可用缓冲内存,接下来在步骤1560中,当分组流从初始源路由切换到更新源路由时,将附加延迟的全量引入更新源路由。[0074]如果在步骤1510中确定入口节点处的缓冲内存空间不足,方法1500进行到步骤1520。在步骤1520中,将附加延迟划分成第一部分和第二部分,例如,基于入口节点处可用的缓冲区空间的量。在步骤1530中,在重路由之前,在初始源路由中建立附加延迟的第一部分。附加延迟可以如方法1200所述,通过递增地延迟沿着初始源路由发送的分组来建立。分组被延迟的速率可以基于入口节点处可用的缓冲内存的量来计算。在步骤1540中,判断是否在初始源路由处建立了附加延迟的全量例如,第一部分等于全量)。如果没有建立附加延迟的全量,接下来在步骤1550中,将附加延迟的第二部分引入更新源路由。否则,方法1500终止。[0075]图16是用于在源路由网络中重路由分组流时添加附加延迟的最小量的方法1600的另一个实施例的流程图。分组流类似于分组流1140和1240,并且网络类似于网络100、200、400、500和1100。方法1600由入口节点实施,如入口节点521、621、721、821、921、1121和1221。方法1600可以使用基本上类似于方法600、700、800、900、1100、1200和1400中所描述的机制。方法1400在入口节点被指示将分组流从初始路由重路由到更新路由时实施,其中,所述更新路由包括比初始源路由少的路径延迟。初始路由类似于初始路由432、532、632、732、832、932、1132和1232,并且更新路由类似于更新路由433、533、633、733、833、933、1133和1233。在步骤1610中,沿着具有初始路由分组延迟的初始路由,将分组流中的一个或多个初始分组从源向目的地转发。在步骤1620中,获取更新路由分组延迟小于初始路由的更新路由。在步骤1630中,根据初始路由分组延迟、更新路由分组延迟和与分组流相关联的分组间延迟,将更新路由上的后续分组的传输按照一定的时间量延迟。[0076]在实施例中,当网络控制器,如网络控制器110,确定在源路由网络(例如,网络100、200、400、500和1100中将分组流例如,分组流1140和1240从初始源路由(例如,初始路由532、632、732、832、732、832、932和1132重路由到延迟更低的更新路由(例如,更新路由533、633、733、833、933和1133时,网络控制器可判断是否允许入口节点在重路由期间在分组流中利用和或创建分组间延迟。例如,网络控制器可以发送分组延迟消息,以请求入口节点延迟分组传输,类似于1360的步骤。分组延迟消息可以包括分组间延迟利用标志,所述分组间延迟利用标志指示入口节点是否可以如方法1100所述,在将附加延迟引入到分组流以防止重路由期间出现分组失序时,利用固有分组间延迟来减少附加延迟的量例如,根据方程⑶)。此外,分组延迟消息可以包括分组间延迟创建标志,所述分组间延迟创建标志指示入口节点是否可以如方法1200所述,在初始路由处为分组流创建人为的分组间延迟。下表总结了可包括在分组延迟消息中的标志:[0077][0078]表2-分组延迟消息标志[0079]在这种实施例中,当入口节点接收到分组延迟消息时,入口节点可以根据分组间延迟利用标志,向分组流引入延迟。例如,当分组间延迟利用标志指示可以利用分组间延迟时,入口节点可以根据方程⑶计算附加延迟;否则,入口节点可以根据,例如,由网络控制器提供的路径延迟差来延迟分组传输。此外,当分组间延迟创建标志指示可以创建分组间延迟时,入口节点可以,例如,通过采用如方法1200中所述的类似机制,向分组流中注入人为的分组间延迟。[0080]虽然本公开提供了若干个实施例,但应当理解的是,所公开的系统与方法在不脱离本公开的精神或范围的情况下可以以许多其它具体形式进行实施。本文的示例应被视为说明性的而非限制性的,其意图并不限于本文所给细节之内。例如,各种元件或组件可以组合或集成到另一个系统中,或者某些特征可以省略或不实施。[0081]此外,在不脱离本公开的范围的情况下,各实施例中分散或单独描述并示出的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或者集成。所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过某个接口、设备或中间组件的间接耦合或通信连接,可以是电性、机械或者其它的形式。本领域技术人员在不脱离本文所公开的精神和范围的情况下,可以确定并做出改变、替代和修改的其它示例。

权利要求:1.一种由网元NE实施的方法,包括:沿着具有初始路由分组延迟的初始路由,将分组流中的一个或多个初始分组从源向目的地转发;获取更新路由分组延迟小于所述初始路由分组延迟的更新路由;以及按照根据所述初始路由分组延迟、所述更新路由分组延迟和与所述分组流相关联的分组间延迟所确定的时间量,延迟所述更新路由上的后续分组的传输。2.根据权利要求1所述的方法,其中,所述分组间延迟与分组生成速率相关联,并且所述方法还包括:从所述初始路由分组延迟中减去所述更新路由分组延迟和所述分组间延迟得出延迟差;确定所述延迟差大于零;以及按照大于所述延迟差的持续时间,延迟所述后续分组的传输。3.根据权利要求2所述的方法,其中,所述初始路由分组延迟记做delayPcild,所述更新路由分组延迟记做delayPnew,所述分组间延迟记做τ,所述方法还包括通过如下计算操作确定延迟所述后续分组的传输的时间量,记做dt:其中,是大于零的正值。4.根据权利要求1至3中任一项所述的方法,其中,获取所述更新路由包括接收重路由消息,其中,所述重路由消息指示所述NE将所述分组流从所述初始路由向所述更新路由重路由,并且所述重路由消息包括分组间延迟利用标志,所述分组间延迟利用标志指示在确定所述后续分组的传输的延迟时间量时,允许所述NE利用所述分组间延迟,从而防止所述分组流中出现分组失序。5.根据权利要求1至4中任一项所述的方法,还包括:从所述初始路由分组延迟中减去所述更新路由分组延迟和所述分组间延迟得出延迟差;确定所述延迟差大于零;按照所述延迟差的第一部分的持续时间,延迟所述更新路由上的所述后续分组的传输;以及按照所述延迟差的第二部分,延迟所述初始路由上的所述初始分组的传输。6.根据权利要求5所述的方法,其中,延迟所述初始路由上的所述初始分组的传输还包括递增地延迟所述初始路由上的所述初始分组的传输,使得在所述初始路由上转发的所述初始分组按照递增的时间间隔到达目的地。7.根据权利要求1至6中任一项所述的方法,还包括:确定与所述分组流相关联的所述分组间延迟约为零;以及当确定所述分组间延迟约为零时,延迟所述初始路由上的所述初始分组的传输以在所述初始分组之间创建分组间延迟。8.根据权利要求7所述的方法,其中,当与所述分组流相关联的所述分组间延迟约为零时,所述重路由消息包括指示允许创建分组间延迟的分组间延迟创建标志。9.根据权利要求1至8中任一项所述的方法,还包括:从所述初始路由分组延迟中减去所述更新路由分组延迟和所述分组间延迟得出延迟差;确定所述延迟差大于零;确定所述NE包括的缓冲内存不足以支持按照所述延迟差的全量来延迟所述更新路由上的所述后续分组的传输;以及当确定所述缓冲内存不足时,按照所述延迟差的至少一部分的持续时间来延迟所述初始路由上的至少一个初始分组的传输。10.根据权利要求1至9中任一项所述的方法,其中,所述网络是基于软件定义网络SDN的源路由网络。11.一种网元NE,包括:发送器,用于与源路由网络耦合;接收器,用于与所述源路由网络耦合;以及处理器,与所述发送器和所述接收器耦合,其中,所述处理器用于:经由所述发送器,向所述网络的入口节点发送配置消息,以提供用于将分组流中的一个或多个初始分组从源向目的地转发的初始源路由,其中,所述初始源路由具有初始源路由分组延迟;经由所述发送器,向所述入口节点发送切换消息,以通过提供用于转发所述分组流中后续分组的更新源路由来指示重路由,其中,所述更新源路由具有延迟量小于所述初始源路由分组延迟的更新源路由分组延迟;经由所述发送器发送查询消息,请求与所述分组流相关联的分组间延迟;响应于所述查询消息,经由所述接收器接收与所述分组流相关联的所述分组间延迟;以及经由发送器,向第一网络节点发送分组延迟消息,以指示所述第一网络节点按照根据所述初始源路由分组延迟、所述更新源路由分组延迟和与所述分组流相关联的分组间延迟确定的任何时间量延迟所述更新源路由上的所述后续分组的传输。12.根据权利要求11所述的NE,其中,所述处理器还用于:从所述初始源路由分组延迟中减去所述更新源路由分组延迟和所述分组间延迟得出延迟差;确定所述延迟差大于零;以及向所述第一网络节点发送所述分组延迟消息,以指示所述第一网络按照大于所述延迟差的持续时间延迟所述更新源路由上的所述后续分组的传输。13.根据权利要求11和12中任一项所述的NE,其中,所述处理器还用于:从所述初始源路由分组延迟中减去所述更新源路由分组延迟和所述分组间延迟得出延迟差;以及确定所述延迟差大于零,其中,所述分组延迟消息还指示所述第一网络节点按照所述延迟差的至少一部分,延迟所述初始源路由上的所述初始分组的传输,并且所述第一网络节点对应于所述入口节点。14.根据权利要求11至13中任一项所述的NE,其中,所述处理器还用于:从所述初始源路由分组延迟中减去所述更新源路由分组延迟和所述分组间延迟得出延迟差;以及确定所述延迟差大于零,其中,所述分组延迟消息还指示所述第一网络节点按照所述延迟差的至少一部分的持续时间,延迟所述后续分组的传输,并且所述第一网络节点沿所述更新源路由定位。15.根据权利要求11至14中任一项所述的NE,其中,所述处理器还用于:从所述初始源路由分组延迟中减去所述更新源路由分组延迟和所述分组间延迟得出延迟差;确定所述延迟差大于零,经由所述接收器接收与所述入口节点相关联的缓冲区大小信息;根据所述接收到的缓冲区大小信息,将所述延迟差划分为第一部分和第二部分,并且其中,所述分组延迟消息还指示所述第一网络节点按照所述延迟差的所述第一部分,延迟所述初始源路由上的所述初始分组的传输,并且按照所述延迟差的所述第二部分的持续时间,延迟所述更新源路由上的所述后续分组的传输。16.—种网元NE,包括:发送器,与源路由网络耦合;接收器,与所述源路由网络耦合;以及处理器,与所述发送器和所述接收器耦合,所述处理器用于:经由所述发送器,沿着具有初始源路由分组延迟的初始源路由,在源和目的地之间转发分组流中的一个或多个初始分组,其中,连续的初始分组由分组间延迟隔开;经由所述接收器接收重路由请求其用以沿着更新源路由分组延迟小于所述初始源路由分组延迟的更新源路由转发所述分组流中的后续分组;获取与所述分组间延迟相关联的附加延迟以及所述初始源路由分组延迟与所述更新源路由分组延迟之间的路径延迟差;以及按照所述附加延迟的时间量,延迟所述更新源路由上的所述后续分组的传输。17.根据权利要求16所述的NE,其中,所述附加延迟大于所述路径延迟差与所述分组间延迟之间的差。18.根据权利要求16和17中任一项所述的NE,其中,所述处理器还用于通过递增地延迟沿所述初始源路由的所述初始分组的传输使得沿所述初始源路由发送的所述初始分组按照递增的时间间隔到达目的地来沿着所述初始源路由引入所述附加延迟的一部分。19.根据权利要求16至18中任一项所述的NE,其中,所述重路由请求从网络管理实体接收,所述处理器还用于:经由所述接收器,接收来自所述源的所述初始分组;通过监测所述初始分组的到达时间,确定所述分组间延迟;以及向所述网络管理实体发送所述分组间延迟,并且其中,所述附加延迟从所述网络管理实体获得。20.根据权利要求16至19中任一项所述的NE,其中,所述重路由请求从网络管理实体接收,所述NE还包括用于存储所述初始分组和所述后续分组的存储器,其中,所述处理器还用于:经由所述发送器,向所述网络管理实体发送与适用于存储所述初始分组和所述后续分组的内存量相关联的信息;以及经由所述接收器,接收分组延迟消息,其指示所述NE在所述初始源路由引入所述附加延迟的第一部分,并且在所述更新源路由引入所述附加延迟的第二部分,其中,所述第一部分和所述第二部分与适用于存储所述初始分组和所述后续分组的内存量相关联。

百度查询: 华为技术有限公司 使用分组间延迟和预补偿的源路由无损重路由中的分组失序预防

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。