专利名称:使用源路由探测的端到端服务质量的制作方法
技术领域:
本发明 一般涉及组网和网络管理领域,特别是涉及监控网络服务 和评估服务质量。
背景技术:
低开销的网络探测在最近引起了研究活动的骚动。 一个名为ID 图项目的研究项目产生了因特网的等待时间图,从中可得到任一 随机 路径的等待时间。但是,由于实际上只监控较少的路径,因此,在估 计任一随机路径的等待时间时可能出错。 一个重叠网络设置找到了监 控的最小路径集,由此可推断所有路径的行为。 一个现有的解决方案
是计算可覆盖网络中特别关注的链路的最小成本多播树集。
用于选择探测站的算法最近已提供,以便覆盖所有链路并计算每 个站必须传输的最小探测路径集,由此可测量每条链路的等待时间。 但是,探测路径经从探测台的可用因特网协议(IP)路由计算得出。探 测路径设计的问题一直在假设本地灵活性的情况下考虑。探测路径可 选择为当前IP路由或者直接邻居的当前IP路由之一。有效的探测节
点(称为信标)布置策略提供了即使在IP路由存在动态性时判定性地监 控所有网络链路所需的探测节点最小数量。
探测路径和探测节点位置上的所有这些现有工作一直集中在作为 可能探测路径的IP路由上。需要集中在显式路由探测分组上。 一个工 作研究了在将探测业务造成的开销最小化的同时通过显式路由分组 探测测量路径等待时间的问题。但是,探测分组需要从网络的中心点 始发。需要集中在探测路径设计上的链路覆盖算法。这与现有网络不 同,探测路径可选择(源路由)为从网络中任意给定终端节点集始发和
终止。此新问题设置引起了以下问题(l)如何定义探测;(2)如何找到 覆盖给定边集的最小成本探测集;以及(3)在探测数量与探测成本之间 的折衷是什么?
发明内容
现有技术的各种缺陷通过使用源路由探测实现端到端服务质量的 系统和方法的本发明各种示范实施例而得以解决。
一个实施例是一种用于网络监控的方法。在接收网络拓朴、选定 边集及终端集后,确定具有从该终端节点集始发和终止的探测路径的 探测集。这些探测路径覆盖该选定边集,同时将成本最小化。此方法 提供能够测量端到端服务质量的所述探测集。另一个实施例是存储执 行此方法的指令的计算机可读介质。另 一个实施例是用于网络监控的 系统,包括处理器和软件组件。处理器包括操作系统和至少一个存储 装置。软件组件在处理器上执行,并执行此方法。
通过结合附图考虑以下详细说明,可轻松理解本发明的示教,其
中
图1是示出链路覆盖问题的示例的方框图; 图2是定理2证明的示例图示; 图3是辅助定理2证明的示例图示;
图4是描述如何找到具有探测最小总成本的探测集的算法示范实 施例的伪码编排;
图5是用于最初链路覆盖问题(PLP)的算法示范实施例的伪码编
排;
图6是用于PLP的算法链路覆盖中合并的方法示范实施例的伪码 编排;
图7是用于双链路覆盖问题(DLP)的链路覆盖的方法示范实施例
的伪码编排;
图8是表I,示出用于不同因特网服务提供商(ISP)拓朴上最小成 本链路覆盖问题(LCP)的多项式时间算法示范实施例仿真结果;
图9是表n,示出用于Telestra拓朴最小成本链路覆盖问题(LCP) 的多项式时间算法示范实施例仿真结果;
图IO是表III,示出2近似PLP算法示范实施例的仿真结果;
图11是示出在Telestra拓朴中探测最大成本与终端数量之间示范 关系的图表;
图12是示出在示范仿真中网络中边总数与探测总数关系的图表;
以及
图13是示出计算机的高端方框图。
为便于理解,在可能之处使用了相同的标号以指定图形中共有的 相同要素。
具体实施例方式
本发明将主要在示范实施例的通用上下文内描述,实施例包括用 于使用源路由探测实现端到端服务质量的系统和方法。但是,本领域 且了解本文示教的技术人员将i人识到,本发明一般适用于任何网络、 任何网络协议和任何种类的探测。边和链路在下面的说明中同义使 用。
筒介
支持收敛因特网协议(IP)网络上的实时服务和应用的新兴需要促 使服务提供商监控网络范围的服务性能和服务可用性。除具有充足的 容量以支持所需吞吐量外,服务性能也取决于由于路由选择而产生的 影响,如再收敛时间和服务中断持续时间。因此,网络服务的性能和 可用性不但取决于可用带宽,而且取决于路由器和控制平面设计。评 估网络损害对服务的影响可通过端到端探测而得到最好的执行,该探
测可模仿在监控的特定服务的行为。这些端到端探测可跟踪重要性能 参数的变化,如网络延迟和损失。端到端探测属于主动探测的通用类。
当前测量方法,即依据基于标准的简单网络管理协议(SNMP)的轮 询或链路层测量的那些方法,无法用于为网络服务建才莫。SNMP只提 供以装置为中心的性能视图,而诸如基于问候分组的那些度量的链路 状态度量只可用于检测链路故障/可用性。不同于采用端到端探测,这 些方法均不可直接用于测量端到端延迟、损失和这些性能度量对服务 质量的影响。围绕端到端网络探测部署有许多问题。 一个示范实施例 是用于最佳探测部署算法的设计,来检测通过为特定服务供应的IP 路径的服务质量恶化。例如,话音IP(VoIP)探测设计为监控严格的端 到端延迟和损失要求。
有不同类型的端到端探测机制诸如pathchar的单分组方法、分 组对系列、IP管理协议(IPMP)和因特网控制消息协议(ICMP)。 Pathchar 用于经分组序列从连续路由器的往返延迟来估计链路带宽。分组对方 法可用于估计可用带宽或^f瓦颈链路速率。使用这两种技术获得端到端 测量要求测量的数据与从路由追踪获得的拓朴信息相关。
IPMP用于测量单向延迟,并设计为克服分组探测的一些限制。 EPMP协议组合了路径和延迟测量,因而减少了对与路由追踪测量相 关的需要(即,路径信息从由路由器填充的IPMP分组中的路径记录字 段确定)。在克服pathchar限制、基于用户的路径诊断方法中, 一个流 的两个终端用户协作以查找影响其流的性能故障。
用户不利用任何特许网络信息,而是利用诸如ICMP等分组对技 术。但是,在诸如各个路由器中IPMP和ICMP等探测分组受到的对 待取决于用于封装探测分组的协议。网络可将此探测业务与普通服务 业务以不同的方式区分优先顺序。
因此,任何带外(非端到端)且看上去不象应用业务的主动测量方 法可能遇到与服务业务相比不同的网络条件。因此,它无法用于测量 服务质量。带外网络测量方案的一个示例是识别故障和恶意路由的方
案。在该方案中,目标是安全地跟踪现有业务的路径,从而通过以不 同于普通业务的方式对待专用3各由追踪分组而防止恶意路由器来误
导它们。
一个示范实施例;U艮务监控框架,该框架包括设计为才莫仿不同网
络业务(例如,VoIP和视频点播)的源路由探测。使用完整的网络拓朴 知识,服务提供商可有效地选择覆盖关注边集的MPLS探测路径,从 而减少总探测业务。这称为链路覆盖问题。以某一预定频率沿计算得 出的探测路径发送服务特定探测,并检查在端到端延迟或损失度量方 面其违例情况。基于遇到性能恶化的探测路径,可在链路普通集上启 动恶劣链路检测算法以隔离对性能恶化恶化有影响的链路。源路由探 测提供探测测量与相关联链路之间的确定性对应表。因此,由于不准 确的路由追踪数椐(由于瞬间拥塞原因)及在IPMP中路径记录字段的 限制,可避免相关问题。
通常,此框架假设大多数链路具有良好的运作性能,并且一个目 标是识别可能遇到性能恶化的少数链路或节点。此方案可大大减少网 络上的总探测负栽。端到端探测设计的一个实施例假设完全了解拓 朴,并且需要网络支持以实现源路由机制,如MPLS。
与配置主动网络探测有关的两个主要问题通过示范实施例同时提 出(1)减少探测业务量和(2)将配置探测的成本最小化。探测配置成本 可根据终端成本(例如,安装形成探测终端的软件)及路径成本(即,使 用特定链路的容量成本)而得到。
链路覆盖问题可表达为组合图形问题,其中设计了可覆盖特定关 注边集的探测集,并且每个探测是基本探测(即,遍历中间节点不超过 一次)。我们的最小总成本探测路径设计通过使用一种贪婪方案而获 得。这是一种多项式时间算法,并且是基于为要覆盖的每个边获得最 小成本源-目的地路径的想法。算法生成无环路的探测,并产生了具有 最小总成本的探测集。考虑了链路覆盖问题的两种变型。 一个变型是 将任一探测的最大成本最小化,同时保持探测总数为小于或等于k。
另 一变型是将探测数量最小化,同时保持任何探测的最大成本为小于
或等于/max。这两种变型是NP难解(NP hard),并且示范实施例包 括用于它们的2近似算法。
示范实施例包括多项式时间算法及2近似算法,它们经仿真从称
而得到评估。每种情况下的评估标准为(1)所有探观:的、总成本;(2) 在探测总数固定时探测的最大成本;以及(3)探测的平均成本。
评估示出,在探测终端集选择为骨干节点时,算法示范实施例执 行极其接近最佳解决方案。探测终端是探测开始和结束的节点。正如 本领域的技术人员熟知的一样,探测已设计为从覆盖图形所有边的中 国邮程得到的那些路径(巡回)。但是,在该解决方案中部署的探测有 环路,这使得解决方案更冗长,需要环路检测方案和使用探试法来消 除环路。环路消除对于探测的实际实现是一个必要步骤。 一个示范实 施例是一种方法,它通过查找只是基本路径(巡回)的探测,即,探测 路径从不和转接(中间)节点相交超过一次,明确考虑消除环路。
动机和问题>^式化
实时监控网络性能和服务可用性要求测量端到端延迟、分组损失 和服务质量的测量技术。服务特定探测是主动探测,在一个实施例中, 它们密切4莫仿服务业务,以便它们从网络得到与实际服务业务相同的 对待。在一个实施例中,源路由探测也冲莫仿不同的网络服务。源路由 探测要求完全了解网络拓朴。与恶劣链路检测算法组合在一起,可隔 离对性能恶化有影响的链路。源路由探测避免了相关问题。网络支持 可用于源路由,如多协议标签交换(MPLS)。在一个实施例中,评估网 络服务质量可通过端到端探测执行。
算法需要将总探测业务最小化,将探测的最大成本最小化,并且 将探测数量最小化。示范实施例的仿真结果指示,对于大多数ISP拓 朴,只需作为终端的5%的节点便可覆盖超过98%的边;因此,增大
终端的数量对将总探测业务降到最低不会有太大的帮助。 问题描述
图1是示出链路覆盖问题的示例的方框图100。在图1所示网络 中,有8个节点节点al02、节点bl04、节点c 106、节点dl08、 节点el10、节点fl12、节点gll4和节点h116。 Node a 102、节点b 104和节点c 106充当终端节点(图1中的加阴影圆圈)118,并且所有 其它节点(即节点d108、节点el10、节点fl12、节点gll4和节点h 116)是常规节点(图1中未加阴影的圆圈)120。图1中的虛线是探测路 径。有三个探测探测1 122、探测2 124和探测3 126。每个探测122、 124、 126将其端点定位在终端118之一,即,节点al02、节点b 104 或节点cl06。每个网络链路具有如图1中指定的成本(权重)。边(g,h) 128、 (h, c)130、 (a, d)132和(d,f)134是关注的网络链路。(术语边和 链路在本文中可交换使用。)目标是设计探测集,可覆盖所有这些关注 边,即要监控的选定边。
在此示例中,探测1 122从终端a 102开始,遍历链路(a, d) 132、 (d, f) 134并回到终端102;探测2 124从节点a 102开始,遍历链路(a, d) 132、 (d, e) 136、 (e, h) 138,并到达终端c 106。探测1 122是一个 巡回(tour)。探测3 124从终端b 124开始,经过边(b, g) 140、 (g, h) 128, 并在终端cl06结束。所有关注链路128、 130、 132、 134在这3个探 测覆盖之内。路径所有边权重的总和用于表示探测成本。探测集的总 成本为(IO + 50 + 10) + (10 + 10 + 10 + 10) + (10 + 10 + 10) = 140,并且 最大成本探测是探测1 122,其成本为70。从此示例中,链路(a,d) 134 由两个4采测(即,探测1 122和4罙测2 126)覆盖,并且其权重两次统计 到这三个探测的总成本中。探测122、 124和126可将其两个末端设 在同一终端,如探测1 122。此外,探测2 126不必覆盖所有关注边 128、 130、 132、 134。也就是i兌,探测2 126可以被删除,并且所有 关注边128、 130、 132、 134仍只由探测1 122和4笨测3 126覆盖,以
及总在本是从140减少到100。 问题公式化
一个示范实施例是链路覆盖问题的格式描述。网络建模为已连接 的无向图O(V,E), V是顶点集(表示在网络中的节点),并且E是边 集(表示网络链路);IVNi和PEhm。在G中无自环路,即,不存在从 一个节点返回到节点本身的边,并且G不必是平面图。在不引起混淆 的情况下,在图形G中,节点和顶点、链路和边可交换使用。
在每个边有一个成本函数e e五,we4R+。此函数表示在探测经 过此网络链路(边)时的探测成本。图形中的特定节点集T称为终端, T^V。 S是关注的边集,并且S^E。通常,T#0(1引Tl^n),并且S#0。 路径P定义为在V中两个节点之间的级联边集,并且这两个节点称为 路径的末端。如果路径的两个末端是同一节点,则路径也可称为巡回。 假设有一条路径P,我们使用ee尸表示路径P包舍(经过)边e的情况。 除末端节点外,路径经过的所有节点称为中间节点。通常,路径可具 有环路。环路定义为不止一次经过某个中间节点的子路径。遍历任何 中间节点不超过一次的路径(resp. tour)称为基本路径(resp.tour);也就 是说,基本路径(resp.tour)是无环路的。此外,从节点v! e F到节点 v2 e F的路径表示为力~— v2,并且路径P的成本定义为
称为探测的特定路径定义为从一个终端^ e r到另一终端G e 71 的基本路径。也就是说,探测的两个末端必须是终端。终端h和t2不 必是不同的。如果t尸t2,则探测是(无环路)巡回。强制探测为基本路 径的动机通常在于在IP网络中不允许有环路的路由。此类路径将被路 由器拒绝。因此,链路覆盖问题的可行解决方案是查找基本探测路径 集P,使得每个边e e Sfe £)被至少 一条路径尸e P覆盖。
输入实例
假定有无向的已连接权重图G=(V,E), Sg5和7^K存在从每 个边e e五到表示其成本的非负数的映射We边,we:we4R+;对于每 个边,e e 5, we 2 0。该探测路径集P定义为所有此类探测(尸=v, ~—力),v,.,力eT。对于每个边eeS,至少存在一个探测尸e P,使得 eeP。示范实施例具有可表示为以下三个子问题的优化目的最小成 本链路覆盖问题(LCP)、最初链路覆盖问题(PLP)和双链路覆盖问题 (DLP)。
1. 第一个子问题是最小成本链路覆盖问题(LCP)。在LCP中,目 标是将所需的探测总成本最小化。探测的成本根据网络上的业务负载 测量。也就是"^兌,
min 2^>epw(P) 条件为
V尸,.eP, A无环路。
2. 第二个子问题是最初链路覆盖问题(PLP)。在PLP中,目标是 将探测的最大成本最小化。探测成本可根据等待时间、吞吐量或长度 测量。也就是i兌,
miii maxpepw(尸) 其中, l尸l《A:,]
条件为
Ve e S, 3P乂.e尸,e e巧.
V尸,.eP, A无环路。 其中,k是常数,并且是可使用的探测数量上限。
3. 第三个子问题是双链路覆盖问题(DLP)。在DLP中,目标是将 探测总数最小化。探测总数反映了探测安装成本。也就是说,
min A: 其中, ] 条件为
Ve e S, 3巧e尸,e e
V尸,eP, 尸i无环路。
其中,/max是任一探测允许的给定最大成本,并且k是所需探测 数量。
算法和分析
链路覆盖问题的三个变型复杂性需要加以确定。由于LCP不是 NP难解问题,因此,陈述的是设计用于LCP的多项式时间算法和用 于PLP和DLP的2近似算法。PLP和DLP的复杂性(难度)分析如下。
为实现PLP和DLP减轻的复杂性分析
在问题公式化中,探测被强制为是基本路径或巡回。即使问题公 式化被减轻,使得探测不必是基本路径(可具有环路),但PLP和DLP 仍是NP难解。这可轻松地从最小最大k中国邮递员问题(Min-Max k-Chinese Postman Problem)(MM k-CPP)和容量限制弦路径车辆行驶 问题(Capacitated Arc Routing Problem)(CARP)概括得出。
筒单地说,S-E和T-(s)时PLP是MM k-CPP的概括,其中,s 是MM k-CPP中的补给节点。同时在我们假设S=E和T-(s〉时DLP 是CARP的概括,其中,s是补给节点,并且/皿是CARP中的车辆 容量。
最初链路覆盖问题(PLP)的NP难解度
如果探测被限制定义为基本路径(巡回),则PLP的难度无法直接 从MMk-CPP推知。
考虑以下问题,即最小最速生成调度(minimal makespand scheduling)。假定有任务集T,对于固定数量m有m个相同的机器。 每个任务f e r的完成需要时间pt,并且任何任务可在任何(相同)机器 上进行。此问题的目的是将最速生成最小化,这在此调度中是任何机
器的最大完成时间。将最速生成调度最小化的此问题已知为N难(即 使m-2),并且存在简单的贪婪政策,这导致了 2近似算法。此外,多 项式时间方案(PTAS)算法将近似比率改进到l+e。下面经从将最速生 成调度最小化问题的转换,证明了该PLP的难度。
定理l: PLP的判定型是NP难解
证明经从将最速生成调度最小化问题的转换,定理l通过矛盾 法得以证明。假定有最小最速生成调度问题的任一实例I,证明实例I, 能够构成PLP(在多项式时间中),因此,如果I,在多项式时间中满足 PLP,则I在多项式时间中满足最小最速生成调度问题的判定型。因 此,有i设存在PLP的多项式时间算法;则在多个机器上将最速生产最 小化的问题不是NP难解,这是因为它可经在多项式时间中用于PLP 的算法解出。证明细节如下。
假设有最小最速生产调度问题的实例I。有m个相同的机器和工 作集T。每个工作f er需要的处理时间为pt。现在,将实例I,构建 为PLP。在I,中,有图形G-(V,E), |Fl=2x|71 + 2。每个工作f e T 对应于图形G中的两个节点,并且在未失去一般性的情况下,每个工 作#皮视为在图形中具有左节点和右节点的工作,连接左节点和右节点 的边权重为pt。
假设有两个特定节点S!和S2。 r-(ShS2)。现在,链接S!到每个工
作左节点,并且设置链路的权重为0。也将每个工作的右节点链接到
S2,并且指定该链路的权重为0。此外,将每个工作的右节点链接到所
有其它工作的左节点,并且指定链路的权重为o。所有工作对应的边(连
接工作的左节点和右节点)组成了该关注的边集S e E。到现在为止,
创建了到PLP的实例I,,其中只存在两个终端S!和S2。将S设为覆
盖边集,并且要使用的探测数量k限制为m(kSm),其中,m是最小 最速生产调度问题的实例I中的相同机器数量。
很明显,对于此实例I,,如果可构建将探测最大成本最小化的
多项式约束算法,则假定存在k=m个探测(使用的探测越多,探测长 度就越小),可看到在实例I中属于相同探测的所有边导致在一个机器 上调度所有对应工作。有m-k个机器进行这些工作。因此,最小最速 生产调度问题的任何实例可在多项式时间中转换为PLP的实例。因为 最小最速调度问题的判定型是NP难解,因此,PLP的判定型是NP 难解。定理1成立。
下面,考虑DLP的NP难解度。DLP是PLP的补充,它们具有相 同的NP难解度。类似地,DLP的难度无法经从CARP的直接转换证 明。假设一个有典型的NP难解问题,装箱问题。假定有n个物品, 大小为a!、 a2、 ...、 an e{0,l},在单位大小的箱中找到一种将使用的 箱数量最小化的包装。装箱问题已证明为NP难解。从中推断出推论 1。
推论l: DLP的判定型是NP难解
证明推论可经从典型的装箱问题转换证明,这与定理l证明中 构成的相同,只是覆盖的边权重对应于装箱问题中物品的值。
很明显,对于此实例I,,可构成将探测数量最小化的多项式时
间算法。随后,假定存在每个探测成本小于/max,在实例I中可看到, 探测数量反映要使用的箱数量。因此,装箱问题的任何实例可在多项
式时间中转换为DLP的实例。因为装箱问题的判定型是NP难解,因 此,DLP的判定型是NP难解。推论1成立。
假定有PLP和DLP为NP难解的情况,没有解决它们的有效算法。 因此,在一个实施例中,设计了一个近似算法为它们求解。 一些以前 熟知的结果在理解算法中有用。首先,在混合图形中查找中国邮程是 NP难解。但是,存在一种有效的算法,可在无向图中计算中国邮程。 第二,存在一种有效的算法,用于在无向、已连接和非负权重图中任 意两个节点之间计算最短路径。如果边的权重允许为负值,则最短路 径问题是NP难解。第三,存在一种用于广度优先搜索或深度优先搜
索的有效算法。^使用广度优先搜索算法,可在非权重、无向图上(以线 性时间)找到更筒单的最短路径算法。基于第二和第三技术,多项式时
间算法可设计用于LCP,并且2近似算法可设计用于PLP和DLP。 算法
一个示范实施例是一种多项式算法,该算法可计算基本探测集P, 使得S中所有边由至少一条路径PeP覆盖,并且探测总成本最小化。 另 一个示范实施例是用于PLP的2近似算法。 一个对用于PLP的算法 进行少量修改的实施例是用于DLP的2近似算法。
在未失一般性的情况下,使用t!、...、化表示该终端集,并且使用 (a,b)表示连接节点a和节点b的边。节点a是该边的左节点,并且节 点b是该边的右节点。记住,在无向图中,边的左节点与右节点之间 无差别。此处,指定"左,,和"右"只是为了便于说明算法。在下文中, 最短路径(a shortest path)指在加权、无向图上的最短路径。这个最 短路径(The shortest path)指具有最小成本的探测(路径)。
用于LCP的多项式时间算法
裙甜定理h森;t^"遂^遂e:(V力v",终裙桌r、 A—个终裙i5/ f乂 w斧v2好这个處凝《^, ^谈力《,~— &, ~— 6 ^C^^^^〖巡 /^4V 財一扭婆好絲〖巡芍'这力"er, #力,,不必乂
证明在辅助定理l中所迷(发现)的这个最短路径可以不是4果测, 虽然其两端是终端,这是因为探测需要为只M本路径(巡回)。辅助 定理1的证明是直接的。首先,假定有路径f, —f^,W 4&,在f,. — 力,fV/,v^)与V2 4i^之间没有其它终端。否则,给定路径不是从给定边
fV;,V^到T中终端的最短路径。原因在于在为V!定位终端中应用了这
个最短路径算法(在非负加权图上),因此, 一旦一个终端符合V1,则 沿该路径的任一可能终端具有到V1的较短路径。如果边e的两个节点力和v2具有与其这个最短路径目的地相同的 终端,则正好将生成一个环路。辅助定理l成立。
辅助定理1用于发现只覆盖一个边的最短探测。假定有边 e=fVLv^(ee5),并且假定有终端集7^V, |7]^",则最多有llf对终端 可用作#:测覆盖边e的探测末端。此外,如果到Vl的这个最短路径4叚 定为,尸=~—力,为避免生成环路,除了 A e r以夕卜,路径v e A (v#.)
中的任何中间节点一 它们均不是终端一不可以是从V2到终端(v2
的路径中的中间节点之一。因此, 一旦发现从一个终端到Vl 的最短路径,为避免生成环路,路径中的所有中间节点V,需要删除, 并且与那些中间节点相关联的所有边E需要从图G, = (V -V,,E- E,)中 删除,其中,V,是从一个终端到v!的这个最短路径中的中间节点集, 并且E'是与那些节点相关联的边集。应用相同的过程以查找从v2到另 一终端e T的最短路径P2。很明显,如果存在此类路径,尸! —尸2, 则它是基本路径(巡回)。
需要注意挑选V!和V2的顺序。在未失去一般性的情况下,为所有
终端编索引,并且如果节点力到T中不止一个终端具有相同的距离,
则选择具有更小索引号的节点。通过此类方法,在多项式时间中固定
了为给定节点定位最近终端的过程。此外,如果无法找到P2,则不存
在包含边e的基本路径(巡回)。
现在,假定有|712对终端,可找到最多l7f个覆盖每个边e eS的基 本路径(巡回)。随后,在那些l7f个计算得出的基本路径中,确定哪个 是覆盖边e = (v;,v》的这个最短路径。选择它为指定到e的最短基本路 径。因此,在辅助定理l之后,我们具有辅助定理2。
裙磁定理i'e = fw, w 、浮裙桌r,存4戎々a & — , ~—…",g. er好處箱卩處V、成本j々差^^径矽,资^:f席岸法," 不必Z不/^好。
证明假定有终端f,. e r,存在找到从v!到ti的最小成本路径的 多项式算法。随后,从剩余图中删除路径中的所有中间节点及其相关
联的边。应用相同的算法以得到从V2到终端^. ef的最小成本路径。 最后,级联路径(巡回)(从终端到Vl的路径、边e和从V2到终端的路径) 是基本路径。在所有可行级联路径或巡回(至多l7f条路径或巡回,这
是因为V!和V2均可以是在过程中发现路径的第一节点),最小成本路 径可找到,并且它用作覆盖边(力,V2)的探测。
据称覆盖边(力,V2)的任何更短(更小成本)路径或巡回产生了环路。
假设存在更短路径,如最佳路径。它有三个部分;在未失去一般性的
情况下,假设它由从一个终端到V!的路径、边2和从V2到一个终端的
路径组成。因此,从一个终端到力的最佳路径与找到的路径相同。在 到不同终端的距离相同时,选择的终端是具有最小索引号的终端。
图3是示出辅助定理2证明的示例300。
假设有两个边要覆盖,即,e尸(力,V2)和e产(V3,V4)。两个基本路径 覆盖它们,并且覆盖e!的一条路径从终端t!开始,并在终端t2结束。 覆盖e2的另一路径从终端t3开始,并在终端U结束。假设这两条路径 在节点v相交。现在,考虑覆盖e!的路径,在它从节点v开始时,它
选择终端t2而不是终端t4作为其末端,这是因为从V到U的路径长度 大于从V到t2的路径长度。同时,覆盖e2的路径选择t4而不是t2作为 其终端,由此从V到U的路径长度短于从V到t2的路径长度。这两个 结论相互沖突。因此,假设是错误的。因此,从最短路径算法计算得 出的任何两个基本路径不可相交。
总之,如果存在从V2到 一个终端的更短路径,则该路径将与到Vl 的路径中一个中间节点相交。因此,它证明该路径不^本路径。如 果路径P!和P2共享一个边,则它们必须共享至少一个节点。从上迷 分析中,辅助定理2成立。
定理2是从辅助定理1和辅助定理2得出。
定理2: ^^^,查戎探浙襄/>好-资式'#席#法,炎存摩^义
《遂洽探浙户產j,"资^^"^《迷洽豕浙產J:^^ZpepW(P)J^/、必'
证明定理2通过直4矣从辅助定理1和辅助定理2得到的构造法
证明。辅助定理1和辅助定理2提供多项式时间过程以查找覆盖任意 给定边e的基本路径(巡回)。辅助定理1和2为查找覆盖S中所有边 的最小总成本探测提供了背景。从一个节点到给定终端的最小成本路 径可通过在无向、非负加权图上使用任何最短路径算法而计算得出。 一旦边e的探测已定位,此探测中的所有关注边便可从S删除。在上 面具有也由其它探测覆盖的关注边的那些路径中,从P删除该探测。 重复此操作,直至在集合P中不存在此类探测。这删除了覆盖所有所 需边的探测冗余。贪婪方案在每个步骤中减少了探测总成本,并且每 个新生成的探测无法由已经生成的所有证明替代。因此,应用同一过 程,查找覆盖S中剩余边的这个最短路径。重复进行,直至集合S是 空的。
随后,找到基本路径集P。 P是充当探测的路径,覆盖一个或多 个关注边。最后,上面的过程产生了在将所有证明总成本最小化中用 于LCP的多项式时间算法。定理2成立。
参照图2作为定理2证明的示例。(为清晰起见,图2中未示出所 有链路。)假定有五个边要覆盖,S!和S2只是T中的两个终端。遍历每 个边的成本示为图2中的那些成本。现在,〗艮设探测数量限为k=2, 在用于PLP的多项式时间算法中找到两个探测,即Sl ~> 10 ■> 12 — s2 和si~> 7 — 3 — 1 — 10.5 — s2, 4采测的最小成本为22。因此,对应地, 在最小最速生产调度问题中,这五个工作可最佳布置在两个相同机器 中。 一个机器在运行工作,处理时间为10, 12,另一个机器在运行工 作,处理时间为7、 3、 1和10.5。最佳最速生产为22。
图4是描述如何找到具有探测最小总成本的探测集的算法示范实 施例的伪码编排。此示范实施例是为具有顶点集V和边集E的图G 找到用于LCP的链路覆盖的算法。输入包括网络拓朴G-(V,E)、关注 边集so和已编索引的终端节点集T。对于任意两个给定节点I与r之
间的每个关注边(Vi,V》和对于属于终端集的每个终端,查找在节点1与
终端之间的最短路径。选择最近的终端,中断任何联系以有利于更小
索引的终端。查找从终端节点回到同一终端节点或另一节点,而不使 用以前使用的链路的另一路径。因此,在原最短路径中的所有中间节
点V,从图形G中删除,并且所有相关联边也被删除。随后,在剩余
图G上,查找从下一端点Vr到一个终端节点的另一最短路径,该节点 可以是相同或不同的终端节点。这样,分解链路(Vi,Vr),好象它是从任 何终端节点到力及随后从Vr到任何其它终端节点的两个最短路径问 题,确保从Vr到任何其它终端节点的路径不会使用过去使用的任何链 路以避免环路。
一旦找到每个给定边的所有基本路径,便选择具有最小总成本的
基本路径并将它表示为边e的探测Pe。从so删除所有关注边e,。标 记e并将已删除边放入单独的集合中。问题的第二部分是删除具有例 如高成本或M巨等最重加权的探测。有时,越长的探测路径比越短的 探测路径成本更高。问题的第一部分是查找无环路径,并且查找覆盖 最少成本的关注边的探测集。此示范实施例的结果是覆盖关注边并具 有最小成本的探测路径集。探测路径集能够在诸如NetProbe等网络监 控工具中使用。网络管理器可通过使用探测路径集,将探测从一个终 端发送到另 一终端。这将探测配置为通过网络发送才莫仿最小成本网络 服务的业务。
用于PLP的2近似算法
定理2的证明是构造性证明。假设发现的基本最短路径数量为k,。 如果在S中所有边的探测数量A:' £ 找到PLP的最佳解,它是在发 现的证明集中探测的最大成本。如果k'〉k,则通过合并一些探测来减 少探测数量,直至基本路径(巡回)数量为k。要合并两个基本路径,在 最大成本探测的约束成本下,两个基本路径(探测)可合并成一个基本 路径(探测)。
下面的定义有助于清晰和有效地示出算法的示范实施例。简单地 说,对于用于PLP的近似算法示范实施例,首先,如在用于LCP的
算法中所操作的一样,找到一系列基本探测。随后,如果探测数量k'
大于可提供量,即,k'>k,则合并探测,使得探测数量减少,同时牺 牲探测集中探测的最大成本。下面的定义与合并两个探测的示范实施 例有关。
定义1:合并距离是在经一个探测中的一个节点链接到另一探测 中的另一节点而连接两个证明后,最终探测的最小成本。
很明显,存在有效的算法(多项式时间)来确定链接两个探测的成 本。并非每对探测可合并成一个更长的探测。
定义2:共享边是指在几个纟罙测(大于或等于2个探测)经过要覆盖 的关注的边e e S时由与其关耳关的所有^/测共享的边。如果边只有一 个探测覆盖它,则该边对该探测是必需的。
很明显,假定有任意两个探测,探测可链接在一起,同时与(可能 的)共享边无关。辅助定理3是基于这些定义的。
橫磁定理3.'夜定#任彦席>^差^^^巡/^,存^一#脊这滞个 差^t^妓爽并^^到一个差^^好才法,^&终裙T存^f^ J:,这^厉为^类蕃径^洽產j糸定遂"尤个差^^径炎炎。
证明辅助定理3可通过矛盾法证明。对于每个基本路径,边的 左或右节点具有到发现的基本路径中最近终端的最小成本。如果两个 基本路径P!和P2具有两条路径均遍历的节点v,则可断定,对于这两 条路径中的给定节点v,存在均具有最小成本的两个终端。图4示出 辅助定理3的此证明的示例。
两条路径P!和路径P2共享同一节点v。边e!是&预期要覆盖的 边,并且e2是P2预期要覆盖的边。Pl和P2的末端为her和t2er。 现在,研究从v到h和从v到t2的路径。由于在定位用于边e!的探测
Pi时,Pl将基于终端顺序和检查的终端距离,在终端t2终止。同样地, 在分析路径P2后,可断定长度(V —1!)>长度(V —t2)。此结论与以 前所做的结论相冲突。因此,基本路径h和P2未遍历同一节点。
此外,如果在路径&与路径P2之间无共享中间节点(或无共享边)
(如图2所示),则t!和t2可链接以生成两条路径的基本路径。如果路 径P!和路径P2具有共享边,则无法只经删除&或P2来减少探测数量。 (对于任何探测,所有其关注边是共享的,并且已从探测集P删除,如
用于LCP的算法链路覆盖一样。)基于上述分析,辅助定理3成立。
一个示范实施例是用于PLP的近似算法。假设L表示在最多有k 条探测路径(解)的限制下,在图形GKV,E)中探测路径的最大成本。使 用OPT表示用于minw(尸)&p的最佳解。探测数量为众,并且A返回 探测的最大长度。
首先,在将任何探测一起合并前,在用于LCP的算法链路覆盖后, 找到作为关注边的探测的一系列基本路径(巡回)已知。假设数量为k,。 如果k'^k,则返回探测的最佳最大成本。如果k'〉k,则合并基本路 径以便减少探测数量,而探测的最大成本是OPT的下限。如果探测长 度视为箱的负载,并且探测数量被限制为箱的数量k,则合并部分类 似于装箱问题。在目标为降低算法的复杂性时,应用最佳适合方法以 合并任何两个探测。如果其探测距离在所有探测对中最小,则在可能 时,这两个基本路径被合并。图5中示出了用于PLP的算法的此示范 实施例。
图5是用于最初链路覆盖问题(PLP)的算法示范实施例的伪码编 排。此示范实施例具有输入图G,表示网络的拓朴和探测数量的限制 k,即,探测数量必须小于k。不同于用于LCP链路覆盖的图4中的 示范实施例,此示范实施例查找覆盖使用最小数量探测的关注边集的 探测集。在图4中,只要总成本最小化,探测数量便不受限制。此处, 在图5中,探测数量也被最小化。
图5的示范实施例先调用图4的示范实施例查找用于LCP的链路 覆盖,并且如果探测数量小于k,则提供该探测集。否则,图5用于 PLP的示范实施例合并探测对(参见图6),直至探测数量小于k。
图6是用于PLP的算法链路覆盖中合并的方法示范实施例。在此 示范实施例中,合并两个基本探测的过程称为合并(&,P2)。最近的节 点定义为节点对v^尸!和v2e尸2。将这两个节点链接使得连4妄P,和P2 的最终探测有最小新生成的探测成本。在图6中,对于所有共享边e, LCP提供两条路径&和P2。如果e由另一探测P共享,则在连接节
点链接P!和P2。否则,无法合并路径P!和P2。如果P,和P2之间无共
享边,则链接它们之间的最近节点。
将探测数量最小化也将终端数量最小化。最好是具有尽可能少的 终端。这是因为终端节点需要节点的额外增强,包括额外的软件、额 外的计算容量、额外的存储及诸如此类。与网络中的常规节点相比,
象终端节点等专用节点是最昂贵的。
定理3:用于PLP的算法链路覆盖是2近似。
证明定理3陈述的情况是如果探测数量被认为是箱数量,并且 探测的最大成本被认为是箱的最大负载,则用于PLP的算法链路覆盖 与用于装箱的最佳适合算法工作方式相同。直接根据装箱算法的分 析,可证明定理3。详细的证明如下。
OPT用于表示探测的最佳最大成本而不是最佳算法本身。OPT的 下限对应于k个探测的集,使得每个关注边e e S由至少一个探测覆 盖,并且此类探测集中的探测最大成本最小化,为OPT。在每个步骤 中,合并两个基本步骤。在选择了最小合并距离时,探测成本的增加 受OPT约束。此外,^皮覆盖边到最近终端的总成本这和是A:x(9尸r的 下限,并且要合并的每个探测成本也是OPT的下限。因此,在每个步 骤中,生成的任何探测的成本仍受2xO/T约束。因此,定理3成立。
用于DLP的2近似算法
2近似算法的一个示范实施例是被介绍用于DLP。变型DLP是变 型PLP的补充。
假设探测的最大成本受/皿限制。目标是将要采用的探测数量最 小化。首先,通过固定初始号k'=l作为使用的探测数量,应用用于 PLP的算法链路覆盖以估计生成的探测最大长度。如果在结果探测集 P中探测的最大成本是lp,并且如果/p《/皿,则据称k'是要使用的探
测的最小数量。如果/p〉/鹏,则将k'翻倍。将k'增大一倍,k'<~2xk', 并且随后应用用于PLP的相同算法以定位探测集和其中探测的最大 成本。重复操作,直至有探测集P,其中探测的最大成本小于或等于 /,,然后返回k'。据称"^2xk,这在定理4中证明。
图7是用于DLP的链路覆盖的方法示范实施例。此示范实施例将 覆盖关注边的探测集S中任一探测的最大成本最小化。输入包括对探 测最大成本的限制,以便探测集中的探测不具有超过该限制的成本。 假定有探测集P,如果探测的最大成本大于该限制,则通过调用PLP(参 见图5), k'=2xk,查找另一探测集,直至探测集中的所有探测最大成 本小于限制。
使用定理3并遵循相同的想法,得到定理4。
定理4:用于DLP的算法链路覆盖是2近似。
证明定理4可通过直接遵循定理3而证明。从定理3中,已知 如果使用的探测数量增大一倍,在最佳算法具有要使用的k个探测且 算法允许采用2xk个探测时,则用于PLP的算法链路覆盖返回探测最 佳最大成本下限。因此,在用于DLP的算法链路覆盖中,在步骤/ S/max 中,探测数量增大到最佳算法将使用的探测数量的两倍。因此,定理 4成立。
仿真结果
链路覆盖解决方案是在从RocketfUel项目获得的不同现实ISP拓 朴上评估。选择的是最大的五个拓朴,这是因为它们在被监控的网络 复杂性方面提供了最令人感兴趣的分析。网络中的每个链路被指定有 一个成本,该成本是其推断等;f寺时间(链路成本)。在每种情况下,骨 干节点选择为可能的终端集。
由于与节点总数相比,用于ISP拓朴的终端(骨干节点)数量较大 (几乎一半),因此,终端数量的选择限于大约该拓朴节点总数IW的5%、 10%和15%。但是,选择的终端位于随机选择的骨干节点位置。此外,要覆盖的关注边集选择为大约是网络中边总数的大约25%、 50%、 75% 和100%。
算法的示范实施例结果。算法用于计算使用大约5%和15%全部节点 作为终端时覆盖关注节点所需的探测数量。考虑了包括大约50%和 100%全部边的两个关注边集。在每种情况下,得到了探测的最大成本、 探测的平均成本及所有探测的总成本。 一个情况是对于Telestra和 Sprintlink网络,并非所有随机选择的边可由探测覆盖,这是因为探测 需要是链接两个终端的基本路径。在覆盖上探测终端数量影响的特定 问题通过使用Telestra拓朴进行了研究,并且结果显示在图9示出的 表II中。
考虑了无向、非负加权图的一般情况。因此,为探测遍历付出的 边成本被指定为非负实数。在未失去一般性的情况下和为简化实验设
计起见,^巨用于表示路径成本。也就是说,计算得出^M口权图上的 这个最短路径。
从表i和n中,可看到,如预期的一样,在关注边数量从大约网
络中所有边的50%增大到100%时,探测数量几乎翻倍。在总探测成
本中观察到类似的效应。通过相同数量终端覆盖另外的边会随着总探 测成本的增大而增大。也观察到的是,探测的最大成本和平均成本随 着终端数量的增大而减小。此外,发现这些度量的值对于所有五个拓 朴类似。
2近似PLP算法的评估在图io示出的表m中显示。此外,固定
的k的指标定为使用LCP获得的探测数量的1/2。表III提供为通过多 项式算法LCP获得的探测特征(例如,探测成本、最大成本、探测平 均成本)和在使用PLP算法合并后获得的探测的比较。
讨论
一个目标是设计覆盖网络中选定边的最佳探测路径。最佳性标准
通过使用诸如部署的探测总成本、探测最大成本及覆盖边所需的探测
数量等度量来评估。根据这些评估度量,发现LCP算法提供了很好的 性能。
在仅有大约5%节点作为终端时,几乎覆盖了 100%的边。终端数 量增大到15%未提供任何另外的边覆盖,并且将平均的探测总成本只 减少了大约1.08%。结果发现,使用更少的终端节点意味着需要增强 更少的节点来控制探测生成软件,并且探测安装成本被最小化。
通过使用大约5%的节点作为终端和大约100%的链路覆盖,发现 探测的平均成本为3.62,暗示在不同网络链路上探测产生负载是最小 的。PLP算法的一个目标是通过合并使用LCP获得的探测路径,减少 探测数量。结果发现,在合并后,探测数量的平均百分比减少只是大 约26%。这意味着LCP算法确定的探测路径接近于最佳。
从表III中,对于任何给定拓朴,在终端数量与探测总数或探测成 本之间无线性关系。人们相信,这种效应是用于确定探测路径的最短 路径计算及随机选择关注边涉及的一些实验因素的后果。
图11示出在Telestra拓朴中探测最大成本与终端数量之间的示范 关系。观察发现,随着终端数量的增大,最大探测成本会减小。但是, 通过从大约15%的节点增大作为终端的终端数量,只获得单位增益。 因此,据称对于考虑的拓朴,通过解决PLP的双重问题,即DLP预 期的增益可能不大。因此,基于探测的监控的两步设计的示范实施例 包括LCP算法和之后的PLP。
网络拓朴的影响
从图12中,结果发现覆盖关注边集所需的探测数量几乎与网络中 的边数量线性相关。无论关注边的数量或使用的终端数量如何,观察 发现是真实的。但是,从表I中,可看到节点数量对探测数量没有任 何可表征影响。观察也发现,在覆盖所有边的情况下,在五个拓朴的 两个拓朴中,增大终端数量并不改进边覆盖。在两种情况中,留下了
相同数量的链路未覆盖。人们相信,这是在网络中这些边相对于(随机) 选择终端节点位置定位的后果。
观察也了现,使用PLP在探测数量和探测最大成本方面获得的百 分比减少取决于网络的级(degree)。结果发现,对于具有大约8.41 的最高的级的网络,在PLP后的减少大大小于其它四个拓朴,这四个 拓朴具有在大约2.336到3.29范围内的平均级。因此,对于具有更高 的级的网络,多项式时间LCP算法的示范实施例提供了近乎最佳解决 方案。
结论
基于仿真的研究,可断定对于任何网络拓朴,要覆盖几乎100边, 只需将大约5%的节点指定为终端节点。这对于基于探测的监控系统 是一个重大的发现。由于通过增加另外的探测终端而无边覆盖优势, 因此,基于探测的监控系统设计可严格基于部署成本进行优化。部署 成本是就终端安装成本与设置和维护探测路径成本的关系而论。此 外,使用LCP算法的示范实施例,可能得到提供在将所有三个标准降 到最低方面几乎最佳结果的探测路径探测数量、探测最大成本和平 均探测成本。
一个实施例使用DLP算法,将诸如网络连接级等拓朴问题考虑在 内,以便进一步改进PLP算法。PLP和DLP算法的示范实施例可轻 松地映射到最小最速生产调度问题和装箱问题上。因此,可相信在k 是常数时,(l+s)近似算法存在。
图13是示出计算机的高端方框图。计算机1300可用于实现本发 明的实施例。计算机1300包括处理器1330及用于存储各种程序1344 和数据1346的存储器1340。存储器1340也可存储支持程序1344的 操作系统1342。
处理器1330与诸如电源、时钟电路、高速缓冲存储器及诸如此类 的常规支持电路系统以及有助于执行存储器1340中存储的软件例程
的电路协作。因此,可考虑到本文中论述为软件方法的一些步骤可在
硬件内实现,例如,实现为与处理器1330协作以执行各种方法步骤 的电路系统。计算机1300也包含形成与计算机1300通信的各种功能 元件之间接口的输A/输出(I/0)电路系统。
虽然计算机1300示为通用计算机,编程为执行根据本发明的各种 功能,但本发明可实现为硬件,例如,实现为专用集成电路(ASIC)或 现场可编程门阵列(FPGA)。因此,本文所述进程步骤要在广义上理解 为由软件、硬件或其组合等效执行。
本发明可实现为计算机程序产品,其中,在由计算机处理时,计 算机指令采用计算机操作以调用或以其它方式提供本发明的方法和/ 或技术。调用发明方法的指令可存储在固定或可移动介质中,在广播 介质或其它信号承载介质中经数据流传输,和/或存储在根据指令操作 的计算装置中的工作存储器内。
虽然上述内容涉及本发明各种实施例,但在不脱离本发明基本范 围的情况下,可设计本发明的其它和更多实施例。因此,本发明的适 当范围要根据下述权利要求书确定。
权利要求
1.一种用于网络监控的方法,包括接收网络的拓扑、所述网络中的选定边集及所述网络中的终端集;确定具有从终端节点集始发和终止的多条探测路径的探测集,所述探测路径覆盖所述选定边集,同时将成本最小化;以及提供能够测量端到端服务质量的所述探测集。
2. 如权利要求1所述的方法,其中,在所述探测集中无探测超过 预定的链路容量。
3. 如权利要求1所述的方法,其中所述探测集的总成本^皮最小化。
4. 如权利要求1所述的方法,其中所述探测集中每个探测的最大 成本被最小化。
5. 如权利要求1所述的方法,其中所述探测集中的探测总数被最 小化。
6. —种用于网络监控的系统,包括处理器,包括操作系统和至少一个存储装置;以及 能够在所述处理器上执行的软件组件,所述软件组件执行网络监 控的方法,所述方法包括接收网络的拓朴、所迷网络中的选定边集及所述网络中的终 端集;确定具有从终端节点集始发和终止的多条探测路径的探测 集,所述探测路径覆盖所述选定边集,同时将成本最小化;以及 提供能够测量端到端服务质量的所述探测集。
7. 如权利要求6所述的系统,其中,在所述探测集中无探测超过 预定的链路容量。
8. 如权利要求6所述的系统,其中所述探测集的总成本被最小 化。
9. 一种存储指令的计算机可读介质,所述指令执行用于网络监控 的方法,所述方法包括接收网络的拓朴、所述网络中的选定边集及所述网络中的终端集;确定具有从终端节点集始发和终止的多条探测路径的探测集,所述探测路径覆盖所述选定边集,同时将成本最小化;以及 提供能够测量端到端服务质量的所述探测集。
10. 如权利要求9所述的计算机可读介质,其中所述探测集的总 成本被最小化。
全文摘要
监控实时网络服务的需要促使服务提供商使用新的测量技术,如服务特定探测。服务特定探测是密切模仿服务业务的主动探测,以便它从网络得到与实际服务业务相同的对待。服务特定探测是端到端式,并且其部署取决于提出问题的解决方案,如将探测业务最小化,同时仍获得网络中所有链路的最大覆盖。提供了多项式时间探测路径计算算法及用于在探测数量超过所需限制范围k时合并探测路径的2近似解。算法通过使用经Rocketfuel生成的ISP拓扑评估。对于大多数拓扑,只需使用大约5%的节点作为终端便可覆盖超过大约98%的边。
文档编号H04L12/24GK101371497SQ200780002824
公开日2009年2月18日 申请日期2007年1月16日 优先权日2006年1月27日
发明者M·K·索坦, 非 李 申请人:卢森特技术有限公司