一种协同虚拟网络映射方法

文档序号:10578048
一种协同虚拟网络映射方法
【专利摘要】一种协同虚拟网络映射方法,包括下列操作步骤:(1)当一个虚拟网络请求到达后,进入中心控制器等待进行映射;(2)中心控制器选取队列中最优先的虚拟网络请求进行映射;(3)对于虚拟网络请求,如果其虚拟节点数量少于设定的阈值并且拓扑结构简单且无需分区域映射时,则按照简单网络映射方法完成映射;否则中心控制器首先对其进行拓扑预处理,将其分解为多个虚拟子网,然后对每一个虚拟子网,中心控制器按照简单网络映射方法完成映射;本发明方法将集中式算法和分布式算法的相对优势充分结合,达到了更好的映射性能。
【专利说明】
一种协同虚拟网络映射方法
技术领域
[0001]本发明涉及一种实现虚拟网络映射的方法,属于计算机网络技术领域,特别是属于网络虚拟化技术领域。
【背景技术】
[0002]网络虚拟化是指通过虚拟化技术将一个作为基础设施的共用的底层物理网络从逻辑上抽象为虚拟资源切片,进而划分为多个相互隔离的、异质的、具有各自特定拓扑结构的虚拟网络。在网络虚拟化环境中,传统的网络服务提供商自然分化为负责部署、管理和维护底层物理网络资源的基础设施提供商和租用基础设施提供商提供的虚拟资源构建虚拟网络以向终端用户提供多样化服务的服务提供商。服务提供商可以充分利用底层网络的访问控制权,能够在无需进行相关物理硬件投入的条件下,快速部署自定义的网络协议或架构。作为消除现有互联网僵化顽疾的强大工具,网络虚拟化被视为下一代网络的关键技术,获得了学术界和产业界的广泛关注。许多新的计算和网络架构都受益于网络虚拟化,如云计算、数据中心网络、网络功能虚拟化和软件定义网络。
[0003]虚拟网络通常由多个虚拟节点以及多条虚拟链路组成逻辑拓扑,每个虚拟节点和每条虚拟链路都有各自不同的需求,如虚拟节点对CPU计算能力的需求和虚拟链路对带宽能力的需求。基础设施提供商需要采用有效的算法来将虚拟网络请求映射到底层网络的特定物理节点和链路上,以更加有效且高效地使用底层网络资源,这就是虚拟网络映射问题。在上层虚拟网络向底层物理网络的映射过程中,由于存在多维的资源限制和多个目标,导致虚拟网络映射无论问题空间是否受限都是NP困难的。随着网络虚拟化技术的快速发展和应用,如何有效且高效的实现虚拟网络映射便成了网络虚拟化技术发展亟待解决的核心问题和关键挑战。
[0004]难以驾驭的计算复杂性促使学术界和产业界专注于设计各种启发式算法来寻找接近最优解的切实可行的映射解决方案。现有虚拟网络映射解决方案可以按照虚拟网络映射实现的控制方式的不同,分为集中式的虚拟网络映射算法和分布式的虚拟网络映射算法两大类。
[0005]集中式算法中有一个全局唯一的执行虚拟网络映射算法的服务器节点,作为实现逻辑上集中控制的中心控制实体,在虚拟网络映射中负责准入控制、拓扑预处理、虚拟网络请求的分配与重分配、映射方案确定和虚拟资源分配等。集中式算法的优势在于这个唯一的中心控制实体通过收集、评估和管理底层网络中的所有资源信息而具有全局视野,清楚的了解整个网络的各种信息,因此更有可能找出全局最优或者至少接近全局最优的映射方案,资源分配的过程中也不会发生冲突等情况。逻辑上集中的控制也使得根据具体业务需求进行的全局资源调配和优化成为可能,并使得整个虚拟网络的映射运营过程便于维护调整,提升了网络控制的便捷性。但是另一方面,这个唯一的中心控制实体也就成为了整个网络的瓶颈。随着底层网络的不断扩容,中心控制实体与众多节点间的通信数量将呈指数增长,及时获取底层资源的实时信息将越来越难以完成,因此对于网络拓扑不断变化的动态网络来说延迟较高。其面对大尺度网络则很容易出现扩展性问题和产生系统单点故障,而一旦中心控制实体出现问题,整个网络的映射、运行、管理和维护就会难以为继。
[0006]相比于依赖单一中心控制实体的集中式算法,分布式算法则依靠分布广泛且数量众多的底层节点。虚拟网络映射的整个决策由各底层节点共同实现完成,于是负载得以分散,可扩展性得以增强,整个映射过程和网络运行不会因为单点故障而完全失效。然而,分布式的设计思路也一把双刃剑,与更好可扩展性、鲁棒性相伴的是节点间更大的同步开销。底层网络的全局信息,如各个节点和链路的状态,实时资源占用情况等等,都需要有完善的消息传递机制在所有底层节点间随时进行更新和同步,以在各底层节点维护最新的统一的全局信息。因为只有每个底层节点对全局信息了解得越清楚越及时,才越可能做出当前真实网络条件下的最佳映射决策,并且避免可能出现的冲突和不一致。
[0007]因此,传统集中式和分布式的映射算法各有利弊。在进行虚拟网络映射的过程中,如何在避免集中式算法的扩展性问题和单点故障问题的同时避免分布式算法的同步问题和性能问题是目前计算机网络工程领域一个亟待解决的技术难题。

【发明内容】

[0008]有鉴于此,本发明的目的是发明一种介于集中与分布控制之间的虚拟网络映射方法,该方法能充分结合利用集中式方法和分布式方法各自的优势,由中心控制器和底层网络节点相互配合协作,共同完成整个虚拟网络映射过程。
[0009]为了达到上述目的,本发明提出了一种协同虚拟网络映射方法,所述方法包括下列操作步骤:
[0010](I)当一个虚拟网络请求到达后,进入中心控制器负责维护的虚拟网络请求队列中,与先前已到达但仍未得到映射的虚拟网络请求一同等待进行映射;
[0011](2)中心控制器采取设定的排队机制依次选取队列中最优先的虚拟网络请求进行虚拟网络映射;
[0012](3)对于当前进行映射的虚拟网络请求,如果其虚拟节点数量少于设定的阈值并且拓扑结构简单且无需分区域映射时,则中心控制器按照设定的简单网络映射方法完成映射;如果所述的当前进行映射的虚拟网络的虚拟节点数量不少于设定的阈值并且拓扑结构复杂或者有不同地理区域限制而需要分区域映射,则中心控制器需要首先对所述的虚拟网络进行拓扑预处理,将其分解为多个虚拟子网,然后对于每一个虚拟子网,中心控制器按照所述的简单网络映射方法完成映射;
[0013]所述的简单网络映射方法的内容是:首先,中心控制器按照设定方法选取一个底层物理网络节点作为需要进行映射的虚拟网络请求的中心映射节点;然后,由该中心映射节点计算出所述的虚拟网络请求的映射方案,并把映射方案上报给中心控制器;最后,由中心控制器对所述的映射方案进行确认或调整,完成资源分配。
[0014]步骤2中所述的设定的排队机制是指收益优先机制或者先到先得机制或者截止时间优先机制,采用收益优先机制时,中心控制器依次选取队列中能够产生最大收益的待映射虚拟网络请求优先进行映射;米用先到先得机制时,中心控制器依次选取队列中到达时间最早的待映射虚拟网络请求优先进行映射;采用截止时间优先机制时,中心控制器依次选取队列中持续时间最短,即结束时间最早的待映射虚拟网络请求优先进行映射。
[0015]步骤3中中心控制器选取中心映射节点的设定方法的具体内容是:中心映射节点的选择范围由当前进行映射的虚拟网络请求的地理区域范围、资源需求等因素共同决定;中心控制节点通过设定的评价指标对初步满足映射要求的候选底层物理节点进行定量计算,进而按照计算值大小排序,最后选取其中排名最高的那个底层物理节点作为中心映射节点;所述的设定的评价指标包括但不限于节点自身CPU计算资源与节点相邻链路带宽和之积、节点拓扑特征值(如节点度degree)。
[0016]所述的简单网络映射方法的具体操作步骤如下:
[0017](301)中心控制器将底层物理网络的全局资源信息和当前虚拟网络请求的资源需求信息一同发送给选定的中心映射节点,由其按照其上部署的定制虚拟网络映射算法计算出当前虚拟网络请求的映射方案;
[0018](302)中心映射节点获得全局资源信息后,首先进一步根据从与相邻节点(设定跳数范围内)的通信中获取的自己所处局部网络的实时信息,更新全局资源信息,以解决中心控制器获取底层物理网络信息的延迟问题;节点和链路映射算法可根据作为中心映射节点的底层物理节点的具体设置,灵活选用定制的算法(如最为常见的贪婪节点映射算法和K-最短路径链路映射算法);
[0019](303)中心映射节点计算出映射方案后将映射方案发送回中心控制器,由中心控制器对映射方案进行检查,如果不存在与其他已映射虚拟网络请求相冲突的底层资源分配问题且不存在明显的映射性能问题,则确认映射方案,进行资源分配,完成映射过程;如果存在冲突或其他问题则需要进行相应调整,严重情况下发还给中心映射节点重新计算新方案;
[0020](304)如果中心映射节点计算映射方案失败,则将失败情况告知中心控制器,由中心控制器重新选择其他底层物理节点作为新的中心映射节点计算映射方案;如果进行设定次数的中心映射节点分配和映射方案计算尝试均告失败,则中心控制器将推迟映射,直至最终拒绝该虚拟网络请求。
[0021]所述的中心控制器对虚拟网络进行拓扑预处理的具体内容是:对于有不同地理区域限制(包括跨多个运营商等情况)的虚拟网络请求,根据具体限制情况将其自然分解为多个虚拟子网;而对于虚拟节点数量大于设定的阈值或拓扑结构复杂的虚拟网络,则采用KS核分解算法将其分解为一个核心虚拟子网和多个边缘虚拟子网。
[0022]所述的KS核分解算法的具体内容是:将虚拟网络拓扑中节点度等于预设值且其相邻链路带宽之和低于预设阈值的虚拟节点及其相邻链路删除,删除一轮节点及其相邻链路后可能会有原先节点度大于预设值或相邻链路带宽之和不低于预设阈值的虚拟节点在剩余网络中的节点度等于预设值且相邻链路带宽之和低于预设阈值,因此继续进行下一轮删除,如此循环进行删除,直至剩余网络中没有任何虚拟节点的节点度等于预设值且相邻链路带宽之和低于预设阈值,或者剩余网络的节点数量已经低于预设的核心网络节点数警戒值;此时最终余下的虚拟网络拓扑部分即为一个核心虚拟子网,而先前删除的虚拟网络部分则组成多个边缘虚拟子网。
[0023]本发明的有益效果在于:本发明提出的协同虚拟网络映射方法相比传统集中式算法,由于将大量具体的映射任务交由底层物理节点完成,中心控制器在映射中只负责虚拟网络请求的准入控制、拓扑预处理、分配、重分配、方案确定和资源分配等,因此负载明显减轻。由中心控制器在头尾阶段进行全局最优的决策,由分布的底层物理节点进行局部最优的方案计算,保证了最终的映射方案是接近最优解的,也不会出现映射冲突等情况。动态网络的延迟问题由于中心映射节点从中心控制器获取的全局资源信息与在所处局部网络中的实时信息更新相结合而得以有效解决;面对大尺度网络的扩展性问题和系统单点故障问题也得到了极大缓解。相比传统分布式算法,协同虚拟网络映射算法中每个底层节点都可能成为中心映射节点,但每一次映射只有个别满足特定条件的排名最高的优质节点被选中,映射任务限定在有限的底层网络子集中。映射冲突由于中心控制器的存在得以有效避免。这些都使得节点间的同步开销大大降低,无需采取洪泛等产生大量同步消息的消息传递机制。多个中心映射节点同时计算部分或整体映射方案也实现了虚拟网络映射的并行计算,可以明显降低映射耗时。因此总的来看,本发明的协同虚拟网络映射方法由于将集中式算法和分布式算法的相对优势充分结合,有效弥补了二者的缺陷,从而达到了更好的映射性能,算法相比传统的集中式和分布式算法的综合优势明显,仿真实验结果也证明了算法的可行性和有效性,明显提高了包括长期平均收益、长期接受率和长期收益开销比在内的各项虚拟网络映射性能。
【附图说明】
[0024]图1是本发明提出的一种协同虚拟网络映射方法的流程图。
[0025]图2是本发明的实施例中底层物理网络和虚拟网络的示意图。
[0026]图3是本发明的实施例中虚拟网络请求的KS核分解算法的分解过程的示意图。
【具体实施方式】
[0027]为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0028]参见图1,介绍本发明提出的一种协同虚拟网络映射方法,所述方法包括下列操作步骤:
[0029 ] (I)当一个虚拟网络请求到达后,进入中心控制器负责维护的虚拟网络请求队列中,与先前已到达但仍未得到映射的虚拟网络请求一同等待进行映射;
[0030]参见图2,图2下半部分所示为基础设施提供商的底层物理网络,包括以圆形所示的11个底层物理节点以及以实线所示的17条底层物理链路。对11个底层物理节点依次编号为大写字母A、B、C、D、E、F、G、H、1、J、K。图2上半部分所示为同一服务提供商或不同服务提供商发起的两个虚拟网络请求I和2。虚拟节点以六边形表示,用小写字母编号,而虚拟链路以虚线表示。图中实线和虚线的相对粗细反映了链路带宽资源的相对多少。虚拟网络请求I包括两个虚拟节点j和k以及两者之间的一条虚拟链路,而虚拟网络请求2包括9个虚拟节点a、b、c、d、e、f、g、h、i以及它们之间的9条虚拟链路。虚拟网络请求I首先到达中心控制器,进入等待队列中,虚拟网络请求2随后到达中心控制器,同样进入等待队列中。
[0031](2)中心控制器采取设定的排队机制依次选取队列中最优先的虚拟网络请求进行虚拟网络映射;
[0032](3)对于当前进行映射的虚拟网络请求,如果其虚拟节点数量少于设定的阈值(例如将阈值设为10)并且拓扑结构简单(如星型拓扑、树型拓扑、环形拓扑)且无需分区域映射时,则中心控制器按照设定的简单网络映射方法完成映射;
[0033]如果所述的当前进行映射的虚拟网络的虚拟节点数量不少于设定的阈值并且拓扑结构复杂或者有不同地理区域限制而需要分区域映射,则中心控制器需要首先对所述的虚拟网络进行拓扑预处理,将其分解为多个虚拟子网,然后对于每一个虚拟子网,中心控制器按照所述的简单网络映射方法完成映射;
[0034]所述的简单网络映射方法的内容是:首先,中心控制器按照设定方法选取一个底层物理网络节点作为需要进行映射的虚拟网络请求的中心映射节点;然后,由该中心映射节点计算出所述的虚拟网络请求的映射方案,并把映射方案上报给中心控制器;最后,由中心控制器对所述的映射方案进行确认或调整,完成资源分配。
[0035]步骤2中所述的设定的排队机制是指收益优先机制或者先到先得机制或者截止时间优先机制,采用收益优先机制时,中心控制器依次选取队列中能够产生最大收益的待映射虚拟网络请求优先进行映射;米用先到先得机制时,中心控制器依次选取队列中到达时间最早的待映射虚拟网络请求优先进行映射;采用截止时间优先机制时,中心控制器依次选取队列中持续时间最短,即结束时间最早的待映射虚拟网络请求优先进行映射。
[0036]参见图2,比如我们采用最为常见的收益优先机制,由于虚拟网络请求2的预期收益高于虚拟网络请求I的预期收益,因此虚拟网络请求2虽然稍晚到达但仍将优先得到映射。
[0037]步骤3中中心控制器选取中心映射节点的设定方法的具体内容是:中心映射节点的选择范围由当前进行映射的虚拟网络请求的地理区域范围、资源需求等因素共同决定;中心控制节点通过设定的评价指标对初步满足映射要求的候选底层物理节点进行定量计算,进而按照计算值大小排序,最后选取其中排名最高的那个底层物理节点作为中心映射节点;所述的设定的评价指标包括但不限于节点自身CPU计算资源与节点相邻链路带宽和之积、节点拓扑特征值(如节点度degree)。
[0038]所述的简单网络映射方法的具体操作步骤如下:
[0039](301)中心控制器将底层物理网络的全局资源信息和当前虚拟网络请求的资源需求信息一同发送给选定的中心映射节点,由其按照其上部署的定制虚拟网络映射算法计算出当前虚拟网络请求的映射方案;
[0040](302)中心映射节点获得全局资源信息后,首先进一步根据从与相邻节点(设定跳数范围内,如I跳范围内)的通信中获取的自己所处局部网络的实时信息,更新全局资源信息,以解决中心控制器获取底层物理网络信息的延迟问题;节点和链路映射算法可根据作为中心映射节点的底层物理节点的具体设置,灵活选用定制的算法(如最为常见的贪婪节点映射算法和K-最短路径链路映射算法);
[0041 ] (303)中心映射节点计算出映射方案后将映射方案发送回中心控制器,由中心控制器对映射方案进行检查,如果不存在与其他已映射虚拟网络请求相冲突的底层资源分配问题且不存在明显的映射性能问题,则确认映射方案,进行资源分配,完成映射过程;如果存在冲突或其他问题则需要进行相应调整,严重情况下发还给中心映射节点重新计算新方案;
[0042](304)如果中心映射节点计算映射方案失败,则将失败情况告知中心控制器,由中心控制器重新选择其他底层物理节点作为新的中心映射节点计算映射方案;如果进行设定次数的中心映射节点分配和映射方案计算尝试均告失败,则中心控制器将推迟映射,直至最终拒绝该虚拟网络请求。
[0043]所述的中心控制器对虚拟网络进行拓扑预处理的具体内容是:对于有不同地理区域限制(包括跨多个运营商等情况)的虚拟网络请求,根据具体限制情况将其自然分解为多个虚拟子网;而对于虚拟节点数量大于设定的阈值或拓扑结构复杂的虚拟网络,则采用KS核分解算法将其分解为一个核心虚拟子网和多个边缘虚拟子网。
[0044]所述的KS核分解算法的具体内容是:将虚拟网络拓扑中节点度等于预设值且其相邻链路带宽之和低于预设阈值的虚拟节点及其相邻链路删除,删除一轮节点及其相邻链路后可能会有原先节点度大于预设值或相邻链路带宽之和不低于预设阈值的虚拟节点在剩余网络中的节点度等于预设值且相邻链路带宽之和低于预设阈值,因此继续进行下一轮删除,如此循环进行删除,直至剩余网络中没有任何虚拟节点的节点度等于预设值且相邻链路带宽之和低于预设阈值,或者剩余网络的节点数量已经低于预设的核心网络节点数警戒值;此时最终余下的虚拟网络拓扑部分即为一个核心虚拟子网,而先前删除的虚拟网络部分则组成多个边缘虚拟子网。
[0045]参见图2,晚于虚拟网络请求2进行映射的虚拟网络请求I由于虚拟节点数量较少、拓扑结构简单且无需分区域映射,因此将采用简单网络映射方法完成映射。中心控制器采用节点排序算法选取候选节点中排名最高的底层物理节点I作为“中心映射节点”。
[0046]中心控制器将底层物理网络的全局资源信息和当前虚拟网络请求I的资源需求信息一同发送给选定的中心映射节点I,由底层物理节点I作为中心映射节点按照其上部署的定制虚拟网络映射算法计算出当前虚拟网络请求的映射方案。中心映射节点I获得全局资源信息后,首先进一步根据从与相邻节点(一定跳数范围内,如一跳距离范围的底层物理节点J和A以及两跳距离范围的底层物理节点B、C、E、G)的通信中获取的自己所处局部网络的实时信息,更新全局资源信息。节点和链路映射算法可灵活选用定制的算法,如采用贪婪节点映射算法(Greedy Node Mapping algorithm)和K-最短路径链路映射算法(K-ShortestPath Link Mapping algorithm)。中心映射节点I计算出映射方案后将映射方案发送回中心控制器,具体映射方案为:虚拟节点k映射到底层物理节点I上,虚拟节点j映射到底层物理网络J上。k、j之间的虚拟链路映射到了 1、J之间的底层物理链路上。中心控制器对映射方案进行检查,不存在与其他已映射虚拟网络请求相冲突的底层资源分配问题且不存在明显的映射性能问题,因此确认映射方案,进行资源分配,完成映射过程。图2中同时显示了虚拟网络请求I通过协同算法映射到基础设施提供商的底层物理网络的结果实例。
[0047]参见图2,虚拟网络请求2由于节点数量较多,拓扑相对复杂,因此需要采用KS核分解算法进行拓扑分解。参见图3,具体采用KS核分解算法对虚拟网络请求2进行拓扑分解的过程如图3所示:首先将虚拟网络拓扑中节点度等于I且其相邻链路带宽之和低于预设阈值的虚拟节点及其相邻链路删除,如图3(b)所示第一轮删除虚拟节点d、g、i及其相邻链路,删除的相关虚拟链路由原本的实线表示变为虚线表示;此时原先节点度为2且相邻链路带宽之和不低于预设阈值的虚拟节点f和h在剩余网络中的节点度为I且相邻链路带宽之和低于预设阈值,因此继续进行下一轮删除,删除虚拟节点f和h及其相邻链路,如图3(c)所示;至此剩余网络中没有任何虚拟节点的节点度等于I且相邻链路带宽之和低于预设阈值,因此最终余下的虚拟网络拓扑部分即为一个核心网络,而先前删除的虚拟网络部分则组成三个独立的边缘网络,如图3(d)中所示。这样虚拟网络请求2通过KS核分解算法被分解为一个核心虚拟子网和三个边缘虚拟子网。
[0048]如图2所示,中心控制器采用节点排序算法为虚拟网络请求2的一个核心虚拟子网和三个边缘虚拟子网选取对应的四个中心映射节点。满足核心虚拟子网地理区域范围、资源需求等因素的候选底层物理节点中排名最高的是底层物理节点A,因此A被选为核心虚拟子网的“中心映射节点”。满足三个边缘虚拟子网地理区域范围、资源需求等因素的候选底层物理节点中排名最高的分别是底层物理节点B、C和F,因此B被选为“中心映射节点”负责映射边缘虚拟子网节点f和g及其相关链路,C被选为“中心映射节点”负责映射边缘虚拟子网节点d及其相关链路,F被选为“中心映射节点”负责映射边缘虚拟子网节点h和i及其相关链路。
[0049]在图2中,中心控制器将底层物理网络的全局资源信息和核心虚拟子网的资源需求信息一同发送给选定的中心映射节点A,同时将底层物理网络的全局资源信息和三个边缘虚拟子网的资源需求信息分别发送给选定的中心映射节点B、C、F。由四个底层物理节点A、B、C、F作为中心映射节点按照其上部署的定制虚拟网络映射算法分别计算出一个核心虚拟子网和三个边缘虚拟子网的映射方案。四个中心映射节点获得全局资源信息后,首先进一步根据从与相邻节点(一定跳数范围内,包括如一跳距离范围的底层物理节点以及两跳距离范围的底层物理节点)的通信中获取的自己所处局部网络的实时信息,更新全局资源信息。节点和链路映射算法采用最为常见的贪婪节点映射算法和K-最短路径链路映射算法。四个中心映射节点计算出各自的映射方案后将映射方案发送回中心控制器。核心虚拟子网的具体映射方案为:虚拟节点a映射到底层物理节点C上,虚拟节点b映射到底层物理节点A上,虚拟节点c映射到底层物理节点E上,虚拟节点e映射到底层物理节点B上;a、b之间的虚拟链路映射到C、A之间的底层物理链路上,a、c之间的虚拟链路映射到C、E之间的底层物理链路上,b、c之间的虚拟链路映射到A、E之间的底层物理链路上,b、e之间的虚拟链路映射到A、B之间的底层物理链路上。三个边缘虚拟子网的具体映射方案为:虚拟节点f映射到底层物理节点G上,虚拟节点g映射到底层物理节点K上,g、f之间的虚拟链路映射到K、G之间的底层物理链路上,f、e之间的虚拟链路映射到G、B之间的底层物理链路上;虚拟节点d映射到底层物理节点D上,d、a之间的虚拟链路映射到D、C之间的底层物理链路上;虚拟节点h映射到底层物理节点F上,虚拟节点i映射到底层物理节点H上,1、h之间的虚拟链路映射到H、F之间的底层物理链路上,h、e之间的虚拟链路映射到F、B之间的底层物理链路上。中心控制器对映射方案进行检查,不存在与其他已映射虚拟网络请求相冲突的底层资源分配问题且不存在明显的映射性能问题,因此确认映射方案,进行资源分配,完成映射过程。图2中同时显示了虚拟网络请求2通过协同算法映射到基础设施提供商的底层物理网络的结果实例。
[0050]发明人对本发明所提出的方法进行了大量仿真实验。在仿真实验中,我们使用通用的拓扑生成器GT-1TM软件构建一个具有100个节点以及超过500条链路的底层物理网络和所有虚拟网络请求。在底层物理网络中,节点的CPU计算资源以及链路的带宽资源数值都服从[50,100]的均匀分布。每个虚拟网络映射请求的到达率服从每100时间单位到达5个虚拟网络映射请求的泊松分布。各个虚拟网络包含[5,20 ]均匀分布个的虚拟节点,且每两个虚拟节点之间的虚拟链路连接概率为50 %。虚拟网络中节点的CPU计算资源以及链路的带宽资源数值都服从[I,50]的均匀分布。每个虚拟网络请求的持续时间符合平均为500时间单位的指数分布。在每次仿真实验中,我们让底层物理网络接受大约2500个虚拟网络映射请求(约为50000时间单位),并以10次仿真结果的算术平均值作为最后的仿真实验结果。实验结果证明本发明的方法是可行且有效的,能明显提高包括长期平均收益(AverageRevenue)、长期接受率(Acceptance Rat1)和长期收益开销比(Revenue/Cost Rat1)在内的各项虚拟网络映射性能。
【主权项】
1.一种协同虚拟网络映射方法,其特征在于:所述方法包括下列操作步骤: (1)当一个虚拟网络请求到达后,进入中心控制器负责维护的虚拟网络请求队列中,与先前已到达但仍未得到映射的虚拟网络请求一同等待进行映射; (2)中心控制器采取设定的排队机制依次选取队列中最优先的虚拟网络请求进行虚拟网络映射; (3)对于当前进行映射的虚拟网络请求,如果其虚拟节点数量少于设定的阈值并且拓扑结构简单且无需分区域映射时,则中心控制器按照设定的简单网络映射方法完成映射;如果所述的当前进行映射的虚拟网络的虚拟节点数量不少于设定的阈值并且拓扑结构复杂或者有不同地理区域限制而需要分区域映射,则中心控制器需要首先对所述的虚拟网络进行拓扑预处理,将其分解为多个虚拟子网,然后对于每一个虚拟子网,中心控制器按照所述的简单网络映射方法完成映射; 所述的简单网络映射方法的内容是:首先,中心控制器按照设定方法选取一个底层物理网络节点作为需要进行映射的虚拟网络请求的中心映射节点;然后,由该中心映射节点计算出所述的虚拟网络请求的映射方案,并把映射方案上报给中心控制器;最后,由中心控制器对所述的映射方案进行确认或调整,完成资源分配。2.根据权利要求1所述的一种协同虚拟网络映射方法,其特征在于:步骤2中所述的设定的排队机制是指收益优先机制或者先到先得机制或者截止时间优先机制,采用收益优先机制时,中心控制器依次选取队列中能够产生最大收益的待映射虚拟网络请求优先进行映射;采用先到先得机制时,中心控制器依次选取队列中到达时间最早的待映射虚拟网络请求优先进行映射;采用截止时间优先机制时,中心控制器依次选取队列中持续时间最短,即结束时间最早的待映射虚拟网络请求优先进行映射。3.根据权利要求1所述的一种协同虚拟网络映射方法,其特征在于:步骤3中中心控制器选取中心映射节点的设定方法的具体内容是:中心映射节点的选择范围由当前进行映射的虚拟网络请求的地理区域范围、资源需求等因素共同决定;中心控制节点通过设定的评价指标对初步满足映射要求的候选底层物理节点进行定量计算,进而按照计算值大小排序,最后选取其中排名最高的那个底层物理节点作为中心映射节点;所述的设定的评价指标包括但不限于节点自身CPU计算资源与节点相邻链路带宽和之积、节点拓扑特征值。4.根据权利要求1所述的一种协同虚拟网络映射方法,其特征在于:所述的简单网络映射方法的具体操作步骤如下: (301)中心控制器将底层物理网络的全局资源信息和当前虚拟网络请求的资源需求信息一同发送给选定的中心映射节点,由其按照其上部署的定制虚拟网络映射算法计算出当前虚拟网络请求的映射方案; (302)中心映射节点获得全局资源信息后,首先进一步根据从与相邻节点即设定跳数范围内节点的通信中获取的自己所处局部网络的实时信息,更新全局资源信息,以解决中心控制器获取底层物理网络信息的延迟问题;节点和链路映射算法可根据作为中心映射节点的底层物理节点的具体设置,灵活选用定制的算法; (303)中心映射节点计算出映射方案后将映射方案发送回中心控制器,由中心控制器对映射方案进行检查,如果不存在与其他已映射虚拟网络请求相冲突的底层资源分配问题且不存在明显的映射性能问题,则确认映射方案,进行资源分配,完成映射过程;如果存在冲突或其他问题则需要进行相应调整,严重情况下发还给中心映射节点重新计算新方案; (304)如果中心映射节点计算映射方案失败,则将失败情况告知中心控制器,由中心控制器重新选择其他底层物理节点作为新的中心映射节点计算映射方案;如果进行设定次数的中心映射节点分配和映射方案计算尝试均告失败,则中心控制器将推迟映射,直至最终拒绝该虚拟网络请求。5.根据权利要求1所述的一种协同虚拟网络映射方法,其特征在于:所述的中心控制器对虚拟网络进行拓扑预处理的具体内容是:对于有不同地理区域限制,包括跨多个运营商等情况的虚拟网络请求,根据具体限制情况将其自然分解为多个虚拟子网;而对于虚拟节点数量大于设定的阈值或拓扑结构复杂的虚拟网络,则采用KS核分解算法将其分解为一个核心虚拟子网和多个边缘虚拟子网。6.根据权利要求5所述的一种协同虚拟网络映射方法,其特征在于:所述的KS核分解算法的具体内容是:将虚拟网络拓扑中节点度等于预设值且其相邻链路带宽之和低于预设阈值的虚拟节点及其相邻链路删除,删除一轮节点及其相邻链路后可能会有原先节点度大于预设值或相邻链路带宽之和不低于预设阈值的虚拟节点在剩余网络中的节点度为预设值且相邻链路带宽之和低于预设阈值,因此继续进行下一轮删除,如此循环进行删除,直至剩余网络中没有任何虚拟节点的节点度等于预设值且相邻链路带宽之和低于预设阈值,或者剩余网络的节点数量已经低于预设的核心网络节点数警戒值;此时最终余下的虚拟网络拓扑部分即为一个核心虚拟子网,而先前删除的虚拟网络部分则组成多个边缘虚拟子网。
【文档编号】H04L12/46GK105939244SQ201610415449
【公开日】2016年9月14日
【申请日】2016年6月14日
【发明人】廖建新, 张磊, 丰旻, 卿苏德, 王晶, 张 成
【申请人】北京邮电大学
...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1