用于全局路由和带宽共享的方法和系统的制作方法

文档序号:7606503阅读:137来源:国知局
专利名称:用于全局路由和带宽共享的方法和系统的制作方法
技术领域
本发明一般涉及网络通信,尤其涉及提供路由和带宽分配信息。
背景技术
在接收到传入的分组之后,路由器决定其哪一传出链路来发送分组。因特网中的路由器一般基于从路由器到分组目的地的最短距离来做出这一决策。路由器独立地且局部计算到分组目的地的这一最短路径。尽管路由器可考虑到各种度量,诸如其传出链路的等待时间、那些链路的容量以及链路上的当前负载,但是路由器独立于因特网中的最终主机之间的实际通信模式而选择外向路径。
路由协议中这一独立且局部化的决策过程对于因特网的尺度可伸缩性是至关重要的可容易地添加新路由器和新链路而无需为整个因特网重新计算路由决策。然而,这一路由过程也可能产生低效率,诸如当多个路由器选择使用同一最短路径并使得其它路径未充分利用时不必要地共享瓶颈。
本地化的路由决策通常也确然是不公平的,即,它们以与其它数据流相比不相称的成本增强了一个数据流的通信特征。数据网络中的一种广泛接受的公平性度量被称为“最大-最小公平性”。在资源的最大-最小公平分配中,在不用较小的分配惩罚消费者的情况下,没有一个消费者的资源分配能够得到增加。诸如公平队列和轮流法等分组调度算法逼近跨单个瓶颈链路或路由器的数据流的最大-最小公平性。然而,这一局部的、每一流的公平性通常在全局上是不公平的,因为某些通信节点(主机或路由器)支持若干数据流。
某些网络允许多径路由。此处,路由器能够沿着除绝对最短路径之外的其它路径发送传出分组。多径路由允许比单个最短路径路由有显著更高的网络吞吐量。多径路由也产生对链路失效的健壮性,而这一健壮性使用单个最短路径路由是无法实现的。不幸的是,多径路由的当前的按流或局部带宽分配实现有时候甚至比更传统的单路径路由协议还要不公平。

发明内容
鉴于以上内容,本发明提供了一种路由和带宽分配系统,该系统在共享网络资源时最小化了网络吞吐量,同时维持了全局公平性。从收集的全局网络信息(诸如节点间通信模式和网络拓朴结构),为网络路由器计算路由表和带宽分配策略。在某些实施例中,计算涉及应用多物流(multi-commodity flow)方法来提供网络资源的“最大公平”分配。
尽管在某些实施例中,每一路由器收集全局网络信息,然后本地生成其自己路由和带宽分配表,但是在对集中式的、可信控制单元的计算和安全性方面,执行计算然后将结果分发给路由器可以更简单和更廉价。
本发明的实施例正确地解决了按照其优先级来区分的数据流。同样,所计算的带宽策略无需分配所有的网络带宽,但是可保持某些带宽未分配,以按需处理非期望的急变。计算的路由表可包括导致更大链路利用和对链路失效的健壮性的多个路径。
在某些情况下,在计算路由和带宽分配表的过程中聚集节点间通信模式。例如,通过聚集因特网服务供应商(ISP)之间的通信获得更准确的结果,因为这些流以比最终主机之间各个流慢得多的时间标度改变。在通过网关连接到因特网的企业网络的情况下,通过仅管理通过网关的通信来获取可接受的结果。


尽管所附权利要求书以细节陈述了本发明的特征,然而当结合附图阅读以下详细描述,可以最好地理解本发明及其目的和优点,附图中图1是示出最短路径路由如何会导致不必要的路由瓶颈的通信环境的框图;图2是支持本发明的一个实施例的示例性体系结构的框图;图3是概括地示出支持本发明的一个示例性计算机系统的示意图;图4是可由图2的体系结构中的主机网络节点使用的一个示例性方法的流程图;图5是由图2的体系结构中的主机网络节点提供的节点间通信信息的数据结构图;图6a和6b共同形成了可由图2的体系结构中的路由器网络节点使用的一个示例性方法的流程图;图7是由图2的体系结构中的路由器网络节点提供的网络拓朴信息的数据结构图;图8a和8b共同形成了可由图2的体系结构中的控制单元使用的一个示例性方法的流程图;图9是一个示例性通信环境的流率图,其中第一主机网络节点向三个其它主机网络节点发送数据;图10是为图9的环境中的主机网络节点之一产生的一个示例性多径路由表的数据结构图;图11是示出进入路由器网络节点的总计数据流的流率图;图12是为图11的中央路由器网络节点产生的一个示例性带宽分配表的数据结构图;图13a是使用局部每流公平性策略的一个示例性通信系统的流率图;图13b是使用单路径路由策略的同一通信系统的流率图;图13c是使用节点需求公平性策略的同一系统的流率图;图14a是其中主机网络节点报告其真实需求的一个示例性通信环境的流率图;图14b是其中一个主机网络节点误传其需求的同一环境的流率图;图15是绘制了由实现最大可能吞吐量的带宽分配策略引起的节点对的带宽不足的曲线图;图16是绘制了由各种带宽分配策略实现的吞吐量的曲线图;图17是绘制了根据需求分布的函数的吞吐量的曲线图;图18是绘制了根据需求分布的函数的可用带宽利用的曲线图;图19a是绘制了各种条件和策略下的带宽需求满足的曲线图;图19b是示出在Zipf需求下最大公平带宽分配策略如何能够过度供应小需求的曲线图;图20a是绘制了由最大公平带宽分配策略实现的、带有和不带有不过度供给归一化节点需求的约束的吞吐量的曲线图;图20b是绘制了带有和不带有同一约束的带宽需求满足的曲线图;图21是可由本发明用于统一需求的方法实现的平均多径离差分布的条形图;图22a是绘制了当满足某些节点的需求被认为比满足其它节点的需求重要两倍时的带宽需求满足的曲线图;图22b是绘制了同一条件下的吞吐量的曲线图。
具体实施例方式
转向附图,本发明被示出为在合适的计算环境中实现,附图中,相同的标号指相同的元素。以下描述基于本发明的各实施例,且不应当被理解为相对于此处未明确描述的替换实施例而限制本发明。该描述的第I节呈现了一个示例性路由和带宽分配体系结构。第II节将节点需求公平性定义为可用于本发明的一种度量,第III节呈现了节点需求公平性的一个多物流实现。最后,节点IV呈现了本发明的各实施例的模拟结果。
在以下描述中,本发明是参考由一个或多个计算设备执行的动作和操作的符号表示来描述的,除非另外指明。由此,可以理解,这些动作和操作,有时候被称为计算机执行的,包括计算设备的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算设备的存储器系统中的位置处维持它们,从而以本领域的技术人员都理解的方式重新配置或改变了设备的操作。维持数据的数据结构是存储器的物理位置,具有由数据的格式所定义的特定性质。然而,尽管本发明是在上述环境中描述的,然而它并不意味着局限,如本领域的技术人员所理解的,后文描述的各种动作也可用硬件来实现。
第I节示例性路由和带宽分配体系结构本伐发明提供了一种路由和带宽分配系统,它在共享网络资源时最大化了网络吞吐量,同时维持了全局公平性。从收集的全局网络信息(诸如节点间通信模式和网络拓朴结构),为网络路由器计算路由表和带宽分配策略。
图1中示出了本发明在例如通常由因特网路由器使用的局部化的决策制定上对全局信息的使用的优点。在图1中,网络通信环境100包括数据流的源和目的地。这些源和目的地被标记为“主机”102、104、106和108。路由器110、112、114、116和118从源主机接收数据流,并将流继续发送到其目的地主机。图1中的标记“主机”和“路由器”仅是为了本讨论中的方便性起见,某些设备可同时担当主机和路由器。
当主机102希望与主机104通信时,用于其数据流的最短路径,即将由现有的因特网路径选择的路径是标记为120的路径,该路径经过路由器110和112。当主机106希望与主机108通信时,其最短路径122也经过这些路由器110和112。由此,最短路径路由导致连接路由器110和112的链路变成不必要的瓶颈。瓶颈是不必要的,因为最短路径路由使得主机106和108之间的替换路径124保持未使用,因为该路径124比所选择的路径122长。本发明的方法使用全局网络信息来避免造成这一不必要的瓶颈,由此改进了网络利用。
图2呈现了用于实现本发明的一个示例性体系结构。网络主机102、104、106和108周期性地向集中式控制单元200发送关于其期望通信需求的信息(如由数据流202所示的)。网络路由器110、112、114、116和118周期性地向控制单元200发送网络拓朴信息(数据流204)。控制单元200使用该网络信息来做出全局不同且公平的路由决策。它然后将路由和带宽分配表发送给路由器(也是数据流204)。通过使用接收的路由和带宽分配表,路由器实现控制单元200的全局有效且公平的策略。第I节的剩余部分呈现了图2的体系结构的实现考虑事项和细节。
应当注意,尽管图2的体系结构一般适用于所有的网络,然而由控制单元200收集的数据量以及用于从该信息形成路由和分配策略的计算量都随着网络大小的增长而增长。由此,本发明的方法对于较小的网络(例如,仅有几百个路由器的网络)而言是最容易实现的。然而,由于至少两个原因,这不会严重地限制本发明的适用性。首先,优化较小网络内的路由和分配本身是一个值得的目标。服从本发明的方法的较小网络的示例包括具有到因特网的防火墙的企业虚拟专用网络、其中主机彼此通信且通过网关以及ISP之间的对等而通信共享因特网接入的有线或无线邻近网络。后一示例也示出了本发明为什么不会被严重限制的第二个原因许多较大的网络可以被建模为较小网络的分层结构。本发明可以应用于分层结构中的适当的层次。例如,在ISP对等的情况下,每一ISP被建模为单个节点,且每一ISP网络的实现的实际细节不会对连接ISP的链路的路由和分配策略有很多影响。
图2的主机102、104、106和108,路由器110、112、114、116和118,以及控制单元200可以是任何体系结构。图3是概括地示出支持本发明的示例性计算机系统的框图。图3的计算机系统仅是合适的环境的一个示例,并不旨在对本发明的使用范围或功能提出任何局限。也不应当将计算设备102、110和200解释为对图3中所示的组件的任一个或其组合有任何依赖性或要求。本发明可用众多其它通用或专用计算环境或配置来实现。适用于本发明的公知的计算系统、环境和配置的示例可包括,但不限于,个人计算机、服务器、手持式或膝上型设备、图形输入板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型机、大型计算机、以及包括上述系统或设备的任一个的分布式计算环境。在其最基本的配置中,计算设备102通常包括至少一个处理单元300和存储器302。存储器302可以是易失性(诸如RAM)、非易失性(诸如ROM或闪存)、或两者的某一组合。这一最基本的配置在图3中由虚线304示出。计算设备102可具有其它特征和功能。例如,计算设备102可包括附加的存储(可移动和不可移动),包括但不限于,磁盘、光盘和磁带。这一附加的存储在图3中由可移动存储306和不可移动存储308示出。计算机存储介质可包括以用于储存如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法和技术实现的易失和非易失、可移动和不可移动介质。存储器302、可移动存储306和不可移动存储308都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘、其它光存储、磁盒、磁带、磁盘存储、其它磁存储设备、或可以用来储存期望的信息并可由设备102访问的任一其它介质。任一这类计算机存储介质可以是设备102的一部分。设备102也可包含允许设备与其它设备进行通信的通信信道310。通信信道310是通信介质的一个示例。通信介质通常可以具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。本发明使用的术语“计算机可读介质”包括存储介质和通信介质两者。计算设备100也可具有输入设备312,如键盘、鼠标、输入笔、语音输入设备、图形输入板、触摸输入设备等等。也可包括输出设备314,如显示器(可以与触摸输入设备集成)、扬声器、打印机等等。所有这些设备在本领域中是公知的,因此不必在此作冗长的讨论。
图4呈现了可由诸如图2的体系结构中的主机节点102等主机节点使用的一个示例性方法。在步骤400中,主机节点102收集关于其节点间通信需求的信息,并且在步骤402将所收集的信息发送到控制单元200。
节点间通信信息在不同的实施例中采用不同的形式。图5提供了一个示例。信息500标识了主机节点102,并标识了要从主机节点102发送到其它主机节点的期望数据量。用于估算这些数据流的许多方法在本领域中都是已知的。当主机节点102实际上是路由器,且当数据流代表了流到其它路由器的历史数据平均值时,足以认为这些估算可以是相当准确的。
第III节呈现了对节点间通信信息500的详细分析。对于本发明,注意由每一主机节点收集的信息量500对于小网络而言较小,该量与网络中的主机节点数成比例。
转向图4,在步骤404,主机节点102可将主机节点102的数据流的优先级告诉控制单元200。在图5的示例中,起源于主机节点102的所有数据流已被分配一优先级2。在其它实施例中,每一数据流被给予其自己的优先级。应当存在用于协调这些优先级的分配的机制,否则每一主机节点会升级其自己的流的优先级,直到优先级变得无意义。在一个情形中,优先级由控制单元200设置,可能反映主机节点和控制单元200之间的合同协议。在这一情形中,主机节点102无需向控制单元200通知优先级。在另一情形中,除控制单元200之外的授权机构设置优先级,并将优先级信息发送到主机节点。本领域中公知的认证证书伴随从主机节点102发送的优先级信息200,以保证报告的优先级已被合法地分配。
在步骤406,主机节点102重复上述过程。接收可以是周期性的,或者可以在每次节点间通信信息500改变时被调用。
图2的体系结构中的一个示例性路由器,诸如路由器110使用图6a和6b所示的方法。在步骤600,路由器110收集关于网络环境100中最接近于其自身的该部分的拓朴结构的信息,在步骤602,将所收集的网络拓朴信息发送到控制单元200。
所收集的拓朴信息可以采用公知的链路状态通告(Link StatementAnnouncement)的形式。图7提供了由路由器100收集的拓朴信息700的一个示例。信息700标识了提供该拓朴信息的路由器,然后呈现了连接到该路由器100的通信链路的表。对于每一通信链路给出该链路的容量、该链路的另一端处的路由器的标识以及该链路的当前状态。
转向图6a,在步骤604和606,路由器110从控制单元200分别接收路由和带宽分配表。这些表的示例在下文参考图9到12来讨论。
当路由器110接收传入数据分组时,它使用在步骤608接收到的路由表来为数据分组选择传出链路。在某些实施例中,控制单元200不分配网络环境100中所有通信链路的所有带宽。未分配的带宽是保留,它在步骤610被调用来发送传出分组。保留带宽对于按需处理非期望或非频繁的急变是有用的。
在大多数情况下,路由器110可仅依赖于从控制单元200接收的路由表,并忽略接收到的带宽分配表。然而,当路由器110的传出通信链路之一在步骤612变得拥塞时,路由器100使用该表在传入数据分组之间分配拥塞的传出链路上的带宽。通过这样做,路由器110以及网络环境100中的其它路由器实现由控制单元200创建的全局公平性策略。
正如上述主机节点102一样,在步骤614,路由器110重复上述方法的步骤。路由器110周期性地或当拓朴信息700改变时发送更新的拓朴信息。
控制单元200通过创建路由和带宽分配表来编纂其全局有效和公平性策略。可由控制单元200使用的一个示例性方法在图8a和8b中描述。在步骤800,控制单元200接收由路由器在图6a的步骤602中发送的拓朴信息700。然后在步骤802,控制单元200使用所接收的信息700来构造网络环境100的图。注意,步骤802的这一描述只意味着说明性的目的用于将该组局部拓朴描述700编译成逻辑整体的许多技术是公知的,且并非所有这些技术都在任何意义中要求创建网络图。
控制单元200在步骤804接收由主机在图4的步骤402发送的节点间通信信息500。在某些实施例中,控制单元200然后在步骤806归一化该信息500。归一化涉及将期望的数据流率表示为每一主机的总期望出站话务的百分比,且在下文第III节中讨论。
步骤808是另一可任选步骤。为避免需求误传,控制单元200将由节点A向节点B报告的数据流需求与由节点B向节点A报告的需求进行比较。控制单元200然后用两个需求数字中的较小者替换较大者。如下文在第III节中所讨论的,这一简单的替换移除了自私的主机节点过度报告其需求来接收更大的带宽分配的动机。
如上文关于图4的步骤404所讨论的,数据流可以被分配优先级。控制单元200在步骤810接收该优先级信息。如果没有接收到优先级信息,则控制单元200将所有数据流作为相同的优先级来对待。
控制单元200不需要分配网络环境100中的所有可用带宽,但是可以保留某些带宽用于紧急使用。图8b的步骤812使控制单元200接收显示要保留的可用带宽的一部分的因数。当然,更详细的保留过程是可能的,某些随着日期时间而改变,某些随着具有不同的保留因数的不同通信链路而改变。
在步骤814和816,控制单元200使用接收到的节点间通信信息500和接收到的拓扑信息700来为网络环境100中的路由器计算路由和带宽分配表。控制单元200以实现诸如全局网络效率和网络资源的公平共享等某些网络策略目标的方式来执行这些计算。由于这些计算的方法可以是相当复杂的,且由于它们对于理解本发明的方法是重要的,因此对它们的深入讨论被推迟到下文的第II节和第III节。
在步骤818和820,控制单元200将所得的路由和带宽分配表发送到路由器。通过遵照这些表的指示,路由器实现控制单元200的全局效率和公平共享策略。
步骤822示出了控制单元200周期性地或在传入信息500和700改变时如所需要地重复上述过程。例如,控制单元200可为所有路由器设置定时器以刷新其链路状态信息700。如果路由器110无法以及时的方式报告,则控制单元200可从当前拓扑结构中移除该路由器100及其相关联的链路。(定时器值应当是刷新周期的某一倍数)。直到超时之前,网络环境100的不受影响部分继续运作。在超时之后,控制单元200重新计算路由和带宽分配表(步骤814和816),并将新的表分发给受影响的路由器(步骤818和820)。控制单元200响应于路由器110的失效所需的时间与现有链路状态协议相同。
上文对图2到8的讨论意在描述主机、路由器和控制单元的逻辑功能。在某些网络环境100中,单个物理设备可执行这些功能中的两个或甚至所有三个功能。每一路由器本身可接收节点间通信信息500和拓扑信息700,并可相应地计算其自己的路由和带宽分配表。然而,集中式控制单元200为网络环境100中的其它路由器执行步骤814和816的步骤通常是较佳的。集中式控制单元200更易于维护,且作为单个可信点,控制单元200比一组分布式路由器更易于保护和认证。
集中式控制单元200可变为单个失效点或者路由瓶颈的可能性不应当由于控制单元200仅是一个控制实体且不会成为路由瓶颈而不令人担忧。同样,使用已知的技术,如果控制单元200失效,则可采用后备控制单元来接管。在某些情形中,每一路由器能够担当所有路由器的控制单元,这些路由器轮流或从发生故障的伙伴中接管。
作为上述技术的一个示例,考虑图9的网络环境100。此处,每一节点102、104、106和108既是主机又是路由器。主机/路由器节点102的期望的节点间通信需求是图5中所示的需求对每一主机/路由器节点104、106和108,主机/路由器节点102期望发送250Kbps的话务。网络环境100包括将主机/路由器节点102直接连接到主机/路由器节点104和106的通信链路,但是对于主机/路由器节点108不存在这一直接链路。每一通信链路具有如1Mbps的容量,较好地超过了期望需求。
由本发明的方法产生并发送到主机/路由器节点102的一个可能的路由表在图10中示出。如所期望的,从主机/路由器节点102到其相邻节点104和106的话务被直接发送,而无需中介。
到非相邻节点108的话务的路由更有意思。并非选择单个最短路径,而是路由表1000指定了在两条路径之间均匀地分割该话务,一半话务经过节点104,另一半话务经过节点106。这一“多径”路由解决方案很大程度上增强了对网络资源的利用。然而,由于无序分组传送的可能性,多径路由拥有传输层协议的难题。对这一难题提出了若干解决方案,但是其没有一个在本领域中是占优势的。
作为另一示例,考虑图11,图11示出了进入路由器100的总计数据流率。这些速率由控制单元200(未在图11中示出)在处理节点间通信信息500和局部拓扑信息700时计算。从这些总计数据率,控制单元200产生图12的带宽分配表1200。当连接到路由器100的传出通信链路(表1200中的“路由方向”)变得拥塞时,路由器110咨询带宽分配表1200以确定将该传出链路带宽的多少分配给进入每一传入链路的话务。
注意,与传统的分组调度算法不同,本发明不需要跟踪个别数据流,相反,它仅跟踪每一传入通信链路上的总计话务流。这通过减少控制单元200保存的状态信息量简化了图8b的步骤814和816的计算。最小化状态信息量是路由器设计中的一个重要工程问题。尽管传统的分组调度算法要求与数据流的数量成比例的状态信息量(可以是系统中的节点数的平方的数量级或更多),然而本发明的方法使用与路由器的近邻数成比例的状态信息量,该数量要小得多。
第II节节点需求公平性本节将节点需求公平性定义为可由控制单元200在计算路由和带宽分配表时使用的一个度量。节点需求公平性的动机源于对因特网提议的局部、基于按流的分组调度算法未被设计成且不提供全局公平性的观察结果。图13a、13b和13c示出了这一观察结果。在图中,网络环境100中的每一通信链路具有1000Kbps的容量。主机/路由器节点104、106和108的每一个希望以最高的可能速率与主机节点102通信。如果多个路径可用,主机/路由器节点104、106和108能够将其话务路由到这些路径。
在图13a中,两个中介路由器节点110和112的每一个应用局部的、按流公平性策略。结果是中间主机/路由器节点106以损害其它两个主机/路由器节点104和108的代价接收不公平地较大的网络带宽的共享。
资源分配中的这一不公正性可能表现为源于仅中央主机/路由器节点106能够访问多条数据路径的事实。然而,这不是不公正性的原因。单路径路由分配导致图13b的数据流,这同样是不公平的分配。
图13b的不公正性可以通过简单地将最右侧的主机/路由器节点108的带宽分配减少到500Kbps来消除。每一主机/路由器节点104、106和108然后可经历相同的吞吐量,但是其清晰的代价是对网络容量的不合需要的浪费。主机/路由器节点108的这一“惩罚”不会给其它两个主机/路由器节点104和106带来益处。
图13c示出了用于这一情形的最大路由和带宽分配。尽管网络吞吐量在图13a和图13b中是相同的(13a500Kbps+1000+500=2000Kbps;13b500Kbps+500+1000=2000Kbps;13c667Kbps+667+667=2000(进行舍入)),在图13c中,每一主机/路由器节点102、104和106接收最大可能公平带宽分配。这一期望的路由和带宽共享是由于对多径路由和全局带宽共享两者同时的使用。这些是节点需求公平机制的关键元素。
直观上,节点需求公平性可以被认为是没有任何路由路径约束且其中节点(而非数据流)是共享/竞争实体的全局最大-最小公平性。换言之,节点需求公平路由和带宽分配可使用多径路由,并可最大化每一节点的最小吞吐量。相反,图13b的路由和带宽分配最大化了服从单路径路由的每一节点的最大吞吐量,但是这一约束使得图13c的更高的最小吞吐量(677Kbps)是不可达到的。
第III节节点需求公平性的多物流实现计算节点需求公平路由和带宽分配解决方案的一种方法是使用所建立的多物流方法。在多物流问题中,跨共享的运输网络运送多个不同的物品。该网络由通过链路(称为“边”)连接的节点组成,每一链路具有指定的容量。每一物体具有源、目的地以及需求级别。物体通过网络的行进可以被分成多个片断,并且可以在任一节点处重新组合,但是相同数量的物体必须进入和离开每一节点,除该物体的源和目的地节点之外。
多物流问题可以容许各种目的。两个常见的目的是流总和的最大化,即最大吞吐量流;以及最小流的最大化,即最大并发流。为将节点需求公平问题映射到多物流,将通信网络表示为图,且一对节点之间的总通信流由单个物体来表示。然后为最大并发流来解多物流问题。
解多物流问题对于较小的网络而言比较大的网络更实际。然而,对于任何大小的网络,多物流解决方案定义了一种最优,可以对照其比较任何实际上可达到的结果。
多物流问题可以被有用地建模为线性规划。该线性规划的常量和变量分别在以下表1和2中呈现。
表1多物流常量


表2多物流变量

以下线性规划约束集(1)指定了任何边上的任何物体的有向流必须是正的。约束集(2)指定了任何边上的所有物流的总和不能超过该边的容量。约束集(3)实施流守恒对于任何物体,相等的量进入和离开除该物体的源和目的地节点之外的任何节点。集(4)将物体k的总流量fk定义为物体k离开其源的总流量。集(4)不是线性规划的约束。
xi,j,k≥0 k,(i,j)∈E(1)Σk(xi,j,k+xj,i,k)≤ci,j]]>(i,j)∈E (2)Σj:(i,j)∈E(xi,j,k-xj,i,k)=0]]>k,i∈V,{sk,tk}(3)Σj:(sk,j)∈E(xsk,j,k-xj,sk,k)=fk]]>k (4)通过增加辅助约束,可以结合其它特征。例如,以下离差约束防止链路和节点失效。
xi,j,k≤αifkk,(i,j)∈EΣj:(i,j)∈Exi,j,k≤α2fk]]>k,i以上第一组离差约束确保了任何流的最多有一小部分α1沿单条链路路由。这对链路失效增加了复原能力。第二个集合通过确保任何流的最多一小部分α2通过一特定节点路由来防止节点失效。
以下线性规划目标函数定义了最大吞吐量流。
maxΣkfk]]>通过指定最大并发流目标函数,线性规划最大化了所分配的每一需求的比例。为简明起见,这被称为公平公式。在该公式中,λ测量在所有流上分配的需求的最小比例。
maxλwkλ=fkk在资源共享和最大利用时的绝对公平性(即,同等使用)之间存在固有的张力。最大-最小公平性将这一张力用线性规划的N次迭代来处理,其中N是网络中的节点数。在每一次迭代,线性规划问题试图最大程度地公平利用剩余的资源。为计算效率起见,本发明的实施例可以仅使用线性规划的两次迭代。首先,对λ解出最大并发流,然后解出服从每一物体至少接收吞吐量λ的约束的最大吞吐量流。
maxΣkfk]]>wkλ≤fkk这被称为最大公平公式。下文第IV节中的模拟示出了最大公平公式显著地改进了网络利用。
当网络环境100包括无线链路时,链路干扰会导致一对通信节点阻止另一对节点进行通信。在这一情况下,可修改线性规划模型以解决可能的干扰。通过将链路干扰公式化为一组线性约束,本模型被扩展到多跳步无线网络。约束看上去如下,其中S索引了最大非干扰链路集。
uS≥0SΣSuS≤1]]>Σk(xi,j,k+xj,i,k)≤ci,jΣS:(i,j)∈SuS]]>(i,j)∈E如上文关于图8a的步骤806所讨论的,主机节点可以用绝对速率指定其需求(如在图5的节点间通信信息500中),但是控制单元200可将这些需求归一化成主机节点的总需求的百分比。这些归一化的需求是模型的权重wk。归一化能够得到实现节点需求公平性的权重;每一主机节点具有跨任何数量的通信流分割的相同的总聚集需求。当然,如果主机节点没有报告任何需求,则控制单元200不对其保留任何带宽。
通过归一化需求,本模型容易地容纳优惠待遇。如果主机102的数据流的重要性加倍,则该模型只需将主机102的需求归一化成200%,而其它节点的需求继续被归一化成100%。下文第IV节示出这一调整允许本模型实现相对有区别的服务。
尽管上述线性规划模型中涉及的计算随着所建模的网络的大小而增长,但是即使非常大的网络也可以通过将该网络作为较小网络的分层结构对待来合理地建模。在上述ISP对等通信的情况下,分层简化是适当的,因为即使构成要素流迅速地来来回回,但总计ISP间话务仅沿着长时间尺度改变。在网关背后的邻域网络的情形中,该模型可通过仅对通过该网关的数据流建模来简化。
分层地对待网络时所涉及的简化对如何处理模型通知以下的层次级处的话务的问题悬而未决。解决这一问题的一种方法是用混合方法。在简单的单块方法中,节点需求公平模型仅对节点的指定需求优化带宽利用。当网络变得完全负载时,需求分发中未指定的任何话务急变被丢弃。当然,模型通知以下的层次级处的任何话务被包括在这一未指定的需求中,且由此易被丢弃。仅仅重新计算需求分布不是一种可接受的解决方案,因为这会引入不可接受的等待时间,尤其是当需求急变是短暂的时候。为解决这些急变,混合方法仅向总网络容量的一部分应用该节点需求公平模型。保留剩余的部分以供急变使用。路由器在需求急变期间需要调用这一带宽保留时使用传统的尽力的路由。
该混合方法比这一特定情形所建议的能更一般地适用。该混合方法在向这些“小”流量应用上述模型的结果不值得在路由和带宽分配计算中包括小流量的计算成本的任何时候都是有用的。例如,许多网络环境100可有能力保留足够的带宽来充分地提供这些小流量,并且因此,通过在上述计算中包括小流量所提供的保证对这些环境中的通信质量起极小的作用。模拟该混合方法的结果在下文第IV节中呈现。
由节点需求公平机制产生的路由和带宽分配表具有期望的属性,即沿这些表所建议的路径发送其分组是每一单独节点的最大兴趣。这是简单地根据最大公平机制使每一链路饱和的这一事实得出的。该机制建议沿路径p从s发送到d的任何比例需求沿任何其它路径将遇到更多的拥塞。
不幸的是,在某些拓扑结构中,节点可通过误传其真实的需求来增加其带宽分配。其一个示例在图14a和图14b中示出。假定主机102和104期望与主机106通信,且各自的链路容量是200和1000Kbps。如果主机102和104都诚实地报告其需求,则最大-最小公平路由(在这一情况下也是最大公平路由)如图14a所示。不幸的是,如果主机104仅向主机102报告其需求,则带宽分配将如图14b所示。此处,主机104被给予对主机106的额外的100Kbps带宽。这一误传问题在上述网关情形中不会发生,因为在该情形中,每一节点只有一个需求,但是误传在更一般的设置中可以是问题的来源。
为解决这一误传问题,控制单元200用min{Ws,d,wd,s}替代报告的Ws,d(从s到d的需求)。这一改变使得有效的需求指定成为对发送者和接收者都是对称的定量配给带宽。这一改进提供了对如刚考虑的某些服务拒绝攻击的保护。
上文开发的线性规划模型可导致大量的变量,对于具有n个节点和m条边的网络有n(n-1)m个变量。一种更紧缩的公式改进了节点需求公平机制的可伸缩性。该紧缩公式将具有公共目的地的所有物体结合成具有多个源的单个物体。尽管变量是不同的,但是结果是相同的。该紧缩公式将变量的最大数量减少到nm。该紧缩公式在下文第IV节中报告的模拟中使用。
用于该紧缩公式的变量在以下表3中示出。该表后是最大公平线性规划的紧缩形式。紧缩公式不能容易地允许离差约束,因为沿共享公共目的地的边的流现在是不可区分的。
表3可伸缩多物流变量

(第一)maxλ(第二)maxΣs≠dfs,d]]>ws,dλ ≤fs,ds,d∈V,s≠dyi,j,d≥0 d∈V,(i,j)∈EΣd(yi,j,k+yj,i,d)≤ci,j]]>(i,j)∈EΣj:(s,j)∈E(ys,j,d-yj,s,d)=fs,d]]>s,d ∈V,s≠dfs.d≥0 s,d∈V,s≠d第IV节模拟结果本节呈现了模拟两种节点需求公平机制的结果。第一种机制使用了公平目标函数(最大并发流),而第二种机制使用了最大公平目标函数。模拟的网络环境由多达196个节点的二维网格组成,且所有的链路容量被设为1。模拟的目的是要了解节点需求公平机制是如何影响网络吞吐量、带宽共享中的公平性以及多径路由中的效率的。模拟也探究了节点需求公平性如何能够提供区分的服务。两种节点需求公平机制都与当前在因特网中使用的传统的单个最短路径路由进行比较。
在本节中,一对节点之间的总计话务被称为“流”。网络吞吐量被定义为所有流吞吐量之和。这表示最大吞吐量流的目标函数。
当然,所有链路容量的总和形成了可能吞吐量的上界。实际达到该上界的通信模式是不合需要的,因为它使很大一部分节点对处于饥饿状态中,如图15所示。
浪费链路容量是低吞吐量的显而易见且明显不合需要的原因。低吞吐量的另一原因是对遍历长路径的流的带宽分配。具有长路径的流比具有短路径的流要求来自更多链路的容量,用于相同的端对端吞吐量。当长路径流与一系列短路径流共享带宽时,增加分配给长路径流的带宽量减少了对所有短路径流的可用带宽。尽管这会产生较低的总吞吐量,但是该结果并非不合需要的,因为它涉及长路径和短路径流之间的合法策略折衷。
对于不均匀地分发的节点间需求的特殊情况,图16示出了最大可能吞吐量、最大公平吞吐量、公平吞吐量和单个最短路径(SSP)吞吐量。当有一条以上最短路径时,该模拟随机地选择一条。对于SSP,每一路由器应用无偏的本地、按流带宽共享策略。这一公平分配未能完全利用网络容量一点也不令人惊奇。从上述对长路径流和短路径流之间按的折衷的讨论中,可以看到,最大和最大公平吞吐量之间按的差距是由最大分配对最短路径的过分供应而引起的。
图17示出了对改变需求分布的吞吐量上的效果。模拟了节点对需求的均匀分布和斜率为2的Zipf分布。(为了比较,来自AOL用户的站点访问分布是斜率为-2.07的Zip分布。)还模拟了具有由节点需求公平机制分配的一半可用带宽和被保留以供使用具有均匀需求的SSP分配的另一半带宽的混合模式。
图17示出Zipf结果非常类似于公平和最大公平机制的均匀结果。Zipf和均匀公平吞吐量都要比SSP吞吐量稍好一些。混合情况产生最佳吞吐量,但是这是其需求分布(既不是Zipf也不是均匀)的结果。对于上述网关情形,混合、最大公平情况向网关链路分配一半以下的带宽。网关链路迅速地饱和,且剩余的带宽被专用于产生高吞吐量的短流。
图18绘制了改变需求分布的网络利用上的效果。Zipf需求分布的高度拖尾的属性在指定的目的地上可产生非常不均匀的分布,导致围绕最普遍的目的地的瓶颈,从而降低了总体利用率。
当评估路由和带宽分配策略时,所达到的吞吐量是唯一的相关度准则。如果是以降低需求满意度为代价的,则较高的吞吐量不一定是好的。在上述模型中,λ精确地是需求满意度的指示符。图19a和19b比较了在各种设置下获得的λ。对最大公平并且对SSP绘制了平均流量除以需求(平均λ)。混合结果示出较低级别的需求满意度,因为混合需求分布集中在单个网关上。均匀公平机制将SSP的需求满意度平均提高了38%,而Zipf公平将SSP满意度平均提高了25%。最大公平机制将平均λ提高了许多倍并不是令人惊奇的。在均匀需求分布中,平均λ完全与吞吐量成正比。在Zipf需求(如图19b所示)中,最大公平分配的带宽显著过度供应了许多小需求,从而产生非常大的平均λ。
最大公平模式并不较佳地实现最大-最小公平性。用和不用增加的约束模拟了在解决了初始最大并发流之后不公平性所出现的程度,该约束为不过度供应任何归一化节点fk≤wkk。对于吞吐量和对于平均λ的结果分别在图20a和20b中示出。令人惊奇的结果是服从这些过度供应约束的最大公平吞吐量几乎下降到公平吞吐量的级别。由此,仅过度供应约束就足以消除朝向短路径的大多数偏斜,这些偏斜在最大化吞吐量时发生。图20b的平均λ曲线图呈现了同一数据的不同视图,因为平均λ乘以节点数等于均匀分布需求的吞吐量。在图20b中,过度供应约束产生最大公平公式中的增长速率,它最接近地跟踪了公平公式中的增长。更明显的是,过度供应约束足以消除短路径偏斜。
最短单路径路由最小化了任何分组依照链路度量所经历的等待时间。多物流公式不包括对路径长度的任何上界。直观上,期望每一多径的长度接近于对应的最短路径的长度,因为如果多径使用许多不必要的链路,它将降低对其它流可用的带宽,且可能导致全局上次最优的带宽分配。这是在与最大化吞吐量的目标函数不同的目标函数下的短路径偏斜。
在多径路由期间,分组所经历的平均路径长度是使用从i到j的、具有源s和目的地d的流的变量{xi,j,s,d}来定义的。设fs,d表示从源s到目的地d的总流量。从s到d的平均路径长度则为 除以从s到d的距离给出了多径的拉伸,即,它长于最短单路径的因数。在使用均匀需求分布假设的多达25个节点的网格的模拟中,拉伸总是1多径路由不导致任何附加的等待时间,这符合关于短路径偏斜的直观表示。
上文的第III节讨论了对离差约束的添加。第IV节中呈现的模拟结果不是基于这些离差约束的,但是无论如何,多径是相当分散的。为测量多径的离差,定义平均离差度量。设Vars,d=1fs,d2Σ(i,j)xi,j,s,d2]]>是s和d之间的流量的方差。则设从s到d的平均离差为s和d之间的距离除以Vars,d。为给出对于这一定义的直观表示,假定多径简单地沿k个不相交的最短路径的每一个路由了话务的一小部分1/k。则平均离差应当简单地为k。
图21绘制了对于具有均匀需求的6×6网格拓扑结构上的流量的平均离差度量的分布。一半以上流经历了大于2的平均离差。这暗示即使沿该流的多径的某些链路失效,许多流也将继续经历显著的吞吐量。
最终主机之间的服务可以通过它们的满意度指定来区分。为模拟的目的,25个节点的网格拓扑结构的中间的节点被选为超级节点,其需求被认为比其它节点的需求重要两倍。对于来往于该超级节点的通信的需求相应地也加倍。这一情况示出对于常规节点的λ从0.40轻微地下降到0.36,而对于超级节点的λ从0.40增加到0.72,为增长1.8倍。这完全是期望的结果超级节点接收常规节点两倍的带宽,完全反映了带宽指定。此外,常规节点的带宽仅稍微降级以容纳超级节点。采用增加数量的超级节点的模拟示出这是如何降低常规节点的带宽和总网络吞吐量的。图22a和22b示出当超级节点的数量增长时,超级节点和常规节点的需求满意度级别仅逐渐下降,且超级节点总是接收常规节点两倍的带宽。由此,本发明的方法可通过简单地改变需求分布来支持区分的服务。
鉴于可应用本发明的原理的许多可能的实施例,应当认识到,此处相对于附图所描述的实施例仅意味着说明性的,且不应当被认为是限制本发明的范围。例如,本领域的技术人员将认识到,所示的实施例可以被扩展以覆盖分层和混合体系结构网络,而不偏离本发明的精神。尽管本发明是按照软件模块或组件来描述的,然而本领域的技术人员将认识到,这可以由硬件组件来等效地替代。因此,此处所描述的本发明构想所有这样的实施例都落入所附权利要求书及其等效技术方案的范围之内。
权利要求
1.在包括多个网络节点、网络节点之间的多个通信链路以及控制单元的网络通信环境中,所述多个网络节点包括多个主机网络节点和多个路由器网络节点,一种用于控制单元产生路由信息的方法,所述方法包括接收关于所述网络通信环境的拓扑信息;接收节点间通信信息;以及对至少一个路由器网络节点计算路由信息,所述计算至少部分地基于所接收的拓扑信息以及所接收的节点间通信信息。
2.如权利要求1所述的方法,其特征在于,所述网络通信环境包括虚拟专用网络,并且还包括到因特网的通信链路。
3.如权利要求1所述的方法,其特征在于,所述网络通信环境包括相邻的网络,并且还包括到因特网的通信链路。
4.如权利要求1所述的方法,其特征在于,所述网络通信环境是分层通信环境,并且其中,所述多个通信链路中的至少一个包括网络节点之间的虚拟通信链路,所述虚拟通信链路包括多个物理通信链路。
5.如权利要求4所述的方法,其特征在于,所述网络通信环境包括因特网服务供应商对等环境。
6.如权利要求1所述的方法,其特征在于,所述多个通信链路中的至少一个是从一个组中选出的,所述组包括点对点链路、广播链路、有线链路、无线链路、电链路、光纤链路、红外链路和无线电链路。
7.如权利要求1所述的方法,其特征在于,所述多个通信链路中的至少一个是从一个组中选出的,所述组包括包括多个物理通信链路的虚拟通信链路、以及包括多个单跳步通信链路的多跳步通信链路。
8.如权利要求1所述的方法,其特征在于,所述控制单元是所述多个网络节点之一。
9.如权利要求1所述的方法,其特征在于,所述多个网络节点的至少一个既是主机网络节点又是路由器网络节点。
10.如权利要求1所述的方法,其特征在于,接收拓扑信息包括从所述至少一个路由器网络节点接收拓扑信息。
11.如权利要求10所述的方法,其特征在于,接收拓扑信息包括接收从一个组中选出的信息,所述组包括连接到所述路由器网络节点的至少一个通信链路的容量、以及连接到与所述路由器网络节点连接的通信链路的至少一个其它网络节点的标识。
12.如权利要求1所述的方法,其特征在于,接收节点间通信信息包括从至少一个网络主机节点接收节点间通信信息。
13.如权利要求12所述的方法,其特征在于,接收节点间通信信息包括接收选自一个组的信息,所述组包括从所述主机网络节点到另一网络节点的绝对期望流率以及从所述主机网络节点到另一网络节点的相对期望流率、相对于从所述主机网络节点到其它网络节点的期望流率的期望流率。
14.如权利要求1所述的方法,其特征在于,计算路由信息包括从所接收的拓扑信息中构造所述网络通信环境的映射图。
15.如权利要求1所述的方法,其特征在于,计算路由信息包括归一化所接收的节点间通信信息。
16.如权利要求1所述的方法,其特征在于,接收节点间通信信息包括接收一对期望流率,该对的第一成员是从第一网络节点到第二网络节点的期望流率,该对的第二成员是从所述第二网络节点到所述第一网络节点的期望流率,并且其中,计算路由信息包括仅使用该对的较小流率。
17.如权利要求1所述的方法,其特征在于,接收节点间通信信息包括接收从源网络节点到目的地网络节点的期望流率,并且其中,计算路由信息包括将具有共同的目的地网络节点的一组期望流率作为单个期望流率来对待。
18.如权利要求1所述的方法,其特征在于,所述多个通信链路包括多个无线链路,其中,第一无线通信链路上的流干扰第二无线通信链路上的流,并且其中,计算路由信息包括约束所述第二无线通信链路上的所分配的流以解决所述干扰。
19.如权利要求1所述的方法,其特征在于,计算路由信息包括约束跨一个通信链路路由的已分配流率的一小部分。
20.如权利要求1所述的方法,其特征在于,计算路由信息包括约束通过一个路由器网络节点路由的已分配流的一小部分。
21.如权利要求1所述的方法,其特征在于,计算路由信息包括向所接收的拓扑信息和所接收的节点间通信信息应用最大公平算法。
22.如权利要求21所述的方法,其特征在于,应用最大公平算法包括为一对网络节点计算期望流率。
23.如权利要求22所述的方法,其特征在于,应用最大公平算法包括最大化所述网络通信环境中服从最大化已分配流率与期望流率之比的最小值的约束的已分配流率的总和。
24.如权利要求1所述的方法,其特征在于,为至少一个路由器网络节点计算路由信息包括为所述控制单元计算路由信息。
25.如权利要求1所述的方法,其特征在于,为至少一个路由器网络节点计算路由信息包括为与所述控制单元不同的路由器网络节点计算路由信息,所述方法答还包括将所计算的路由信息发送到所述路由器网络节点。
26.如权利要求1所述的方法,其特征在于,为至少一个路由器网络节点计算路由信息包括计算多径路由信息,所述多径路由信息包括用于从所述路由器网络节点到目的地网络节点的多条路径的路由概率。
27.如权利要求1所述的方法,其特征在于,还包括接收关于所述网络通信环境的更新的拓扑信息;接收更新的节点间通信信息;以及对至少一个路由器网络节点计算更新的路由信息,所述计算至少部分地基于所接收的更新的拓扑信息和所接收的更新的节点间通信信息。
28.如权利要求27所述的方法,其特征在于,接收更新的拓扑信息、接收更新的节点间通信信息、以及计算更新的路由信息是周期性地执行的。
29.如权利要求27所述的方法,其特征在于,计算更新的路由信息包括将不提供更新信息的网络节点移去不予考虑。
30.如权利要求1所述的方法,其特征在于,还包括为至少一个路由器网络节点计算带宽分配信息,所述计算至少部分地基于接收到的拓扑信息和接收到的节点间通信信息。
31.如权利要求30所述的方法,其特征在于,计算带宽分配信息包括从所接收的拓扑信息中构造所述网络通信环境的映射图。
32.如权利要求30所述的方法,其特征在于,计算带宽分配信息包括归一化接收的节点间通信信息。
33.如权利要求30所述的方法,其特征在于,接收节点间通信信息包括接收一对期望流率,该对的第一成员是从第一网络节点到第二网络节点的期望流率,该对的第二成员是从所述第二网络节点到所述第一网络节点的期望流率,并且其中,计算带宽分配信息包括仅使用该对中较小的流率。
34.如权利要求30所述的方法,其特征在于,接收节点间通信信息包括接收从源网络节点到目的地网络节点的期望流率,并且其中,计算带宽分配信息包括将具有共同的目的地网络节点的一组期望流率作为单个期望流率来对待。
35.如权利要求30所述的方法,其特征在于,计算带宽分配信息包括向接收的拓扑信息和接收的节点间通信信息应用最大公平算法。
36.如权利要求35所述的方法,其特征在于,应用最大公平算法包括为一对网络节点计算期望流率。
37.如权利要求36所述的方法,其特征在于,应用最大公平算法包括最大化所述网络通信环境中服从最大化已分配流率与期望流率之比的最小值的约束的已分配流率的总和。
38.如权利要求30所述的方法,其特征在于,为至少一个路由器网络节点计算带宽分配信息包括为所述控制单元计算带宽分配信息。
39.如权利要求30所述的方法,其特征在于,为至少一个路由器网络节点计算带宽分配信息包括为与所述控制单元不同的路由器网络节点计算带宽分配信息,所述方法还包括将所计算的带宽分配信息发送到所述路由器网络节点。
40.如权利要求30所述的方法,其特征在于,为至少一个路由器网络节点计算带宽分配信息包括为从所述路由器网络节点传出的通信链路计算在传入到所述路由器网络节点的通信链路上接收的带宽的分配。
41.如权利要求30所述的方法,其特征在于,还包括接收关于所述网络通信环境的更新的拓扑信息;接收更新的节点间通信信息;以及为至少一个路由器网络节点计算更新的带宽分配信息,所述计算至少部分地基于接收的更新拓扑信息和接收的更新节点间通信信息。
42.如权利要求41所述的方法,其特征在于,接收更新的拓扑信息、接收更新的节点间通信信息、以及计算更新的带宽信息是周期性地执行的。
43.如权利要求41所述的方法,其特征在于,计算更新的带宽分配信息包括将不提供更新信息的网络节点移去不予考虑。
44.如权利要求30所述的方法,其特征在于,还包括接收关于网络节点的优先级信息;并且其中,计算带宽分配信息包括对来自该网络节点的带宽给予优先级。
45.如权利要求30所述的方法,其特征在于,还包括接收带宽保留因数;并且其中,计算带宽分配信息包括仅分配可用带宽的一小部分,所述一小部分是至少部分地由所述带宽保留因数确定的。
46.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令用于执行一种在网络通信环境中用于控制单元产生路由信息的方法,所述方法包括接收关于所述网络通信环境的拓扑信息;接收节点间通信信息;以及对至少一个路由器网络节点计算路由信息,所述计算至少部分地基于所接收的拓扑信息以及所接收的节点间通信信息。
47.在包括多个网络节点、网络节点之间的多个通信链路、以及控制单元的网络通信环境中,所述多个网络节点包括多个主机网络节点和多个路由器网络节点,一种用于路由器网络节点将信息路由到所述路由器的传出通信链路的方法,所述方法包括向所述控制单元发送关于所述网络通信环境的拓扑信息;从所述控制单元接收路由信息;从所述控制单元接收带宽分配信息;选择一传出通信链路用于发送信息,所述选择至少部分地基于所接收的路由信息;以及至少一传出通信链路拥塞时,在通过传入通信链路接收的信息中分配所述传出通信链路的带宽,所述分配至少部分地基于所接收的带宽分配信息。
48.如权利要求47所述的方法,其特征在于,所述路由器的传出通信链路之一是从一个组中选择的,所述组包括点对点链路、广播链路、有线链路、无线链路、电链路、光纤链路、红外链路和无线电链路。
49.如权利要求47所述的方法,其特征在于,所述路由器的传出通信链路之一是从一个组中选择的,所述组包括包括多个物理通信链路的虚拟通信链路、以及包括多个单步跳通信链路的多跳步通信链路。
50.如权利要求47所述的方法,其特征在于,所述路由器网络节点既是主机网络节点又是路由器网络节点。
51.如权利要求47所述的方法,其特征在于,发送拓扑信息包括发送从一个组中选择的信息,所述组包括连接到所述路由器网络节点的至少一个通信链路的容量、以及连接到与所述路由器网络节点连接的通信链路的至少一个其它网络节点的标识。
52.如权利要求47所述的方法,其特征在于,接收路由信息包括接收多径路由信息,所述多径路由信息包括用于从所述路由器网络节点到目的地网络节点的多条路径的路由概率。
53.如权利要求47所述的方法,其特征在于,接收带宽分配信息包括对于从所述路由器网络节点传出的通信链路,接收在传入到所述路由器网络节点的通信链路上接收的带宽的分配。
54.如权利要求47所述的方法,其特征在于,还包括向所述控制单元发送关于所述网络通信环境的更新的拓扑信息;从所述控制单元接收更新的路由信息;以及从所述控制单元接收更新的带宽分配信息。
55.如权利要求54所述的方法,其特征在于,发送更新的拓扑信息、接收更新的路由信息以及接收更新的带宽分配信息是周期性地执行的。
56.如权利要求47所述的方法,其特征在于,还包括选择一传出通信链路用于发送信息,所述选择至少部分地基于所述传出通信链路的未分配带宽的量。
57.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令用于执行网络通信环境中的路由器网络节点将信息路由到路由器的传出通信链路的方法,所述方法包括向所述控制单元发送关于所述网络通信环境的拓扑信息;从所述控制单元接收路由信息;从所述控制单元接收带宽分配信息;选择一传出通信链路用于发送信息,所述选择至少部分地基于所接收的路由信息;以及至少一传出通信链路拥塞时,在通过传入通信链路接收的信息中分配所述传出通信链路的带宽,所述分配至少部分地基于所接收的带宽分配信息。
58.在包括多个网络节点、网络节点之间的多个通信链路、以及控制单元的网络通信环境中,所述多个网络节点包括多个主机网络节点和多个路由器网络节点,一种用于主机网络节点向所述控制单元提供信息的方法,所述方法包括收集节点间通信信息;向所述控制单元发送所收集的节点间通信信息;收集更新的节点间通信信息;以及向所述控制单元发送所收集的更新的节点间通信信息。
59.如权利要求58所述的方法,其特征在于,所述主机网络节点既是主机网络节点又是路由器网络节点。
60.如权利要求58所述的方法,其特征在于,收集节点间通信信息包括收集从一个组中选择的信息,所述组包括从所述主机网络节点到另一网络节点的绝对期望流率以及从所述主机网络节点到另一网络节点的相对期望流率、相对于从所述主机网络节点到其它网络节点的期望流率的期望流率。
61.如权利要求58所述的方法,其特征在于,收集和发送更新的节点间通信信息是周期性地执行的。
62.如权利要求58所述的方法,其特征在于,还包括向所述控制单元发送关于所述主机网络节点的优先级信息。
63.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令用于执行网络通信环境中的主机网络节点向控制单元提供信息的方法,所述方法包括收集节点间通信信息;向所述控制单元发送所收集的节点间通信信息;收集更新的节点间通信信息;以及向所述控制单元发送所收集的更新的节点间通信信息。
64.一种用于产生路由信息的控制单元系统,所述控制单元系统包括通信接收器,它被配置成用于接收关于网络通信环境的拓扑信息,以及用于接收节点间通信信息;处理器,它被配置成用于对所述网络通信环境中的至少一个路由器网络节点计算路由信息,所述计算至少部分地基于所接收的拓扑信息和所接收的节点间通信信息;以及路由信息数据结构,它包含由所述处理器计算的路由信息。
65.如权利要求64所述的控制单元系统,其特征在于,所述路由器网络节点与所述控制单元系统不同,所述控制单元系统还包括通信发送器,它被配置成用于将所计算的路由信息发送到所述路由器网络节点。
66.如权利要求64所述的控制单元系统,其特征在于,所述处理器还被配置成用于为所述路由器网络节点计算带宽分配信息,所述计算至少部分地基于所接收的拓扑信息和所接收的节点间通信信息;所述控制单元系统还包括带宽分配数据结构,它包含由所述处理器计算的带宽分配信息。
67.如权利要求66所述的控制单元系统,其特征在于,所述路由器网络节点不同于所述控制单元系统,所述控制单元系统还包括通信发送器,它被配置成用于向所述路由器网络节点发送所计算的带宽分配信息。
68.一种用于将信息路由到路由器的传出通信链路的路由器网络节点系统,所述路由器网络节点系统包括多个传出通信链路;多个传入通信链路;通信发送器,它被配置成用于发送关于网络通信环境的拓扑信息;通信接收器,它被配置成用于接收路由信息以及用于接收带宽分配信息;路由信息数据结构,它包含所接收的路由信息;带宽分配数据结构,它包含所接收的带宽分配信息;以及路由处理器,它被配置成用于选择一传出通信链路用于发送信息,所述选择至少部分地基于所接收的路由信息,并且用于至少在传出通信链路拥塞时在传入通信链路上接收的信息中分配所述传出通信链路的带宽,所述分配至少部分地基于所接收的带宽分配信息。
69.一种用于提供信息的主机网络节点系统,所述主机网络节点系统包括收集器,它被配置成用于收集节点间通信信息;节点间通信信息数据结构,它包含所收集的节点间通信信息;以及通信发送器,它被配置成用于发送所收集的节点间通信信息。
70.如权利要求69所述的主机网络节点系统,其特征在于,还包括优先级数据结构,它包含关于所述主机网络节点的优先级信息,并且其中,所述通信发送器还被配置成用于发送所述优先级信息。
71.在网络通信环境中,一种用于产生和使用路由信息的系统,所述系统包括多个网络节点,所述多个网络节点包括多个主机网络节点和多个路由器网络节点;网络节点之间的多个通信链路;控制单元,它包括被配置成用于接收关于所述网络通信环境的拓扑信息以及用于接收节点间通信信息的通信接收器;被配置成用于为至少一个路由器网络节点计算路由信息的处理器,所述计算至少部分地基于所接收的拓扑信息和所接收的节点间通信信息;包含由所述处理器计算的路由信息的路由信息数据结构;以及被配置成用于发送所计算的路由信息的通信发送器;所述路由器网络节点包括被配置成发送关于所述网络通信环境的拓扑信息的通信发送器;被配置成用于接收路由信息的通信接收器;包含所接收的路由信息的路由信息数据结构;以及被配置成用于选择一传出通信链路用于发送信息的路由处理器,所述选择至少部分地基于所接收的路由信息;以及主机网络节点,包括被配置成用于收集节点间通信信息的收集器;包含所收集的节点间通信信息的节点间通信数据结构;以及被配置成用于发送所收集的节点间通信信息的通信发送器。
72.如权利要求71所述的系统,其特征在于,所述控制单元的处理器还被配置成用于为所述路由器网络节点计算带宽分配信息,所述计算至少部分地基于所接收的拓扑信息和所接收的节点间通信信息;其中,所述控制单元还包括带宽分配数据结构,它包含由所述处理器计算的带宽分配信息;其中,所述路由器网络节点的通信接收器还被配置成用于接收带宽分配信息;其中,所述路由器网络节点还包括带宽分配数据结构,它包含所接收的带宽分配信息;以及其中,所述路由处理器被配置成至少在传出通信链路拥塞时,从在传入通信链路上接收的信息中分配所述传出通信链路的带宽,所述分配至少部分地基于所接收的带宽分配信息。
73.一种包含用于主机网络节点的节点间通信信息数据结构的计算机可读介质,所述节点间通信信息数据结构包括第一数据字段,它包含标识与所述主机网络节点不同的第二网络节点的数据;以及第二数据字段,它包含表示从所述主机网络节点到所述第二网络节点的通信的期望流率的数据。
74.如权利要求73所述的节点间通信信息数据结构,其特征在于,所述第二数据字段中表示期望流率的数据是从一个组中选择的,所述组包括从所述主机网络节点到所述第二网络节点的绝对期望流率以及从所述主机网络节点到所述第二网络节点的相对期望流率、相对于从所述主机网络节点到其它网络节点的期望流率的期望流率。
75.如权利要求73所述的节点间通信信息数据结构,其特征在于,还包括第三数据字段,它包含标识与所述主机网络节点不同且与所述第二网络节点不同的第三网络节点的数据;以及第四数据字段,它包含表示从所述主机网络节点到所述第三网络节点的期望流率的数据。
76.如权利要求73所述的节点间通信信息数据结构,其特征在于,还包括第三数据字段,它包含表示关于所述主机网络节点的优先级信息的数据。
77.一种包含用于路由器网络节点的多径路由信息数据结构的计算机可读介质,所述多径路由信息数据结构包括第一数据字段,它包含标识目的地网络节点的数据;第二数据字段,它包含标识从所述路由器网络节点到所述目的地网络节点的第一路径的数据;第三数据字段,它包含表示第一路径的路由概率的数据;第四数据字段,它包含表示从所述路由器网络节点到所述目的地网络节点的第二路径的数据;以及第五数据字段,它包含表示所述第二路径的路由概率的数据。
78.如权利要求77所述的多径路由信息数据结构,其特征在于,所述第二数据字段中标识第一路径的数据包括从所述路由器网络节点到所述目的地网络节点的第一路径上的下一跳步的标识符。
79.如权利要求77所述的多径路由信息数据结构,其特征在于,还包括第六数据字段,它包含标识第二目的地网络节点的数据;以及第七数据字段,它包含标识从所述路由器网络节点到所述第二目的地网络节点的路径的数据。
80.一种包含用于路由器网络节点的带宽分配信息数据结构的计算机可读介质,所述带宽分配信息数据结构包括第一数据字段,它包含表示所述路由器网络节点的传出通信链路的数据;以及第二数据字段,它包含表示对所述传输通信链路,在所述路由器的网络节点的传入通信链路上接收的带宽的分配的数据。
81.如权利要求80所述的带宽分配信息数据结构,其特征在于,还包括第三数据字段,它包含表示所述路由器网络节点的第二传出通信链路的数据;以及第四数据字段,它包含表示对所述第二传出通信链路,在所述路由器网络节点的传入通信链路上接收的带宽的分配的数据。
全文摘要
一种路由和带宽分配系统最大化网络吞吐量,同时在共享网络资源时维护全局公平性。从所收集的全局网络信息中,为路由器(110-118)计算路由表和带宽分配策略。在某些实施例中,计算涉及应用多物流方法来提供网络资源的“最大公平”分配。尽管在某些实施例中,每一路由器(110-118)收集全局网络信息,然后本地产生其自己的路由和带宽分配表,但是对于集中式的可信控制单元执行该计算然后将结果分发到路由器(110-118)而言,在计算和安全性发明方面可以更简单和廉价。所计算的路由表可以包括导致更大的链路利用和对链路失效的健壮性的多条路径(112-114)。
文档编号H04L12/56GK1802815SQ200480015588
公开日2006年7月12日 申请日期2004年5月12日 优先权日2003年6月6日
发明者J·D·督纳甘, J·王 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1