CN104917659A - 一种基于虚拟网络连接特性的虚拟网络映射方法 - Google Patents

一种基于虚拟网络连接特性的虚拟网络映射方法 Download PDF

Info

Publication number
CN104917659A
CN104917659A CN201510297405.0A CN201510297405A CN104917659A CN 104917659 A CN104917659 A CN 104917659A CN 201510297405 A CN201510297405 A CN 201510297405A CN 104917659 A CN104917659 A CN 104917659A
Authority
CN
China
Prior art keywords
node
physical
virtual network
current
link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510297405.0A
Other languages
English (en)
Other versions
CN104917659B (zh
Inventor
谢立
宋克兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201510297405.0A priority Critical patent/CN104917659B/zh
Publication of CN104917659A publication Critical patent/CN104917659A/zh
Application granted granted Critical
Publication of CN104917659B publication Critical patent/CN104917659B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于虚拟网络连接特性的虚拟网络映射方法,包括如下步骤:(1)根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分成映射等级递增或递减的星型子网和链路;(2)利用物理网络的所有节点的剩余资源聚集度,将所述星型子网和链路按照映射等级从高到低的顺序映射到物理网络。通过本发明的映射方法,潜在数据通信量越大,即亲密度越大的邻接节点对,具有更大可能的获得最优物理网络资源,因此本发明能够统一不同虚拟网络请求的资源分配,从而提高虚拟网络请求接收率和物理网络资源利用率,同时又兼顾物理网络的负载均衡。

Description

一种基于虚拟网络连接特性的虚拟网络映射方法
技术领域
本发明涉及网络技术领域,具体涉及一种基于虚拟网络连接特性的虚拟网络映射方法。
背景技术
随着云计算的发展,物理网络基础设施逐渐集中地由少数设备提供商(InfrastructureProvider,InP)供应,而业务开发商只需要向InP发出虚拟网络请求,定制个性化的虚拟拓扑网络,随着业务的变化业务开发商也能够灵活地调整虚拟网络结构,这样不仅省去物理网络基础设施的自备问题,同时有助于提高业务开发效率。InP实时地接收各个业务开发商多样化的虚拟网络请求并把它们映射到同一公共物理网络上,为了提高资源利用率获得更高的收益,必须合理地分配底层物理网络资源,同时也需要考虑网络虚拟资源负载均衡问题,以避免少数节点或链路负载过热而降低虚拟网络映射成功率。
网络虚拟化技术是对网络的一种抽象技术,以解决现有网络僵化问题,提供灵活可变的虚拟拓扑网络。由于虚拟网络拓扑的多样化,而且映射时不仅要考虑虚拟节点以及链路的资源请求问题,同时还需要综合考虑各种映射效益问题,如最大化资源利用率、尽量均衡使用公共物理网络资源以提供更好的服务体验;同时,虚拟网络可能还包含其他限制,如节点的地理位置、链路时延等等,因此,将多个不同的虚拟网络映射到同一公共物理网络是一个NP-hard问题。
虚拟网络映射问题主要包括虚拟节点映射和虚拟链路映射,一般而言,每一个虚拟节点被映射到一个不同的物理节点,而每一条虚拟链路映射到一条物理路径,该路径至少包含一条物理链路。目前虚拟网络映射的解决方法根据节点映射和链路映射是否分阶段进行,分为一步映射和二步映射。二步映射一般先进行虚拟节点映射,再进行链路映射。由于二步映射中节点映射和链路分阶段进行,会造成节点映射基本没有考虑虚拟节点之间的连接特性,因此会导致较大的映射成本,最终导致较低的资源利用率。在链路映射阶段,如果虚拟链路可分流,那么一般将链路映射问题看作多物网络流问题(Multi-commodity Flow Problem,MCF);如果不可分时,则采用K最短路径算法寻找一条可行映射路径。一步映射一般有二个解决方向。一个方向是虚拟网络映射进行混合整数规划(Mixed Integer Program,MIP)建模,然后得到最优解。由于解法太过复杂,因此该解决方向不可取。如《Virtual network embedding withcoordinated node and link mapping》(INFOCOM 2009,IEEE.IEEE,2009:783-791)一文将有位置限制的虚拟节点扩展到原物理网络某个区域,然后进行MIP建模,最后采用松弛技术将原MIP问题简化为一个指数时间可解决的线性规划问题(Linear Program,LP)。另外一个方向是对网络进行简化,然后采用搜索回溯的方法来寻找可行的映射方案。如《Virtualnetwork embedding through topology-aware node ranking》(ACM SIGCOMM ComputerCommunication Review,2011,41(2):38-47)一文采用类似网页排名算法对网络节点进行排序,然后将原虚拟网络简化成一个以排名最大节点为根的宽度优先搜索树,最后采用宽度优先搜索算法寻找可映射节点。此算法只是考虑了部分虚拟网络连接特性而且引入固定的搜索宽度限制。
以往虚拟网络映射算法的节点映射要么没有考虑对链路映射的影响,要么平等地看待所有虚拟链路。也就是说映射简单地采用跳数(hop)来度量对链路映射的影响,基本都认为中间隐藏节点对物理节点的资源消耗为0。而现实情况是中间隐藏节点也会消耗物理节点一定的CPU资源;此外,对于优先级一样的不同虚拟请求,不同的是请求到达的时间,那么一些较优资源都会被到达时间较早的虚拟请求“霸占”。目前基本没有一种有针对性的重映射策略,要么定期重映射包含负载过重节点或链路的虚拟请求,如《Rethinking virtual networkembedding:substrate support for path splitting and migration》(ACM SIGCOMM ComputerCommunication Review,2008,38(2):17-29);要么简单地根据优先级进行迁移,如《Topology-awareness and reoptimization mechanism for virtual network embedding》(Springer Berlin Heidelberg,2010)。
《Optimal mapping of virtual networks with hidden hops》(Telecommunication Systems,2012,51(4):273-282)一文在虚拟网络映射考虑中间隐藏(hidden hops)对物理节点CPU资源请求,但是该文并没有解决节点映射,只是假设所有节点已经映射完成,然后为每条虚拟链路以贪婪的方式选择一条最短可映射路径,以此来尽量减少中间隐藏节点。《Topology-aware Partial Virtual Cluster Mapping Algorithm on Shared DistributedInfrastructures》(Parallel and Distributed Systems,IEEE Transactions on,2014,25(10):2721-2730)一文认为不同的虚拟节点或链路具有不同重要性,提出一种部分虚拟集群映射(Virtual Cluster Mapping,VCM)算法,但是该通过设定阈值的方式来确定节点和链路的重要与否,而且算法只是映射被认为“重要”的链路,不适合虚拟网络全映射情景。
发明内容
本发明的目的是提供一种基于虚拟网络连接特性的虚拟网络映射方法,以克服现有技术的全部或部分缺陷。
为了实现上述目的,利用本发明的虚拟网络的映射方法将虚拟网络请求映射到物理网络包括以下步骤:
(1)根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分成映射等级递增或递减的星型子网和链路;
(2)利用物理网络的所有节点的剩余资源聚集度,将所述星型子网和链路按照映射等级从高到低的顺序映射到物理网络。
进一步地,本发明所述虚拟网络为简单图,物理网络为简单连通图。
进一步地,本发明所述星型子网的节点的个数大于等于1;其中,当所述星型子网的节点的个数大于1时,所述星型子网为连通图且至多只有一个节点的度值大于1。
进一步地,在本发明的一种实施方式中,所述步骤一按以下方法执行:
步骤(1):计算虚拟网络所有邻接节点对的亲密度,设置映射等级变量CurrentLevel的初始值为Level0,Level0为任意实数;
步骤(2):判断当前虚拟网络是否包含节点:如果不包含节点,则结束对虚拟网络的划分;否则,执行步骤(3);
步骤(3):判断当前虚拟网络是否属于所述星型子网:如果属于,则将当前虚拟网络的映射等级设置为当前映射等级变量CurrentLevel的值,并结束对虚拟网络的划分;
如果当前虚拟网络不属于所述星型子网,则将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路的映射等级设置为当前映射等级变量CurrentLevel的值,进而将当前映射等级变量CurrentLevel的值更新为“CurrentLevel+Δl”,其中,Δl为可变的定向非零数;然后,从当前虚拟网络中移除该亲密度最小的邻接节点对之间的虚拟链路;接着,执行步骤(4);
步骤(4)):检测当前虚拟网络中是否存在星型子网:如果检测到星型子网,则从当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路;然后执行步骤(5);如果未检测到星型子网,则返回执行步骤(2);
步骤(5):按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量的值开始,以逐级加Δl的方式相应地设置步骤(4)所检测到的星型子网的映射等级;然后返回执行步骤(2)。
进一步地,在本发明的另一种实施方式中,所述步骤一按以下方法执行:
步骤(1):计算虚拟网络所有邻接节点对的亲密度,设置映射等级变量CurrentLevel的初始值为Level0,Level0为任意实数;
步骤(2):判断当前虚拟网络是否包含节点:如果不包含节点,则结束对虚拟网络的划分;否则,执行步骤(3);
步骤(3):判断当前虚拟网络是否属于所述星型子网:如果属于,则将当前虚拟网络的映射等级设置为当前映射等级变量的值,并结束对虚拟网络的划分;
如果当前虚拟网络不属于所述星型子网,则将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路的映射等级设置为当前映射等级变量CurrentLevel的值,进而将当前映射等级变量CurrentLevel的值更新为“CurrentLevel+Δl”;然后,从当前虚拟网络中移除该亲密度最小的邻接节点对之间的虚拟链路,并将星型子网的个数n的值重置为0;接着,执行步骤(4);其中,Δl为可变的定向非零数;
步骤(4):检测当前虚拟网络中是否存在星型子网:如果检测到星型子网,则将星型子网的个数n更新为检测到的星型子网的总数量,并从当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路;然后执行步骤(5);
如果未检测到星型子网,则执行步骤(5);
步骤(5):判断当前星型子网的个数n是否大于0:如果当前星型子网的个数n大于0,则按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量CurrentLevel的值开始,以逐级加Δl的方式相应地设置这n个星型子网的映射等级,进而将当前映射等级变量的值更新为CurrentLevel+n*Δl,并将星型子网的个数n的值重置为0,然后返回执行步骤(2);
如果当前星型子网的个数n等于0,则返回执行步骤(2)。
进一步地,本发明所述虚拟网络邻接节点对的亲密度按以下公式(1)所示的方法计算:
κ ( n 1 v , n 2 v ) = ( 2 / π a r c t a n ( C n 1 v C n 2 v ( M a x ( C n v ) / λ ) 2 ) + 1 ) * B W ( n 1 v , n 2 v ) - - - ( 1 )
其中,表示虚拟网络中的邻接节点对之间的亲密度,分别表示虚拟节点请求的CPU资源,表示虚拟链路请求的带宽资源,表示由物理网络设备提供商预先设定的虚拟节点请求的CPU资源的最大值,λ为压缩常数。
进一步地,本发明所述压缩常数λ的取值为4。
进一步地,本发明所述步骤二的方法是按照映射等级从高到低的顺序分别对每个待映射的星型子网和链路执行以下步骤:
如果虚拟网络请求所要映射的是链路,则计算得到可映射的物理路径;
如果虚拟网络请求所要映射的是星型子网,则根据星型子网的节点的个数分别采取以下映射策略:
如果星型子网的节点的个数大于1,则在物理网络中选取剩余资源聚集度最大且满足CPU资源请求和链路资源请求的物理节点,然后将该星型子网的中心节点映射到该物理节点;按照端节点与该星型子网的中心节点的亲密度从大到小的顺序确定该星型子网的各端节点的先后映射顺序,均以该星型子网的中心节点所映射的物理节点为起点,采用宽度优先搜索方法为每一个端节点搜索可映射的物理节点和物理路径,将该星型子网的各端节点映射到可映射的物理节点,并将各端节点与中心节点之间的虚拟链路映射到为该端节点选取可映射的物理节点的过程中所确定的宽度优先搜索路径;
如果星型子网的节点的个数等于1,则选择与该星型子网的节点亲密度最大的已映射虚拟节点,以该已映射虚拟节点所映射的物理节点为起点,采用宽度优先搜索方法为该星型子网的该节点搜索可映射的物理节点,将该星型子网的该节点映射到可映射的物理节点;
如果链路或星型子网映射失败,则停止当前虚拟网络请求的所有映射工作,并将其加入到重尝试队列,定时尝试将该虚拟网络请求再次映射到物理网络;当虚拟网络请求重尝试次数超过预先设置值时,该虚拟网络请求不再被加入重尝试队列,直接被拒绝服务。
进一步地,本发明所述宽度优先搜索方法为带迁移能力的宽度优先搜索方法,所述“带迁移能力的宽度优先搜索方法”,其中,
在搜索过程中,当被搜索到的物理链路的剩余带宽资源小于当前被选取的端节点与中心节点之间的虚拟链路请求的带宽资源时,如果已映射虚拟网络中的已映射到该物理链路上的虚拟链路满足以下条件:
该已映射虚拟网络中的该虚拟链路属于其中一个星型子网,而该星型子网的中心节点所映射的物理节点是当前宽度优先搜索路径中的一个节点,该虚拟链路两端的虚拟节点构成的邻接节点对的亲密度比当前被选取的端节点与其中心节点所构成的邻接节点对的亲密度小;
那么,根据映射到该物理链路上的虚拟链路请求的带宽资源按照从小到大的顺序,将满足上述条件的虚拟链路逐个从该物理链路中迁移出,一旦该物理链路的剩余带宽资源大于等于被选取的端节点与中心节点之间的虚拟链路请求的带宽资源,则将当前被选取的端节点映射到该物理链路中的一端不在当前宽度优先搜索路径中的物理节点,并将当前被选取的端节点与其所在的星型子网的中心节点之间的虚拟链路映射到由当前宽度优先搜索路径与该物理链路所确定的物理路径,然后停止当前被选取的端节点的映射工作,进而选取下一个端节点进行映射;如果将满足上述条件的所有虚拟链路从该物理链路中迁移出后仍不能使得该物理链路的剩余带宽资源大于等于被选取的端节点与中心节点之间的虚拟链路请求的带宽资源,那么撤销本次对所有虚拟链路所做出的迁移操作,然后不再将该物理链路中的一端在当前宽度优先搜索路径中的物理节点作为当前宽度优先搜索路径下一宽度的扩展搜索节点;
在搜索过程中,当被搜索到的物理节点的剩余CPU资源小于当前被选取的端节点请求的CPU资源时,如果已映射虚拟网络中的已映射到该物理节点上的虚拟节点满足以下条件:
该已映射虚拟网络中的该虚拟节点是其中一个星型子网的端结点,而该星型子网的中心节点所映射的物理节点是当前宽度优先搜索路径中的一个节点,该虚拟节点与该星型子网的中心节点构成的邻接节点对的亲密度比当前被选取的端节点与其中心节点所构成的邻接节点对的亲密度小;
那么,根据映射到该物理节点上的虚拟节点请求的CPU资源按照从小到大的顺序,将满足上述条件的虚拟节点逐个从该物理节点中迁移出,一旦该物理节点的剩余CPU资源大于等于被选取的端节点请求的CPU资源,则将当前被选取的端节点映射到该物理节点,并将当前被选取的端节点与其所在的星型子网的中心节点之间的虚拟链路映射到由当前宽度优先搜索路径与该物理节点所确定的物理路径,然后停止当前被选取的端节点的映射工作,进而选取下一个端节点进行映射;如果将满足上述条件的所有虚拟节点从该物理节点中迁移出后仍不能使得该物理节点的剩余CPU资源大于等于当前被选取的端节点请求的CPU资源,那么,撤销本次对所有虚拟节点所做出的迁移操作,然后将该物理节点作为当前宽度优先搜索路径的下一宽度的扩展搜索节点。
进一步地,在本发明中,如果虚拟网络请求所要映射的是链路,则使用cut-shortest算法或K-shortest算法计算得到可映射的物理路径。
本发明涉及的相关定义如下:
a)邻接节点对的亲密度
邻接节点对的亲密度是一种根据网络连接特性提出的概念,用以度量邻接节点对潜在的数据交换量,潜在的数据交换量越大则这两个节点越亲密。一般可以认为邻接节点对的亲密度主要由邻接节点对之间的直连链路带宽决定,特别地当直连链路带宽趋于0时,即使两节点的处理能力再高,可以认为这两个节点几乎不会进行数据交换,是两个相对独立的节点,亲密度极低,但是在直连链路带宽相同的情况下,节点的处理能力越强,那么这两个节点潜在的数据交换量也会有所增加。亲密度越小的虚拟网络邻接节点对,潜在数据交换量越小,对映射距离越不敏感,而且对映射产生的中间隐藏跳点CPU资源消耗也会越少。本发明给出邻接节点对的亲密度公式定义如式(1)所示。
κ ( n 1 v , n 2 v ) = ( 2 / π a r c t a n ( C n 1 v C n 2 v ( M a x ( C n v ) / λ ) 2 ) + 1 ) * B W ( n 1 v , n 2 v ) - - - ( 1 )
其中表示虚拟网络邻接节点对的亲密度,分别表示虚拟节点请求的CPU资源,表示虚拟链路请求的带宽资源,表示由物理网络设备提供商(InP)预先设定的虚拟节点请求的CPU资源的最大值,λ为压缩常数,一般取值4。
b)邻接节点对的紧密度和物理节点剩余资源聚集度
本发明在经典物理节点剩余资源度量方式的基础上从邻接节点对紧密度的角度提出一种新的物理节点剩余资源度量方式。邻接节点对的紧密度是邻接节点对逻辑上相对距离的一种度量,邻接节点对紧密度越大可以认为两节点相距越近,式(2)从剩余资源角度定义邻接节点对逻辑上的紧密度,如果节点CPU剩余资源越大,直连链路带宽越大,那么逻辑上可以认为这两个节点相距越近。物理网络节点剩余资源聚集度定义如式(3)所示,表示为该物理节点与所有邻接物理节点的紧密度之和,其中该物理节点与它的一个邻接物理节点的紧密度按照式(2)计算。
J R ( n 1 , n 2 ) = C n 1 C n 2 B W ( n 1 , n 2 ) - - - ( 2 )
χ ( n 1 ) = Σ w ∈ D N ( n 1 ) J R ( n 1 , w ) = C n 1 Σ w ∈ D N ( n 1 ) C w B W ( n 1 , w ) - - - ( 3 )
其中JR(n1,n2)、JR(n1,w)分别表示物理网络邻接节点对紧密度,χ(n1)表示物理节点n1的剩余资源聚集度,DN(n1)表示与物理节点n1邻接的节点集合,分别表示物理节点n1、n2剩余CPU资源,BW(n1,n2)、BW(n1,w)分别表示物理链路(n1,n2)、(n1,w)剩余带宽资源。
与现有技术相比,本发明的有益效果如下:
本发明根据虚拟网络的邻接节点潜在的数据通信量进行映射,可以统一对不同虚拟网络的请求进行物理网络资源的分配,因此比以往虚拟网络的映射方法更加优化物理网络资源的分配,提高资源利用率;其次,邻接节点对的亲密度越大,即两者潜在数据交换量越大,那么它们越有可能占有最优物理网络资源,从而映射产生更少的中间隐藏节点。一般而言,亲密度越大的两个节点映射产生的中间隐藏节点相对而言会消耗物理节点更多的CPU资源,因此本发明能够优化中间隐藏点对物理节点CPU资源消耗。
附图说明
图1是虚拟网络与物理网络之间的映射关系图;
图2是在虚拟网络映射到物理网络的过程中产生中间隐藏跳点的示意图;
图3是本发明的虚拟网络映射方法的流程示意图;
图4是本发明所说的“星型子网”的各种拓扑类型的结构示意图;其中,图(1)至图(m)相应表示节点的个数为1~m(m≥1且m为整数)的星型子网的拓扑图;
图5是本发明根据邻接节点对的亲密度对虚拟网络划分成星型子网和链路的一种实施方式的流程示意图;
图6是本发明将一个具体的虚拟网络划分成星型子网和链路的过程的示意图;
图7是分别使用以往的虚拟网络映射方法和本发明映射方法为图1中的虚拟网络请求1分配物理网络资源的示意图;
图8是分别使用以往的虚拟网络映射方法和本发明映射方法为图1中的虚拟网络请求2分配物理网络资源的映射结果比较示意图;
具体实施方式
下面结合附图对本发明的技术方案进行详细的说明。
图1是虚拟网络与物理网络之间的映射关系示意图。如图1所示,本发明逐个将虚拟网络请求映射到物理网络,对于多个虚拟网络请求的映射顺序并无限制,只考虑映射已选定的虚拟网络请求。另外,如图1所示,本发明涉及的物理网络为简单连通图,虚拟网络为简单图。如果一个虚拟网络包含多个简单子连通图,那么分别独立映射各个简单子连通图。
在虚拟网络映射过程中,当虚拟链路被映射到物理网络的物理路径包含多条物理链路时,虚拟链路两端的虚拟节点在物理网络不是直接相连的,因此需要借助该物理路径之间的物理节点进行数据转发以完成虚拟链路两端的虚拟节点之间的数据通信。由于这些物理节点对虚拟网络请求是不可见的,因此现有技术一般称这些物理节点为中间隐藏跳点。如图2所示,虚拟链路(x,y)被映射到物理网络的物理路径为{(H,G)、(G,H)},该物理路径包含2条物理链路,即(H,G)和(G,H),物理节点G就是映射虚拟链路(x,y)产生的中间隐藏跳点。以往虚拟网络映射方法基本没有考虑虚拟链路对其映射产生的中间隐藏跳点的CPU资源消耗,而现实情况是中间隐藏跳点需要控制数据转发以及路由计算,因此虚拟链路将消耗中间隐藏跳点一定的CPU资源。而且,一般而言,虚拟链路通过的网络流量越大,那么虚拟链路将消耗中间隐藏跳点更多的CPU资源,即数据交换量越大的虚拟邻接节点将消耗中间隐藏节点更多的CPU资源。针对以上缺陷,本发明根据虚拟网络节点请求的CPU资源以及虚拟网络链路请求的带宽资源来推断虚拟网络邻接节点对潜在的数据交换量,由此引入虚拟网络邻接节点对的亲密度的概念;进行虚拟网络映射时尽量让亲密度大的虚拟网络邻接节点对优先占有最优物理网络资源,不仅可以提高映射效益,而且还可以优化虚拟链路对中间隐藏跳点隐性的CPU资源消耗。
如图3所示,本发明的虚拟网络映射方法具体包括如下步骤:
步骤一:根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分成映射等级递增或递减的星型子网和链路。
虚拟网络邻接节点对的亲密度是一种根据网络连接特性提出的概念,用以度量两个邻接节点之间潜在的数据交换量,潜在的数据交换量越大则这两个节点越亲密。一般可以认为,邻接节点对的亲密度主要由这两个邻接节点之间的直连链路带宽决定。两个邻接节点之间的直连链路带宽越大,邻接节点对的亲密度越大。特别地,当直连链路带宽趋于0时,即使两个邻接节点的处理能力再高,可以认为这两个节点几乎不会进行数据交换,是两个相对独立的节点,亲密度极低。但是,在直连链路带宽相同的情况下,两个邻接节点的处理能力越强,那么这两个节点潜在的数据交换量也会有所增加。亲密度越小的虚拟网络邻接节点对,潜在数据交换量越小,对映射距离越不敏感,而且对映射产生的中间隐藏跳点的CPU资源消耗也会越少。其中,虚拟网络邻接节点对的亲密度的计算公式如式(1)所示。
κ ( n 1 v , n 2 v ) = ( 2 / π a r c t a n ( C n 1 v C n 2 v ( M a x ( C n v ) / λ ) 2 ) + 1 ) * B W ( n 1 v , n 2 v ) - - - ( 1 )
其中,表示虚拟网络邻接节点对的亲密度;分别表示虚拟节点 请求的CPU资源,表示虚拟链路请求的带宽资源;表示由物理网络设备提供商(InP)预先设定的虚拟节点请求的CPU资源的最大值;λ为压缩常数,一般取值为4。
根据图论知识可知,一个节点N的度值deg(N)是指与节点N相关联的边的条数。在本发明中,星型子网的节点的个数大于等于1;其中,当星型子网的节点的个数大于1时,星型子网为连通图且至多只有一个节点的度值大于1。图4示出了本发明的星型子网的各种可能的拓扑类型。如图4(1)所示,当星型子网的节点的个数m等于1时,星型子网为一个孤立的节点,该节点的度值为0;如图4(2)所示,当星型子网的节点的个数m等于2时,两个节点的度值均为1,没有度值大于1的节点,因此满足至多只有一个节点的度值大于1;如图4(3)至图4(m)所示,当星型子网的节点的个数m大于2时,只有中心节点N1的度值大于1,其余端节点N2,N3,……Nm的度值均为1,因此满足至多只有一个节点的度值于1。为了方便描述,用表示本发明的任意一个星型子网,其中N1为该星型子网的中心节点,N2,N3,……Nm为该星型子网的端节点,m≥1且m为整数。例如,当m=1时,表示图4(1)所示的星型子网。需要说明的是,使用符号表示星型子网时,表示同一个星型子网的符号中的各端节点的书写顺序可以不同,例如,当m=3时,都可以用来表示图4(3)所示的星型子网。
如图5所示,本发明根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分成映射等级递增或递减的星型子网和链路的一种实施方式如下:
步骤a):利用式(1)计算虚拟网络所有邻接节点对的亲密度,并按照邻接节点对的亲密度从小到大的顺序对邻接节点对之间的虚拟链路排序。
步骤b):将映射等级变量CurrentLevel的初始值设置为Level0(Level0可为任意实数)。
步骤c):判断当前虚拟网络是否包含节点:如果虚拟网络为空,不包含节点,则结束对虚拟网络的划分;否则,执行步骤d)。
步骤d):判断当前虚拟网络是否属于本发明所说的星型子网:如果当前虚拟网络属于本发明所说的星型子网,则将当前虚拟网络的映射等级设置为当前映射等级变量CurrrentLevel的值,并结束对虚拟网络的划分。
如果当前虚拟网络不属于本发明所说的星型子网,则首先将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路的映射等级设置为当前映射等级变量CurrentLevel的值,进而将当前映射等级变量CurrentLevel的值更新为“CurrentLevel+Δl”;然后,从当前虚拟网络中移除该亲密度最小的邻接节点对之间的虚拟链路,并将星型子网的个数n的值重置为0;接着,执行步骤e)。其中,Δl为可变的定向非零数,“定向”是指在虚拟网络划分过程中,Δl的正负属性不改变,而“可变”是指Δl可取约束范围内的任意值。
在步骤d)中,可直接根据如前所述的星型子网的特征判定当前虚拟网络是否属于本发明所说的星型子网,即:(1)若当前虚拟网络的节点的个数等于1,则表明当前虚拟网络属于本发明所说的星型子网。(2)若当前虚拟网络的节点的个数大于1,则进一步查看所有节点的度值,如果满足“至多只有一个节点的度值大于1”,则表明当前虚拟网络属于本发明据说的星型子网;如果不满足“至多只有一个节点的度值大于1”,即当前虚拟网络至少包含2个度值大于1的节点,则表明当前虚拟网络不属于本发明所说的星型子网,因此需要对当前虚拟网络进行划分。
步骤e):检测当前虚拟网络中是否存在星型子网:如果检测到星型子网,则将星型子网的个数n更新为检测到的星型子网的总数量,并从当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路,且缓存所有检测到的星型子网;然后执行步骤f)。
如果未检测到星型子网,则说明经步骤d)移除虚拟链路后的剩余虚拟网络不能得到本发明所说的星型子网,因此,星型子网的个数n不变,仍然为0。
需要说明的是,在步骤e)中,既可以是一旦检测到一个星型子网,即从当前虚拟网络中移除该星型子网包含的虚拟节点和虚拟链路,并缓存该星型子网,且将星型子网的个数n加1进行更新,之后每检测到一个星型子网即重复上述操作;也可以是等到检测出所有星型子网后,再一并从当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路,并缓存检测到的所有星型子网,将星型子网的个数n加上所检测到的星型子网的总数量进行更新。
步骤f):判断当前星型子网的个数n是否大于0:如果当前星型子网的个数n大于0,说明经步骤d)从当前虚拟网络中移除虚拟链路后可以得到n(>0)个本发明所说的星型子网。此时,按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量CurrentLevel的值开始,以逐级加Δl的方式相应地设置这n个星型子网的映射等级,使得星型子网按照节点的个数从少到多的顺序,其映射等级依次为CurrentLevel、CurrentLevel+Δl、CurrentLevel+2Δl、CurrentLevel+3Δl、···CurrentLevel+(n-1)Δl;进而将当前映射等级变量的值更新为CurrentLevel+n*Δl,并将星型子网的个数n的值重置为0,然后返回执行步骤c)。
如果当前星型子网的个数n等于0,则返回执行步骤c)。
需要说明的是:经过上述步骤a)至步骤f),若在虚拟网络整个划分过程中Δl为正值,则将得到映射等级递增的星型子网和链路,那么映射等级的值越大,表示星型子网或链路的映射等级越高;反之,若在虚拟网络整个划分过程中Δl为负值时,则将得到映射等级递减的星型子网和链路,那么映射等级的值越小,表示星型子网或链路的映射等级越高。由此,经过上述步骤,将待映射虚拟网络划分成映射等级递增或递减的星型子网和链路。
作为本发明的另一种实施方式,可以对前述步骤d)至步骤f)作如下修改。其中,在步骤d)中,在判定当前虚拟网络不属于本发明所说的星型子网后,不执行“将星型子网的个数n的值重置为0”的环节;相应地,将前述步骤e)和步骤f)修改为如下的步骤e’)和步骤f’):
步骤e’):检测当前虚拟网络中是否存在星型子网:如果检测到星型子网,则从当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路,且缓存所有检测到的星型子网;然后执行步骤f’);如果未检测到星型子网,则直接返回执行步骤c)。
步骤f’):按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量CurrentLevel的值开始,以逐级加Δl的方式相应地设置由步骤e’)所检测到的星型子网的映射等级,使得这些星型子网按照节点的个数从少到多的顺序,其映射等级依次为CurrentLevel、CurrentLevel+Δl、CurrentLevel+2Δl、CurrentLevel+3Δl、···CurrentLevel+(n-1)Δl;进而将当前映射等级变量的值更新为CurrentLevel+n*Δl,然后返回执行步骤c)。
在上述步骤e)中,检测移除了亲密度最小的邻接节点对之间的虚拟链路后的当前虚拟网络中是否存在本发明所说的星型子网,其检测原理如下:由于从当前虚拟网络中移除虚拟链路后,只有该虚拟链路两端节点的度值发生变化,因此只有该虚拟链路周围才可能产生星型子网,而且至多得到两个本发明所说的星型子网。由此可分别根据被移除的虚拟链路两端的节点变化后的度值信息来判定从当前虚拟网络中移除虚拟链路后是否产生本发明所说的星型子网。具体检测方法如下:
i)如果被移除的虚拟链路的端节点的度值为0,说明得到一个只有一个节点的星型子网。
ii)如果被移除的虚拟链路的端节点的度值为1,在这种情况下,如果能够得到星型子网,那么将得到以该端节点的唯一邻接节点为中心节点的星型子网;继续查看该端节点的唯一邻接节点的其余邻接节点的度值,如果该端节点的唯一邻接节点的其余邻接节点的度值均为1,说明确实得到以该端节点的唯一邻接节点为中心节点的星型子网;否则,说明没有得到星型子网。
iii)如果被移除的虚拟链路端节点的度值大于1,在这种情况下,如果能够得到星型子网,那么将得到以该端节点为中心节点的星型子网;为此,继续查看该端节点的所有邻接节点的度值,如果该端节点的所有邻接节点的度值均为1,说明确实得到以该端节点为中心节点的星型子网;否则,说明没有得到星型子网。
需要说明的是,在上述步骤e)中,如果能够得到本发明所说的星型子网,并且如果所得到的星型子网的节点的个数为2,那么,为便于后续映射工作的执行,可将其中CPU资源请求较大的虚拟节点作为得到的星型子网的中心节点。
为了更直观地阐述本发明根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分成映射等级递增或递减的星型子网和链路的方法,现结合图6,以一个具体的实施例进行详细说明。在图6中,用“Lk”表示虚拟网络被划分后得到的星型子网或链路的映射等级为k,例如,“L7”表示星型子网的映射等级为7。此外,设置Level0=L0,Δl=1,由此,根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分后,得到的星型子网和链路的映射等级是递增的。映射等级的值越大,说明星型子网或链路的映射等级越高。图6中,“X”表示该实施例中需要从当前虚拟网络中移除该虚拟链路以对虚拟网络进行更新。本实施例中,将待映射虚拟网络划分成映射等级递增的星型子网和链路的具体过程如下:
1)根据式(1)计算待映射虚拟网络的所有邻接节点对的亲密度。例如,将Cc=20、Cg=12、BW(c,g)=10、λ=4代入公式(1),求得待映射虚拟网络的邻接节点对的亲密度κ(c,g)=12。按照同样的方法计算其余邻接节点对的亲密度。
2)按照邻接节点对的亲密度从小到大的顺序对邻接节点对之间的虚拟链路进行排序,排序结果如下:df-10、cg-10、ab-10、gm-20、mn-20、bc-30、fg-40、ce-50、gh-60、cd-70。
3)将映射等级变量CurrentLevel的初始值Level0设置为0,表示为“L0”。
4)判断当前虚拟网络是否包含节点。由于当前虚拟网络的节点的个数大于1,并且有6个节点(b、c、d、f、g、m)的度值大于1,不满足“至多只有一个节点的度值大于1”,因此当前虚拟网络不属于本发明所说的星型子网,那么需要对当前虚拟网络进行划分。
5)将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路df-10的映射等级设置为当前映射等级变量CurrentLevel的值L0(即为0),进而将当前映射等级变量CurrentLevel更新为“L0+Δl”(即0+1),使得更新后的当前映射等级变量CurrentLevel的值为1(表示为“L1”;然后从当前虚拟网络中移除虚拟链路df-10,并将星型子网的个数n置0;接着检测移除虚拟链路df-10后的剩余虚拟网络中是否存在本发明所说的星型子网。
在检测移除虚拟链路df-10后的虚拟网络中是否存在本发明所说的星型子网的过程中,首先考察虚拟节点d,由于deg(d)=1,如果能够得到星型子网,那么只可能得到以虚拟节点c为中心节点的星型子网,所以继续查看虚拟节点c的其余邻接节点b、e、g的度值,由于deg(b)=2,所以没有得到星型子网。同理,考察虚拟节点f,也没有得到星型子网。由此可知,从当前虚拟网络中移除虚拟链路df-10后不能得到本发明所说的星型子网,所以星型子网的个数n还是为0。
6)继续判断当前虚拟网络是否包含节点。由于当前虚拟网络的节点的个数大于1,并且有4个节点(b、c、g、m)的度值大于1,不满足“至多只有一个节点的度值大于1”,因此当前虚拟网络不属于本发明所说的星型子网,需要继续对当前虚拟网络进行划分。
7)将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路cg-10的映射等级设置为当前映射等级变量CurrentLevel的值L1(即为1),进而将当前映射等级变量CurrentLevel的值更新为“L1+Δl”(即1+1),使得更新后的当前映射等级变量CurrentLevel的值为2(表示为“L2”);然后,从当前虚拟网络中移除虚拟链路cg-10,并将星型子网的个数n的值重置0;接着检测移除虚拟链路cg-10后的剩余虚拟网络中是否存在本发明所说的星型子网。
首先考察虚拟节点c,由于deg(c)=3>1,在这种情况下,如果能够得到星型子网,那么只可能得到以虚拟节点c为中心节点的星型子网,所以继续查看虚拟节点c的所有邻接节点b、d、e的度值,由于deg(b)=2,所以不能得到星型子网;同理,再考察虚拟节点g,也不能得到星型子网。由此可知,从当前虚拟网络中移除虚拟链路cg-10后不能得到本发明所说的星型子网,所以星型子网的个数n还是为0。
8)继续判断当前虚拟网络是否包含节点。由于当前虚拟网络的节点的个数大于1,并且有4个节点(b、c、g、m)的度值大于1,不满足“至多只有一个节点的度值大于1”,因此当前虚拟网络不属于本发明所说的星型子网,需要继续对当前虚拟网络进行划分。
9)将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路ab-10的映射等级设置为当前映射等级变量CurrentLevel的值L2(即为2),进而将当前映射等级变量CurrentLevel的值更新为“L2+Δl”(即2+1),使得更新后的当前映射等级变量CurrentLevel的值为3(表示为“L3”);然后,从当前虚拟网络中移除虚拟链路ab-10,并将星型子网的个数n的值重置为0;接着检测移除虚拟链路ab-10后的剩余虚拟网络中是否存在本发明所说的星型子网。
首先考察虚拟节点a,由于deg(a)=0,所以得到星型子网随后将星型子网的个数n的值加1后更新为1,然后从当前虚拟网络中移除星型子网包含的虚拟节点和虚拟链路,由于星型子网只包含虚拟节点a,因此只需要从当前虚拟网络中移除虚拟节点a;再考察虚拟节点b,由于deg(b)=1,如果能够得到星型子网,那么只可能得到以虚拟节点b的唯一邻接节点,即虚拟节点c,为中心节点的星型子网,所以继续查看虚拟节点c的其余邻接节点d、e的度值,因为deg(d)=deg(e)=1,所以确实得到了以虚拟节点c为中心节点的星型子网随后将当前星型子网的个数n的值再加1后更新为2,然后从当前虚拟网络中移除星型子网包含的虚拟节点和虚拟链路,即虚拟节点c、虚拟节点d、虚拟节点b、虚拟节点e、虚拟链路cd-70、虚拟链路bc-30、虚拟链路ce-50。需要说明的是,作为本发明的另一种实施方式,也可以在完成对虚拟节点a和虚拟节点b的考察后,再一并移除星型子网和星型子网所包含的虚拟节点和虚拟链路,并将星型子网的个数n的值直接更新为2(因为此时共得到了两个星型子网)。
由于此时星型子网的个数n为2(大于0),也就是说从虚拟网络中移除虚拟链路ab-10后得到2个本发明所说的星型子网,即星型子网和星型子网而星型子网比星型子网具有更多的节点数,因此,自当前映射等级变量CurrentLevel的值L3(即为3)开始,以逐级加Δl的方式相应地设置这2个星型子网的映射等级,使得这两个星型子网按照节点的个数从少到多的顺序,其映射等级依次为:星型子网的映射等级为3(表示为“L3”),星型子网的映射等级为L3+Δl=3+1=4(表示为“L4”)。进而将当前映射等级变量CurrentLevel的值更新为L3+2*Δl=3+2*1=5(表示为“L5”)。
10)继续判断当前虚拟网络是否包含节点。此时,由于当前虚拟网络的节点的个数大于1,并且有2个节点(g、m)的度值大于1,不满足“至多只有一个节点的度值大于1”,因此,当前虚拟网络不属于本发明所说的星型子网,需要继续对当前虚拟网络进行划分。
11)将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路gm-20的映射等级设置为当前映射等级变量CurrentLevel的值L5(即为5),进而将当前映射等级变量CurrentLevel的值更新为L5+Δl(即5+1),使得更新后的当前映射等级变量CurrentLevel的值为6(表示为“L6”);然后,从当前虚拟网络中移除虚拟链路gm-20,并将星型子网的个数n的值重置为0;接着,检测移除虚拟链路gm-20后的虚拟网络中是否存在本发明所说的星型子网。
首先考察虚拟节点g,由于deg(g)=2>1,如果能够得到星型子网,那么只可能得到以虚拟节点g为中心节点的星型子网,继续查看虚拟节点g的所有邻接节点f、h,因为deg(f)=deg(h)=1,所以确实得到以虚拟节点g为中心节点的星型子网随后将星型子网的个数n的值更新为1,然后从当前虚拟网络中移除星型子网包含的虚拟节点和虚拟链路,即虚拟节点g、虚拟节点f、虚拟节点h、虚拟链路fg-40、虚拟链路gh-60;同理考察虚拟节点m,得到以虚拟节点n为中心节点的星型子网随后将当前星型子网的个数n的值再加1后而更新为2,然后从剩余虚拟网络中移除星型子网包含的虚拟节点和虚拟链路,即虚拟节点n、虚拟节点m、虚拟链路mn-20。需要说明的是,对于得到的星型子网由于虚拟节点n请求的CPU资源大于虚拟节点m请求的CPU资源,因此以虚拟节点n作为得到的星型子网的中心节点;如果刚好反过来,即虚拟节点m请求的CPU资源大于虚拟节点n请求的CPU资源,那么将以虚拟节点m作为得到的星型子网的中心节点,即得到星型子网而不是此外,作为本发明的另一种实施方式,也可以在完成对虚拟节点g和虚拟节点m的考察后,再一并移除星型子网和星型子网所包含的虚拟节点和虚拟链路,并将星型子网的个数n的值直接更新为2(因为此时共得到了两个星型子网)。
由于当前星型子网的个数n为2(大于0),也就是说从虚拟网络中移除虚拟链路gm-20后得到2个本发明所说的星型子网,即星型子网和星型子网由于星型子网比星型子网具有更多的节点数,因此,自当前映射等级变量CurrentLevel的值L6(即为6)开始,以逐级加Δl的方式相应地设置这2个星型子网的映射等级,使得这两个星型子网按照节点的个数从少到多的顺序,其映射等级依次为:星型子网的映射等级为6(表示为“L6”),星型子网的映射等级为L6+Δl=6+1=7(表示为“L7”)。进而将当前映射等级变量CurrentLevel的值更新为L6+2*Δl=6+2*1=8(表示为“L8”)。
12)继续判断当前虚拟网络是否包含节点。此时,由于当前虚拟网络的节点的个数为0,即不包含任何虚拟节点,因此虚拟网络的划分过程结束。
如图6所示,至此,经过上述过程,得到了映射等级依次递增的星型子网和链路:df-10、cg-10、ab-10、gm-20、相应地,它们的映射等级依次为0、1、2、3、4、5、6、7。
步骤二:利用物理网络的所有节点的剩余资源聚集度,将步骤一所得到的星型子网和链路按照映射等级从高到低的顺序映射到物理网络。
以往虚拟网络映射方法基本根据虚拟网络请求的请求顺序分配物理网络资源,将最优资源优先分配给当前请求,是一种对当前可用资源最优化利用的分配策略,但这种分配策略可能造成后续请求无法申请到可用资源而被拒绝服务,造成物理资源总体利用率较低。如图1所示,当虚拟网络请求1到来后,由于物理网络的路径{(A,B)}的资源最充足,以往虚拟网络映射方法一般将虚拟网络请求1的虚拟链路(a,b)映射到物理路径{(A,B)}。针对虚拟网络请求1,本发明也使用该以往虚拟网络映射方法,从而也得到相同的映射结果,映射结果如图7所示。
当虚拟网络请求2到来后,假设虚拟网络请求2与虚拟网络请求1具有相同的优先级,这里所说的优先级可以是根据用户权限或用户所交费用定义的优先级,以往虚拟网络映射方法几乎都是在当前可用资源范围内搜索可映射资源,由于没有物理网络节点同时满足虚拟节点c和d的CPU资源请求,因此虚拟网络请求2会被拒绝。但是,本发明虚拟网络映射方法会将虚拟网络请求1的虚拟链路(a,b)从物理路径{(A,B)}中迁出以满足接收虚拟网络请求2的资源请求。以往虚拟网络映射方法与本发明虚拟网络映射方法为虚拟网络请求2分配物理网络资源的映射结果比较如图8所示,由此可见,以往虚拟网络映射方法“先到先得”的资源分配策略往往带来较低的物理资源利用率。为了统一对不同虚拟网络请求的资源分配,本发明通过利用虚拟网络邻接节点对的亲密度来控制虚拟网络的邻接节点对对物理网络资源的占有优先级,通过主动迁移以往虚拟网络请求中亲密度较小的虚拟网络邻接节点对,以“退让”最优资源不仅可以提高虚拟网络请求的接收率,而且还可以减少映射成本;此外,如前所述,还可以优化虚拟链路对中间隐藏跳点的CPU资源消耗。
在现有技术中,对物理节点的剩余资源进行度量一般使用如式(2)所示的经典的物理节点剩余资源度量方式。式(2)是从物理节点的剩余CPU资源和与其关联的物理链路的带宽资源角度度量物理节点的剩余资源,但是这种度量方式不能反映邻接物理节点的资源特性,于是本发明进一步从物理邻接节点对的紧密度的角度提出一种不同的物理节点剩余资源度量方式,即本发明使用如式(4)所示的方法计算物理节点的剩余资源聚集度。如式(4)所示,物理节点的剩余资源聚集度是该物理节点与所有邻接物理节点的紧密度之和,其中,物理节点与它的一个邻接物理节点的紧密度按照式(3)计算。物理网络邻接节点对的紧密度是物理网络邻接节点对在逻辑上的相对距离的一种度量,物理网络邻接节点对紧密度越大可以认为两节点逻辑上相距越近。
H ( u ) = C u Σ w ∈ D N ( u ) B W ( u , w ) - - - ( 2 )
J R ( n 1 , n 2 ) = C n 1 C n 2 B W ( n 1 , n 2 ) - - - ( 3 )
χ ( n 1 ) = Σ w ∈ D N ( n 1 ) J R ( n 1 , w ) = C n 1 Σ w ∈ D N ( n 1 ) C w B W ( n 1 , w ) - - - ( 4 )
其中H(u)表示物理节点u的剩余资源,JR(n1,n2)、JR(n1,w)分别表示物理网络邻接节点对紧密度,χ(n1)表示物理节点n1的剩余资源聚集度,DN(n1)表示与物理节点n1邻接的节点集合,分别表示物理节点u、n1、n2剩余CPU资源,BW(u,w)、BW(n1,n2)、BW(n1,w)分别表示物理链路(u,w)、(n1,n2)、(n1,w)剩余带宽资源。JR值越大说明这两个物理节点在逻辑上越紧密,因此以宽度优先的方式搜索可映射物理节点时理应优先考虑与参考物理节点JR值越大的物理节点;χ值越大说明物理节点周围资源越聚集,主要作为负载均衡方面的物理节点选择依据。
在本发明中,将星型子网和链路按照映射等级从高到低的顺序映射到物理网络具体包括以下内容。
分别对每个待映射的星型子网和链路执行以下步骤,其执行顺序是按照星型子网和链路的映射等级从高到低的顺序,即:映射等级高的星型子网或链路先执行,映射等级低的星型子网或链路后执行。具体步骤说明如下:
如果虚拟网络请求所要映射的是链路,则使用cut-shortest算法、K-shortest算法等算法计算得到可映射的物理路径。以cut-shortest算法为例,如果采用cut-shortest算法映射该链路,则将物理网络中剩余带宽资源小于该链路请求的带宽资源的物理链路移除(cut),然后使用最短路径算法,例如Dijkstra算法,计算得到可映射的最短物理路径,表明链路映射成功。
如果虚拟网络请求所要映射的是星型子网,则根据星型子网的节点的个数采取不同的映射策略。
具体而言,如果星型子网的节点的个数大于1,则根据式(4)计算所有物理网络节点的剩余资源聚集度,然后按照剩余资源聚集度从大到小的顺序,依次查找CPU剩余资源大于或等于该星型子网的中心节点请求的CPU资源且邻接物理链路带宽之和大于该星型子网的中心节点的邻接虚拟链路带宽之和的物理节点。随后,将该星型子网的中心节点映射到该物理节点。最后,根据式(1)的计算结果,按照该星型子网的端节点与中心节点的亲密度从大到小的顺序确定各端节点的先后映射顺序。例如,在图6所示的实施例中,映射等级为L4的星型子网由于κ(c,d)>κ(c,e)>κ(c,b),所以在中心节点c映射完成后,端节点的映射顺序依次为d、e、b。确定端节点的映射顺序后,本发明可使用现有的宽度优先搜索方法或经改进的宽度优先搜索方法(即带迁移能力的宽度优先搜索方法)为每一个端节点选取可映射的物理节点和物理路径,所有端节点均以其所在的星型子网的中心节点所映射的物理节点作为宽度优先搜索的最原始起点。其中,所谓“带迁移能力”是在指搜索过程中,当被搜索到的物理节点的剩余CPU资源或物理链路的剩余带宽资源小于请求的资源时,尝试迁移已映射虚拟网络中亲密度比当前邻接节点对(被选取的端节点与中心节点)的亲密度小的邻接节点对,以解决被搜索到的物理节点或物理链路剩余资源不足的问题。“宽度优先搜索方法”中的“宽度”是指物理路径之间的物理链路条数。例如,对图1所示的物理路径{(D,B),(B,A)}而言,从物理节点D到物理节点A,需要经过物理链路(D,B)和(B,A)。所以对于物理路径{(D,B),(B,A)}而言,其路径宽度为2。宽度优先搜索方法中的物理节点先后搜索顺序规则如下:同一路径宽度下,利用式(3)计算当前搜索起点与所有邻接节点的紧密度,优先选取与当前搜索起点的紧密度最大的邻接节点。如图1所示的物理网络,假如宽度优先搜索方法搜索到物理节点A,那么将物理节点A作为当前搜索起点,再确定物理节点A的所有邻接节点的先后搜索顺序,由于物理节点B、C、D、E与物理节点A的宽度均为1,但是就它们与当前搜索起点A的紧密度而言,JR(A,B)>JR(A,C)>JR(A,D)>JR(A,E),所以,在同一路径宽度下,物理节点A的所有邻接节点的搜索顺序为B、C、D、E;如果选择物理节点B,那么宽度优先搜索路径为…→A→B,此时如果需要进行下一宽度搜索的话,只需要将物理节点B作为当前搜索起点,即可确定物理节点B的所有邻接节点的先后搜索顺序;如果选择物理节点C,那么宽度优先搜索路径为…→A→C,此时如果需要进行下一宽度搜索的话,只需要将物理节点C作为当前搜索起点,即可确定物理节点C的所有邻接节点的先后搜索顺序;如果选择物理节点D,那么宽度优先搜索路径为…→A→D,此时如果需要进行下一宽度搜索的话,只需要将物理节点D作为当前搜索起点,即可确定物理节点D的所有邻接节点的先后搜索顺序;如果选择物理节点E,那么宽度优先搜索路径为…→A→E,此时如果需要进行下一宽度搜索的话,只需要将物理节点E作为当前搜索起点,即可确定物理节点E的所有邻接节点的先后搜索顺序。
如果星型子网的节点的个数等于1,则选择与该星型子网的唯一节点的亲密度最大的已映射虚拟节点,然后以该已映射的虚拟节点所映射的物理节点为起点,使用现有的宽度优先搜索方法或带迁移能力的宽度优先搜索方法搜索可映射的物理节点,再将星型子网的该节点映射到可映射的物理节点。
在本发明中,如果使用所述“带迁移能力的宽度优先搜索方法”,其中,
在搜索过程中,当被搜索到的物理链路的剩余带宽资源小于当前被选取的端节点与中心节点之间的虚拟链路请求的带宽资源时,如果已映射虚拟网络中的已映射到该物理链路上的虚拟链路满足以下条件:
该已映射虚拟网络中的该虚拟链路属于其中一个星型子网,而该星型子网的中心节点所映射的物理节点是当前宽度优先搜索路径中的一个节点,该虚拟链路两端的虚拟节点构成的邻接节点对的亲密度比当前被选取的端节点与其中心节点所构成的邻接节点对的亲密度小;
那么,根据映射到该物理链路上的虚拟链路请求的带宽资源按照从小到大的顺序,将满足上述条件的虚拟链路逐个从该物理链路中迁移出,一旦该物理链路的剩余带宽资源大于等于被选取的端节点与中心节点之间的虚拟链路请求的带宽资源,则将当前被选取的端节点映射到该物理链路中的一端不在当前宽度优先搜索路径中的物理节点,并将当前被选取的端节点与其所在的星型子网的中心节点之间的虚拟链路映射到由当前宽度优先搜索路径与该物理链路所确定的物理路径,然后停止当前被选取的端节点的映射工作,进而选取下一个端节点进行映射;如果将满足上述条件的所有虚拟链路从该物理链路中迁移出后仍不能使得该物理链路的剩余带宽资源大于等于被选取的端节点与中心节点之间的虚拟链路请求的带宽资源,那么撤销本次对所有虚拟链路所做出的迁移操作,然后不再将该物理链路中的一端在当前宽度优先搜索路径中的物理节点作为当前宽度优先搜索路径下一宽度的扩展搜索节点;
在搜索过程中,当被搜索到的物理节点的剩余CPU资源小于当前被选取的端节点请求的CPU资源时,如果已映射虚拟网络中的已映射到该物理节点上的虚拟节点满足以下条件:
该已映射虚拟网络中的该虚拟节点是其中一个星型子网的端结点,而该星型子网的中心节点所映射的物理节点是当前宽度优先搜索路径中的一个节点,该虚拟节点与该星型子网的中心节点构成的邻接节点对的亲密度比当前被选取的端节点与其中心节点所构成的邻接节点对的亲密度小;
那么,根据映射到该物理节点上的虚拟节点请求的CPU资源按照从小到大的顺序,将满足上述条件的虚拟节点逐个从该物理节点中迁移出,一旦该物理节点的剩余CPU资源大于等于被选取的端节点请求的CPU资源,则将当前被选取的端节点映射到该物理节点,并将当前被选取的端节点与其所在的星型子网的中心节点之间的虚拟链路映射到由当前宽度优先搜索路径与该物理节点所确定的物理路径,然后停止当前被选取的端节点的映射工作,进而选取下一个端节点进行映射;如果将满足上述条件的所有虚拟节点从该物理节点中迁移出后仍不能使得该物理节点的剩余CPU资源大于等于当前被选取的端节点请求的CPU资源,那么,撤销本次对所有虚拟节点所做出的迁移操作,然后将该物理节点作为当前宽度优先搜索路径的下一宽度的扩展搜索节点。
在确定星型子网的端节点的映射顺序以及物理节点的搜索顺序后,如果使用带迁移能力的宽度优先搜索方法进行映射,则其具体过程如下:
假设待映射星型子网的中心节点为当前被选取的端节点为当前宽度优先搜索路径为X0→X1→X2→…→Xn,其中n=0,1,2…,物理节点X0是星型子网的中心节点所映射的物理节点,物理节点X0为作为该星型子网中所有端节点宽度优先搜索的最原始起点,物理节点Xn表示当前搜索起点,用Xhistory={X0,X1,X2,…Xn}表示当前宽度优先搜索路径所经历的物理节点集合。假设继续搜索可映射物理节点,并搜索到下一宽度物理节点Xn+1,那么被搜索到的物理节点即为物理节点Xn+1,被搜索到的物理链路即为物理链路(Xn,Xn+1),物理链路(Xn,Xn+1)的一端不在当前宽度优先搜索路径X0→X1→X2→…→Xn中的物理节点即为物理即点Xn+1。根据物理节点Xn+1的剩余CPU资源能否满足端节点请求的CPU资源以及物理链路(Xn,Xn+1)的剩余带宽资源能否满足虚拟链路请求的带宽资源(其中,物理节点Xn+1的剩余CPU资源能满足端节点请求的CPU资源是指物理节点Xn+1的剩余CPU资源大于等于端节点请求的CPU资源;物理链路(Xn,Xn+1)的剩余带宽资源能满足虚拟链路请求的带宽资源是指物理链路(Xn,Xn+1)的剩余带宽资源大于等于虚拟链路请求的带宽资源),总共可分为以下四种情形:
情形一:如果被搜索到的物理节点Xn+1的剩余CPU资源大于等于当前被选取的端节点请求的CPU资源而且被搜索到的物理链路(Xn,Xn+1)的剩余带宽资源大于等于虚拟链路请求的带宽资源,则将当前被选取的端节点映射到物理节点Xn+1,并将虚拟链路映射到物理路径{(X0,X1),(X1,X2),…(Xn,Xn+1)}。然后,停止端节点的所有映射工作,选取星型子网的下一个端节点进行映射。
情形二:如果被搜索到的物理节点Xn+1的剩余CPU资源小于当前被选取的端节点请求的CPU资源,但是被搜索到的物理链路(Xn,Xn+1)的剩余带宽资源大于等于虚拟链路请求的带宽资源,则需要迁移已映射虚拟网络请求中映射到物理节点Xn+1上的虚拟节点。表示所有已映射虚拟网络请求中映射到物理节点Xn+1的虚拟节点集合,逐个判定中的虚拟节点是否是某个已映射虚拟网络请求中的某个星型子网的端节点,如果虚拟节点不是某个已映射虚拟网络请求中某个星型子网的端节点,那么跳过继续查看中的下一个虚拟节点。如果虚拟节点是某个已映射虚拟网络请求中某个星型子网的端节点而且该星型子网的中心节点所映射的物理节点Xk∈Xhistory则将加入待迁移虚拟节点集合遍历完中的虚拟节点之后,根据中的虚拟节点请求的CPU资源按照从小到大的顺序,逐个迁移中的虚拟节点。如果在迁移中的虚拟节点的过程中,一旦物理节点Xn+1的剩余CPU资源大于等于端节点请求的CPU资源,那么将当前被选取的端节点映射到物理节点Xn+1,并将虚拟链路映射到由当前宽度优先搜索路径X0→X1→X2→…→Xn与物理节点Xn+1所确定的物理路径{(X0,X1),(X1,X2),…(Xn,Xn+1)},然后,停止端节点的所有映射工作,选取星型子网的下一个端节点进行映射;如果即使全部迁移中的虚拟节点后都不能使得物理节点Xn+1的剩余CPU资源大于等于端节点请求的CPU资源,那么撤销本次对映射到物理节点Xn+1上的所有虚拟节点所做出的迁移操作,然后将物理节点Xn+1作为当前宽度优先搜索路径X0→X1→X2→…→Xn的下一宽度的扩展搜索节点,即将物理节点Xn+1作为宽度优先搜索路径X0→X1→X2→…→Xn→Xn+1的下一宽度的搜索起点进行扩展搜索。
情形三:如果被搜索到的物理节点Xn+1的剩余CPU资源大于等于当前被选取的端节点请求的CPU资源,但是被搜索到的物理链路(Xn,Xn+1)的剩余带宽资源小于虚拟链路请求的带宽资源,则需要迁移已映射虚拟网络请求中映射到物理链路(Xn,Xn+1)上的虚拟链路,表示所有已映射虚拟网络请求中映射到物理链路(Xn,Xn+1)的虚拟链路集合。逐个判定中的虚拟链路是否属于某个已映射虚拟网络请求中的某个星型子网,如果虚拟链路不属于某个已映射虚拟网络请求中某个星型子网,说明虚拟链路是从某个已映射虚拟网络中被移除的虚拟链路,那么跳过继续查看中的下一条虚拟链路。如果虚拟链路属于某个已映射虚拟网络请求中某个星型子网而且该星型子网的中心节点所映射物理节点Xk∈Xhistory其中为虚拟链路的另一端节点,则将加入到待迁移虚拟链路集合另外,如果需要迁移虚拟链路实际操作时只需要重新映射虚拟节点即可。遍历完中的所有虚拟链路后,根据中的虚拟链路请求的带宽资源按照从小到大的顺序,逐个迁移中的虚拟链路。如果在迁移中的虚拟链路的过程中,一旦物理链路(Xn,Xn+1)的剩余带宽资源大于等于虚拟链路请求的带宽资源,那么将当前被选取的端节点映射到物理节点Xn+1,并将虚拟链路映射到由当前宽度优先搜索路径X0→X1→X2→…→Xn与物理链路(Xn,Xn+1)所确定的物理路径{(X0,X1),(X1,X2),…(Xn,Xn+1)},然后,停止端节点的所有映射工作,选取星型子网的下一个端节点进行映射;如果即使全部迁移中的虚拟链路后都不能使得物理链路(Xn,Xn+1)的剩余带宽资源大于等于虚拟链路请求的带宽资源,那么撤销本次对映射到物理链路(Xn,Xn+1)上的所有虚拟链路所做出的迁移操作,然后不再将物理节点Xn+1作为当前宽度优先搜索路径X0→X1→X2→…→Xn的下一宽度的扩展搜索节点,即不再对宽度优先搜索路径X0→X1→X2→…→Xn→Xn+1进行下一宽度的扩展搜索。
情形四:如果被搜索到的物理节点Xn+1的剩余CPU资源小于当前被选取的端节点请求的CPU资源而且被搜索到的物理链路(Xn,Xn+1)的剩余带宽资源小于虚拟链路请求的带宽资源可将情形四看作情形二和情形三的综合情形,分别采用情形二和情形三的迁移策略进行重映射。首先采用情形三中的虚拟链路迁移策略解决物理链路(Xn,Xn+1)的剩余带宽资源不足问题;然后再采用情形二中的虚拟节点迁移策略解决物理节点Xn+1的剩余CPU资源不足问题。
如果链路或星型子网映射失败,即不能找到可映射的物理节点或物理路径,则停止当前虚拟网络请求的所有映射工作,并将其加入到重尝试队列。重尝试队列用于管理暂时映射失败的虚拟网络请求。在本发明中,当虚拟网络映射启动后,会开辟一个定时器用于定时检测重尝试队列中的虚拟网络请求自映射失败那刻起至检测时刻所经历的时间是否超过预先设置的时间阈值Ttry。如果超过了,则尝试将该虚拟网络请求再次映射到物理网络。其中,Ttry的取值没有绝对的限制,可以结合物理网络的负载状况以及用户允许的映射延迟进行确定。“映射延迟”是指从用户提交虚拟网络请求到将虚拟网络请求成功映射到物理网络所需的时间。一般而言,Ttry的取值越大,则虚拟网络请求成功被映射到物理网络的可能性也会越大,但是这样会加大系统的重映射负担。如果再次映射失败,则将该虚拟网络请求的重尝试次数自加1。如果重尝试次数超过预先设置的虚拟网络请求重尝试次数Ntry,则该虚拟网络请求不再被加入重尝试队列,直接被拒绝服务。其中,Ntry的取值也没有绝对的限制。一般而言,Ntry的取值越大,那么虚拟网络请求成功被映射到物理网络的可能性也会越大,但是这样同样会加大系统的重映射负担。

Claims (10)

1.一种虚拟网络的映射方法,其特征在于,将虚拟网络请求映射到物理网络包括以下步骤:
(1)根据虚拟网络邻接节点对的亲密度将待映射虚拟网络划分成映射等级递增或递减的星型子网和链路;
(2)利用物理网络的所有节点的剩余资源聚集度,将所述星型子网和链路按照映射等级从高到低的顺序映射到物理网络。
2.根据权利要求1所述的映射方法,其特征在于:所述虚拟网络为简单图,物理网络为简单连通图。
3.根据权利要求2所述的映射方法,其特征在于:所述星型子网的节点的个数大于等于1;其中,当所述星型子网的节点的个数大于1时,所述星型子网为连通图且至多只有一个节点的度值大于1。
4.根据权利要求1至3中任一项所述的映射方法,其特征在于,所述步骤一按以下方法执行:
步骤(1):计算虚拟网络所有邻接节点对的亲密度,设置映射等级变量CurrentLevel的初始值为Level0,Level0为任意实数;
步骤(2):判断当前虚拟网络是否包含节点:如果不包含节点,则结束对虚拟网络的划分;否则,执行步骤(3);
步骤(3):判断当前虚拟网络是否属于所述星型子网:如果属于,则将当前虚拟网络的映射等级设置为当前映射等级变量CurrentLevel的值,并结束对虚拟网络的划分;
如果当前虚拟网络不属于所述星型子网,则将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路的映射等级设置为当前映射等级变量CurrentLevel的值,进而将当前映射等级变量CurrentLevel的值更新为“CurrentLevel+Δl”,其中,Δl为可变的定向非零数;然后,从当前虚拟网络中移除该亲密度最小的邻接节点对之间的虚拟链路;接着,执行步骤(4);
步骤(4)):检测当前虚拟网络中是否存在星型子网:如果检测到星型子网,则从当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路;然后执行步骤(5);如果未检测到星型子网,则返回执行步骤(2);
步骤(5):按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量的值开始,以逐级加Δl的方式相应地设置步骤(4)所检测到的星型子网的映射等级;然后返回执行步骤(2)。
5.根据权利要求1至3中任一项所述的映射方法,其特征在于,所述步骤一按以下方法执行:
步骤(1):计算虚拟网络所有邻接节点对的亲密度,设置映射等级变量CurrentLevel的初始值为Level0,Level0为任意实数;
步骤(2):判断当前虚拟网络是否包含节点:如果不包含节点,则结束对虚拟网络的划分;否则,执行步骤(3);
步骤(3):判断当前虚拟网络是否属于所述星型子网:如果属于,则将当前虚拟网络的映射等级设置为当前映射等级变量的值,并结束对虚拟网络的划分;
如果当前虚拟网络不属于所述星型子网,则将当前虚拟网络中亲密度最小的邻接节点对之间的虚拟链路的映射等级设置为当前映射等级变量CurrentLevel的值,进而将当前映射等级变量CurrentLevel的值更新为“CurrentLevel+Δl”;然后,从当前虚拟网络中移除该亲密度最小的邻接节点对之间的虚拟链路,并将星型子网的个数n的值重置为0;接着,执行步骤(4);其中,Δl为可变的定向非零数;
步骤(4):检测当前虚拟网络中是否存在星型子网:如果检测到星型子网,则将星型子网的个数n更新为检测到的星型子网的总数量,并从当前虚拟网络中移除所有检测到的星型子网所包含的虚拟节点和虚拟链路;然后执行步骤(5);
如果未检测到星型子网,则执行步骤(5);
步骤(5):判断当前星型子网的个数n是否大于0:如果当前星型子网的个数n大于0,则按照星型子网的节点的个数从少到多的顺序,自当前映射等级变量CurrentLevel的值开始,以逐级加Δl的方式相应地设置这n个星型子网的映射等级,进而将当前映射等级变量的值更新为CurrentLevel+n*Δl,并将星型子网的个数n的值重置为0,然后返回执行步骤(2);
如果当前星型子网的个数n等于0,则返回执行步骤(2)。
6.根据权利要求1至5中任一项所述的映射方法,其特征在于,所述虚拟网络邻接节点对的亲密度按以下公式(1)所示的方法计算:
κ ( n 1 v , n 2 v ) = ( 2 / π arctan ( C n 1 v C n 2 v ( M a x ( C n v ) / λ ) 2 ) + 1 ) * B W ( n 1 v , n 2 v ) - - - ( 1 )
其中,表示虚拟网络中的邻接节点对 v之间的亲密度,分别表示虚拟节点请求的CPU资源,表示虚拟链路请求的带宽资源,表示由物理网络设备提供商预先设定的虚拟节点请求的CPU资源的最大值,λ为压缩常数。
7.根据权利要求6所述的映射方法,其特征在于:所述压缩常数λ的取值为4。
8.根据权利要求1至7中任一项所述的映射方法,其特征在于,所述步骤二的方法是按照映射等级从高到低的顺序分别对每个待映射的星型子网和链路执行以下步骤:
如果虚拟网络请求所要映射的是链路,则计算得到可映射的物理路径;
如果虚拟网络请求所要映射的是星型子网,则根据星型子网的节点的个数分别采取以下映射策略:
如果星型子网的节点的个数大于1,则在物理网络中选取剩余资源聚集度最大且满足CPU资源请求和链路资源请求的物理节点,然后将该星型子网的中心节点映射到该物理节点;按照端节点与该星型子网的中心节点的亲密度从大到小的顺序确定该星型子网的各端节点的先后映射顺序,均以该星型子网的中心节点所映射的物理节点为起点,采用宽度优先搜索方法为每一个端节点搜索可映射的物理节点和物理路径,将该星型子网的各端节点映射到可映射的物理节点,并将各端节点与中心节点之间的虚拟链路映射到为该端节点选取可映射的物理节点的过程中所确定的宽度优先搜索路径;
如果星型子网的节点的个数等于1,则选择与该星型子网的节点亲密度最大的已映射虚拟节点,以该已映射虚拟节点所映射的物理节点为起点,采用宽度优先搜索方法为该星型子网的该节点搜索可映射的物理节点,将该星型子网的该节点映射到可映射的物理节点;
如果链路或星型子网映射失败,则停止当前虚拟网络请求的所有映射工作,并将其加入到重尝试队列,定时尝试将该虚拟网络请求再次映射到物理网络;当虚拟网络请求重尝试次数超过预先设置值时,该虚拟网络请求不再被加入重尝试队列,直接被拒绝服务。
9.根据权利要求8所述的映射方法,其特征在于:所述宽度优先搜索方法为带迁移能力的宽度优先搜索方法,其中,
在搜索过程中,当被搜索到的物理链路的剩余带宽资源小于当前被选取的端节点与中心节点之间的虚拟链路请求的带宽资源时,如果已映射虚拟网络中的已映射到该物理链路上的虚拟链路满足以下条件:
该已映射虚拟网络中的该虚拟链路属于其中一个星型子网,而该星型子网的中心节点所映射的物理节点是当前宽度优先搜索路径中的一个节点,该虚拟链路两端的虚拟节点构成的邻接节点对的亲密度比当前被选取的端节点与其中心节点所构成的邻接节点对的亲密度小;
那么,根据映射到该物理链路上的虚拟链路请求的带宽资源按照从小到大的顺序,将满足上述条件的虚拟链路逐个从该物理链路中迁移出,一旦该物理链路的剩余带宽资源大于等于被选取的端节点与中心节点之间的虚拟链路请求的带宽资源,则将当前被选取的端节点映射到该物理链路中的一端不在当前宽度优先搜索路径中的物理节点,并将当前被选取的端节点与其所在的星型子网的中心节点之间的虚拟链路映射到由当前宽度优先搜索路径与该物理链路所确定的物理路径,然后停止当前被选取的端节点的映射工作,进而选取下一个端节点进行映射;如果将满足上述条件的所有虚拟链路从该物理链路中迁移出后仍不能使得该物理链路的剩余带宽资源大于等于被选取的端节点与中心节点之间的虚拟链路请求的带宽资源,那么撤销本次对所有虚拟链路所做出的迁移操作,然后不再将该物理链路中的一端在当前宽度优先搜索路径中的物理节点作为当前宽度优先搜索路径下一宽度的扩展搜索节点;
在搜索过程中,当被搜索到的物理节点的剩余CPU资源小于当前被选取的端节点请求的CPU资源时,如果已映射虚拟网络中的已映射到该物理节点上的虚拟节点满足以下条件:
该已映射虚拟网络中的该虚拟节点是其中一个星型子网的端结点,而该星型子网的中心节点所映射的物理节点是当前宽度优先搜索路径中的一个节点,该虚拟节点与该星型子网的中心节点构成的邻接节点对的亲密度比当前被选取的端节点与其中心节点所构成的邻接节点对的亲密度小;
那么,根据映射到该物理节点上的虚拟节点请求的CPU资源按照从小到大的顺序,将满足上述条件的虚拟节点逐个从该物理节点中迁移出,一旦该物理节点的剩余CPU资源大于等于被选取的端节点请求的CPU资源,则将当前被选取的端节点映射到该物理节点,并将当前被选取的端节点与其所在的星型子网的中心节点之间的虚拟链路映射到由当前宽度优先搜索路径与该物理节点所确定的物理路径,然后停止当前被选取的端节点的映射工作,进而选取下一个端节点进行映射;如果将满足上述条件的所有虚拟节点从该物理节点中迁移出后仍不能使得该物理节点的剩余CPU资源大于等于当前被选取的端节点请求的CPU资源,那么,撤销本次对所有虚拟节点所做出的迁移操作,然后将该物理节点作为当前宽度优先搜索路径的下一宽度的扩展搜索节点。
10.根据权利要求8或9所述的映射方法,其特征在于:如果虚拟网络请求所要映射的是链路,则使用cut-shortest算法或K-shortest算法计算得到可映射的物理路径。
CN201510297405.0A 2015-06-02 2015-06-02 一种基于虚拟网络连接特性的虚拟网络映射方法 Expired - Fee Related CN104917659B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510297405.0A CN104917659B (zh) 2015-06-02 2015-06-02 一种基于虚拟网络连接特性的虚拟网络映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510297405.0A CN104917659B (zh) 2015-06-02 2015-06-02 一种基于虚拟网络连接特性的虚拟网络映射方法

Publications (2)

Publication Number Publication Date
CN104917659A true CN104917659A (zh) 2015-09-16
CN104917659B CN104917659B (zh) 2018-09-14

Family

ID=54086386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510297405.0A Expired - Fee Related CN104917659B (zh) 2015-06-02 2015-06-02 一种基于虚拟网络连接特性的虚拟网络映射方法

Country Status (1)

Country Link
CN (1) CN104917659B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791288A (zh) * 2016-03-02 2016-07-20 中国人民解放军信息工程大学 基于并行多路径的关键虚拟链路防护方法
CN106879073A (zh) * 2017-03-17 2017-06-20 北京邮电大学 一种面向业务实体网络的网络资源分配方法及装置
WO2017117951A1 (zh) * 2016-01-08 2017-07-13 中兴通讯股份有限公司 一种虚拟映射方法及装置
CN107147530A (zh) * 2017-05-24 2017-09-08 西安交通大学 一种基于资源守恒的虚拟网络重配置方法
CN107276664A (zh) * 2017-08-02 2017-10-20 大连大学 基于门限式负载的混合虚网映射方法
CN108132827A (zh) * 2016-11-30 2018-06-08 华为技术有限公司 一种网络切片资源映射方法、相关设备及系统
CN110535673A (zh) * 2018-05-24 2019-12-03 中兴通讯股份有限公司 虚拟子网的构建方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101085535B1 (ko) * 2010-01-28 2011-11-23 한국과학기술원 무선 환경에서의 가상 네트워크 요청에 대한 자원 임베딩 시스템 및 그 방법
CN103856385A (zh) * 2013-12-11 2014-06-11 北京邮电大学 一种基于链路优先的虚拟网络映射方法
CN104144235A (zh) * 2014-08-07 2014-11-12 张卉 手机支撑架
CN104320276A (zh) * 2014-10-28 2015-01-28 北京邮电大学 一种基于割集的虚拟网络映射方法及其系统
CN104579896A (zh) * 2014-11-20 2015-04-29 北京邮电大学 一种虚拟网络的划分方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101085535B1 (ko) * 2010-01-28 2011-11-23 한국과학기술원 무선 환경에서의 가상 네트워크 요청에 대한 자원 임베딩 시스템 및 그 방법
CN103856385A (zh) * 2013-12-11 2014-06-11 北京邮电大学 一种基于链路优先的虚拟网络映射方法
CN104144235A (zh) * 2014-08-07 2014-11-12 张卉 手机支撑架
CN104320276A (zh) * 2014-10-28 2015-01-28 北京邮电大学 一种基于割集的虚拟网络映射方法及其系统
CN104579896A (zh) * 2014-11-20 2015-04-29 北京邮电大学 一种虚拟网络的划分方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017117951A1 (zh) * 2016-01-08 2017-07-13 中兴通讯股份有限公司 一种虚拟映射方法及装置
CN105791288A (zh) * 2016-03-02 2016-07-20 中国人民解放军信息工程大学 基于并行多路径的关键虚拟链路防护方法
CN105791288B (zh) * 2016-03-02 2018-12-04 中国人民解放军信息工程大学 基于并行多路径的关键虚拟链路防护方法
CN108132827A (zh) * 2016-11-30 2018-06-08 华为技术有限公司 一种网络切片资源映射方法、相关设备及系统
CN106879073A (zh) * 2017-03-17 2017-06-20 北京邮电大学 一种面向业务实体网络的网络资源分配方法及装置
CN106879073B (zh) * 2017-03-17 2019-11-26 北京邮电大学 一种面向业务实体网络的网络资源分配方法及装置
CN107147530A (zh) * 2017-05-24 2017-09-08 西安交通大学 一种基于资源守恒的虚拟网络重配置方法
CN107147530B (zh) * 2017-05-24 2020-01-10 西安交通大学 一种基于资源守恒的虚拟网络重配置方法
CN107276664A (zh) * 2017-08-02 2017-10-20 大连大学 基于门限式负载的混合虚网映射方法
CN107276664B (zh) * 2017-08-02 2019-07-02 大连大学 基于门限式负载的混合虚网映射方法
CN110535673A (zh) * 2018-05-24 2019-12-03 中兴通讯股份有限公司 虚拟子网的构建方法、设备及存储介质

Also Published As

Publication number Publication date
CN104917659B (zh) 2018-09-14

Similar Documents

Publication Publication Date Title
CN104917659A (zh) 一种基于虚拟网络连接特性的虚拟网络映射方法
CN112738820B (zh) 一种服务功能链的动态部署方法、装置及计算机设备
CN108965014B (zh) QoS感知的服务链备份方法及系统
Feng et al. Topology-aware virtual network embedding based on multiple characteristics
Hu et al. Dynamic slave controller assignment for enhancing control plane robustness in software-defined networks
DiPalantino et al. Traffic engineering vs. content distribution: A game theoretic perspective
CN111901170B (zh) 可靠性感知的服务功能链备份保护方法
CN101873224A (zh) 一种云计算负载均衡方法和设备
CN107276794B (zh) 一种软件定义网络中交换机迁移算法
CN109660376A (zh) 一种虚拟网络映射方法、设备和存储介质
Botero et al. A novel paths algebra-based strategy to flexibly solve the link mapping stage of VNE problems
CN110995619B (zh) 一种服务质量感知的虚拟网络映射方法和装置
CN107454019A (zh) 软件定义网络动态带宽分配方法、装置、设备及存储介质
CN107483286A (zh) 一种基于云‑雾环境下合并和部署服务功能链的方法
CN104506337B (zh) 基于区域性故障预测的虚拟网络映射方法及装置
CN104320276A (zh) 一种基于割集的虚拟网络映射方法及其系统
CN114071582A (zh) 面向云边协同物联网的服务链部署方法及装置
CN104754053A (zh) 一种分布式软件定义网络及在其中动态控制控制器的方法
Miao et al. Multicast virtual network mapping for supporting multiple description coding-based video applications
CN106209415A (zh) 一种虚拟网络映射方法及系统
CN107040466B (zh) 基于物联网分层架构的多域协同数据传输的路径选择方法
CN101616085A (zh) 一种约束路由生成方法和装置
CN109560961B (zh) 一种基于叠加提高可用性的虚拟网络服务链部署方法
CN104270299A (zh) 一种虚拟网络映射的方法及系统
CN105490959B (zh) 基于拥塞规避的非均匀带宽虚拟数据中心嵌入实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180914

Termination date: 20190602

CF01 Termination of patent right due to non-payment of annual fee