一种虚拟网络映射方法

文档序号:7979431阅读:763来源:国知局
一种虚拟网络映射方法
【专利摘要】本发明公开了一种虚拟网络映射方法,包括:为物理网络中的各个节点计算拓扑势;为所要映射的虚拟网络中的各个节点计算拓扑势;根据计算得到的拓扑势,将虚拟网络中的节点依次映射到物理网络的节点;将虚拟网络中的虚拟链路依次映射到物理网络的物理链路。本发明在实现映射的过程中充分利用网络全局信息和拓扑位置的差异,提高映射的成功率。
【专利说明】一种虚拟网络映射方法
【技术领域】
[0001]本发明涉及计算机网络领域,特别涉及一种虚拟网络映射方法。
【背景技术】
[0002]互联网在过去的20年取得了巨大的发展,而同时也面临着一系列的问题,包括可扩展性、安全性等,而网络虚拟化被认为是解决当前互联网僵化问题的重要技术手段。在云计算与数据中心网络环境中,网络虚拟化能够帮助网络实现资源的高效利用、动态调度、有效隔离。网络虚拟化通过抽象、分配、隔离机制,选择性地进行资源分配与调度,实现在相同的物理网络上同时运行多个虚拟网络,并提高物理资源利用率、提高服务质量、降低网络的能耗开销和运营成本。
[0003]在网络虚拟化中,虚拟资源如何有效地分配到物理网络,即虚拟网如何映射到底层网络是一个具有挑战性的问题。虚拟网映射问题就是如何高效地根据虚拟网请求,在底层网络上寻找合适的物理资源,创建满足请求的虚拟网络的过程。虚拟资源的有效分配,需要同时考虑物理资源的CPU能力限制、带宽限制、降低能耗、负载均衡、提高底层网络收益、地理位置信息等众多约束。
[0004]本领域技术人员将网络虚拟化环境下虚拟资源的分配问题抽象为一个图论问题,虚拟网络的拓扑和物理网络的拓扑都用图的形式来进行描述。通常底层网络可以描述为带权重的无向图,标记为GS=(NS,Es),Ns为底层节点的集合,Es为底层链路的集合。虚拟网也可以表示为带权重的无向图,描述为Gv= (Nv, Ev),包括虚拟节点Nv与虚拟链路的集合Ev。虚拟网的映射过程,就是寻找合适的满足需求的底层资源,将虚拟网络的拓扑匹配到物理网络拓扑的过程。虚拟网络的映射,需要将节点需求与链路需求都映射到底层的物理资源上,一般包括节点映射与链路映射两个阶段。节点映射主要考虑节点CPU能力的限制,链路映射考虑链路上的可用带宽。图1展示了虚拟网络向底层网络的映射示意。其中虚拟网A与虚拟网B共享了节点Α、B和A与B之间的链路资源。
[0005]现有技术中存在多个虚拟资源的分配方法,可以按照以下几种方式对目前的虚拟资源分配方法进行分类:
[0006](I)按照是否充分考虑了底层网络或虚拟网络的节点和链路资源约束进行分类,可分为同时考虑节点和链路资源约束的映射方法和部分考虑节点或链路资源约束的方法。
[0007](2)按照虚拟网络请求的处理方式进行分类,可分为在线映射方法和离线映射方法。离线映射是指在其被映射前,所有的虚拟网络请求信息是已知的,而在线映射方法不对虚拟网络请求的到达时间、持续时间以及拓扑信息等作假设。
[0008](3)按照不同的虚拟网络映射计算方式进行分类,可分为集中式映射方法和分布式映射方法。分布式的虚拟网络映射方法一般通过底层节点协同完成虚拟网络映射,集中式的虚拟网络映射方法由中心控制机构根据底层网络资源情况,为虚拟网络请求分配相应的资源。
[0009](4)按照不同的虚拟节点和链路映射顺序进行分类,可分为二阶段映射(虚拟节点优先映射)与一阶段映射(虚拟节点和链路同时映射)。二阶段映射方法的节点映射和链路映射阶段是分离的,而一阶段映射的虚拟节点和链路映射是在同一阶段完成的。
[0010]下面对现有技术中几种典型的虚拟资源分配方法进行说明。
[0011]1、参考文献 I “ZHU Y,AMMAR M.Algorithms for assigning substrate networkresources to virtual network components[A].Proc.1EEE INF0C0M[C], IEEE,2006:1-12”提出了一种基于贪婪算法解决节点映射问题的启发式方法,该方法将虚拟网映射问题抽象成图论问题,假设网络资源是无限的,提出了无重配置的虚拟网络映射方法(VNA-1)和带有重配置的虚拟网络映射方法(VNA-1I)。无重配置的虚拟网分配是指在整个虚拟网生命周期内虚拟网分配固定,其基本思想是将虚拟节点映射到负载较轻并且离已被映射的虚拟节点较近的底层节点上,当映射完所有虚拟节点后,使用最短路径算法映射虚拟链路。随着虚拟网络请求的到达与离开,底层网络资源状况会发生改变,这会导致底层网络负载不均衡,资源利用率下降等问题。为此,进一步提出了带有重配置的虚拟网络映射方法(VNA-1I ),该方法周期性地检查底层节点和链路负载状况,当节点或链路的负载超越预先定义的阈值后,将对映射于该节点或链路上的所有虚拟网络进行重映射,以消除资源热点问题。
[0012]2、参考文献 2 “LISCHKA J, KARL H.A virtual network mappingalgorithm based on subgraph isomorphism detection[A].Proc.1stACM VISAWorkshop [C], ACM, 2009:81-88”提出了一种子图同构检测方法,该方法在同一阶段映射虚拟节点和链路,当虚拟节点被成功映射后,采用最短路径算法映射与该节点相连的虚拟链路。在映射过程中,如果有虚拟链路映射失败的情况发生,则回溯到上一个虚拟节点映射阶段进行节点重映射。该算法改进了经典的VF算法,在映射步骤中检查节点与链路的资源约束条件,并且允许一条链路与一条路径进行匹配。由于该算法在同一阶段映射虚拟节点和链路,因此可以有效的避免虚拟链路被映射到底层网络中长路径的问题,从而降低了虚拟网络映射的底层网络资源开销。该方法本质上是一种回溯算法,计算开销较大。
`[0013]3、参考文献 3 “CHENG X,SU S,ZHANG Z, et al.Virtual network embeddingthrough topology-aware node ranking[J].ACM SIGCOMM Computer CommunicationReview,2011,41 (2):38-47”提出了一种拓扑感知的虚拟网络映射方法。该方法是一种基于PageRank的方法,它采用了马尔可夫随机游走(random walk)模型。陔方法提出了一种新的节点资源度量方法NodeRank,节点的NodeRank值不仅可以反映当前节点的资源能力,还能够反映其周围节点的资源能力。一个节点u的排序由它的CPU处理能力,以及和它直接相连的链路带宽决定,同时也受到可以从节点u到达的其他节点的影响。作者将些节点分为两部分:与节点u通过一条链路直接相连的,和通过多次跳跃可以从节点u到达的节点。因此,作者定义节点u的邻居节点对节点u的。在底层网络中,L(U)是从节点u出发的所有链路的集合,CPU(u)表示节点u的剩余CPU资源,Bff(I)是链路I的可用带宽资源。对于虚拟节点,用CPU(u)和BW⑴表示节点u的资源需求。节点u的初始NodeRank值可以通过以下来计算:
[0014]撤》纖

veV[0015]其中U、V是属于集合V的不同节点。
[0016]根据节点NodeRank值,作者提出了两种虚拟网络映射方法:Rff-MaxMatch和RW-BFS。RW-MaxMatch是一种二阶段的虚拟网络映射方法,该方法将具有较大NodeRank值的虚拟节点和具有较大NodeRank值的底层节点相映射,然后进行链路映射。在底层网络支持链路分裂的情况下,采用多商品流算法映射虚拟链路,否则采用最短路径算法。而RW-BFS的主要思想是:虚拟节点的映射顺序和底层节点的选取均按照广度优先搜索的顺序进行,并且广度优先搜索的每一层网络节点按照NodeRank值大小排序。当每个虚拟节点映射成功后便同时映射其虚拟链路,虚拟节点映射和虚拟链路映射在映射过程中交替进行,因此RW-BFS是一种一阶段的虚拟网络映射方法。
[0017]4、参考文献 4 “H0UIDI I, LOUATI ff, ZEGHLACHE D.A distributed virtualnetwork mapping algorithm [A].Proc.1CC,08 [C], IEEE, 2008:5634_5640” 提出了一 种分布式的虚拟网络映射方法,该方法分为虚拟网络拓扑分解和映射2个阶段。在虚拟网络拓扑分解阶段,首先将具有最高资源请求的虚拟节点作为中心节点,将与该中心节点直接相连的虚拟节点作为邻居节点,再从虚拟网络拓扑中移除中心节点、邻居节点以及它们之间直接相连的虚拟链路,重复该过程直至整个虚拟网络拓扑完全分解为多个中心辐射子拓扑。在虚拟网络映射阶段,对于虚拟网络的每一个中心辐射子拓扑,首先将其中心节点与可用资源最多的底层节点相映射,然后映射该中心辐射子拓扑的其他节点,最后采用最短路径算法映射节点间的虚拟链路,直到所有中心辐射子拓扑全部映射完毕。
[0018]从以上描述可以看出,现有技术中的虚拟资源分配方法大部分是节点、链路分别进行映射的两阶段方法。这些方法主要存在以下问题。一方面,现有的大部分技术方案在做节点映射时采用节点资源贪婪算法,在做链路映射时采用最短路径算法。节点映射与链路映射两个过程相互独立。节点映射的结果决定着链路映射的成功率,但在节点的映射过程中没有有效地考虑网络的拓扑结构与网络的链路资源对节点重要性的影响。节点映射与链路映射不能有效地结合在一起,降低了映射的成功率和算法效率。
[0019]另一方面,现有的技术方案没有考虑底层网络的内在结构,在实践中多数基于底层网络是随机网络的假设,与真实的底层网络拓扑结构存在差距,导致映射较为分散,增大了网络的开销。而在真实的网络中,多存在一定的拓扑结构,如“无标度网络”、“幂律结构”等。底层网络的拓扑结构对虚拟网映射的成功率有着重要的影响。现有技术不考虑底层网络的内在结构将会降低映射的成功率。

【发明内容】

[0020]本发明的目的在于克服现有的虚拟网络映射方法映射成功率低,映射开销大所存在的缺陷,从而提供一种高效、开销小的虚拟网络映射方法。
[0021]为了实现上述目的,本发明提供了一种虚拟网络映射方法,包括:
[0022]步骤I)、为物理网络中的各个节点计算拓扑势;所述拓扑势的计算包括:
[0024]其中,P(Hi)表示节点Iii的拓扑势,CPUj为节点η」的可用处理能力;d(i,j)表示节点Iii与节点η」之间的距离,用节点Iii与节点η」之间的最短路径长度表示;minbw(i, j)表示在节点ni与nj之间的最短路径上的可用带宽;
[0025]步骤2)、为所要映射的虚拟网络中的各个节点计算拓扑势;
[0026]步骤3)、根据步骤I)、步骤2)计算得到的拓扑势,将虚拟网络中的节点依次映射到物理网络的节点;
[0027]步骤4)、将虚拟网络中的虚拟链路依次映射到物理网络的物理链路。
[0028]上述技术方案中,在所述的步骤3)中,所述的将虚拟网络中的节点依次映射到物理网络的节点为将虚拟网络中的节点依次映射到整个物理网络中的节点。
[0029]上述技术方案中,在所述的步骤I)之后还包括:
[0030]步骤a)、根据步骤I)计算得到的拓扑势为物理网络做社区划分,将所述的物理网络划分成多个社区;以及,
[0031]在所述的步骤3)中,所述的将虚拟网络中的节点依次映射到物理网络的节点包括:将虚拟网络中的节点依次映射到步骤a)所得到的某一社区中的节点,若该映射失败,将虚拟网络中的节点依次映射到整个物理网络中的节点。
[0032]上述技术方案中,所述的步骤a)包括:
[0033]步骤a-Ι)、根据步骤I)计算得到的物理网络中各个节点的拓扑势,在所述物理网络中寻找低拓扑势的区域;
[0034]步骤a_2)、由所述低拓扑势的区域分割得到的联通高势区为划分而成的社区。
[0035]上述技术方案中,所述的将虚拟网络中的节点依次映射到步骤a)所得到的某一社区中的节点包括:
[0036]步骤301)、根据步骤a)的社区划分结果,从物理网络中选取拓扑势总和最大的社区;
[0037]步骤302)、分别选取虚拟网络中尚未映射的节点中拓扑势最大的虚拟节点,以及所选取社区中尚未映射的节点中拓扑势最大的物理节点,判断所选择的虚拟节点是否能够映射到所选择的物理节点,若满足映射条件,则实现所选择的虚拟节点到所选择的物理节点的映射,若不能满足映射条件,执行下一步;其中,所述的映射条件包括所选择的物理节点的CPU能力能否满足虚拟节点对CPU处理能力的需求;
[0038]步骤303)、选取所选择的社区中尚未映射的节点中较之前选择的节点拓扑势次小的节点,重新判断所选择的虚拟节点是否能够映射到新选择的物理节点,若满足映射条件,实现所选择的虚拟节点到所选择的物理节点的映射,否则重新执行本步骤,直到所选择的虚拟节点实现与物理节点的映射,然后执行下一步,或所选择的虚拟节点在所选择的社区中无法实现映射,执行步骤305)。
[0039]步骤304)、判断所要映射的虚拟网络中是否存在尚未被映射的节点,若存在,重新执行步骤302 ),否则,执行后续的将虚拟网络中的节点依次映射到整个物理网络中的节点的步骤;
[0040]步骤305)、判断所述物理网络中是否还存在尚未选取的社区,若存在,从所述尚未选取的社区中选择拓扑势总和最大的社区,然后重新执行步骤302),否则,执行后续的将虚拟网络中的节点依次映射到整个物理网络中的节点的步骤。
[0041 ] 上述技术方案中,所述的将虚拟网络中的节点依次映射到整个物理网络中的节点包括:[0042]步骤311)、在映射过程中,分别选取虚拟网络中尚未映射的节点中拓扑势最大的虚拟节点,以及物理网络中尚未映射的节点中拓扑势最大的物理节点,判断所选择的虚拟节点是否能够映射到所选择的物理节点,若满足映射条件,则实现所选择的虚拟节点到所选择的物理节点的映射,若不能满足映射条件,执行下一步;其中,所述的映射条件包括所选择的物理节点的CPU能力能否满足虚拟节点对CPU处理能力的需求;
[0043]步骤312 )、选取物理网络中尚未映射的节点中较之前选择的节点拓扑势次小的节点,重新判断所选择的虚拟节点是否能够映射到新选择的物理节点,若满足映射条件,实现所选择的虚拟节点到所选择的物理节点的映射,否则重新执行本步骤,直到所选择的虚拟节点实现与物理节点的映射,然后执行下一步,或所选择的虚拟节点在所述物理网络中无法实现映射,映射失败,结束映射操作;
[0044]步骤313)、判断所要映射的虚拟网络中是否存在尚未被映射的节点,若存在,重新执行步骤311 ),否则,执行步骤4 )。
[0045]上述技术方案中,在所述的步骤4)中,采用第K短路径算法实现虚拟网络中的虚拟链路到物理网络的物理链路的映射。
[0046]本发明的优点在于:
[0047]1、本发明在实现映射的过程中充分利用网络全局信息和拓扑位置的差异,提高映射的成功率。
[0048]2、本发明利用拓扑势排序的结果作为先验知识,挖掘底层网络的社区结构,借鉴社区发现方法对底层网络进行社区的分割,在映射过程中,能够将虚拟网络优先映射到底层网络的一个子区域中,既能够大量节约底层的物理资源,又提高了底层网络资源的利用
率。
【专利附图】

【附图说明】
[0049]图1是在一个实施例中某一虚拟网络以及该虚拟网络所要映射的物理网络的示意图;
[0050]图2是本发明的虚拟网络映射方法在一个实施例中的流程图;
[0051]图3是本发明的虚拟网络映射方法在另一个实施例中的流程图。
【具体实施方式】
[0052]现结合附图对本发明作进一步的描述。
[0053]参考图2,在一个实施例中,本发明的虚拟网络映射方法包括:
[0054]步骤I)、为物理网络中的各个节点计算拓扑势。
[0055]拓扑势是数据场理论中的概念。数据场理论亦可用于分析网络的特征。根据数据场理论,网络被看作一个包含η个节点及其相互作用的物理系统。每个节点存在一个作用场,场中的任何节点都受到该场的作用。单个节点的场对网络中的所有可达节点存在作用,反之,单个节点也受到所有可达节点的作用场的作用。每个节点的作用范围随着网络距离的增长而快速衰减。用高斯势函数P来描述场中节点之间的相互作用,即拓扑势。节点^处的势舛》/)定义为:
[0056]
【权利要求】
1.一种虚拟网络映射方法,包括: 步骤I)、为物理网络中的各个节点计算拓扑势;所述拓扑势的计算包括:
2.根据权利要求1所述的虚拟网络映射方法,其特征在于,在所述的步骤3)中,所述的将虚拟网络中的节点依次映射到物理网络的节点为将虚拟网络中的节点依次映射到整个物理网络中的节点。
3.根据权利要求1所述的虚拟网络映射方法,其特征在于,在所述的步骤I)之后还包括: 步骤a)、根据步骤I)计算得到的拓扑势为物理网络做社区划分,将所述的物理网络划分成多个社区;以及, 在所述的步骤3)中,所述的将虚拟网络中的节点依次映射到物理网络的节点包括:将虚拟网络中的节点依次映射到步骤a)所得到的某一社区中的节点,若该映射失败,将虚拟网络中的节点依次映射到整个物理网络中的节点。
4.根据权利要求3所述的虚拟网络映射方法,其特征在于,所述的步骤a)包括: 步骤a-Ι)、根据步骤I)计算得到的物理网络中各个节点的拓扑势,在所述物理网络中寻找低拓扑势的区域; 步骤a-2)、由所述低拓扑势的区域分割得到的联通高势区为划分而成的社区。
5.根据权利要求3所述的虚拟网络映射方法,其特征在于,所述的将虚拟网络中的节点依次映射到步骤a)所得到的某一社区中的节点包括: 步骤301)、根据步骤a)的社区划分结果,从物理网络中选取拓扑势总和最大的社区;步骤302)、分别选取虚拟网络中尚未映射的节点中拓扑势最大的虚拟节点,以及所选取社区中尚未映射的节点中拓扑势最大的物理节点,判断所选择的虚拟节点是否能够映射到所选择的物理节点,若满足映射条件,则实现所选择的虚拟节点到所选择的物理节点的映射,若不能满足映射条件,执行下一步;其中,所述的映射条件包括所选择的物理节点的CPU能力能否满足虚拟节点对CPU处理能力的需求; 步骤303)、选取所选择的社区中尚未映射的节点中较之前选择的节点拓扑势次小的节点,重新判断所选择的虚拟节点是否能够映射到新选择的物理节点,若满足映射条件,实现所选择的虚拟节点到所选择的物理节点的映射,否则重新执行本步骤,直到所选择的虚拟节点实现与物理节点的映射,然后执行下一步,或所选择的虚拟节点在所选择的社区中无法实现映射,执行步骤305)。 步骤304)、判断所要映射的虚拟网络中是否存在尚未被映射的节点,若存在,重新执行步骤302),否则,执行后续的将虚拟网络中的节点依次映射到整个物理网络中的节点的步骤; 步骤305)、判断所述物理网络中是否还存在尚未选取的社区,若存在,从所述尚未选取的社区中选择拓扑势总和最大的社区,然后重新执行步骤302),否则,执行后续的将虚拟网络中的节点依次映射到整个物理网络中的节点的步骤。
6.根据权利要求2或3所述的虚拟网络映射方法,其特征在于,所述的将虚拟网络中的节点依次映射到整个物理网络中的节点包括: 步骤311)、在映射过程中,分别选取虚拟网络中尚未映射的节点中拓扑势最大的虚拟节点,以及物理网络中尚未映射的节点中拓扑势最大的物理节点,判断所选择的虚拟节点是否能够映射到所选择的物理节点,若满足映射条件,则实现所选择的虚拟节点到所选择的物理节点的映射,若不能满足映射条件,执行下一步;其中,所述的映射条件包括所选择的物理节点的CPU能力能否满足虚拟节点对CPU处理能力的需求; 步骤312)、选取物理网络中尚未映射的节点中较之前选择的节点拓扑势次小的节点,重新判断所选择的虚拟节点是否能够映射到新选择的物理节点,若满足映射条件,实现所选择的虚拟节点到所选择的物理节点的映射,否则重新执行本步骤,直到所选择的虚拟节点实现与物理节点的映射 ,然后执行下一步,或所选择的虚拟节点在所述物理网络中无法实现映射,映射失败,结束映射操作; 步骤313)、判断所要映射的虚拟网络中是否存在尚未被映射的节点,若存在,重新执行步骤311),否则,执行步骤4)。
7.根据权利要求1所述的虚拟网络映射方法,其特征在于,在所述的步骤4)中,采用第K短路径算法实现虚拟网络中的虚拟链路到物理网络的物理链路的映射。
【文档编号】H04L12/24GK103457752SQ201210173765
【公开日】2013年12月18日 申请日期:2012年5月30日 优先权日:2012年5月30日
【发明者】王子厚, 韩言妮, 林涛, 唐晖, 慈松 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1