通过集合来保证带宽的技术的制作方法

文档序号:7587821阅读:118来源:国知局
专利名称:通过集合来保证带宽的技术的制作方法
技术领域
本发明的实施例一般涉及计算机网络,特别涉及网络业务量的带宽管理。
背景技术
服务质量(QoS)是指传输率、误码率以及其它的网络传输特性能被测量、改善并且在网络传输之前在某种程度上被保证。QoS是经常传送大数据量的数据(比如视频、音频和多媒体等)的高带宽网络的重要关注对象。而且,QoS对于比如互联网的地理上分散的网络会引起问题,在这种网络中,任何单个的网络事务会通过多个互联网服务提供者(ISP)而跨越多个子网。
提供恰当的QoS结构的尝试经常会面临可扩展性问题。换言之,独立的子网(例如ISP)需要彼此严重依赖以产生任何可行的商用解决方案。一旦独立的子网变得依赖于其它子网的操作细节时,它们就会变得不太可扩展因而不是所希望的。当充分实现可扩展性时,通常使用以极大减小网络吞吐量为代价提供可扩展性的极复杂的实现方案才实现该结果。
因此,需要用于大型的地理分散网络的更可扩展的QoS技术,其中可扩展性按照一种不会显著损害网络的吞吐量且不过度复杂的方式来实现。


图1是根据本发明一实施例的保证服务的网络示图;图2是根据本发明一实施例的保证网络服务的方法的流程图;
图3是根据本发明一实施例的管理被保证的网络服务请求的带宽的方法的流程图;图4是根据本发明一实施例的带宽管理系统的示图。
具体实施例方式
图1是在网络100内处理事务之前为网络事务保证服务的网络100的示图。该技术在网络的处理设备内的计算机可存取介质中实现。这些设备可以是路由器、网络集线器、网桥、交换机、网关、防火墙、代理、服务器、客户工作站等。网络100在计算机可存取介质中表示为树,其中树的各分支是节点。节点是处理设备,它通过为源节点和目的节点之间的与网络事务相关联的数据分组选择路由来参与网络事务。
本发明的实施例提供用于保证在网络100的节点之间服务的改进的技术。保证意味着在开始网络事务开始之前确保可用带宽,假定网络100的节点和链路保持工作且不以其它方式出故障。本领域技术人员不难明白,不可能绝对确保网络事务在网络100内完成的,因为链路和节点会由于硬件或软件故障而异常地失效,或者链路和节点会由于计划安排的维护行为而失效。
图1中描绘的网络100包括彼此独立工作的多个自主系统(AS)。这些AS能视为独立的子网,例如ISP、专用网络等。子网可以在地理上跨越整个世界。在各AS内,若干处理节点用来直接与其它的外部AS进行通信,这些节点被称作边缘节点。
整个网络100在逻辑上组织为树。在图1中,该树被倒转,使得树的根由AS Y标识,而最远的叶由AS X标识。树的根节点是边缘节点D。AS N是子0、1和2的父。此外,子之间彼此视为兄弟。各AS本身可被视为子树,具有它的内部根节点、父节点和兄节点。此外,父的子们被视为其子。因而,父AS N具有标识为子0、子1和子2的子。此外,AS N被认为是AS X的祖父。
网络事务是在网络100的任何两个或多个节点之间的通信。发起网络事务的节点称作源节点。网络事务将数据分组从源节点传送到目的节点。因而,目的节点是源节点想要经由网络事务进行通信的对方节点。网络事务将包括将一个或多个网络数据分组从源节点经由一个或多个中间节点传送到目的节点。因而,网络事务与从源节点到目的节点经由网络的路径相关联。在网络技术中多种路径生成和动态修改算法是众所周知的,因而使用现有的网络体系结构和协议可轻易地得到这种算法。所有的这样的算法和体系结构能够与本发明的实施例一起使用。
在网络100的任何两个节点之间存在和发送的网络分组的容量和速率称作带宽。这些数据传送发生在网络100的用来连接节点的链路上。各链路能处理不同类型的媒体、不同的容量、不同的速率、以及不同数量的网络事务的并发会话。基于其硬件和软件配置的各节点预先知道各链路的硬限值和软限值。使用公知的和现有的网络协议和技术,这些限值能在节点之间交换。
当源节点请求指向目的节点的具体网络事务时,源节点想要在开始事务之前知道在网络100内会存在足够量的带宽以便处理到目的节点的事务。在本发明的实施例中,这通过使用带宽守恒准则(BCC)计算来实现。源节点向网络路径中确定的第一处理节点请求网络事务。第一处理节点识别目的节点的总可用带宽,并且对所有前往目的节点的所有未解决业务量的带宽求和。该计算是保证源节点存在满足事务的带宽的BCC计算。响应该保证,源节点经由网络100开始网络事务。
作为示例,来看一个请求需要10KB带宽的网络事务的源节点A。该事务指向目的节点N,并且最初请求初始处理节点B。N可具有128KB的最大带宽。当A向B请求时,前往N的当前集中业务量是110KB。
在本例中,B应用BCC以确定网络事务是否得到保证,假定有120KB的前往N的当前业务量,它小于N能在任何时刻处理的128KB的最大带宽。因而,当B接收到来自A的请求时它进行BCC计算并且确定能保证网络事务。然后从B到A进行传递保证,并且开始网络事务。
BCC能用下面的方程式定义,其中源节点是在AS X中标识的节点并且目的节点是AS Y(树的根)的边缘节点DΣirijD≤rjkDBijX=Σyrijy]]>BijX是在边缘-节点i和j之间可用的AS X的总带宽,以及rijD是由边缘节点D为根的树中的AS X的对应部分。因而,如果结合了前往边缘节点D的总集中带宽时、与网络事务相关联的带宽请求小于边缘节点D能处理的总带宽,则BCC方程式成立并且网络事务会是得到保证的服务。
该计算是可扩展的方法,因为所需要的只是计算,即对限值前往目的节点的现有集中业务量求和并考虑与目的节点相关联的已知带宽限值。集中业务量意指所有的在网络中有效的并当前正在前往目的节点的当前网络业务量。然而,在经由网络100进行网络事务的任何给定点,一个或多个节点可能没有足够的带宽来处理网络请求。因而,BCC可以被增广以在与网络事务的网络路径相关联的各处理节点按需要进行必要的动态调整,这由BCC方程式保证。
例如,网络事务可以在从AS m到AS Y的边缘节点j′的服务保证之后进行。然而,这个时刻在节点j′和k之间的链路(链路j′-k)的当前带宽会是满容量的因而不能处理网络事务。在链路j′-k不能增加其带宽的情况下,事务可能失败或者变得不合理地延迟。因而,使用最近关系分配(CLAN)技术BCC的静态方法可被增广,它允许节点从相邻的(兄、子、父)节点借用带宽。
使用CLAN技术,网络100的各节点监测在到它的相邻节点的链路中发生的业务容量,更具体地说,是其父节点。当一个特定的节点注意到到其父节点的链路中发生的带宽降低时,该降低为父节点(相邻节点)所知。该保留带宽由该父节点容纳并在需要时分给其它更需要带宽的该父的子。
因而,在此例中,如上所述,如果链路j′-k能容纳128KB的容量并且在需要到达节点k的网络事务出现时是满容量的,则节点k能从其两个剩余的子中的一个或两个借用64KB。节点k知道64KB能够从一个或其两个剩余的子处得到,因为它在处理期间发现两个剩余的子有到它们的父节点K的大块可用带宽并且在需要时从它们的父节点的请求带宽。
例如,假定三个到节点k的链路各具有128KB的总带宽容量,并且还假定各子节点被配置成在任一次仅管理64KB的容量,并配置成无论何时需要的带宽大于64KB时就释放并通知父节点k,并且当任何给定事务不再需要大于64KB的容量时父节点会知道。父节点然后管理这种多余的带宽,并且在本例中,当网络事务从链路j′-k移动时需要额外的带宽;父节点k将其保留以分给子节点j′,因为该带宽先前已从节点j′的一个或两个兄弟借用。
借用可发生在任何两个相邻节点或兄节点之间。而且,在单个AS内不需要发生借用。例如边缘节点j′将两个不同的AS(L和M)连接到AS N。因而,AS M的边缘节点可从AS L的适当边缘节点借用,以在链路j-j′上完成事务。这通过j′发生,j′充当两个节点的相邻节点或父节点,这两个节点就是节点j和直接连接到节点j′的AS L的边缘节点。
因而,使用CLAN,相邻节点在彼此之间建立策略使得由父节点代表它们的子管理大块带宽。这些大块带宽被认为是保留的,在这些保留带宽使用之前必须从适当父节点进行请求。因而,子节点经由它们的父借用超过预协商数量的带宽;被借用的带宽来自借用子节点的兄节点,但是由它们的父节点进行管理。父节点在网络100内能以相似的方式从其父借用,使得在任一时刻借用节点可从它的兄和从其父的兄得到带宽。
网络的节点之间的等级关系被管理,以用CLAN技术来借用带宽;对于经由网络节点进行的网络事务而言,借用是需要的。也就是说,需要更多带宽的节点使用其到相邻节点的最近关系来获得必要的带宽分配,并且在从其最近关系的首次借用之后,该借用能经由那个节点的亲戚上行。
此外,BCC计算使得能够向网络事务的源节点给予事务保证,在源节点处该网络事务经由网络100要求某数量的带宽以到达目的节点。此外,在经由网络100进行网络事务时,如果在节点之间的任何特定网络缺乏足够的带宽来处理事务,则可以使用CLAN技术暂时从相邻节点借用带宽。BCC和CLAN技术提供用于AS或独立网络的QoS的可扩展的解决方案。这些技术并不过度复杂,并且能在现有网络协议和用来计算BCC和实现CLAN技术的软件中实现。
图2是通过实现参考图1的上述BCC和CLAN技术来保证网络服务的一种方法200的流程图。方法200在计算机可存取介质中实现并且在网络的各节点上进行处理。节点是网络中的处理设备,它经由网络发起、路由并处理网络事务。方法200可以在网络的各节点内以软件、固件和/或经由网络协议实现。
最初,在步骤210,由第一处理节点接受网络事务请求。请求发自源节点。网络事务与定义网络分组的一个或多个路由的网络路径相关联,上述网络分组与网络事务相关联,上述路由横穿网络的一个或多个中间节点到达目的节点。第一处理节点是该网络路径的第一节点。
当第一处理节点接收来自源节点的网络请求时,它通过基于BCC计算检查前往目的节点的存在网络中的集中业务量加上网络事务所需带宽是否超过目的节点的最大带宽,来确定请求是否可接受。BCC计算和适当的检查在步骤220进行。如果集中业务量加上需要的带宽的确超过目的节点的带宽限值,则在步骤222,网络事务不能被保证并且将此情况通知源节点。
然而,如果在步骤220,集中业务量加上需要的带宽没有超过目的节点的带宽限值,则在步骤230,第一处理节点保证源节点请求的网络事务将具有足够的带宽到达网络内的目的节点。在一个实施例中,一旦该保证发生,则在步骤240从目的节点的总可用带宽减去满足当前网络事务需要的带宽。
当然有各种实现BCC计算的方式。一种方式是,让目的节点跟踪前进的业务量并维持当前可用带宽计数器,它会恒定和动态地改变。另一种方式是让各节点动态查询网络中的其它节点以动态计算BCC。本领域技术人员不难明白还存在其它技术。所有这样的求解BCC的方法将都包括在本发明的实施例中。
一旦第一处理结点可保证服务,在步骤250就开始经由网络到目的节点来处理网络事务。在一些实施例中,在网络事务处理期间的某个点,特定的处理节点会确定它实际上缺乏经由到与网络事务相关联的网络路径的下一节点的链路来处理网络事务所需的必要带宽,如步骤260所示。各网络节点动态地实现以上参照图1讨论的CLAN技术来动态地解决问题。
于是,在步骤270,缺乏足够带宽的特定处理节点从相邻节点借用需要的带宽来处理网络事务。因此,特定处理节点的父节点代表特定处理节点和特定处理节点的兄节点管理保留带宽。这些节点彼此预设父节点将负责管理和分发的富裕带宽的量,如果该父的任何子需要富裕带宽。此外,在一些实施例中,需要带宽的子的父节点可能没有足够的带宽来满足需要带宽的子的带宽请求。在这些情况下,该父就联系其父(该父的相邻节点和需要带宽的子的祖父)以从该父的兄(需要带宽的子的祖父)借用带宽。如图1所述,根据与CLAN技术相关联的规则这种借用继续需要。
方法200的实施例说明BCC和CLAN技术是如何在网络节点内被实现和处理,以从逻辑上组织为单个网络的异构AS提供可扩展的QoS。这些实施例并不复杂,并且能以在各网络节点上处理的软件来展开,该节点使用常规网络协议在节点之间进行通信。
图3是管理被保证的网络服务请求的带宽的方法300的流程图。方法300在网络的各节点内实现并且在计算机可存取介质中实现。方法300代表由各节点执行的处理和在网络事务期间各节点之间发生的一些相互作用。方法300代表一些CLAN技术的实施例,其中节点在网络事务期间借用并管理网内的带宽。
在步骤310,与经由网络到目的节点处理网络事务相关联的处理节点监测其自身的业务容量。处理节点让先前使用的策略为其相邻节点(兄、父和子)所知,以将其配置成在专门预定的层次上监测业务量。当业务量降到预定限值之下时,则会在步骤320检测到这种情况,并且在步骤330将可用带宽的预定量保留,因为它不为该处理节点所用。
在步骤340那些预定数量的保留带宽对于处理节点的父节点(相邻节点)是已知的。父节点代表处理节点并代表处理结点的兄弟来管理一组保留带宽。因而,在步骤350,当另一节点(源处理节点的兄节点)处理它自己的网络事务并且确定它需要额外的带宽以处理到父节点的网络事务,兄节点在步骤360从父节点(相邻节点)请求借用需要的带宽。兄直接从父借用了带宽,但是间接地从兄的同胞以前存放并让其父管理的富裕容量中借用。
这种带宽管理和借用技术反映了一例以上参照图1和2讨论的CLAN技术的实现方式。关于与带宽存放(例如保留)和取出相关联的管理策略在网络的相邻节点之间进行传递。此外,在步骤370,通过维持用于解出(例如计算)与特定网络事务的任何特定目的节点相关联的集合带宽的技术,网络的各节点能够在需要时解出BCC计算结果。
方法300提供了一例CLAN技术的实现,并且在需要执行BCC计算时维持其能力。这说明了由多个节点构成的异构网络是如何按照可扩展的方式彼此相互作用来提供网络事务的QoS。
图4是一种带宽管理系统400的示图。带宽管理系统400表示在异构网络内的BCC和CLAN技术的实施例,其中网络包括多个标识为AS的子网。带宽管理系统400在一种计算机可存取介质中实现。
带宽管理系统400逻辑上包括将异构网络表示为网络树401,其中树401的分支可包括其它的子树。树401可完全由与树401的属性和特性相关联的指示器和元数据来管理和操作。树401包括多个节点402和403。假定各节点402或403称为子、父和/或取决于其在树中与另一相邻节点402或403的相互关系的兄。因而,单个节点402或403相对于相邻节点402和403会有多个称谓。节点还会有相对于非相邻节点的称谓,比如祖父、孙、叔等。
各节点402或403还包括它自身的业务量监视器402A-403A、带宽修改器402B-403B以及信令处理器402C-403C。这些实体与软件逻辑和现有网络协议结合来执行BCC和CLAN技术。
因而,业务量监视器402A-403A监测在其相应节点402或403上的业务量,并将业务量信息传递到其相邻节点402或403的业务量监视器402A-403A。这种传递和监测在解决与BCC和CLAN相关联的处理中是有效的。例如,业务容量能够被集合来满足特定网络事务的特定目的节点的BCC计算结果。而且,业务容量能用来确定是否存放带宽或者取回来自相邻节点402或403的借出带宽。
带宽修改器402B-403B与业务量监测器402A-403A进行通信,以调整与其特定的处理节点402或403相关联的带宽。也就是说,当业务量监测器402A-403A报告带宽低于预定和预协商的量时,带宽修改器402B-403B能用来实现CLAN技术并要求不用作保留带宽的额外带宽,然后它用相邻节点402或403存放。相反地,当节点402或403需要额外带宽时,带宽修改器402B-403B能用来基于当前事务并基于来自业务量监测器402A-403A的带宽使用的报告来检测出该需要,以便请求从相邻节点402或403借出更多的带宽。
信令处理器402C-403C能用来实际分配和重新分配来自相邻节点402或403的需要带宽或富裕带宽。换言之,允许带宽向指定链路重新定向的实际设备可用信令处理器402C-403C来控制。本质上,在带宽从相邻节点402或403存入或者取回时,在物理链路上带宽被再分配因而增加或减小带宽。这种对带宽的调节是信令处理器402C-403C职责。
在工作期间,业务量监测器402A-403A将在其节点402或403上的业务量报告给相邻节点402或403。带宽修改器402B-403B结合现有网络请求使用该报告来修改带宽。信令处理器402C-403C检测出修改的带宽,并驱动底层的带宽设备以将节点402或403的受影响链路的带宽调高或调低。
业务量监测器402A-403A、带宽修改器402B-403B和信令处理器402C-403C用来以模块化事件驱动方式实现在大型异构网络上可扩展的BCC和CLAN技术。然而,本领域技术人员认识到其它的实现方式和体系结构也是可能的,其中模块的功能可被进一步分割成更多的模块或者合并为更少的模块。用来执行BCC或者CLAN技术的所有对体系结构的这样的修改都为本发明实施例的范围所涵盖。
上面的描述是说明性的,而不是限制性的。本领域技术人员明白,通过参考上面的描述可以得到许多其它的实施例。因而本发明实施例的范围应由所附的权利要求以及与这些权利要求所授权的等价物的全部范围来确定。
所提供的摘要遵从37C.F.R.§1.72(b),它使读者能快速弄清技术公开的性质和要点。需要理解,它不能用来解释或者限制权利要求书的范围或含义。
在前面对各实施例的描述中,为了使对本公开的说明连贯,将各种特征集中在单个实施例中进行介绍。这种对本公开的叙述方法不能被解释为反映出本发明所要求的实施例需要比各权利要求中记载更多的特征的意图。而且,如下面的权利要求书所反映的,本发明的主题在于少于单个公开实施例的所有特征。因而后续的权利要求书在本文中被结合到具体实施例的描述,各项权利要求自身可独自作为示范性实施例。
权利要求
1.一种方法,包括接受来自源节点的网络事务请求;确定目的节点有足够的带宽来满足所述请求;通知所述源节点经由多个中间节点到目的节点的服务被保证;以及从目的节点带宽减去服务于事务所需的事务带宽。
2.如权利要求1所述的方法,还包括处理经由网络到达所述目的节点的所述网络事务。
3.如权利要求1所述的方法,还包括一旦完成所述网络事务就将所需的事务带宽加回到所述目的节点带宽。
4.如权利要求1所述的方法,还包括处理所述网络事务;在处理期间检测到所述中间节点中的一个中间节点上可用于所述网络事务的带宽不足;以及所述一个中间节点从一相邻节点借用所需的不足带宽,以经由所述一个中间节点处理网络事务。
5.如权利要求4所述的方法,其中所述借用还包括请求相邻节点先前从另一相邻节点留出的保留带宽
6.如权利要求4所述的方法,其中所述借用还包括由相邻节点从与相邻节点相邻的另一节点的额外借用,其中所述不足够带宽的至少一部分被借用。
7.如权利要求1所述的方法,还包括在所述处理节点、所述中间节点和所述目的节点维持并协调所述目的节点带宽。
8.一种方法,包括在一个网络处理节点监测业务量;检测到所述业务量已降低到预定限值以下,且与该限值相差预定量;保留所述预定量;以及将所保留的预定数量传递给一个相邻节点。
9.如权利要求8所述的方法,还包括在不同的处理节点检测到超过可用带宽的网络事务请求;以及从由所述相邻节点保持的保留预定量请求所需的带宽量来服务于所述网络事务。
10.如权利要求8所述的方法,还包括将所述保留预定量加到在所述相邻节点的可用带宽上。
11.如权利要求10所述的方法,还包括在所述相邻节点,在接受来自不同处理节点所需带宽请求后从所述可用带宽减去所请求带宽量。
12.如权利要求11所述的方法,还包括如果在所述相邻节点所请求带宽量超过可用带宽,就从与所述相邻节点相邻的节点借用所请求带宽量的至少一部分。
13.如权利要求8所述的方法,还包括由所述处理节点维持一个直接连接到所述处理节点的节点列表,其中包括所述相邻节点。
14.如权利要求8所述的方法,还包括由所述处理节点维持在目的节点可用的集合总带宽。
15.一种系统,包括源节点,用来请求指向网络内目的节点的网络事务;以及第一处理节点,用来初始接受所述请求,其中所述第一处理节点确定所述目的节点是否能满足网络事务,并且如果能满足则对所述源节点保证在网络内有足够的带宽来完成经由所述第一处理节点、一个或多个中间节点和目的节点的网络事务。
16.如权利要求15所述的系统,其中所述第一处理节点将网络事务所需的事务带宽传递到下一处理节点,该节点是一个或多个中间节点中的一个,并且其中所需的事务带宽相继经由网络传递到剩余的中间节点和目的节点。
17.如权利要求15所述的系统,其中所述源节点和所述第一处理节点在所述源节点收到所述保证后开始处理所述网络事务。
18.如权利要求17所述的系统,其中所述中间节点中的一个检测到缺乏足够的带宽来处理网络事务,并且其中所述一个中间节点从其相邻节点中的一个借用足够带宽来处理所述网络事务。
19.如权利要求18所述的系统,其中所述一个中间节点通过收回被另一节点传递到其相邻节点的先前保留的带宽来借用足够的带宽。
20.一种具有相关联数据的机器可存取介质,当它被访问时导致一个在网络节点上的机器执行在一处理节点检测到网络业务量降到预定阈值以下,且与该阈值相差一个预定量;将所述预定量保留,因为它不用于网络业务;以及将所述预定量传递到相邻节点。
21.如权利要求20所述的介质,其中所述机器还执行当检测到需要额外带宽的网络事务时,由另一节点从相邻节点要求所述预定量的至少一部分。
22.如权利要求21所述的介质,其中所述机器还执行如果所述请求超过先前保留的预定量,则通过所述相邻节点,从与所述相邻节点相邻的另一节点借用额外带宽以满足来自另一处理节点的请求。
23.如权利要求20所述的介质,其中所述机器还执行在所述处理节点、相邻节点、一个或多个中间节点以及目的节点维持网络事务的目的节点的总可用带宽。
24.一种装置,包括处理网络事务的网络节点,所述网络节点包括业务量监测器,用来监测网络业务量并将该网络业务量传递给相邻节点;带宽修改器,用来基于与所述业务量监测器的通信来调整带宽分配;信令处理器,用来基于与所述业务量监测器和所述带宽修改器的通信来分配可用带宽;以及其中如果在对预定量的任何请求前带宽变得可用,则所述节点用其业务量监测器、带宽修改器和信令处理器来保留预定量的带宽并将该保留的带宽传递给相邻节点。
25.如权利要求24所述的装置,其中所述节点适合在需要时经由所述业务量监测器、带宽修改器和信令处理器从相邻节点请求额外带宽。
26.如权利要求24所述的装置,其中,如果有基于一个目的节点的足够带宽存在,则所述节点为网络的所述目的节点维持总可用带宽,并保证网络事务到源节点的服务。
27.如权利要求24所述的装置,其中,所述节点维持到相邻节点和其它节点的链路,且其中所述链路相当于逻辑上代表网络的树内的节点位置。
28.如权利要求27所述的装置,其中,所述节点和所述链路定义所述节点相对于所述树的相邻节点和其它节点的指定或关系。
全文摘要
本公开介绍了保证网络事务所用带宽的方法、系统和装置。网络在逻辑上组织为具有多个节点的树。各节点能保证经由网络的网络事务所需的服务。各节点监测其业务量并且用其相邻节点保留预定量的未用带宽。如果某特定节点需要额外带宽,则该节点从其相邻借用带宽。
文档编号H04L12/56GK1886933SQ200380110929
公开日2006年12月27日 申请日期2003年12月30日 优先权日2003年12月30日
发明者H·尤 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1