一种双向排序的虚拟网络映射方法

文档序号:7891251阅读:302来源:国知局
专利名称:一种双向排序的虚拟网络映射方法
技术领域
网络虚拟化技术是推动互联网体系架构发展的重要方法之一,其本质是通过抽象、分配、隔离机制在一个公共物理网络上独立地运营多个虚拟子网,各虚拟子网可以使用相互独立的协议体系,并能够根据用户动态变化的需求对整个网络中节点和链路资源进行合理配置,从而增强网络的灵活性与多样性,实现网络的可测可控性,最优化网络资源的分配与调度,提高安全和服务质量、降低运营维护成本,以求根本性地解决互联网现有的僵化、以补丁和更新为主的发展现状。
网络虚拟化技术可以用于为新型网络体系结构的研究提供共享物理实验网络的基础,同时它还能够将底层物理设施提供商与网络服务运营商相分离,允许多个运营商的网络共享同一个公共的底层物理网络基础架构(链路、交换节点等),每个网络都在其中拥有既不受其他网络影响又可以灵活调整的网络资源份额,不同网络运营商可以采用不同的网络协议,提供创新的端到端服务,因此网络虚拟化也很有希望成为一种未来网络的主流运营模式。
背景技术
虚拟网络映射问题则是网络虚拟化技术中必不可少的环节,它的主要功能是将用户的虚拟网络请求(Virtual Request)合理地映射至运营商提供的底层物理网络设施(Substrate Network),映射过程不仅要实现虚拟网络之间的分隔与互不影响,从而保证每个虚拟网络用户的服务质量(QoS),同时也要尽量合理地分配底层物理网络资源,提高资源利用率。由于虚拟网络请求拓扑的多样性,以及节点和链路两组限制条件需要同时考虑,使得将多个不同的虚拟网络映射到一个公共底层物理网络成为NP-hard问题。为解决该问题,国内外很多研究人员已经基于时间窗模型提出了一些实现次优解的映射方法。时间窗模型是指,在每个时间窗内统计当前所有的虚网映射请求,并进行一次映射,对映射成功的请求,相应更新底层物理网络状态;对映射失败的请求,将请求放入等待队列;或满足一定条件后直接拒绝该请求。这一过程如图I所示。在图I中,在当前时间窗内使用映射算法对虚拟网络请求进行映射前,都要对时间窗内的虚拟网络进行预处理,目前基本所有算法使用的方法都是对虚网请求按照其收入(Revenue)从大到小排序,这一方法的根据是优先映射收入较大的虚网请求,可以使这些请求映射成功的机率增大,因而可以提升总体映射成功的收入数量。但是,这种方法仅适用于虚网请求规模小于底层物理网络剩余资源规模的情况,其中,虚网和物理网的规模是指网络的节点处理能力(CPU)或链路带宽(BW)的大小,而当虚网请求规模等于底层物理网络剩余资源规模时,使用这种方法会导致映射成功率迅速下降,总体映射成功的收入也迅速下降,这是由于在等规模情况下优先映射收入较大的虚网请求,会导致规模相当的物理网络剩余资源的关键部分被占用,由此在底层物理网络中产生了节点或链路瓶颈,这些瓶颈将会使后续的物理网络剩余资源无法得到顺利使用,从而造成映射成功率下降。
另外,虚网请求规模等于底层物理网络剩余资源规模的情况在虚网映射问题中具有重要意义首先,当虚网请求规模大于底层物理网络剩余资源规模时,对映射系统的影响与等规模情况类似,因此可以归类为等规模情况处理;其次,当虚网请求规模等于底层物理网络剩余资源规模时,需要新的虚网请求排序方法以提升总体映射成功的收入数量;第三,当虚网请求规模小于底层物理网络剩余资源规模时,随着先前映射成功且没有完成服务的虚网请求对底层物理网资源的不断占用,底层物理网剩余资源会逐渐减少并达到与虚网请求规模相等的情况。综上所述,虚网请求规模等于底层物理网络剩余资源规模是一种关键的情况,需要一种合理的方法提升此时的映射成功率和总体映射成功的收入数量。

发明内容
本发明分析了虚网请求规模等于底层物理网络剩余资源规模的情况,发现此时将虚网请求按收入从大到小排序的方法容易导致底层物理网络出现瓶颈,即某个已经映射成功、且收入较大的虚网请求会占据底层物理网剩余资源的若干关键部分,可能导致剩余资源被割裂,从而不能为后续的虚网请求服务,降低了映射成功的虚网请求总收入。为了解决这个问题,一个合理的出发点应该是在等规模的底层物理网剩余资源上,尽量增加映射成功的虚网请求总收入。本发明根据该出发点,提出使用虚网请求按收入从小到大排序(反向排序)的方法,用于虚网请求规模等于底层物理网络剩余资源规模的情况。这种反向排序的方法,使得收入较小的虚网请求得到优先考虑,提高了映射的成功率,减小了底层物理网络瓶颈出现的可能性。同时,由于虚网粒度的减小,物理网剩余资源得到了更加充分的利用,即映射成功的虚网请求总收入得到了提升。最后,本发明综合正反两种排序方法,设计了一种双向排序的虚拟网络映射方法。在该方法中,每次映射虚网请求之前,都将判断该时刻虚网请求和底层物理网络剩余资源的规模大小,若虚网请求规模小于底层物理网剩余资源规模,则调用正向排序方法;若虚网请求规模等于底层物理网剩余资源规模,则调用反向排序方法。对于常规的虚拟网络映射环境下使用本发明提出的双向排序映射方法时,映射开始阶段虚网规模应小于底层物理网剩余资源规模,此时应调用正向排序方法;但随着映射成功且没有完成服务的虚网对底层物理网资源的不断占用,底层物理网剩余资源规模开始减小并不断接近虚网请求规模,此时应调用反向排序方法,以保证映射的成功率并避免底层物理网络出现瓶颈。本发明涉及的定义I)收入(Revenue)
Revenue是指虚网映射成功获得的利润,根据映射成功的虚网带宽和CPU定义Revenue = α Ε Σ BWr+β Ε Σ CPUe(I)其中,BWk是映射成功的虚网带宽,CPU1^映射成功的虚网节点CPU资源,^和βκ是用于调节带宽和CPU的权重系数,也可以理解为运营商提供虚网服务时带宽和CPU资源的单价,下标R指收入。本发明,一是提出了按收入反向排序的虚网映射方法,该方法可以有效地降低底层物理网络剩余资源中出现瓶颈的概率,从而解决了虚网请求规模等于底层物理网络剩余资源规模情况下的映射成功率和映射总收入数量锐减的问题。二是综合正向反向两种排序方法,提出了一种双向排序的虚拟网络映射方法,该方法可以对当前的网络资源的规模进行判断,选择使用正向或反向排序,以适应不同的网络情况。(I)反向排序的虚网映射方法
如上所述,现有的虚网映射算法一般使用虚网请求按其收入从大到小排序的方法,但这种方法仅适用于虚网规模小于物理网剩余资源规模的情况,而在实际情况下,虚网规模等于物理网剩余资源规模的情况才更值得考虑。因此,本发明针对虚网规模等于物理网剩余资源规模的情况,提出将虚网请求按照其收入从小到大排序(反向排序)的方法,再调用相应的虚网映射算法。这样,收入较小的的虚网请求将优先得到映射,由于收入规模较小,因此映射成功率较高,且形成底层物理网瓶颈的机率较低,后续虚网请求的映射成功率也相应提高。上述反向排序方法的优势可用图2表示。在图2中,传统的正向排序算法会优先映射收入最大的虚网请求a-b-c-d,从而在底层物理网中形成瓶颈节点A、B和D,会影响到后续的虚网请求对节点C和E的使用,从而导致后续虚网请求映射失败。而反向排序方法从收入最小的虚网请求开始映射,由于避免了瓶颈的出现,因此成功映射了虚拟网络e-f,g-h,和i_j,从而提升了映射成功率和映射成功的虚网总收入。另外,该方法作为虚网映射算法的预处理步骤,可以与现有的虚网映射算法组合使用,并对虚网规模等于物理网剩余资源规模的情况起到良好的优化作用。(2)双向排序的虚拟网络映射方法为了应对更一般的虚拟网络映射场景,本发明提出一种双向排序的虚拟网络映射方法,该方法将虚拟网络映射细分为虚网收入规模小于底层物理网剩余资源规模的情况、以及虚网收入规模等于底层物理网剩余资源规模的情况,另外,虚网收入规模大于底层物理网剩余资源规模的情况在实际应用中比较少见,其对映射系统的影响类似于等规模情况,因此在本发明中也将其归类为等规模情况处理。在一般的虚拟网络映射场景中,系统状态会在虚网收入规模小于和等于底层物理网剩余资源规模的情况之间不断转换,双向排序的虚拟网络映射方法将在每个虚网进行映射前根据以下表达式对当前系统状态进行判断Yscak [CPUinvwmapped) + BW(Ivunmapped) )> CPUWnsiduJ +BW(Ildual)⑵其中,《1^_和/,表示当前时间窗内还未进行映射的所有虚拟网络的节点和链路,和/I-,表示下个虚网映射进行前底层物理络的节点和链路剩余资源。Y SCale是用于调节等规模情况范围的参数,一般取O. 8-1. 2之间的实数。若上式为真,则系统处于等规模情况,双向排序的虚网映射方法将选择剩余虚网请求中收入最小的请求,再使用相应的虚网映射算法进行虚网映射;若上式为假,则系统处于小规模情况,即虚网请求的收入小于物理网剩余资源规模,双向排序的虚网映射方法将选择剩余虚网请求中收入最大的请求,再使用相应的虚网映射算法进行虚网映射。在使用了双向排序的虚拟网络映射方法后,虚网请求收入与底层物理网节点剩余资源等规模核销规模的情况得到了分类和细化处理,有效的避免了等规模情况下底层物理网络容易出现瓶颈的问题,提升了虚网映射的成功率和总体映射成功的虚网收入数量。


图I时间窗模式下的虚拟网络映射流程图2等规模情况下反向排序方法的优点图3双向排序的虚网映射方法具体步骤
实施方式本发明的具体操作流程是按照时间窗映射模式,在一个时间窗内首先统计所有待映射的虚网请求,并按照双向排序规则逐个选出,并进行映射,具体流程如图3所示A.释放前一个时间窗内离开的虚网请求占用的底层物理网资源,离开的虚网请求包括完成服务的请求和被主动拒绝的请求;虚网请求包含虚网节点请求和虚网链路请求两部分;B.统计本时间窗内到达的虚网请求,到达的虚网请求包括新到达的请求和重新排队的请求,记该到达的虚网请求集合为Rrf ;C.依据公式(2)判断当前映射系统的状态若公式(2)为真,则系统状态为等规模,因此选择当前收入最小的虚网请求;若公式(2)为假,则系统状态为小规模,因此选择当前收入最大的虚网请求。最后调用映射算法进行映射。D.若步骤C中当前的虚网请求映射成功,即虚网节点和虚网链路同时映射成功,则更新底层物理网络的状态;若映射失败,则将该虚网请求送至等待队列等待下个时间窗,或该虚网请求累计映射失败次数大于预先设置的阀值DELAY后,直接拒绝该请求。更新R。,状态。E.重复进行步骤C至D,直至R。,中的当前时间窗虚网请求数目减至O。该虚网映射流程保证了虚网请求可以实时处理,并且虚网请求的准入机制可以通过调节参数进行控制(如推迟、拒绝虚网请求)。
权利要求
1.一种双向排序的虚拟网络映射方法,在一个时间窗内进行虚拟网络映射的步骤包括 A.释放前一个时间窗内离开的虚网请求占用的底层物理网资源,离开的虚网请求包括完成服务的请求和被主动拒绝的请求;虚网请求包含虚网节点请求和虚网链路请求两部分; B.统计本时间窗内到达的虚网请求,到达的虚网请求包括新到达的请求和重新排队的请求,所述到达的虚网请求集合为Rrf ; C.依据公式(I)判断当前映射系统的状态若公式(I)为真,则系统状态为等规模,因此选择当前收入最小的虚网请求,并调用映射算法进行映射;若公式(I)为假,则系统状态为小规模,因此选择当前收入最大的虚网请求,并调用映射算法进行映射。
D.若步骤C中当前的虚网请求映射成功,即虚网节点和虚网链路同时映射成功,则更新底层物理网络的状态;若映射失败,则将该虚网请求送至等待队列等待下个时间窗,或该虚网请求累计映射失败次数大于预先设置的阀值DELAY后,直接拒绝该请求。更新Rrf状态。
E.重复进行步骤C至D,直至Rrt中的当前时间窗虚网请求数目减至O。上述公式⑴为y— (CPU(^nmapped)+ BW{lnmapped))>CPU(nlldml) +BW(Illdml)
2.如权利要求I所述的方法,其中,表示当前时间窗内还未进行映射的所有虚拟网络的节点和链路,和表示下个虚网映射进行前,底层物理网络的节点和链路剩余资源。Ys。-是用于调节等规模情况范围的参数,一般取O. 8-1. 2之间的实数。若上式为真,则系统处于等规模情况,双向排序的虚网映射方法将选择剩余虚网请求中收入最小的请求;若上式为假,则系统处于小规模情况,即虚网请求的收入小于物理网剩余资源规模,双向排序的虚网映射方法将选择剩余虚网请求中收入最大的请求,最后该映射方法将使用网映射算法进行虚网映射。
3.如权利要求I所述的方法,其中 收入是指虚网映射成功获得的利润,根据映射成功的虚网带宽(BW)和CPU定义Revenue = α Ε Σ BWe+ β e Σ CPUe 其中,BWk是映射成功的虚网带宽,CPUk是映射成功的虚网节点CPU资源,^和^是用于调节带宽和CPU的权重系数,下标R指Revenue (收入)。
4.如权利要求2所述的方法,所述映射方法使用的虚网映射算法是可以完成单个虚网映射的映射算法。
全文摘要
本发明提供了一种双向排序的虚拟网络映射方法。该方法可以主动判断当前虚拟网络映射系统的状态,并调用相应的排序方法若当前虚拟网络的收入(Revenue)规模小于底层物理网剩余资源的规模,则使用正向排序方法;若当前虚拟网络的收入规模等于或大于底层物理网剩余资源的规模,则使用反向排序方法。最后调应相应的映射算法进行映射。这种双向排序的虚拟网络映射方法充分考虑了当前物理网络剩余资源的状态,减小了等规模情况下底层物理网络出现瓶颈的机率,提升了虚拟网络映射的成功率,以及映射成功的虚拟网络总收入数量。本发明提供的方法还可以与多种虚拟网络映射算法结合使用,具有可扩展性强的特点。
文档编号H04L12/46GK102624597SQ20121006173
公开日2012年8月1日 申请日期2012年3月9日 优先权日2012年3月9日
发明者刘江, 刘韵洁, 王国卿, 陈建亚, 黄韬 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1