用于在网络中经由最优数据路径进行数据通讯的方法及系统的制作方法

文档序号:7613919阅读:306来源:国知局
专利名称:用于在网络中经由最优数据路径进行数据通讯的方法及系统的制作方法
技术领域
本发明涉及一种用于在网络中进行数据通讯的方法和系统。更具体来讲,本发明涉及一种用于在网络中经一最优数据路径从一个发送节点向一个接收节点执行数据通讯的方法和系统,在其中的网络中,有多个节点通过数据链路相互连接起来,而网络中的所说最优数据路径被定义为使得网络中的数据链路的平均链路利用率为最小和/或最大链路利用率达到最小的数据路径。
如果网络中每个节点/路由器的工作条件都是已知的,就可以确定出一条数据路径以及组成该数据路径的各个数据链路,数据或数据包通过该数据路径在网络中进行通讯传达。每个节点/路由器的工作条件-尤其是各个节点/路由器的路由决定是利用一个开销函数确定出来的,该开销函数能确定出各个链路的开销。开销函数是由协议规定的,并取决于各个链路的容量、要被传送的数据的类型和/或数据量、通向各数据必到节点的各数据链路的利用率、(物理)延时以及整个网络的数据通讯状况。在实际工作中,开销函数只取决于静态变量和/或预定变量,例如链路的容量、以及先前已定义在路由器数据库中的各条链路的延时值。因而,如果在网络中未发生任何错误,则节点/路由器的工作条件将不会随数据通讯而发生变化,这就使得确定数据从发送节点传输到接收节点的数据路径变为了可能。
上述内部路由协议的另一个基本原理是始终选择发送节点和接收节点之间最短的数据路径。此路由协议定义了一种度量标准,用此度量标准来确定数据路径的长度、且在整个网络中散布用于确定整个网络中最短数据路径的信息。例如,开放式最短路径优先协议(OSPF)通常使用一种基于时间无关参数的相加度量标准,其中的这些参数例如为各链路的数据通讯容量(例如,思科CISCO的路由器)和/或经由数据链路执行数据通讯的延时。在该OSPF度量标准中,从一个节点/路由器到其所连接的另一节点/路由器的每条数据链路的开销都被输入进去。从一节点/路由器到下一节点/路由器之间的某条数据链路的数据通讯参数可取决于在该数据链路上进行的数据通讯的方向。因而,各数据链路的开销可能会随数据通讯的方向而变化。一数据路径的总开销是通过将该路径所包括的所以数据链路的开销相加起来得到的。
增强型内部网关路由协议(EIGRP)的度量标准比OSPF协议的度量标准更为复杂,但通常是采用其缩简成加法度量标准的简约形式。
始终选择最短数据路径的解决方案也就意味着执行的是单路径路由也就是说对于所有的数据流而言,两节点之间的路由都是相同的。也可以定义多路径路由方案,但是出于稳定性(例如防循环保护)以及一些由协议限定的原因(例如在数据包重组情况下TCP协议的恶化)的考虑,很少采用多路径路由。由于采用了定开销度量标准和单路径路由,所以就会出现多条数据路径的拥塞或同一条数据路径中各单条数据链路的拥塞。例如,如果数据量大于某一单段数据链路的数据通讯容量就会发生这样的情况。如果一节点/路由器的数据通讯容量不足以承担所需数据量的通讯,就也会出现类似的问题—例如,如果该节点/路由器被包含在多个不同发送节点和/或多个不同接收节点之间的多条数据路径中。
另外,某些特定的数据路径和/或数据链路的使用率可能会非常高,而其它一些则只是偶尔被使用。这种在数据链路上的数据通讯不均匀分布导致网络中所有数据链路的链路利用率不平均。不均衡的链路利用率还可能导致不同数据链路发生拥塞。由于在负载和等待时间之间的非线性相关性,所以甚至在链路利用率很高的情况下,网络也不适于诸如IP电话等实时性应用。此外,由于设置在网络中的某些数据链路未被使用,而设置数据链路是需要昂贵的硬件和软件组件的,所以以这样的方法来对数据在网络中进行路由会使得网络的工作是不经济的。
用来优化网络中数据路由的现有方案的目的在于提高/增强已有协议、或者是发展新的路由协议。由于改变了的路由协议或新路由协议必须要在整个网络的范围内创建,因而通常需要对硬件或软件组件作出改变或者设置新的软、硬件。因而,这样的优化方案主要是受限于网络组织方面的问题。
为解决上述问题,本发明提供了一种如权利要求1所述的、用于在网络中确定出数据通讯最优数据路径的方法。
根据本发明的方法基于这样的方案在线性优化问题的基础上对网络中的数据路由进行优化。根据本发明的线性优化问题必须要被限定成这样使得在网络中路由/通讯的数据(也被称为数据业务)在整个网络中是均匀/一致地分布的。在本发明的场合中,数据业务的“均匀/一致分布”不应被理解为数据业务的“相等分布”。数据业务在整个网络中的相等分布将导致连接网络节点的所有数据链路上的数据业务量都是同一/相等的。
尽管数据业务的“相等分布”反映了根据本发明的线性优化问题的一种优化方案,但根据本发明的方法并不特定于获得一种“相等分布”的数据业务,而是致力于获得网络中这样一种数据路由优化方案网络中各数据链路的利用率可以是不同的。
根据本发明的方法被用来在网络中经由从发送节点到接收节点的一优化数据路径进行数据通讯,在该网络中,具有多个用数据链路连接在一起的节点。在下文中,“数据路径”这一词语被用来指代在发送节点和接收节点之间的各条数据路径,其中的这些数据路径是由对应的各段连接链路组成的。
为了确定出从一个发送节点到一个接收节点的最优路径,首先要确定出从发送节点到接收节点、经过对应数据链路和多个节点的所有无环路数据路径,并选择那些数据路径使得在这两个数据节点之间的数据通讯都是经同样的数据路径进行的。然后,确定出这些选出数据路径的最大链路利用率、或者平均链路利用率、或者最大链路利用率与平均链路利用率组合成的表征值,并将最大链路利用率为最小、或者平均链路利用率为最小值、或者最大链路利用率与平均链路利用率组合的表征值为最小的数据路径被定为优化的数据路径。然后,数据经由该优化数据路径从发送节点传送到接收节点。
此外,选择数据路径的步骤还包括确定出数据路径的数据通讯容量、并选择那些通讯容量足以胜任将数据从发送节点传送到接收节点的数据路径;和/或确定出个数据路径的物理时延,并选出那些物理时延等于或小于预定最大物理时延的数据路径。
确定从发送节点到接收节点之间最优数据路径的步骤是定义一等式系统的基础上进行的,其中该等式系统属于一线性优化问题,对等式系统进行求解来确定出最优数据路径。
此处,目标函数可被定义为确定所选择数据路径的最大链路利用率、平均链路利用率、或最大链路利用率和平均链路利用率组合表征值。
除了该目标函数之外,线性优化问题需要定义一些约束条件。根据本发明,可定义一些传输约束条件,用来找出无环路的数据路径。
此外,可定义一些路由约束条件,从而使得要从发送节点传输到接收节点的所有数据都在同一数据路径上传送。这些路由约束条件的限定使得可利用这样的现有路由协议选择节点/路由器之间的最短数据路径,并采用单路径路由。
另外,可定义出容量约束条件,用于确定出那些具有足够通讯容量的数据路径,最好是最大数据通讯容量要等于或大于的要被传送的数据量和/或数据通讯容量要等于或小于某个预定的最大链路利用率。
还可以定义一些物理时延约束条件,以此确定出那些物理时延等于或小于一预定最大物理时延的数据路径。在本发明的场合中,物理时延代表了数据在由对应各数据链路连接在一起的网络节点之间进行数据传送所需的时间。为了得到最优的数据路径,通过使针对约束条件的目标函数达到最小,就可以求解出线性优化问题的等式系统。求解该等式系统,就可以确定出从发送节点到接收节点所有可能的数据路径,且将最大链路利用率、平均链路利用率、或最大链路利用率与平均链路利用率组合表征值达到最小值的数据路径定义为最优数据路径。对目标函数迭代地求最小值是很方便的,特别是对于包含多个节点和连接链路的复杂网络。
对于平均链路利用率与最大链路利用率组合的表征值,可用一个函数来代表相对加权后的平均链路利用率和最大链路利用率。
更具体来讲,目标函数中对确定最优数据路径具有更大影响/权重的分量被一个数值加权,此加权数值要大于目标函数中其它分量的权值。
在对等式系统进行求解的复杂性方面,是非常消耗时间的。可以用在一预定时间间隔内求得的等式系统的最后一次解作为最优解。例如,如果在预定的时间间隔内,目标函数是不可解的、不能确定出该目标函数的任何最小值、或者该目标函数非收敛的,则这样的方法将是优选的。
取决于本发明方法所应用的网络,限定等式系统的变量的数目可能非常大。具体来讲,目标函数中的变量数是在N2M2的数量级上,其中,N代表节点/路由器的数目,M代表数据链路的数目。由路由约束条件所定,根据本发明的约束条件所涉及的变量数在N3M2的数量级上。为了能减少求解等式系统时要考虑的变量数和/或数据链路数,在大型网络的情况中,上述方法最好包括这样的步骤对于所有的无环路数据路径,确定出数据通讯从发送节点到达接收节点的时间消耗。另外,识别出那些在求解等式系统时要考虑的数据路径,它们具有最短数据传送时间和/或数据传送时间小于一个预定最大数据通讯时间。最好是最大预定数据通讯时间是相对于确定出的最小数据通讯时间预定出的。
在识别出要在等式系统求解中考虑的那些数据路径的方面,只采用那些包含在各个可能数据路径中的数据链路。此外,求解等式系统时可以不考虑那些没有包含在任何可能数据路径中的数据链路。
对于某些网络,采用了代表数据在节点间最长传输时间的预定通讯时间限度。为了考虑到这些预定的通讯时间限度,可以在预定时间限度的基础上定义一些物理延时约束条件。此处,物理时延约束条件不是用数据在节点间传输所需的实际时间来确定的,而是由相应数据链路的预定通讯时间限度来确定的。
类似地,通过在数据链路带宽的基础上定义这些物理时延约束条件,就能考虑到由数据链路带宽决定的那些网络特征。此情况下,不是将数据在某一特定数据链路上传送的实际时间变为物理时延、而是将数据链路的带宽变型为对应的物理时延。
由于这样的事实在一发送节点和接收节点之间传送的数据量会随时间而变化,且由于会有几个发送和/或接收节点在网络中进行通讯,所以最好能以设定的次数、或者是以设定的时间间隔连续地执行根据本发明的最优数据路径的确定过程。此处,可以按照设定的次数、或者是以设定的时间间隔连续地确定出所要传送的数据量,其中,可用不同的设定次数和/或不同的设定时间间隔来确定最优数据路径、以及所要传送的数据量。
作为一种备选方案,可对要被进行传送的某预定数据量(例如为最大值)确定出最优数据路径。最好是,该要被传送的预定数据量是被检测到的或是近似值。
如上所述,现有的协议是基于选择从一个发送节点到一接收节点的最短数据通讯路径的方案。为了证明本发明确定出的最优数据路径是否也是最短的数据路径,对于所有可能的数据路径,可确定出组成对应数据路径的各数据链路的数据通讯开销。如果最优数据路径具有最小的数据通讯开销,则该最优数据路径就被认为是最短的数据路径。
尤其是在非常庞大/复杂的网络中,常常会将该网络划分成至少两个局部网或部分网,对于每个部分网,都单独地执行最优数据路径的确定过程。由于最短路径原理,所以较小网络的链接方案等于对一大型网络进行优化所获得的方案。
另外,还可以将至少一部分网络聚结成一个虚拟节点。此处,对网络中包含虚拟节点的剩余部分的最优数据路径确定、以及对网络中代表虚拟节点的聚结部分中的最优数据路径的确定是分开进行的。
本发明还提供了一种系统,用于经由最优数据路径执行数据在网络中的通讯。该系统包括一个网络,其具有多个由数据链路连接起来的节点/路由器,其中,至少有一个节点为发送节点、至少有一个节点为接收节点;并包括与网络相连的控制装置,用于控制网络中的数据通讯。具体来讲,所说控制装置适于执行根据本发明的、用于经由最优数据路径进行数据通讯的方法中之一的方法。
控制装置可以是一个中央控制系统、或者是一个中央控制系统(例如为一个互联网服务器)的部件,其控制至少一个节点/路由器(最好是全部节点/路由器)的数据通讯。
另外,控制装置可包括至少一个与一个或多个节点/路由器相关的控制单元,用于控制这些节点/路由器的数据通讯。为了能以理想的方式控制数据通讯和/或控制其它节点/路由器的数据通讯,这样的控制单元应当与其它节点/路由器-最好是与所有的节点/路由器保持通讯,从而获得网络中关于数据通讯的信息。
尤其是对于大型网络和/或数据通讯量很大的网络,如果将一个中央控制系统与至少一个控制单元结合起来,则由于对单个节点的数据通讯控制功能与对整个网络的数据通讯控制功能相应地被分配给控制装置中的不同部件,所以能提高对最优数据路径的识别。


图10中的图表表示了对于14节点网络,按照本发明的链路利用率变化;以及图11中的图表表示了对于14节点网络中一些选出的数据链路,按照本发明的链路利用率。
网络节点之间的数据链路常被称为界面,这是由于数据链路并不仅包括用于对电/光学信号进行物理传导的线路,而且还包括为在数据网络中执行数据传输所需的硬件部件和软件组件,其中的电/光信号代表了所要进行传输的数据。这些硬件部件和软件组件包括通常的电线、数据总线、缓存器/存储单元、处理器基单元、用于执行数据转换并执行数据通讯协议(即路由协议)的软件程序等等。
为了能实现本发明的目的-也就是使所有链路的利用(平均链路利用率)减到最小、使最大链路利用率达到最小、以及将网络节点间数据链路的物理时延保持在一个确定的范围内,就必须要先对网络及网络中的数据传输业务进行描述,其中的数据传输业务也就是指在网络中传输的数据量和流量。为作此正式描述,采用了三个矩阵首先,一个具有N个节点的网络用一个N×N阶的容量矩阵C来定义,其中,该容量矩阵C的每一项都代表每对节点i和j之间的链路的容量cij。在两节点间无数据链路连接的情况下,在容量矩阵C中的对应项被设为0。
第二矩阵为传输矩阵F,其为每对节点i和j设立了一项fij。每项fij代表两节点i和j之间的数据传输/数据流量。如果在两节点之间没有数据交换,则该传输矩阵中的对应项就被设为0。根据对根据本发明方法的实施情况,传输矩阵F中的项fij可代表静态数据流量,或者是例如,如果在网络的工作过程中,对本发明方法的实施是连续进行的,则传输矩阵F中的项fij就代表网络节点间的实际数据流量。
第三,引入了一个矩阵D,该矩阵描述了数据链路的物理时延。数据链路的物理时延标记了数据经由该对应数据链路在两节点之间传输所需的时间。矩阵D中的项dij代表连接两节点i和j的数据链路的物理时延或近似延时。
在这些矩阵的基础上,可将根据本发明的路由优化定义成一个线性优化问题。如所公知的那样,一个线性优化问题可用一个等式系统来描述,其由两部分组成目标函数和约束条件。约束条件限定了一个多维解空间,在该解空间内确定出目标函数的最优解。目标函数的最优解是解空间中的一个解,在本发明的情况下,该最优解使目标函数产生最小值。为了实现对网络数据路由的优化,必须要满足不同的约束条件,这些约束条件限制了目标函数可能的解。
首先,对于从一发送节点传送到一接收节点的数据,必须要确定出数据可经其进行传送/路由的数据路径。在发送节点与接收节点不是被一数据链路直接相连的情况下,可能的数据路径不但包括发送节点和接收节点,而且还包括其它节点以及连接这些节点的数据链路。为了避免不同的数据在从一发送节点传送到一接收节点时分别是在不同的数据路径或数据链路上进行路由/传送的,可能的多条路由线路/数据路径被限制成所谓的单路径路由。单路径路由的约束条件保证了对于目标函数的一个可能解,在两节点/路由器之间刚好只限定有一条数据路径。该单路径路由的效果表示在图1中,在节点/路由器C和F之间的最短数据路径(其独立于所采用的协议度量标准)或者是经过节点/路由器D、或者是经过节点/路由器E。由于采用了单路径路由,从A到F的数据流、或者从B到F的数据流都首先是路由经过节点/路由器C,然后,或者是经过节点/路由器D、或者是经过节点/路由器E,但不会是一个数据流经过节点/路由器D,而另一个数据流路由经过节点/路由器E。
其次,必须要满足容量约束条件,按照此约束条件,在某一特定数据链路上的数据量不能超过该对应数据链路的容量,也就是超过该对应数据路径所能传送的最大数据量。由于要被传送的数据或数据包在被传输之前例如可被存储在数据链路和/或节点/路由器上的中间存储器中,所以网络中一数据链路的容量并不限定为该数据链路中各个不同传送部件(也就是指电线、总线、处理器)的物理传送能力。可用两种方法来定义一线性优化问题方面的容量约束条件。其中一种方法是由面向路径型(path-oriented)的,而另一种方法则是针对数据链路的面向流量型的。本文中,选择面向流量的方法来详细讨论,这是因为面向流量方法相比于面向路径的方法具有较少的变量。在描述了面向流量方法之后,将介绍转为面向路径方法的符号变换方式。
为了能将根据本发明的路由优化方法与现有的路由协议结合使用,必须要考虑到由所采用的路由协议指定的路由算法。如上所述,目前所采用的路由协议(即OSPF协议和EIGRP协议)是基于这样的路由算法找出数据从一个发送节点到一个接收节点的最短路由路径。这些为找出最短路由路径的算法也就意味着在两节点/路由器之间传送的所有数据都在同样的数据链路上路由。
目标函数目标是使得被传输数据的分布或数据业务的分布在整个网络中是尽可能均匀/均一的。换言之,网络中的所有数据链路都应当被尽可能均等地利用,且在一个尽可能低的数据通讯水平上。由于采用了面向流量的方法,对于每一在两节点/路由器i和j之间传输的、且在数据传输矩阵F中的数据传输项fij≥0的数据流,以及对于在容量矩阵中容量项cij≥0的每个数据链路,引入了一个布尔变量xijuv。如果从一个发送节点u到一个接收节点v的数据流经过节点i和j之间的数据链路ij,则该变量就被设为1,除此以外的其它情况该变量都被设定为0。此外,引入了一个变量t,用它来限定所有数据链路的链路利用率上限值。
无论是最大链路利用率还是平均链路利用率都必须要达到最小。因而,目标函数包括两个相加部分,这两个部分都要被最小化at*t+ΣijΣuvcij,]]>且cij>0该目标函数(1)中左边的相加部分代表最大链路利用率,而目标函数(1)右边的相加部分则代表平均链路利用率。目标函数(1)的最大链路利用率部分中的参数at被用来作为一个加权因子,用于相对于目标函数(1)的平均链路利用率部分对最大链路利用率部分进行加权。选用参数at的目的是用来表示在选择一最优数据路径时,最大链路利用率的减小/最小化的影响/重要性与平均链路利用率减小/最小化影响/重要性的对比。例如,如果相对于将平均链路利用率最小化的效果,将最大链路利用率最小化具有更大的作用,则参数at就应当被选择为一个很大的数值,从而通过将数据业务引向利用率较低的数据链路而导致最大链路利用率的降低。与此相比,如果在选择最优数据路径时,将平均链路利用率最小化的影响大于将最大链路利用率最小化的影响,则参数at就应当被选择较小的值。
传输约束条件传输约束条件保证了对于每一数据流(例如是从一发送节点u到一接收节点v的数据流),都由变量xijuv指明了唯一的一条从发送节点u到接收节点v的无环路数据路径,其中的变量是从目标函数(1)的解得到的。本文中,传输约束条件包括为每一数据流的四个亚约束条件。
1.经节点/路由器j从发送节点u传送到接收节点v的数据流uv只路由经过从节点/路由器i引出的一条数据链路Σj=1,cij>1xij≤1,]]>对于所有的数据流uv和所有的节点/路由器i(2)2.从发送节点u传送到接收节点v的数据流uv只经过从发送节点u到另一个节点路由器i的一条数据链路Σi=1,cui>0xui-Σi=1,ciu>0xiu≥1,]]>对于所有的数据流uv(3)
3.对于所有从发送节点u到接收节点v的数据流,以及每个除发送节点u和接收节点v的路由器i,数据流uv所用的、引入到路由器i中的数据链路的数目与从路由器i引出的数据链路的数目是相等的Σj=1,cij>0xij-Σj=1,cji>0xji=0,]]>对所有数据流uv及所有节点/路由器 (4)4.从发送节点u到接收节点v的数据流uv只路由过引入到接收节点v的一条数据链路;Σi=1,civ>0xiv-Σi=1,cvi>0xvi≥1,]]>对于所有的数据流uv(5)如图2所示,上述这些传输约束条件的效果限定了刚好一条从发送节点u到接收节点v的无环路数据路径。根据公式(3),只有连接节点u和节点a的数据链路ua才载送数据流uv。一条数据链路引入到各个节点/路由器a、b和c中。按照公式(4),从各个节点/路由器a、b和c为数据流uv引出了一条数据链路。在公式(5)限定的条件下,数据流uv的数据路径被导引经过节点/路由器c和接收节点v之间的数据链路cv,并终止于接收节点v。
然而,对于数据流uv,除了该选出数据路径之外,还可能存在带有闭环的数据路径,这是因为上述的传输约束条件并不能避免出现环路。但是,可通过在目标函数(1)中对平均链路利用率取最小值来避开这些环路。
容量约束条件容量约束条件保证了在数据链路上的数据量或业务量不超过对应数据链路的容量。对于在节点i和j之间的每段数据链路ij,容量约束条件都包括两个亚约束条件。
第一个亚约束条件迫使链路利用率低于一个固定的水平,该定水平是用一个参数ac限定的Σuvxijfuv≤accij,]]>对于cij>0的所有数据链路ij(6)如上文所表明的那样,数据网络中数据链路在短时间隔内能处理大于其物理传输能力的数据业务。因而,参数ac并不限于0到1之间的数值。将此参数设为大于1的值也是有用的,可以用来识别出在出现拥塞的情况下那些数据链路是第一处瓶颈。对于根据本发明的方法,在缺省情况下,参数ac被设为1。
第二亚约束条件由公式(7)给出,此条件限定了链路利用率的上限值。目标函数(1)中使用的变量t为所有链路都限定了利用率上界。尽管参数ac是定值,但变量t则是可最小化的。第二亚约束条件迫使所有的链路利用率都为低于参数t的数值;Σuvxijfuv≤cij100,]]>对于cij>0的所有数据链路ij(7)路由约束条件由于路由约束条件只限定了某些数据链路或数据路径的组合,而根据这些组合足以计算出由线性优化问题的等式系统的解所获得的数据通讯/路由开销,所以路由约束条件是最重要的约束条件。采用上述的路由协议,数据始终是在最短的数据路径上传输/路由,其中的最短数据链路是通过用特定路由协议度量标准对每一数据链路进行度量而定义的。结果就是,从节点/路由器i流向节点/路由器j的所有数据流都是在节点/路由器i和j之间同样的数据链路(一条或多条)上传输/路由的。
这些约束条件是由亚约束条件的递归系统来得到的xuiuv+xstiv-xstuv≤1,]]>对于所有数据流uv、节点/路由器 以及数据链路st(8)xjvuv+xstuj-xstuv≤1,]]>对于所有数据流uv、节点/路由器 以及数据链路st(9)假如迭代或递归地应用公式(8)和(9),则对于经过节点/路由器i和j的所有数据流,在这两节点/路由器之间的路由情况都是相同的。因而,在路由约束条件基础上找到的解与路由协议的实施情况是相对应的。
图3表示了路由约束条件的效果。假定数据流ub路由经过节点u、a和b,数据流ac路由经过节点a、b和c,数据流cv路由经过节点c、d和v,则由于公式(8)和(9),从发送节点u到接收节点v的数据流uv就必须要经节点u、a、b、c、d以及v进行路由。
对于数据流uc,还另外存在两条数据路径,它们或者是经过节点a′、或者是经过节点b′。但数据流uc并不采用过节点a′的数据路径,这是因为该数据路径并不经过节点a,这将会与公式(9)矛盾。另外,数据流uc也并不采用过节点b′的数据路径,因为该数据路径不过节点b,而这是与公式(8)矛盾的。换言之,过节点a′和b′的数据路径并不被用来传输数据流uc,这是因为这两个路径不满足对所有数据流设定的路由约束条件即数据流uc、ac和bc要经过相同的数据链路。
物理时延约束条件在目标函数(1)的基础上,将传输约束条件、容量约束条件以及路由约束条件组合起来,就可以得到一条最短的数据路由路径,同时还能实现数据业务分布的均匀化、均一化。为了实现将数据通讯中的物理时延保持在一确定范围的目的,必须要应用下面将要描述的物理时延约束条件。
可能的物理时延范围可由一个参数ar来限定,而一数据流的最低物理时延则用一个变量来duvmin代表。如果P是所有从节点u到节点V的无环路路径的集合,且如果dp是一路径p中所有数据链路的物理时延的总和,则最小物理时延duvmin就是从节点u到节点v的路径p的、具有最小物理时延dp的延时duvmin=minp∈puv(dp)---(10)]]>
最小物理时延的数值是通过对从节点u到节点v的所有可能的无环路路径的物理时延进行计算而得到的。引入一个参数ar,就可以定义一个上限值arduvmin,其代表每个数据流的最大物理时延Σij,cij>0xijdij≤arduv,]]>对所有的数据流uv (11)对线性优化问题等式系统的复杂性的简化为了对目标函数(1)进行求解,需要考虑的变量数目在N2M2的数量级上,其中N代表节点/路由器的数目,M代表数据链路的数目。由路由约束条件所确定,约束条件的数目在N3M2的级别上。尤其是对于包括许多节点/路由器和数据链路的大网络,求解根据本发明的线性优化问题的等式系统将是非常耗时、复杂、甚至是不可能完成的工作。因而,采用了所谓的预求解程序,该程序通过只考虑那些求解等式系统所需的相关数据路径而能减少了变量和约束条件的数目。
相关数据路径是在对应物理时延的基础上确定出的。对于在两节点/路由器之间的每一数据流,确定出所有的无环路数据路径。对于每一无环路路径,计算出物理时延,也就是计算出组成该对应数据路径的所有数据链路的物理时延之和。将具有最小物理时延的数据路径、以及延时值低于延时上限值arduvmin的数据路径标记为相关数据路径。此外,对相关数据路径中的所有数据链路都进行检查,检查其是否位于所有的相关通路中,或者是不包含在任何一条相关通路中。包含在所有相关通路中的那些数据链路将被用来对对应的数据流进行路由引导,使它们经过这些数据链路。不包含在任何一条相关通路中的数据链路将不被线性优化问题的等式系统的求解所考虑,从而,相应的数据流就不会路由经过这些数据链路。为求解等式系统,那些只包含在一部分相关通路中的数据链路将被考虑,并由等式系统的解来确定出这些数据链路的利用率。
次最佳路由在某些情况中,例如对于非常复杂的网络,可能这样做是有利的不采用整个等式系统计算出的一种路由规划,而是用下面描述的方法来得到一个次优的路由方案(所谓的次优是指在可实行的时间内获得的接近于最优解的解)。与上述的过程相反,最大链路利用率并没有被直接最小化。此处,对最大链路利用率的最小化是通过对一个线性优化问题进行迭代求解而获得的,该线性优化问题具有不同的简约型目标函数,并具有不同的、缩减了的容量约束条件。
略去目标函数(1)中用于使最大链路利用率最小化的分量at*t。结果就是,容量约束条件中用公式(7)所表示的亚约束条件就不再是必须的了,该条件迫使不同数据链路的利用率低于链路利用率上限。在另一方面,容量约束条件中的、用公式(6)代表的另一个亚约束条件则被限定得更为严格了。不是采用参数ac的确省值1,该参数ac的数值是被迭代最小化的。
从参数ac等于1的情况开始,对包括了缩减目标函数的等式系统进行求解。在所找到的缩减等式系统的解的基础上确定出各单段数据链路的链路利用率。在随后的步骤中,参数a被设为略小于所确定出的链路利用率最小值的一个数值。重复此过程,直到该缩减等式系统的解发生收敛为止。如果等式系统在预定的时间间隔内没有收敛,或者是等式系统的解不存在,则就将由等式系统最后的解找到的路由看作是该线性优化问题的次优解。
对链路开销的确定为了能确定出由等式系统或缩减等式系统确定出的路由的数据链路开销,就必须要确定出数据链路的开销,从而使得找出的路由及优化数据路径都分别对应于最短的路由路径。这可以通过一个线性优化问题的等式系统来获得,在此情况下,由于是通过对一个不等式系统进行计算而得到数据链路开销的理想解,所以目标函数反而就变得不重要了。一线性优化问题用一个不等式系统与一个目标函数的结合来代表。因而,用一个线性问题的等式系统就可以计算确定出界面开销。作为结果,就可以使用一套标准的线性优化问题求解程序来确定出数据链路的开销。
采用上述的预求解程序,数据流的所有相关/可能的无环路路径都已被确定出来。对于除理想/最优数据路径之外的其它每一条数据路径,构成对应数据路径的所有数据链路的链路开销总和必然要大于理想/最优数据路径的数据链路开销之和。定义此约束条件的不等式系统将会非常复杂。因而,就希望能减少不等式的数目。由于从一个发送节点到一个接收节点的所有数据流都必然要路由过同样的数据路径,所以可实现对不等式数目的减少。考虑一数据流的所有数据路径,只需要为这样一些数据路径定义不等式系统它们只包括那些不被理想/最优数据路径所包含的节点/路由器。
如果该不等式系统的解表明了除理想/最优数据路径之外,其它所有的数据路径的数据链路开销和都大于理想/最优数据路径的链路开销和,则该理想/最优数据路径就对应于最短的数据路径。
面向路径的方案如上文所述那样,可以将问题表达成一个面向路径的方案。该方案等同于面向流量的方案,但带有如下的变化变量引入了布尔变量xuvk。如果从发送节点u到接收节点v的数据流uv路由过数据路径k,该变量就被设为1,其它的情况该变量为0,其中的k是一个指数,可以等于u、b......,v,其中的u、b......,v是构成该路径的节点。
目标函数类似于面向流量的方案,面向路径方案的目标函数也包括两个相加的部分,这两部分都必须要最小化at*t+|L|ΣijcijΣuvΣk,ij∈kduvxuv,]]>式中cij>0传输约束条件传输约束条件保证了从发送节点到一接收节点的无环路数据路径是存在的Σkxuv=1,]]>对于所有的路径uv容量约束条件在每一链路上的数据流之和必须要小于该链路的容量ΣuvΣk,ij∈kxuvduv≤accij,]]>对于所有的数据链路,且cij>0路由约束条件如果xuv限定了一条从u到v的路径,且xkv限定了一条从k到v的路径,且这两条路径都路由过i,则在路径i到v段,上述两条路径是重合的,因而有puv-piv<1该路由约束条件可被写成一个在标引参数k上的迭代递归。例如,一个从节点u到v的路径路由经过节点a、b和c。这样,k就被定义为k=u、a、b、v,从而,从节点a到v的数据流就必须要使用路径a、b、c和v,从节点b到v的数据流也必然要利用路径b、c、v,如此等等。在标引参数k的相反方向上,这样的递归迭代也是存在的。
示例为了展示根据本发明方法的效果,在下文中描述了一示例性网络优化路由的结果。所应用的网络表示在图4中。选择图4右侧中只具有6个节点/路由器的网络的原因是因为该网络的尺寸便于对确定出的路径进行说明。选择具有8个节点和14个节点/路由器的网络是由于它们复杂的结构可以产生很多种不同的数据路径。例如,在表1和表2中表示了6节点/路由器网络的链路容量矩阵C和数据流量矩阵F。

表1,具有6节点/路由器的网络的容量矩阵C

表2,具有6节点/路由器的网络的流量矩阵F在每一次优化过程中,不同数据链路的物理时延均被设定为1,而参数ar则被设定为3。采用上述的预求解程序,例如将具有14个节点/路由器的网络的变量数从8800个减小到4714个。此外,约束条件的数目也被减小到了不及一半。
对于所有的网络,执行已有几个参数被设定时的优化。首先,在最大链路利用率不存在有效上限值的情况下执行优化。这是通过将约束条件略去来达到的,此约束条件将最大链路利用率保持在参数t之下(如在“次优优化”一节中描述的那样),并通过将参数ac设定为数值10。在图5中表示了这样所形成的对6节点/路由器网络的路由情况。具有最高链路利用率42.9%的数据链路是在4-3链路上。最小化后的平均链路利用率被计算出达到了22.4%。
然后,参数ac被设定为数值0.4(40%),该数值略小于计算出的最大链路利用率42.9%。将参数ac的值反复地减小,也就是到达0.375(37.5%)和0.36(36%),找出参数ac等于0.36时的最优路由,此情况对应于缺省优化的结果。
在采用目标函数(1)的缺省优化中,参数at被设定为数值1000,对于6节点/路由器的此优化的结果表示在图6中。同样,利用率最高的数据链路是链路4-3,但是,该链路的利用率被降低到35.7%。作为补偿,平均链路利用率增加到了22.7%。
如图5和图6所示,数据流5-0是从链路4-3开始,并路由经过节点/路由器2和1的。因而,数据流2-0的数据路径也路由经过节点/路由器1。另外,为了将数据链路3-4的利用率从40%降低到35.7%,数据流2-4路由经过节点/路由器5,而不是经过节点/路由器3。
在上述确定出数据链路开销的基础上,确定出尽可能小的数据链路开销,从而使得最短的路径路由等同于上述优化确定出的路由。图7和图8表示了计算出的数据链路开销,其中的各个数据链路开销和各个物理时延被表示在灰框中。如图7所示,数据流5-0的总链路开销为3。数据流5-0其它可能的数据路径包括节点/路由器2、1或者是包括节点/路由器2和3。这些路径的总物理时延分别为5和4。最短的路径与所希望的平均链路利用率为最小的路径是相同的。
在图8中,在执行了使最大链路利用率最小化的优化的基础上,数据流5-0的数据路径的物理时延也为3。过节点/路由器4和3、或过节点/路由器2和3的其它可能的数据路径的物理时延分别为4和6。同样,最短的数据路径对应于理想的/优化的数据路径。
对具有8个和14个节点的网络的数据路由执行的优化是类似的。首先,在不限制最大链路利用率的情况下,使平均链路利用率达到最小。然后,迭代地减小最大链路利用率。在最后,执行优化,以获得尽可能小的最大链路利用率。但是,业已证明具有14个节点/路由器的网络过于复杂而不能得到一个最优的解。最大链路利用率被减小到38.8%,而其最小值则是不知道的。但是,最小链路利用率的值必须要大于32%,这是因为在该数值时,线性优化系统的等式系统就证明为不可解的了。
在图9和图10中,表示的是对于具有8和14个节点/路由器的网络、为最大链路利用率选择上限值时路由优化的结果。最大链路利用率可被减小,而平均链路利用率则几乎保持不变。如图中的柱图所表明的那样对最大链路利用率的要求越严格,在最常用数据链路与最少用数据链路之间链路利用率差越小,数据业务的分布越均匀。尤其是,对于8节点/路由器的网络(见图9),差值可被减小到约四分之一的程度。对于14个节点/路由器的网络,由于在此网络中存在这样的链路其利用率只有1%独立于为最大链路利用率选定的上限值,所以优化效果较不明显(见图10)。
由于此优化导致了最大链路利用率的最高值减小,所以作为补偿,某些特定链路的链路利用率就必然要增加。如图11中所示,图中表示了选择出的一些数据链路的链路利用率在最大链路利用率具有不同上限值时的变化情况。起始时很高的链路利用率随最大链路利用率上限值的减小而降低。这样的情形例如适用于数据链路9-4、4-9和4-2。此情况的结果就是使得数据链路8-5、5-8和3-1的利用率提高。

对于较小的网络,可以通过路由协议(例如改变路由协议或使用附加协议)来收集所需的信息而构建矩阵,并在每个路由器中计算出最优的路由参数。在此情况下,不需要任何中央单元。
权利要求
1.一种用于在网络中经由最优数据路径执行数据通讯的方法,其中的网络具有多个用数据链路连接起来的节点(u、v、a、b、c、d),该方法包括-通过如下的过程确定出从一发送节点(u)到一接收节点(v)的最优数据路径--确定出从发送节点(u)经由各数据链路和节点(u、v、a、b、c、d)到接收节点(v)的所有无环路数据路径;--对数据路径进行选择,使得在两节点之间进行传输的所有数据都经由相同的数据路径进行传送;--确定出所选数据路径的最大链路利用率、平均链路利用率、或者一个由最大链路利用率与平均链路利用率组合成的表征值;以及--将最大链路利用率为最小值、或者平均链路利用率为最小值、或者最大链路利用率与平均链路利用率组合的表征值为最小的数据路径定义为最优数据路径,以及-经由最优数据路径从发送节点(u)向接收节点(v)发送数据。
2.根据权利要求1所述的方法,其特征在于对数据路径的选择步骤包括确定出各数据路径的通讯容量,并选择那些通讯容量足以承担从发送节点(u)向接收节点(v)传输数据的数据路径。
3.根据权利要求1或2所述的方法,其特征在于对数据路径的选择步骤包括确定出各数据路径的物理时延,并选择那些物理时延等于或小于某一预定最大物理时延值的数据路径。
4.根据权利要求1到3之一所述的方法,其特征在于定义最优数据路径的步骤包括-定义一个用于识别最优数据路径的线性优化问题的等式系统,以及-对所说等式系统进行求解,而限定出最优数据路径。
5.根据权利要求4所述的方法,其特征在于定义等式系统的步骤包括定义一个为确定出最大链路利用率、平均链路利用率、或者由最大链路利用率与平均链路利用率组合成的表征值的目标函数,
6.根据权利要求4或5所述的方法,其特征在于定义等式系统的步骤包括定义出用于确定无环路数据路径的传输约束条件。
7.根据权利要求4-6中之一所述的方法,其特征在于定义等式系统的步骤包括定义路由约束条件,以确保在两节点之间传输的所有数据都经由同样的数据路径进行传送。
8.根据权利要求4-7中之一所述的方法,其特征在于定义等式系统的步骤包括定义容量约束条件,用于确定出数据通讯容量足够的数据路径。
9.根据权利要求4-8中之一所述的方法,其特征在于定义等式系统的步骤包括定义物理时延约束条件,用于确定出其对应数据链路的物理时延等于或小于一个设定最大物理时延值的数据路径。
10.根据权利要求5-9中之一所述的方法,其特征在于求解等式系统的步骤包括针对约束条件而对目标函数取最小化,以得出所有可能的数据路径,并将最大链路利用率为最小值、或者平均链路利用率为最小值、或者最大链路利用率与平均链路利用率组合的表征值为最小的数据路径定义为最优数据路径。
11.根据权利要求1-10中之一所述的方法,其特征在于平均链路利用率与最大链路利用率的组合用一个函数代表,该函数包括相对加权后的平均链路利用率和最大链路利用率。
12.根据权利要求4-11中之一所述的方法,其特征在于--如果当前等式系统是不能被求解的,或者--如果没有求出目标函数的最小值;或者--目标函数是非收敛的,-则在一预定时间间隔内求得的等式系统的最后一个解就指明了最优数据路径。
13.根据权利要求4-12中之一所述的方法,其特征在于-通过如下的方法来减少等式系统的变量数目和/或确定出求解等式系统时要考虑的数据链路--确定出数据沿所有无环路数据路径从发送节点传送到接收节点所用的时间;以及--识别出那些在求解等式系统时不必考虑的数据路径,其中对于这些数据路径,确定出其具有最小的数据通讯时间和/或数据通讯时间小于一个预定的最大通讯时间。
14.根据权利要求13所述的方法,其特征在于-包含在所有可能数据路径中的数据链路被考虑进去来求解等式系统,和/或-求解等式系统时,未被任何一个可能数据路径包含的数据链路都不予考虑。
15.根据权利要求4-14中之一所述的方法,其特征在于-通过为网络中节点间的数据链路预设数据通讯时间来定义物理时延约束条件;和/或-通过将数据的带宽转变为对应的物理时延来定义物理时延约束条件。
16.根据权利要求1-15中之一所述的方法,其特征在于对最优数据路径的确定或者是以设定的次数、或者是按照预定的时间间隔连续进行的,同时,对数据通讯量的确定也或者是以设定的次数、或者是按照预定的时间间隔连续进行的。
17.根据权利要求1-16中之一所述的方法,其特征在于当所要传输的数据量为预定值或最大值时,执行最优数据路径的确定过程。
18.根据权利要求1-17中之一所述的方法,其特征在于-通过如下的过程证明最优数据路径即为最短的数据路径--确定出经由各数据路径进行数据通讯的开销,如果最优数据路径具有最小的开销,就可确认最优数据路径即为最短的数据路径。
19.根据权利要求18所述的方法,其特征在于-只为那些包含不同网络节点的数据链路确定数据通讯开销;和/或-对网络的至少两个部分独立地进行最优数据路径的识别;和/或-至少一个部分的网络被聚结成一个虚拟节点上,且独立地识别出包含该虚拟节点的剩余网络部分中的最优数据路径、以及在聚结网络部分中的最优数据路径。
20.一种用于在网络中经由最优数据路径执行数据通讯的系统,该系统包括-一个网络,其具有多个由数据链路连接起来的节点/路由器,至少有一个节点为发送节点(u),且至少有一个节点为接收节点(v);以及-与网络相连的控制装置,用于控制网络中的数据通讯,其特征在于-所说控制装置适于执行根据上述权利要求之一所述的方法。
全文摘要
在用于进行数据通讯的网络中,路由是其中的一个关键因素。通常,对某一具体网络的路由进行优化是通过改善/变化/扩展路由协议来进行的。为了能不改变已有路由协议就对数据网络的路由进行优化,本发明提供了一种用于对在网络中传输的数据的路由进行优化的方法和系统。尤其是,本发明通过使网络节点间的数据链路的最大链路利用率最小化和/或平均链路利用率最小化,实行了数据通讯业务量在网络中的均匀分布。
文档编号H04L12/56GK1435033SQ00819143
公开日2003年8月6日 申请日期2000年3月15日 优先权日2000年3月15日
发明者斯蒂芬·科勒尔, 德尔克·斯塔厄赫勒, 乌特·科赫哈斯, 福沃茨·特兰-齐亚 申请人:英佛西莫信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1