用于业务量矩阵估计的快速模拟退火的制作方法

文档序号:7958210阅读:252来源:国知局
专利名称:用于业务量矩阵估计的快速模拟退火的制作方法
技术领域
本发明涉及用于估计通信网络性能的系统和方法,并且尤其是使用业务量矩阵估计(traffic matrix estimation)的快速模拟退火(fastSATME)技术。
背景技术
在技术改进的刺激下,近十年电信工业已经经历了巨大的增长。在台式计算机的处理功率方面的提升和在应用响应时间方面的减小已经促进了相应的在网络基础结构方面的改进。新的带宽消耗应用支持网络业务量增长并且在设备利用方面的快速变化使网络提供商遭遇了网络是否具有足够的容量来支持当前和将来的业务量要求这样的难题。
在任何业务量和/或网络工程任务中,关于网络的更多知识是有用的。特定的应用要求,例如关于从站点A到站点B的多大任务量的知识、特定用户从站点A发送多大业务量到B、网络中的哪处是热点、或者需要增加多大容量以及什么地方需要增加。关于在特定条件下网络特性的信息同样也是有用的。例如,网络提供商可以基于如果链路失败需要移动多大业务量、如果两个点之间的业务量从一个链路移动到另一个链路会发生什么、在子网(自治系统、国家、或公司)中发起的最大业务量是否维持在子网中等这样的知识来优化网络性能。通常使用这个知识来用于路由路径计算、负载平衡等。
设计网络工程工具来处理由业务量需求增长或改变现有需求所产生的问题并确定网络必需的扩展或修改以支持所发出的业务量。这些工具通常有助于修订网络设计以及路由方案以避免业务量瓶颈,并且使得业务按差别计价等。然而,所有这些工具需要业务量统计知识,以及更具体地说,需要实时的、源目的地业务量需求的知识。
一种保持基于分组(packet)的网络统计的方法是查看每一个分组并记录它的源和目的地地址。然而,这个方法要求巨大的表格来记录这个信息。此外,如果所期望的是网络子集(subset of the network)的目的地业务矩阵的源,那么不查看源和目的地地址并且不确定分组将采取的正如由路由信息所指示的路径,则进入该子集以及从该子集离开将不可行。这对于大网络以及大量分组来说是不可行的。
同样已知的是将业务量统计组织为“业务量矩阵”。业务两矩阵通常被表示为数据的全部字节或分组的全部数量或在所有的源-目的地节点对之间的连接。虽然,目前的路由器能够测量在每一接口(输入和输出链路)上输入和输出的业务量的计数,通常从具有数字可信度的链路计数中导出业务矩阵是不可能的。作的最好的是从观察的链路量业务中对业务量矩阵作概率推理。
AT&T建议了一种方案,其通过结合两个已知的模型从可用的对链路负载的测量中导出业务量矩阵,两个已知的模型即重力模型和层析(tomographic)模型。重力模型假定对于输出业务量来说在每个同级别基础上(正如与在每个路由器的基础上相反)在站点之间的业务量与在每一站点上的业务量成比例,并且在不同位置的业务量之间不存在系统差别。层析模型应用基于模型的链路约束。这些模型(层析-重力)的结合减少了大网络的尺寸问题并分别为重力和层析模型提供了更准确地结果。
然而,层析-重力方法不允许任意约束的简单规定,诸如知道如果一个链路具有另一个链路的两倍速度,那么它可能大约具有两倍的业务量。同样,这个方法基于该业务量遵循“重力”模型的假设,实际上这不能被假定。
上述的现有技术,诸如监测所有的分组以及包括层析-重力方法的重力和层析方法,分别不能满足大业务量数量和依靠不现实的假定。另一方面,必须为现代通信网络中的业务量工程提供工具和技术,尤其是为了估计业务量模式(特征),例如业务量数量、热点、失败的影响等。
在前面提到的美国申请(10/962488)中,描述和说明了模拟退火业务量矩阵估计(SATME)技术。该SATME方法和系统使用模拟退火算法估计源到目的地的业务量矩阵,业务量矩阵估计被表示为在满足一组给定约束的一组所有可能矩阵上的概率分布。该约束明确地将用户知道的关于网络业务量的信息编码为目标函数(适应度函数)的分量,虽然使用模拟退火将其最小化。使用根据USSN10/962,488的方法,可以包括任何形式的任意约束,并且可以通过不趋向于0的目标函数来诊断存在不合理的解决方案的情况。
尽管SATME技术对上面提到的现有技术作了改进,但是它的主要缺点是算法的速度。对于实时业务量工程来说它可能太慢,例如它可能花费数个小时来执行对网络100个节点的业务量矩阵估计。
发明概述本发明的一个目标是为业务量工程提供工具和技术,其减轻现有工具和现有技术的整个或部分缺点。
尤其是,本发明的一个目标是使用快速模拟退火算法来估计源到目的地的业务量矩阵,该业务量矩阵估计被表示为概率分布。
本发明依靠SATME技术来达到在初始步骤中执行的初步估计,而随后的步骤基于先前步骤的估计来执行递增的估计。
因此,本发明提供了一种用于基于测量的链路数来估计通信网络的业务量矩阵的方法,其包括步骤a)为各自的网络估计适应度函数(fitness function);b)产生起始的源至目的地(SD)业务量矩阵,并且为该起始SD业务量矩阵计算该适应度函数的起始值;c)修改该起始矩阵以获得随机修改的SD业务量矩阵,并为该随机修改的SD业务量矩阵计算该适应度函数的更新值;d)选择与该起始值和该更新值中较小的一个值对应的SD业务矩阵作为临时的SD业务量矩阵;e)使用模拟退火算法来改变临时SD业务量矩阵直到该临时SD业务量矩阵的适应度函数在给定容差范围内满足约束;f)选择在步骤e)中估计的临时SD业务量矩阵作为潜在的SD业务量矩阵;和g)在随后的时间步骤中重复步骤b)到e),其中步骤f)中的潜在的SD矩阵是起始SD矩阵。
本发明还提供了一种用于估计通信网络的业务量矩阵的系统。该系统包括用于基于网络配置数据和为网络的每个链路收集的链路数来产生起始SD业务量矩阵的源到目的地(SD)业务量矩阵产生器;用于随机改变该起始SD业务量矩阵以便获得随机修改的SD业务量矩阵的随机数产生器;用于为所述各自的SD业务量矩阵确定起始的适应度函数和更新的适应度函数并选择与该起始值和当前值中较小的一个对应的SD业务量矩阵作为临时SD业务量矩阵的适应度函数计算单元;和用于改变该临时SD业务量矩阵直到该临时SD业务量矩阵的适应度函数在给定容差范围内满足约束,并且选择与最小值对应的SD业务量矩阵作为潜在的SD业务量矩阵的模拟退火(SA)算法处理器,其中该潜在的SD业务量矩阵被发送回业务量矩阵产生器以便用于为随后的时间步骤产生新的起始SD矩阵。
有利地,本发明不要求关于业务量的假定,即,允许用户以简单的方式指定关于网络和业务量流的先验信息。
此外,本发明不仅仅提供了每个元素的点估计,而且提供了对所有可能性的概率分布,因此该可能性的变化和在不同链路上的业务量之间的相关性可以被估计。
附图简述从下面对优选实施例的更详细描述,本发明的前述和其它目标、特征和优点将变得明显,正如在附图中所示,其中

图1是用来图示本发明的一个网络的简单示例;图2是展示在图1网络中当前建立的连接的示例的源到目的地(SD)矩阵;图3a是具有图2中的源-目的地连接的图1中的网络配置的链路业务量表;图3b明确展示了对于图2的SD矩阵来说在图1网络的每一链路上由每个连接遵循的路径;图3c示出了对于图2的SD矩阵来说图1网络的链路连接表;图4展示了图1网络的SD矩阵,其中的连接数待定;和图5示出了根据本发明对业务量矩阵估计(SATME)系统的模拟退火的框图;本发明的详细描述在待审的USSN(美国专利序列号)10/962,488中描述了使用在冶金过程中的模拟退火算法,并且这里可以更详细地引用该算法。
本发明的主要思想是为了产生表示为概率分布的业务量矩阵估计而使模拟退火算法适用于通信网络。该解决方案的优点在于它不需要对业务量进行假定(即它允许用户以简单的方式指定关于网络和业务量流的先验信息),并且估计矩阵能够估计在所有可能性上的变化以及在元素之间得相关性。
以与通常的模拟退火过程不同的方式来使用根据前述申请的SATME(用于业务量矩阵估计的模拟退火)方法。
主要的不同在于该模拟退火算法决定目标函数的(接近)最佳解,而业务量矩阵估计所需要的是在满足一组给定约束的该组的所有可能表格上的均匀分布。要求在各个可能性上的均匀分布的原因是为了不偏离潜在的答案。由于存在许多可能的满足给定链路数的业务量矩阵,所以由直接应用该SA算法所提供的单个答案是不精确的。在理想情况下,本方法应该提供最似然业务量矩阵,以及对它的变化的一些度量。由本发明所提供的信息来计算这些都是可能的。
正如所知的,增加到该SA算法的另一个改变是使用约束。根据本发明,用户所知的关于网络业务量的信息被明确编码作为约束。该约束被编码为目标函数(或者能量)的各分量,随后使用模拟退火来将其最小化。使用根据本发明的方法,可以包括任何形式的任意约束,通过不收敛于0的目标函数可以诊断出不存在可行解的情况。
图1示出了用来说明本发明的网络100的简单示例。这个网络具有五个节点N1-N5,其通过所示的链路10,12,14,16,18和20来连接。更具体地,由于业务量是双向的,因此将索引与指示某一链路的参考标记相关联以便也表明方向。因此,对于在节点N1和N2之间的链路来说,1012用于从节点N1到N2的方向,并且1021用于从节点N2到N1的方向。这里术语‘连接’用于端到端(源到目的地)业务量,并且这里使用字母C加上连接的节点号来指示它。例如,在节点N1和N5之间的连接被表示为C15。
可以沿着多个路径来路由一个连接。例如,网络100可以沿着由链路1021,1223和1434组成的路径来路由始于节点N1并且目的地为节点N4的业务量(即连接C14),或者沿着由单独的链路1614组成的路径。通过网络使用的路由算法来选择连接的路径(也称为端到端路由)。由于大多数网络使用最短的路径算法,在上面的例子中将沿着链路1614来路由N1-N4业务量。
图2是连接表,也称作源到目的地(SD)表(或矩阵),其展示了一个当前在图1的网络100上在节点N1到N5之间建立的所有连接的例子。可以看出,这些连接都是双向的;例如,从节点N1到节点N5(C15)的连接数是4,从节点N5到节点N1(C51)的连接数是5。在最后一栏中给出了离开各节点(出连接,outgoing connection)的连接的总数,并在该连接表的最后一行中给出了由各节点接收的连接(入连接,incoming connection)的总数。在该例子中,由节点N1开始了19条连接,并终止20条连接。
图3a是一个链路业务量表,展示了假设该网络使用了最短路径路由算法的情况下,网络100如何路由这些连接(沿着哪个特定的链路)。对于图2给出的例子,链路1012承载13条连接,也就是5条C12连接(在N1和N2之间),4条C13连接(在N1和N3之间)和5条C15连接(在N1和N5)。作为另一个例子,链路2035承载了23条连接,也就是4条C15连接(在N1和N5之间),7条C25连接(在N2和N5之间),5条C35连接(在N3和N5之间)和7条C45连接(在N4和N5之间)。
链路业务量表的最后一列给出了沿着链路在一个方向上的连接总数,包括旁路连接和由一个节点起始的在各个方向的连接。该最后一行给出了进入节点的连接总数,包括该节点的其它方向的连接和那些转发到其它节点的连接。这些数字在此称作“链路数”。
网络100的拓扑(参见图1)和最短路径路由意味着业务量沿着这些路径,如图3b所示那样。例如,连接C51由通过从节点N5到节点N3(沿着链路2053)、从节点N3到节点N2(沿着链路1232)和从节点N2到节点N1(沿着链路1221)的路径实现。
将该信息“转换”就提供了在每个链路上流通着什么的业务量,这在图3c中示出。该表实际上还提供了使用各链路的源目的地对(连接)。
如上面所讨论的那样,在现代网络中可以得到链路数信息;但是,不能获得源到目的地的信息。根据本发明,通过将SA方法应用于链路业务量矩阵问题,这些链路数被用于建立源到目的地业务量矩阵。换句话说,根据本发明的方法开发SA的能力以探测约束空间的区域。
由于存在可以产生图3a所示的链路数的许多可能的源到目的地业务量矩阵,可以使用各种可能性的分布的一些特性来限制解的数量。具体来说,本发明使用多个约束作为罚分(penalty),然后并寻找最小化罚分总数的解。同样,存在满足这些约束的许多解,实质上寻找的是在所有这些可能性上的均匀分布。
图4显示了图1的5节点网络的SD矩阵,其中的连接数量将被确定;他们用具有下标的字母’m’来表示各个源目的地节点对。比如,m54代表节点N5和N4之间的连接的数量。这种思想就是按照特定的方式使用SA算法同时也使用表示问题的各种分量的约束来确定SD矩阵(原始SD矩阵)的元素。
这些约束被分为两类,也就是硬(绝对)和软约束。硬约束是最重要的约束,其解释了在每个入点或出点所看到的实际业务量(分组数和字节数),也就是作为链路业务量的观测值的链路数。其它硬约束代表了路由规则,例如最短路径路由或任何预先指定的路径。软约束例如可以代表有关网络的先验知识,例如典型服务为其它链路的业务量的两倍的具体链路。
为了阐明根据本发明SA的应用程序如何工作,再次结合图3a的链路业务量表使用图1的示例网络。任何网络的第一绝对约束都是没有连接在同一节点发起和终止。对于该特定例子来说(5个节点),该绝对约束表示为如下m11=m22=m33=m44=m55=0在图3a的例子的情况下,下面的绝对约束从每个链路的连接总数得出。
离开节点N1的总业务量为19离开节点N2的总业务量为39离开节点N3的总业务量为60离开节点N4的总业务量为22
离开节点N5的总业务量为21到达节点N1的总业务量为20到达节点N2的总业务量为38到达节点N3的总业务量为51到达节点N4的总业务量为29到达节点N5的总业务量为23上述绝对约束必须得到满足,因此与违反这些约束就会受到非常高的罚分。对于该表,可以添加一些很“软”约束,即,具有较小罚分的约束。例如,让我们假设链路1012上的业务量与链路1443上的业务量相同。
m12=m43与绝对约束相结合,这给出了下面可以用来确定SD矩阵的元素的等式。
A.绝对约束m11=m22=m33=m44=m55=0m12+m13+m15+m14=19m21+m31+m51+m13+m15+m23+m25+m24=39m31+m32+m51+m52+m34+m54+m15+m25+m35+m45=60m41+m42+m43+m45=22m51+m52+m53+m54=21m21+m31+m51+m41=20m12+m13+m15+m31+m32+m51+m52+m42=38m13+m15+m23+m25+m43+m45+m51+m52+m53+m54=51m14+m24+m34+m54=29m15+m25+m35+m45=23B.并且,上面例子的软约束是m12+m13+m15=m43+m45下面,对违反这些约束的情况分配权重(罚分)。较大的罚分分配给上面在A下列出的绝对约束,假设p1=100;并将较小的罚分分配给B下面的软约束,假设p2=25。
这些约束用来建立适应度函数f(m),然后使用SA算法该适应度函数被最小化的。本发明提出了一种构成为加权平方项总和的目标函数。所述绝对约束被作为在各个方向的已知链路总数(来自链路业务量表)与当前估计链路总数(估计矩阵的各元素m的总和)之间的差引入。所述软约束也被根据他们所分配的权重被考虑。
下面,选择起始SD业务量矩阵,用X0表示。该初始矩阵的元素(xij)被统一选择为最小值(Xij)=min{离开节点Ni的总业务量,到达节点Nj的总业务量}接着计算所提出的这一矩阵的适应度函数,这里表示为f(x0)。现在,均一地挑选该矩阵的元素,即,使用标准随机序列产生器,以相等的概率选择每个元素。然后随机增加或降低该元素。例如,如果当抛一个硬币时,硬币人头朝上,那么就给所选择的元素加1,否则就减去1。
这种变化导致了随机修改SD业务量矩阵y,对于该矩阵再次计算适应度函数f(y)。
如果f(y)<f(x0),那么设置x1∶y如果f(y)>f(x0),那么产生在0和1之间的均匀随机数“r”。
y,如果r<min{1,e(f(y)-f(xn-1))/h(n)Xn=xn-1,其他情况在USSN10/962,488中描述的SATME技术中,该过程被迭代很多次,并且当适应度函数接近0时,这就意味着该系统已经达到了稳定状态。为每次连续迭代获得的中间矩阵称作临时SDF业务量矩阵。相应于稳定状态的临时矩阵xn被接受作为满足所有约束的潜在SD业务量矩阵。
本发明,在此已知作为FastSATME,表现出了在SATME技术上的改进。FastSATME运行在一系列时间步骤上。在第一时间步骤,FastSATME的运行完全与SATME相同,因此,在该步骤,没有时间节省。在后续时间步骤中,在时刻t的业务量矩阵的估计基于时刻t-1的估计,并且事实上,每个步骤从时刻t-1的可用信息起始的事实使得FastSATME比SATME快得多。然而,由FastSATME产生的估计与SATME产生的估计并不相同,因为FastSATME在时刻t产生以时刻t-1的业务量矩阵为前提条件的业务量矩阵估计,而SATME产生不基于任何条件的估计。这潜在地使得FastSATME很适应于变化的业务量条件。
具体来说,该算法如下那样进行工作。
//初始化运行SATME,以初始业务量矩阵开始使得每个元素在可能性范围上均匀分布(即,在0与其行和列的总数的最小值之间)∥继续操作在时刻t,运行SATME,不是使用均匀矩阵作为起始点(如在SATME中那样),而是使用在时刻t-1确定的矩阵中的一个作为估计的一部分(随机地均匀选择)。
注意对于适应度函数以及对于SA函数来说,代码与SATME中的相同,而不是修改SATME以返回在给定容差内满足约束的矩阵,不同于结束矩阵的适宜度(fitness)。差别在于如何使用他们。使用SATME,该解的一次叠加类似于如下这样startingMatrix=Table[Random[Integer,{0,100}],{i,1,5},{j,1,5}];//从没有信息起始endingMatrix=SA[startingMatrix,50000,0.5,0.9995,1];而在FastSATME中,将是endingMatrix=SA[endingMatrix,1000,0.5,0.9995,1];//从最后的迭代结果开始注意在FastSATMFE中,需要少得多的数量的迭代就能实现收敛。因此,在该例子中,FastSATME使用1000次选代,而不象SATME那样需要50000次迭代。因此,FastSATME比SATME快得多,并使用随着时间而获得的知识来增加精确度,使其更适应于变化的业务量条件。
图5显示了用于产生一组潜在SD矩阵55的本发明的系统。该系统包括SD矩阵产生器50,随机数产生器51,适应度函数计算单元52,SA算法处理器53,序列产生器54。SD矩阵产生器50基于已知的链路数和已知的网络结构(节点数量和节点之间的链路的数量)产生具有均匀选择的最小值的元素的起始矩阵x0。适应度函数计算单元52为传送给它的矩阵计算适应度函数。在此情况下,它为起始矩阵计算起始适应度函数f(x0);如上面所指示的那样,使用加权绝对和软约束计算f(m),并将其传递给处理器53。
总之,本发明的主要思想在于采用一种模拟退火算法来提供业务量矩阵的估计,其表观为一种概率分布。这完全是在初始步骤中完成的,此后,后续步骤基于前一步骤的估计来执行增加估计。这种技术比原始的SATME技术具有优点,例如提供了更快的估计,并更能适应于变化的业务量条件。与其它现有技术相比本方案与SATME所共有的优点在于不需要有关业务量的假设(即,允许用户以简单的方式指定有关网络和业务流量的先验信息),并且估计矩阵使得能够估计在所有可能性上的变化以及各元素之间的相关性。
FastSATME提供了一种更快的方案,在抽样试验中,其仅仅需要SATME的计算时间的大约2%(初始化之后)。
虽然本发明的特定方面已经得以描述和展示,但是很明显,对于本领域的熟练技术人员来说,在不脱离基本概念的情况下,可以引入多种变化。然而,应当明白,这些改变都将落入由所附权利要求书所定义的本发明的全部范围内。
权利要求
1.一种基于给定链路数估计通信网络的业务量矩阵的方法,包括步骤a)为各个网络建立适应度函数;b)产生起始源到目的地(SD)业务量矩阵,并为该起始SD业务量矩阵计算适应度函数的起始值;c)修改所述起始SD矩阵以获得随机修改的SD业务量矩阵,并为所述随机修改的SD业务量矩阵计算所述适应度函数的当前值;d)选择相应于所述起始值和所述当前值的较小值的SD业务量矩阵作为临时SD业务量矩阵;e)使用模拟退火算法改变所述临时SD业务量矩阵,直到该临时SD业务量矩阵的适应度函数在给定容差内满足约束;f)选择在步骤e)中估计的临时SD业务量矩阵作为潜在的SD业务量矩阵;和g)在随后的时间步骤中重复步骤b)到e),其中步骤f)的潜在SD矩阵是起始SD矩阵。
2.根据权利要求1的方法,其中步骤a)包括识别表达实际网络结构和链路数的适应度函数的绝对约束,并为每个绝对约束分配硬罚分;基于业务量模式为所述适应度函数建立软约束,并为每个软约束分配软罚分;转换各个链路的每个约束作为所述适应度函数的元素;和计算所述适应度函数作为加权元素的和,其中每个权重代表软约束或硬约束。
3.根据权利要求2的方法,其中所述软罚分小于所述硬罚分。
4.根据权利要求2的方法,其中对于所述网络的每个链路来说,所述绝对约束包括各个链路的链路数。
5.根据权利要求2的方法,其中所述软约束包括指定的业务量模式。
6.根据权利要求4的方法,其中所述适应度函数的每个元素是使用距离函数计算的。
7.根据权利要求6的方法,其中所述适应度函数的每个元素被计算为一个或多个观测值与各自链路数之间的差的平方,所述观测值解释了根据在所述网络中使用的路由协议使用各链路的所有路由。
8.根据权利要求1的方法,其中步骤b)中的起始SD业务量矩阵的元素被统一选择为最小值(Xij)=min{离开节点Ni的总的业务量,到达节点Nj的总的业务量}。
9.根据权利要求8的方法,其中步骤c)包括统一选择所述起始业务量矩阵的元素;以预选的整数随机增加或减少所述元素的值。
10.根据权利要求9的方法,其中所述预选整数是1。
11.一种用于估计通信网络的业务量矩阵的系统,包括用于基于网络结构数据和针对所述网络的每个链路收集的链路数产生起始SD业务量矩阵的源到目的地(SD)业务量矩阵产生器;用于随机改变所述起始SD业务量矩阵以获得随机修改的SD业务量矩阵的随机数产生器;用于为所述各SD业务量矩阵确定起始适应度函数和更新的适应度函数,并选择相应于所述起始值和当前值中的较小值的SD业务量矩阵作为临时SD业务量矩阵的适应度函数计算单元;和用于改变所述临时SD业务量矩阵直到该临时SD业务量矩阵的适应度函数在给定容差内满足约束,并选择相应于最小值的SD业务量矩阵作为潜在的SD业务量矩阵的模拟退火(SA)算法处理器,其中所述潜在SD业务量矩阵被送回所述业务量矩阵产生器以用于产生新的起始SD矩阵以用于随后的时间步骤。
12.根据权利要求11的系统,其中所述适应度函数计算单元基于约束计算所述适应度函数。
13.根据权利要求11的系统,其中所述适应度函数表示为加权元素的和,其中每个元素针对各自链路转换一个约束。
全文摘要
FastSATME方法和系统使用模拟退火算法估计源到目的地的业务量矩阵,所述业务量矩阵估计表示为在满足一组给定约束的所有可能的一组矩阵上的概率分布。所述约束明确地将用户所知道的网络业务量的信息编码为目标函数(适应度函数)的分量,并使用模拟退火使其最小化。使用根据本发明的方法,可以包括任何形式的任意约束。FastSATME工作在一系列的时间步骤上。除了后面的时间步骤之外,在第一时间步骤,FastSATME与SATME的操作相同,在时刻t的业务量矩阵的估计基于t-1的估计。
文档编号H04L12/54GK101013955SQ20061006443
公开日2007年8月8日 申请日期2006年12月19日 优先权日2005年12月19日
发明者P·拉比诺维奇, B·麦克布赖德 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1