时,跳数捕获在线路上传输比特时可能遍历的网络 设备的数目。如果链路不具有中间路由器或交换机,那么链路上的跳数可以是'1' ;否则, 可以是某个大于'1'的数字。
[0082] 可通过分解设计出分散迭代算法来求解联合提供路由和存储能力的优化问题。 应注意在(B1.3)至(B1.7)中描述的线性规划(LP)中,变量和4可因约束(B1.4)和 (B1. 5)而耦合。求解此类优化问题可能对于数目庞大的内容而言非常具有挑战性,即使具 有最先进的商用LP求解器。为了克服这个挑战,可在约束(B1. 4)和(B1. 5)下使用拉格朗 日松弛算法(LR)。这些约束可分别使用拉格朗日乘子a和k彡0合并到目标函数 中。随后可将联合提供路由和存储能力的多变量优化问题分解为多个子问题,每个内容对 应一个子问题,如下所示并且在本文中表示为:
[0086] 约束(Bl. 1)和(B1. 2)
[0087] 拉格朗日乘子a> 〇和k多〇可被视作违反相应约束的惩罚值。应注意在目 标函数(Cl. 1)中,项(-SiCtA-SkekSk)不影响最优解。假设Le(ai,f3k)是每个内容c 和给定拉格朗日乘子的(C1.1)的最优值,那么接下来可能需要求出apf3k的值以求解函 数L(ai,f3k) =SfUi,f3k)的最大值。应注意,拉格朗日函数相对于ajP0 k的梯度 可如下表示为:
[0088]
[0089] 可通过本文所示的以下迭代处理更新变量\和k以求解2f3k)的最 大值,其中在每次迭代中,T+1。
[0090]
[0091]
[0092] 假设选择了合适的步长0JT),02(t),可通过迭代更新变量ajPk以及 (Cl. 1)至(Cl. 3)中LP子问题的解求出最优解。基本算法可如下表示为:
[0093]
[0094] 现有技术中具有良好性能的步长规则可如下表示为
[0095]
[0096] 在此方法中,可基于当前解信息在每次迭代中调整步长。此时,U可表示在 当前迭代中联合提供路由和存储能力的初始优化问题的最佳上限(例如,所有先前迭 代的最小上限),例如在(B1. 3)、(B1. 4)、(B1. 5)、(B1. 6)和(B1. 7)中表示。此外, \可以是相对于拉格朗日乘子a1和k的子梯度,迭代t处的这两个乘子的分量由
给出。另外,X可以是范围为〇 <A< 2的收 敛控制参数。算法收敛结果的详情在现有技术中熟知。LlajT),0k(T))是最优值下 界可能非常明显,这样可为每个内容保持最佳下界,表示为V,该最佳下界可通过(C1. 1)、 (C1. 2)和(C1. 3)中给出的公式来求解。可能需要识别表示为u的最优值上限直至相对间 隙足够小。在此类情况中,当前上限可被视为适当地接近最优值。在算法未在某些迭 2A~~°V 代之后收敛的情况下,很难通过由IT表示的间隙确定当前上限距离最优值有多远。
[0097] 应注意,在每次迭代中,通过线性规划求得的(Cl. 1)、(C1. 2)和(C1. 3)中子问题 的解可能相对于约束(B1. 1)、(B1. 2)和(B1. 6)是可行的,但是可能相对于约束(B1. 4)和 (B1. 5)不可行。因此,可能需要将当前迭代的当前下界解调整为一个新的可行解以满足约 束(B1. 4)和(B1. 5)。一旦完成,调整后的解可用作上限解,并且可计算(C1. 5)和(C1. 6) 中使用的步长。可重复迭代过程直至间隙足够小或者达到最大迭代次数。
[0098] 为了找到调整后的可行解并且识别上限,可采用所示的包含用于求解大规模线 性规划的快速近似算法的指数势函数。还可考虑其它算法来更新缓存变量使得满足约束 (B1.5)。然而,在当前的方法中,势函数〇(y,z)分别与约束(B1.4)和(B1.5)关联:
[0099]
[0100] 使用势函数的一个原因可能在于假设参数a设置为一个合适的足够大的数值时, 当变量yf:和违反相应约束时,势函数将取大值。选择收敛参数a的方法在现有技术中熟 知。为了获得可行解,如果当前解违反了任意约束,那么可能需要简化势函数。假设该问题 可行,那么通过迭代简化势函数〇 (y,z)最终可在约束(Bl. 1)、(B1. 2)和(B1. 6)下发现可 行解,该势函数是相对于'yf琍4啲凸函数。
[0101] 可采用最速下降方法来降低势函数〇并通过将解插入(Cl. 1)、(C1. 2)和(C1. 3) 下求出的目标函数获得调整后的可行貞
如果迭代限制i处的当前解为
弭么可能需要找到当前解的最速下降方向。方向倒数随后可表示为:
[0104] 接下来,可找到最小化线性目标的方向,其中q是向量变量。具体而言,该 问题可如下表ZK为:
[0105]
[0106] 满足约束(Bl. 1)、(B1. 2)、(B1. 6)、(B1. 7)。
[0107] 如果対(0and1|(〇是上述问题的最优解,那么下一步骤可能是找到最优步长, 使氣.h
.,直在区间ne[0,1]内最小化势函数,如下表示并且在本文中
表示为:
[0108]
[0109]
[0110] 众所周知,序列)f(i+i)and4(f+ 1)将收敛到多项式步数中的e可行解,除非 初始问题不可行。e可行解意味着,保证e可行解满足含(l+dCianda+dSk的松弛约 束,而不是满足初始约束(:1&11(151;,其中e是任意小的正数。因此,可获得上限的合适近似 值,表示为
可能需要许多迭代以在势函数中使用最速下降方法收敛合适 的上限,这样可使上述方法变得不太可取。基于数据流的当前解满足存储约束(B1. 5)的一 个替代性方法可以是启发式方法。
[0111] 应注意,约束(Bl. 1)可被重写关
. 对于给定的屯+&esar(lr)yf,当zf= 1时可能出现&的最小值。如果z| =11,那 么可剔除针对内容C的流往节点k的冗余传入流量。这可显示当节点k的存储已满时,可 能最好保留霜较大的内容,因为通过保留此类内容,与具有较少传入流量的内 容相比,可消除更多冗余流量。因此,在上述迭代算法中,如果从子问题(Cl.l)、(C1. 2)和 (C1.3)求得的当前下界解不满足约束(B1. 1),那么可剔除值较小的内容直至 满足约束(B1.1)。基于缓存变量的当前值,通过将视为一组给定参数使用当前的a >f求解(Cl. 1)、(Cl. 2)和(Cl. 3)下的子问题。此外,如果相应的对象值小于当前上限,那 么该对限制可用作上限。随后,可使用当前最佳上限来更新步长(C1. 7)以求解初始问题。
[0112] 前述的TE公式可以是表示算法。表示上限算法的一种此类算法可设置如下:
[0113]
[0114] 图2是显示用于在C0N中联合提供路由和存储的TE过程200的一项实施例的流 程图。在202处,例如如上所述可用公式表示新的流守恒约束,例如(B1.1)。在204处,例 如如上所述可用公式表示新的聚合流守恒定律,例如(B1. 2)。在206处,例如如上可用公式 表示C0N的TE,例如(B1. 3)至(B1. 7)。在208处,例如如上所述过程200可对MLU、BCP、 BHP和/或最大带宽等TE目标进行求解。在步骤210中,过程200可通过使用迭代更新的 拉格朗日乘子,例如\和k,在每次迭代中调整步长,例如(C1. 7),以及收敛确定的最佳 下界,例如V,和确定的最佳上限,例如u,以产生足够小的相对间隙,例如间隙^来迭代求 解优化子问题,例如(Cl. 1)至(C1. 3)。在步骤212处,数据可存储在节点上,例如图1B的 节点104B。如果节点存储已满,那么过程200可优先存储值较大的内容并删除 名__yf值较小的内容。
[0115] 在以下四个PoP级网络拓扑上进行对比模拟:一级ISP(ISP-A);北美国家教育网 络(ISP-B);亚洲一级ISP网络(ISP-C);南美一级ISP网络(ISP-D)。这些模拟利用离散事 件模拟器来研宄提出的算法并与替代性算法作比较。假设所有节点具有路由和存储能力。 假设每个源与随机节点连接,该节点具有一条每秒10吉比特(Gbps)的上游接入链路。模 拟用户通过每秒100兆比特(Mbps)的双向接入链路随机分配并连接至节点。默认为每个 节点提供相同的存储容量,约等于所有内容总和的〇. 1 %。遵循指数为s= 0. 8的Zipf分 布分别为每个节点生成对这些内容的请求,并随后将这些请求分配给该节点的客户端。
[0116] 使用启发式方法(如上所述)进行模拟以找到迭代算法中的可行上限。在步长选 择中,开始时将收敛控制参数设置为2,例如1 = 2,随后如果下界在三次连续迭代中未得到 提高那么将参数值减半。每次实施时