控制器、控制方法和程序与流程

文档序号:13343183阅读:113来源:国知局

相关申请的引用

本申请基于并且要求2015年3月31日提交的日本专利申请no.2015-073889的优先权,其公开通过引用整体并入本文。

本发明涉及控制器、控制方法和程序。更具体地,本发明涉及利用物理网络的资源来呈现服务的多样性的控制器、控制方法和程序。



背景技术:

专利文献1公开了一种用于管理网络虚拟化系统的方法。在其第48及后续段落中,陈述了网络虚拟化系统1从设置终端31接收指令,并且使用物理节点(物理节点21到物理节点26)和物理链路51的资源来构造虚拟网络(虚拟网络2、3),每个虚拟网络包括虚拟节点和虚拟网络(参见例如段落131至141)。

[引用列表]

[专利文献]

ptl1:

jp专利工业公开no.jp2014-501458a



技术实现要素:

[技术问题]

本发明给出以下分析。为了向用户呈现服务,包括借助网络虚拟化技术启动网络中的虚拟机(vm)以供外部使用,例如专利文献1所示,需要预配置(provision)实现此类服务所需的物理资源,并执行所需的设置而不会有不一致。参见例如专利文献1的图16和图13。

然而,在专利文献1中没有公开如何在虚拟网络上实现按照用户请求呈现的服务,特别是没有公开一旦用户发出服务请求,如何布置或连接呈现服务所需的物理资源。

本发明的目的是提供一种在物理网络(nw)上实现虚拟网络上的服务的控制器、控制方法和程序。

[问题的解决方案]

在第一方面,提供了一种控制器,包括:第一装置,用于识别能够提供网络节点的功能的虚拟机;第二装置,用于识别关于所识别的虚拟机在物理网络中的位置的信息;以及第三装置,用于基于所述关于位置的信息在所述物理网络上设置实现所述网络节点的功能的数据路径。

在第二方面,提供了一种通信系统,包括:控制器,控制物理网络;以及虚拟机,由控制器监管。控制器包括:第一装置,用于识别能够提供网络节点的功能的虚拟机;第二装置,用于识别关于所识别的虚拟机在物理网络中的位置的信息;以及第三装置,用于基于所述关于位置的信息在所述物理网络上设置实现所述网络节点的功能的数据路径。

在第三方面,提供了一种控制方法,包括:识别能够提供网络节点的功能的虚拟机;识别关于所识别的虚拟机在物理网络中的位置的信息;以及基于所述关于位置的信息,在所述物理网络上设置实现所述网络节点的功能的数据路径。本方法涉及一种特定机器,其是包括上述第一单元至第三单元的控制器。

在第四方面,提供了一种程序,其使计算机执行:识别能够提供网络节点的功能的虚拟机;识别关于所识别的虚拟机在物理网络中的位置的信息;以及基于所述关于位置的信息在所述物理网络上设置实现所述网络节点的功能的数据路径。应当注意,本程序可以被记录在计算机可读(非瞬时)记录介质上。也就是说,本发明可以实现为计算机程序产品。

[本发明的有益效果]

利用根据本发明的控制器、控制方法和程序,可以在物理网络上实现虚拟网络上的服务。

附图说明

图1是示出了根据本发明的示例实施例1的系统的示例配置的示意图。

图2是示出了根据本发明的示例实施例1的控制器的示例配置的框图。

图3是示出了由本发明的示例实施例1的控制单元执行的示例处理的框图。

图4是示出了由本发明的示例实施例1的控制器保存的示例表的列表图。

图5是示出了本发明的示例实施例1的控制器的示例操作的流程图。

图6是示出了本发明的示例实施例1的系统的另一示例配置的示意图。

图7是示出了本发明的示例实施例2的系统的示例配置的示意图。

图8是示出了由本发明的示例实施例2的控制器保存的示例表的列表图。

图9是示出了本发明的示例实施例2的控制器的示例操作的流程图。

图10是示出了本发明的示例实施例2的控制器的另一示例配置的示意图。

图11是示出了根据本发明的示例实施例3的控制器的配置的示意图。

图12是示出了本发明的示例实施例3的系统的示例配置的示意图。

图13是示出了本发明的示例实施例3的控制器的示例操作的流程图。

图14是示出了本发明的示例实施例4的系统的示例配置的示意图。

图15是示出了由本发明的示例实施例4的控制器保存的另一示例表的列表图。

图16是示出了本发明的示例实施例4的系统的另一示例配置的示意图。

图17是示出了本发明的示例实施例5的系统的示例配置的框图。

图18是示出了本发明的示例实施例5的控制器的示例配置的框图。

图19是示出了与本发明的示例实施例5的控制器一致地运行的物理节点的框图。

图20是示出了通过与示例实施例5的控制器一致地运行的物理节点进行vnf的示例配置的示意图。

图21是示出了本发明的示例实施例5的系统的示例配置的框图。

图22是示出了本发明的示例实施例5的控制器的示例操作的流程图。

图23是示出了与本发明的示例实施例5的控制器一致地运行的物理节点中设置的示例数据路径的框图。

图24是示出了本发明的示例实施例6的系统的示例配置的示意图。

图25是示出了由本发明的示例实施例6的控制器保存的另一示例表的列表图。

图26是示出了本发明的示例实施例6的控制器的示例操作的流程图。

图27是示出了本发明的示例实施例7的系统的示例配置的示意图。

图28是示出了由本发明的示例实施例7的控制器保存的另一示例表的列表图。

图29是示出了本发明的示例实施例8的系统的示例配置的示意图。

图30是示出了由本发明的示例实施例8的控制器保存的示例表的列表图。

图31是示出了本发明的示例实施例8的系统的另一示例配置的示意图。

图32是示出了本发明的示例实施例8的系统的另一示例配置的示意图。

具体实施方式

<示例实施例1>

现在将参考附图描述根据本发明的示例实施例1。图1示出了根据本发明的示例实施例1的系统的示例配置。图1示出了包括物理网络(nw)和控制器100的布置,其中物理nw包括物理节点200a、200b和210。在下面的描述中,如果不需要区分物理节点200a、200b,则将它们称为物理节点200。控制器100连接到物理节点200、210。

在物理节点200、210中,物理节点200能够在虚拟网络(虚拟nw)上提供虚拟机(vm)300。例如可以将虚拟机环境构造服务器作为典型的物理节点200。尽管在图1的示例实施例中运行vm300,但是也可以使用具有用于允许提供特定功能的应用程序的虚拟设备。

物理节点210根据由控制器100指示的路由来实现物理节点200之间的通信。可以将openflow交换机或层-3交换机作为典型的物理节点210。也可以使用由物理节点200构造的虚拟交换机来代替物理节点210。

在由诸如vm300之类的多个通信节点运行虚拟nw的情况下,需要在诸如vm300之类的多个通信节点中的任何两个之间设置数据路径,以便确保物理nw上的通信。因此,在示例实施例1中,在虚拟nw所包括的诸如vm300的多个通信节点中的任何两个之间设置数据路径。

另一方面,在由诸如物理服务器的多个相应不同物理节点200运行虚拟nw中包括的诸如vm300的通信节点、并且要在物理nw中诸如vm300的通信节点之间设置数据路径的情况下,也需要在物理nw中的通信节点200之间设置数据路径。例如,在图1的配置中,包括在虚拟nw中的每个vm300由物理节点200a和物理节点200b运行。在这种配置中,如果要在vm300之间设置数据路径,则也有必要在物理节点200a、200b之间设置数据路径。因此,在示例实施例1中,还在多个通信节点200之间设置数据路径,从而实现虚拟nw中涉及的诸如vm300的多个通信节点。

在上述示例实施例1中,为了实现用户请求的服务,控制器100识别与所请求的服务相关联的诸如vm的通信节点,并使所识别的通信节点落入物理nw上的位置信息,以便在物理nw上的通信节点之间设置数据路径。

图2示出了示例实施例1中的控制器100的示例配置。参照图2,控制器100包括控制单元110和通信单元120。

通信单元120是能够与例如物理节点200或通信节点210进行通信的接口。通信单元120能够将例如预设的控制信号转发到物理节点200。例如,通信单元120能够将处理规则集或转发信息转发到通信节点210。

控制单元110能够执行预设处理。由控制单元110执行的预设处理实际上由例如中央处理单元(cpu)或微处理单元(mpu)执行。

图3示出了示例实施例1中由控制单元110执行的示例处理。参考图3,控制单元110能够执行由节点识别装置101(第一装置)执行的处理、由位置识别装置102(第二装置)执行的处理和由路径设置装置103(第三装置)执行的处理。

节点识别装置101识别与用户请求的服务对应的通信节点。“用户请求的服务”是使用利用诸如vepc的虚拟资源逻辑上构造的虚拟网络的服务、或使用与用户相对应的租户所涉及的虚拟资源或物理资源的服务。“用户请求的服务”也可以是用户对预先存在的虚拟nw的请求,诸如用户希望将诸如vm或物理服务器等服务器资源放置在虚拟网络中或将网络链接到外部网络。“用户请求的服务”也可以是虚拟网络功能(vnf)或服务链。

节点识别装置101执行识别能够提供这种服务的一个或多个通信节点的功能。“通信节点”等同于上述服务器资源,其可以是vm或物理服务器。从图1的节点识别装置101绘制的虚箭头线表示识别上层处对应于虚拟网络的vm300的操作,表示用户请求的服务。

位置识别装置102识别关于由节点识别装置101识别的通信节点在物理网络中的位置的信息。可以使用由节点识别装置101识别的通信节点在物理nw上的终端点信息作为“物理网络中的位置”。例如,终端点信息是由节点识别装置101识别的通信节点的地址,诸如ip(互联网协议)地址或mac(媒体访问控制)地址。

终端点信息也可以是由节点识别装置101识别的通信节点所连接的虚拟交换机的地址,诸如ip地址或mac地址。终端点信息也可以是由节点识别装置101识别的通信节点所连接的虚拟交换机中的通信节点使用的端口的端口号。终端点信息也可以是实现由节点识别装置101识别的通信节点的物理节点200的地址,诸如ip地址或mac地址。终端点信息还可以是与节点识别装置101识别的物理节点(诸如物理节点210)对应的物理交换机的地址,诸如ip地址或mac地址。

从图1的位置识别装置102绘出的虚箭头线表示位置识别装置102的以下操作:所述位置识别装置102识别由节点识别装置101识别的vm300的终端点信息、或与vm300对应的物理节点200的终端点信息。

路径设置装置103使用关于由位置识别装置102识别的通信节点在物理网络中的位置的信息,来设置在物理nw上实现用户请求的服务所需的数据路径。可以通过在物理节点210中设置流条目集或路由信息来实现“设置数据路径”的处理。流条目是物理节点210处理属于流的分组的处理规则集。路由信息是物理节点210在转发分组时使用的转发信息。从图1的路径设置装置103绘出的虚箭头线表示路径设置装置103经由物理节点210将由位置识别装置102识别的物理节点200互连以便设置数据路径的操作。

图4示出了由示例实施例1中的控制器保存的示例表。图4的上层示出了将服务、通信节点和物理节点的位置信息彼此关联的表。节点识别装置101指出(index)为了实现服务a而需要的资源。在图4的示例实施例中,例如,vm1至vm3被识别为实现服务a所需的资源。位置识别装置102指出关于vm1至vm3在物理nw中的位置的信息,即,指出关于物理nw中的vm所连接的物理节点的终端点的信息。在图4的示例实施例中,识别实现vm1至vm3的物理节点的地址以及端口。可以使用称为代理的网络资源管理功能作为执行这种操作的节点识别装置101和位置识别装置102。

图4所示的表可以由控制器100作为其服务定义存储单元和映射信息存储单元来保存。通过这样做,可以提高节点识别装置101和位置识别装置102中的识别处理的速度。在图4的示例实施例中,服务定义存储单元和映射信息存储单元由单一表实现。然而,该表也可以分为两个,一个用于存储服务和通信节点之间的对应关系,以提供服务定义存储单元,另一个是在其中存储通信节点和物理nw上的位置信息之间的对应关系,以提供映射信息存储单元。

路径设置装置103使用物理nw的拓扑信息和所识别的物理节点200的地址以及端口(端口号),来设置vm1至vm3之间的数据路径。例如,如图4的下部所示,可以在对应于vm1至vm3的物理节点200的端口之间设置数据路径,从而实现vm1至vm3以环形形状互连的这种拓扑的虚拟网络。注意图4下层指示数据路径的双箭头线。在这些箭头线中,可以通过在物理节点210上设置流条目或路由信息来实现物理节点200a和物理节点200b之间的数据路径。可以从存储拓扑信息的拓扑信息存储单元获取拓扑信息。

图5示出了示例实施例1的控制器100的示例操作的流程图。

首先,控制器100的节点识别装置101识别能够呈现用户请求的服务的一个或多个通信节点(s1-1)。在图1的示例实施例中,节点识别装置101将多个vm300识别为用户请求的服务(虚拟nw)。

然后,控制器100的位置识别装置102识别关于由节点识别装置101识别的通信节点在物理nw中的位置的信息(s1-2)。在图1的示例实施例中,位置识别装置102识别由节点识别装置101识别的每个vm300在物理nw中的终端点信息。位置识别装置102针对每一个vm300识别管理每个vm300的物理节点200在物理nw上的地址,以及与每个vm300相对应的物理节点200的端口的端口号。

路径设置装置103然后使用关于由位置识别装置102识别的通信节点在物理nw中的位置的信息,来设置物理nw上通信节点之间的数据路径(s1-3)。在图1所示的示例实施例中,路径设置装置103使用物理nw的拓扑信息以及由位置识别装置102识别的物理节点200的地址和端口(端口号),来设置vm300之间的数据路径。应当注意,在由相应的不同物理节点200管理多个vm的图1的示例实施例中,路径设置装置103为物理节点210设置流条目集或路由信息以实现不同物理节点200之间的通信,从而也设置不同物理节点200之间的数据路径。

从上述内容可以推测,本发明可以理想地应用于通过诸如vxlan/nvgre之类的不同隧道协议构造物理网络(物理nw)的情况。图6示出了示例实施例1的系统的另一示例配置。

参考图6,示出了由通过vxlan(虚拟可扩展局域网)构造的物理nw1和通过nvgre(使用通用路由封装的网络虚拟化)构造并通过网关(gw)连接到物理nw的物理nw2构造的配置。

作为示例,假设已经输入了关于如图6所示布置了四个vm的虚拟网络的信息作为“用户请求的服务”(参见图6(a)的“(a)服务定义”)。这里,用户不需要知道上述物理网络构造的配置。

节点识别装置101识别与用户请求的服务对应的通信节点。在图6的示例实施例中,节点识别装置101识别在三个物理服务器200a至200c上运行的四个vm(参见图6的“(b)映射”)。在这个阶段,同样,用户不必知道vm在哪个物理网络上运行。

位置识别装置102识别关于由节点识别装置101识别的四个vm在物理网络中的位置的信息。在图6的示例实施例中,将四个vm在物理nw上的终端点信息识别为关于四个vm的信息。例如,位置识别装置102识别物理服务器200a至200c在四个vm在其上运行的物理nw上的地址。

然后,路径设置装置103使用所识别的终端点信息和物理网络nw1、nw2的拓扑信息,来设置在物理网络nw1、nw2上实现用户请求的服务的数据路径。在图6所示的示例实施例中,设置有将物理nw1上的物理服务器200a、物理交换机210a和物理服务器200b互连的数据路径、以及将物理nw2上的物理交换机210b以及物理服务器200c经由网关(gw)互连的数据路径,如图6的下层所示。

在上述示例实施例1中,为了实现用户请求的服务,控制器100识别与用户请求的服务相对应的通信节点(诸如vm),并使通信节点落入物理nw上的位置信息以将它们连接在一起,从而在物理网络上实现虚拟网络上的服务。

<示例实施例2>

现在将参考附图详细描述根据本发明的示例实施例2,其中假设允许使用与用户相关的租户中涉及的网络资源。在示例实施例2中,在从用户接收到关于服务的请求的情况下,识别与用户相关的租户中涉及的通信节点(诸如vm)。使通信节点落入物理nw上的位置信息,从而在物理nw上设置通信节点之间的数据路径。因此,通过使用户请求的虚拟网络上的服务落入物理网络上的位置信息和实现其功能的装置,可以在物理网络上实现虚拟网络上的该服务。

图7示出了根据本发明的示例实施例2的系统的示例配置。控制器100a具有与示例实施例1的控制器相同的配置,并且包括节点识别装置101、位置识别装置102和路径设置装置103。下面的描述集中于与示例实施例1的不同之处。

图8描绘了由本示例实施例的控制器100a保存的示例表。该表相当于租户定义存储单元和映射信息存储单元。参考图8,示出了将租户、诸如vm之类的通信节点和管理通信节点的物理节点的位置信息彼此相关联的表。

节点识别装置101指出实现用户请求的服务所需的资源。作为示例,节点识别装置101指出实现用户请求的服务所需的资源的分类。节点识别装置101从与用户相关的租户所涉及的资源中识别实现用户请求的服务所需的资源。除了资源的分类之外,节点识别装置101还可以指出所需的资源的数量。在图8的示例实施例中,从与用户相关的租户所涉及的vm中识别图7所示的vm1至vm4,作为用户请求的服务所需的资源。节点识别装置101将租户1与vm标识符相关联,vm标识符可以唯一标识执行用户请求的服务所需的vm1至vm4中的每一个。应该注意的是,执行用户请求的服务所需的资源是ict(信息和通信技术)资源,诸如服务器、存储设备或网络负载。资源可以是可以使用vm虚拟实现的虚拟资源,或者也可以是物理资源。还应注意,网络节点是提供构造网络所需的功能的设备,例如交换机、路由器、防火墙或负载均衡器。

位置识别装置102指出关于vm1至vm4在物理nw上的位置的信息。位置识别装置102指出vm1至vm4在物理nw上的地址以及与vm1至vm4相关联的端口的端口号。位置识别装置102还可以识别vw1至vw4的地址或vw1至vw4所连接的虚拟交换机的地址以及端口号,作为关于vw1至vw4在物理nw上的位置的信息。

位置识别装置102将vw1至vw4的vm标识符、实现vw1至vw4的物理节点200的地址和与vw1至vw4相对应的物理节点200的端口的端口号彼此关联,如图8所示。

路径设置装置103使用物理nw的拓扑信息以及所识别的物理节点200的地址和端口来设置vm1至vm4之间的数据路径。如图7的下部所示,可以通过在与vm1至vm4相关联的物理节点200的端口之间设置数据路径来使vm1至vm4彼此通信。

应当注意,在图7的示例实施例中,路径设置装置103在管理vm1、vm2的物理节点200a和管理vm3、vm4的物理节点200b之间设置数据路径。这允许vm1至vm4之间的通信,即使在用户请求的服务中涉及的vm1至vm4的部分或全部在相应的不同物理节点200上运行的情况下。

图9描绘了示出根据示例实施例2的控制器100a的示例操作的流程图。

首先,控制器a的节点识别装置101识别实现用户请求的服务所需的一个或多个通信节点(s2-1)。在图7的示例实施例中,节点识别装置101识别与用户相对应的租户中涉及的vm1至vm4,作为用户请求的服务所需的资源。

然后,控制器100a的位置识别装置102识别关于由节点识别装置101识别的通信节点在物理nw中的位置的信息(s2-2)。在图7的示例实施例中,位置识别装置102识别实现由节点识别装置101识别的vm1至vm4的物理节点200的地址、和与vm1到vm4相关联的物理节点200的端口的端口号。

然后,控制器100a的路径设置装置103使用关于由位置识别装置102识别的通信节点在物理nw上的位置的信息,来在物理nw上设置通信节点之间的数据路径(s2-3)。在图7的示例实施例中,路径设置装置103使用物理nw的拓扑信息并且还使用由位置识别装置102识别的物理节点200的地址和端口(端口号),来设置vm1至vm4之间的数据路径。此时,路径设置装置103在物理节点210中设置允许物理节点200a和200b之间的通信的流条目或转发信息,以便设置物理节点200之间的数据路径。

图10示出了在控制器100a监管多个资源情况下的控制器100a的示例配置。参考图10,控制器100a使用受监管的资源的一部分来呈现用户请求的服务。例如,控制器100a存储多个资源,并且选择用户请求的服务所需的所存储的资源中的一个或多个。

控制器100a的节点识别装置101指出由用户请求的服务所需的资源。节点识别装置从所指出的资源中选择由控制器监管并且在与用户相对应的租户中涉及的那些资源。作为示例,节点识别装置101监管多个vm,并且从这些被监管的vm中选择用户请求的服务所需的vm。顺便一提,由节点识别装置监管的多个资源可以包括物理资源。

节点识别装置101针对使用vm实现的每个功能来监管多个vm。网络功能(如交换机、路由器、防火墙或负载均衡器)是使用vm实现的功能中的一部分。节点识别装置监管展现由vm虚拟实现的相应网络功能的虚拟交换机、虚拟路由器、虚拟防火墙或虚拟负载均衡器。由vm实现的功能也可以是储存或存储功能。节点识别装置101使物理服务器中的磁盘或驱动器抽象地作为虚拟实现的存储池来监管磁盘或驱动器。使用vm实现的功能也可以是多种应用或台式机中的任何一种。节点识别装置可以监管使用vm虚拟实现的各种应用或台式机中的任何一种。

在节点识别装置101指出(index)在呈现用户请求的服务时需要负载均衡器的情况下,节点识别装置针对所考虑的租户选择节点识别装置正监管的并且在与考虑的用户对应的租户中涉及的虚拟负载均衡器。

在节点识别装置101从预先存储的资源中识别出执行用户请求的服务所需的资源之后,位置识别装置102和路径设置装置103执行的处理与图7所示的位置识别装置102和路径设置装置103执行的处理相同。因此,为了简单起见,这里没有详细的描述。

在上述主题示例实施例中,为了实现用户请求的服务,控制器100a识别用于执行用户请求的服务的通信节点(例如vm),并且使通信节点落入物理nw上的位置信息,以便在物理nw上设置通信节点之间的数据路径。因此,通过使用户请求的虚拟网络上的服务落入物理网络上的位置信息和实现其功能的装置并进行相关的互连,可以在物理网络上实现虚拟网络中的服务。

<示例实施例3>

现在将参考附图详细描述向示例实施例1的控制器100或示例实施例2的控制器100a添加vm监管功能的示例实施例3。

在示例实施例3中,控制器100具有监管vm的功能。因此,在接收到为用户请求的服务添加预设资源的请求时,可以启动与预设资源相对应的vm。通过其第四装置,vm被新启动。控制器100通过其节点识别装置直到其路径设置装置识别新启动的vm的通信节点,并使通信节点落入物理nw上的位置信息,从而在物理nw上设置数据路径。因此,在示例实施例3中,在用户请求添加资源的情况下,可以添加vm来实现资源的添加,并且执行由于资源的添加可能变得必要的物理nw中的设置。

图11描述了根据本发明的示例实施例3的控制器的配置。参考图11,控制器100f的控制单元110除了节点识别装置101、位置识别装置102和路径设置装置103之外还包括节点请求装置104(第四装置)。接下来的描述集中于与示例实施例1和2的不同之处。

响应于来自节点识别装置101的请求,节点请求装置104启动提供服务所需的vm,并将关于vm的信息传送到节点识别装置101。节点请求装置104可以由提供控制程序(诸如监管物理服务器200侧的vm的vm管理器(vmm)或管理程序等)所需的指令的接口来实现。应当注意,尽管在本示例实施例中假定节点请求装置104启动vm,但是由节点请求装置104启动的通信节点不一定必须是vm。例如,可以使用这样的配置,其中节点请求装置104在睡眠状态下启动物理服务器以保护提供服务所需的资源。或者,可以向节点请求装置104提供终止未使用的vm的功能以释放资源。

图12示出了根据示例实施例3的示例系统配置。如图12所示,在用户请求添加资源并且没有主管通信节点的情况下,节点识别装置101请求节点请求装置104启动有资格用于被添加的资源的vm。例如,如果与租户对应的用户请求添加诸如存储器的预设资源,则节点识别装置101请求节点请求装置启动实现预设资源的vm。

在接收到请求时,节点请求装置104就在图12的右侧所示的物理服务器上启动诸如图12中的vm5的新的vm,并且向节点识别装置101通知这样的效果。响应于启动完成,节点请求装置104向节点识别装置101通知启动完成。节点请求装置104可以不仅向节点识别装置101通知vm启动最终完成,而且还传送关于启动的vm的信息,诸如被启动的vm的标识符。节点识别装置101识别新启动的vm,作为与用户的请求有关的服务中涉及的虚拟节点。例如,节点识别装置101将新启动的vm5与预设租户(对应于用户的租户)相关联。

位置识别装置102识别关于由节点请求装置104添加的vm5在物理nw上的位置的信息,例如关于其在物理nw上的终端点的信息。例如,位置识别装置102识别vm5正在其上运行的物理节点200c的地址、以及与vm5相关联的物理节点200c的端口之一。

路径设置装置103设置vm1至vm5之间的数据路径,同时还为物理节点210设置流条目集或者转发信息,其使得能够在物理节点200a和200c之间进行通信并且在物理节点200b和200c之间进行通信。这允许在实现vm1到vm4之间的通信时所需的“物理nw上的通信”。

图13描绘了示出示例实施例3的控制器100f的示例操作的流程图。

在用户已经向控制器100f的节点识别装置101请求添加诸如存储器的预设资源的情况下,节点识别装置请求节点请求装置来启动实现预设资源的vm(s3-1)。在图12的示例实施例中,如果用户请求添加存储器,则节点识别装置请求节点请求装置启动提供存储功能的vm。

响应于来自节点识别装置101的请求,节点请求装置104启动实现所请求的预设资源的vm,并且向节点识别装置101通知启动已经完成的事实(s3-2)。在图12的示例实施例中,节点请求装置104响应于来自节点识别装置101的存储器添加请求,而启动能够提供存储功能的vm。

在从节点请求装置104接收到通知的情况下,节点识别装置101识别新添加的vm(s3-3)。在图12的示例实施例中,节点识别装置101将新启动的vm5与预设租户(对应于用户的租户)相关联。

位置识别装置102识别关于由节点请求装置添加的vm在物理nw上的位置的信息(s3-4)。该信息可以例如是物理nw上的终端点信息。在图12的示例实施例中,位置识别装置102识别与vm5相关联的物理节点200c的地址和物理节点200c的端口。

路径设置装置103设置预先存在的vm1至vm4和新启动的vm5之间的数据路径(s3-5)。

上述示例实施例3的控制器包括用于执行诸如vm(节点请求装置)之类的通信节点的添加或删除的vm监管功能。因此,如果例如用户请求添加资源,则可以再次通过使用户请求的虚拟网络上的服务落入物理网络上的位置信息和实现其功能的装置并且进行相关的互连,来在物理网络上实现用户请求的虚拟网络上的服务。

<示例实施例4>

将参照附图详细描述将本发明应用于多租户环境的示例实施例4。图14示出了根据本发明的示例实施例4的系统的示例配置。参考图14,示出了控制器100b监管多个租户(租户1和2)的布置。由于控制器100b的基本配置与上述的示例实施例2或3相同,所以下面的描述集中于与这些示例实施例的不同之处。

控制器100b与图11所示的示例实施例3的控制器100f的配置大致相同,并且包括节点识别装置101、信息识别装置102和路径设置装置103。

图15示出了由本示例实施例的控制器100b保存的示例表。在图15中,示出了使租户、通信节点和通信节点的位置信息相互关联的表。节点识别装置101响应于用户的请求,指出实现与用户的请求相关的服务所需的资源。例如,响应于用户a的请求,节点识别装置指出需要防火墙、存储器和交换机,而对租户2指出需要负载均衡器、存储器和交换机。节点识别装置101从用户a接收关于服务a的请求同时从用户b接收关于服务b的请求。应当注意,节点识别装置101可以从同一用户接收关于服务a和b的请求。节点识别装置101可以在相应不同的时间接收关于服务a和b的请求。

在图15的示例实施例中,节点识别装置101从与用户a相对应的租户1所涉及的vm中识别与服务a相关的图14所示的vm1、vm3和vm4。节点识别装置101还从与用户b相对应的租户2所涉及的vm中识别与服务b相关的图14所示的vm2、vm5和vm6。具体地说,对于服务a,节点识别装置101将vm1、vm3和vm4的相应标识符与租户1相关联,而对于服务b,节点识别装置101将vm2、vm5和vm6的相应标识符与租户2相关联。

位置识别装置102指出由物理nw中的节点识别装置101识别的vm1至vm6中的每个连接到哪个物理节点的哪个终端点。在图15的示例实施例中,位置识别装置102指出管理vm1至vm6的物理节点200的地址和与vm1至vm6相关联的物理节点200的端口的端口号。

路径设置装置103使用由位置识别装置102识别的物理节点200的地址和端口、并且还使用物理nw的拓扑信息,在vm1、vm3和vm4启动的物理节点200之间以及在vm2、vm5和vm6之间设置数据路径。例如,通过设置vm1、vm3和vm4之间的数据路径,如图14的下部所示,租户1中涉及的vm1、vm3和vm4变得可以彼此通信。类似地,通过设置vm2、vm5和vm6之间的数据路径,租户2中涉及的vm2、vm5和vm6变得可以彼此通信。

应当注意,与示例实施例3的控制器类似,示例实施例4的控制器100b还可以包含节点请求装置104。与示例实施例3的控制器一样,如果从节点识别装置101发出请求,则节点请求装置104启动呈现服务所必需的vm,并将关于vm的信息传送到节点识别装置101。由于节点请求装置104的处理与图11所示的示例实施例3的节点请求装置104执行的处理相似,所以为了简单起见,没有详细描述。

如上所述,本发明可以应用于多租户环境中的租户构造。然而,应当注意,虽然在图14的示例实施例中在单个物理网络上构造了两个租户,但是本发明也可以应用于多租户环境,在该环境中,每个物理网络和每个租户是以一一对应的方式布置的,如图16所示。

图16示出了示例实施例4的另一示例配置。参考图16,控制器100c的节点识别装置101针对用户请求的服务1识别租户1中涉及的并且被布置在物理nw1中的vm1至vm3。控制器100c的节点识别装置101还针对用户请求的服务2识别租户2中涉及的并且被布置在物理nw2中的vm4至vm6。具体地,节点识别装置101针对用户请求的服务1将vm1至vm3的相应标识符与租户1相关联,而针对用户请求的服务2,将vm4至vm6的相应标识符与租户2相关联。

位置识别装置102指出实现由节点识别装置101识别的vm1至vm3的物理节点200的地址以及与vm1至vm3相关联的物理节点200的端口的端口号。类似地,位置识别装置102指出实现由节点识别装置101识别的vm4至vm6的物理节点200的地址以及与vm4至vm6相关联的物理节点200的端口的端口号。

路径设置装置103使用由位置识别装置102识别的物理节点200的地址和端口,来设置启动了vm1至vm3的物理节点200之间的数据路径。路径设置装置103还使用由位置识别装置102识别的物理节点200的地址和端口,来设置启动了vm4至vm6的物理节点200之间的数据路径。

如上所述,本发明可以应用于多租户环境中的租户构造。

<示例实施例5>

现在将参考附图描述构造用户请求的虚拟网络功能(vnf)的根据本发明的示例实施例5。图17示出了根据本发明的示例实施例5的示例系统配置。图18示出了根据示例实施例5的控制器的示例配置。参考图17和图18,控制器100d的配置类似于示例实施例5的控制器,并且控制器100d的控制单元110d包括节点识别装置101d、位置识别装置102d、路径设置装置103d和节点请求装置104d。

在接收到用户对vnf的请求时,节点识别装置101d识别与vnf相关的vm。此时,如果能够实现用户请求的vnf的vm尚未被启动,则向节点请求装置104d请求启动所需的vm。

位置识别装置102d识别关于由节点识别装置101d识别的vm300在物理nw中的位置的信息。位置识别装置102d识别vm1至vm3正在其中运行的物理节点200的地址、和与vm1至vm3相关的物理节点200的端口的端口号。

路径设置装置103d使用物理nw的拓扑信息和关于由位置识别装置102d识别的vm在物理网络中的位置的信息,在物理nw上设置在物理网络上实现用户请求的vnf的数据路径。

节点请求装置104d响应于来自节点识别装置101d的请求,在物理服务器200上启动提供vnf所需的vm,并将该vm有关的信息传送到节点识别装置101d。节点识别装置将启动的vm的标识符传送到节点识别装置101d。

现在将描述用于使节点请求装置104d启动vm的方案。图19描述了图17所示的物理节点200的详细构造的图。物理节点200管理提供虚拟网络功能的虚拟机。在虚拟网络功能中,存在防火墙(fw)、深度分组检测(dpi)、负载均衡器(lw)等功能。

通信节点200可以例如是服务器、交换机或路由器。通信节点200管理虚拟网络中提供诸如虚拟sgw(服务网关)、虚拟pgw(分组数据网络网关)或虚拟mme(移动性管理实体)等虚拟网络节点的功能的虚拟机。

每个虚拟网络节点具有多个功能。这些功能包括处理虚拟pgw的功能:分组(用户平面功能);管理收费状态以保持通信的功能(策略和计费执行功能(pcef));用于控制诸如qos(服务质量)的策略的策略和计费规则功能(pcrf);处理虚拟sgw的功能:分组处理功能(用户平面功能);处理控制信令的功能(c平面功能);合法拦截功能(li);处理虚拟mme的功能;控制信令或c平面功能;以及管理与归属用户服务器(hss)一致地操作的通信系统的订户信息的功能。

物理节点200包括能够构造虚拟网络功能(vnf)的控制单元110。控制单元110通过管理虚拟机上的vnf220来提供虚拟网络节点的功能。控制单元110可以由能够实现计算机虚拟化的诸如管理程序的控制程序来构造。

控制单元110响应于来自节点请求装置104d的指令,执行诸如启动、停止或传送管理vnf220的虚拟机的操作。传送vm的操作将虚拟机传送到不同的通信设备100。

应当注意,vnf220和vm不一定相对于彼此一一对应。例如,如果要实现虚拟pgw,则可以独立于vm2启动具有包括在pgw功能中的收费功能的vm1,从而执行诸如pgw中涉及的qos(服务质量)等策略控制,如图20左侧所示(基于功能的vm)。当然,也可以通过具有虚拟pgw的功能的vm3(设备型vm)来实现虚拟pgw,如图20的右侧所示。

现在将参照附图描述本主题示例实施例的操作。图21示出了根据本发明的示例实施例5的示例系统配置。图22描绘了示出本发明的示例实施例5的示例操作的流程图。假设用户发出了通过将vnf1和vnf2相互链接来构造服务链的请求。假设在初始状态下,没有启动任何vm。与在上述示例实施例中一样,用户不需要知道物理网络的配置或vm的启动状态。

节点识别装置101d请求节点请求装置104d根据用户请求启动与vnf1、vnf2相关的vm(s4-1)。节点请求装置104d响应于来自节点识别装置101d的请求来请求物理节点启动vm(图21的“启动vm”;图22的s4-1)。

这使得vm1至vm3被启动,如图21的下部所示。节点请求装置104d响应于vm的启动向节点识别装置101d通知vm启动完成(s4-2)。节点识别装置101d响应于来自节点请求装置104d的vm启动结束的通知,来识别启动的vm1至vm3(s4-3)。位置识别装置102d然后识别关于由节点识别装置101d识别的三个vm1至vm3在物理网络中的位置的信息(s4-4)。

路径设置装置103d然后使用关于vm1至vm3在物理网络中的位置和物理nw的拓扑信息的信息,来设置vm1至vm3之间的数据路径(s4-5)。路径设置装置103d还在物理节点210中设置流条目或路由信息,以便允许vm1至vm3已经启动的物理节点200之间的通信。这将在物理网络(nw)上设置实现用户请求的vnf和服务链所需的数据路径。

因此,在主题示例实施例中,可以通过使不受地址或资源的声明影响的用户请求的服务链或vnf落入物理网络上的位置信息和功能实现装置(vm)并且通过执行相关互连,来实现图21下部所示的服务链。

应当注意,可以通过向设置在物理节点200内的控制单元110上安装的路径控制单元2101发出指令来实现在同一物理节点上运行的vnf(vm)之间的数据路径。

图23描绘了示出与本发明的示例实施例5的控制器100d一致地运行的物理节点200中设置的示例数据路径的示意图。在图23的示例实施例中,控制单元110对于信号(1)设置穿过vnf(a)、vnf(b)和vnf(c)的vnf路径,而对于信号(2)设置穿过vnf(a)、vnf(b)的vnf路径。

具体地,控制单元110的路径控制单元2101根据如图23所示的信号的分类来转发路由上的信号。

关于信号分类,可以基于分配给vnf200的mac或ip地址来转发分组。可以使用各种“承载”、传送分组的虚拟连接的分类、或者基于分组内的信息来鉴别的分组的属性来修改转发路由。

还可以使路径控制单元2101基于用户(终端1)中的通信量、通信系统的通信负载或者通信量、或服务器20上的负载状态来控制vnf路径。类似地,可以根据承载的通信量来控制属于承载的分组的vnf路径。也可以根据通信量超过预设阈值来修改vnf路径。

也可以根据vm上的负载状态,使路径控制单元2101选择构成vnf路径的vnf200。还可以使路径控制单元2101优先选择包含相同功能并且虚拟机的负载更小的vnf200,以便切换所选择的vnf路径。

路径控制单元2101可以由软件所构造的虚拟交换机(vswitch)来构造。在这种情况下,路径设置装置103d在作为路径控制单元2101操作的交换机中设置路由信息或流条目。

如上所述,本发明可以有利地应用于实现网络功能的虚拟化的系统。

<示例实施例6>

现在将参考附图详细描述构造用户请求的服务链的本发明的示例实施例6。图24示出了根据本发明的示例实施例6的系统的示例配置。图25示出了由本示例实施例的控制器100a保存的示例表。该表相当于租户定义存储单元和映射信息存储单元。图25所示的表将服务链、服务链中所需的vnf、与vnf相关的vm和管理vm的物理节点的位置信息彼此相关联。由于可以通过类似于管理vnf的示例实施例5的配置来实现主题示例实施例,因此以下描述集中于与示例实施例5的不同之处。

本主题示例实施例的控制器与示例实施例5的控制器100d类似,并且包括节点识别装置101d、位置识别装置102d、路径设置装置103d和节点请求装置104d(见图18)。应当注意,如果需要,可以省去控制器10d中的节点请求装置104d。

在接收到用户对预配置服务链的请求时,节点识别装置101d识别与服务链相关的vm。参见从图24的vnf1、vnf2绘出的箭头线。顺便一提,节点识别装置101d可以识别用户请求的服务链所需的vnf,以便识别与所识别的vnf相关的vm。如图25所示,节点识别装置101d将服务链1与vnf1(1)和vnf1(2)相关联,同时将vnf1(1)与vm1相关联以及将vnf1(2)与vm3相关联。节点识别装置101d还将服务链2与vnf1(2)和vnf2(2)相关联,同时将vnf1(2)与vm2相关联以及将vnf2(2)与vm4相关联。

如果能够实现用户请求的服务链的vnf没有被启动,则节点识别装置101d请求节点请求装置104d构造所需的vnf。

位置识别装置102d识别关于由节点识别装置101d识别的通信节点在物理网络中的位置的信息。参见从图24的vm1到vm4绘制的到物理节点的箭头线。位置识别装置102d针对vm1至vm4中的每个识别实现vm1至vm4的物理节点200在物理网络上的地址,同时还识别与vm1至vm4相关联的物理节点200的端口的端口号。如图25所示,位置识别装置102d将vm1、物理节点200的地址和端口号#1彼此相关联。

路径设置装置103d使用物理nw的拓扑信息和关于由位置识别装置102d识别的vm在物理nw上的位置的信息,来设置在物理nw上实现用户请求的服务链的数据路径。请参阅服务链1和2的数据路径。

节点请求装置104d对来自节点识别装置101d的请求进行响应,以在物理服务器200上启动呈现vnf所需的vm,从而将关于vm的信息提供给节点识别装置101d。

图26描绘了示出根据本发明的示例实施例6的控制器110d的示例操作的流程图。

现在将参照附图说明主题示例实施例的操作。在下面的描述中,假设用户请求构造图24所示的两个服务链。用户不需要知道上述物理网络的配置。

首先,节点识别装置101d识别与用户请求的服务链相关联的vnf(s5-1),然后识别与vnf相关的vm(s5-2)。在图25的示例实施例中,节点识别装置101d识别服务链1穿过vnf1、vnf2,并且vnf1、vnf2分别与vm1、vm3相关联。类似地,节点识别装置101d识别服务链2穿过vnf1、vnf2,并且vnf1、vnf2分别与vm2、vm4相关联。顺便一提,图25的表相当于服务链定义存储单元和映射信息存储单元。

位置识别装置102d然后识别关于由节点识别装置101d识别的四个vm在物理网络上的位置的信息。

路径设置装置103d然后使用关于两个vm集在物理网络上的位置的信息和物理nw的拓扑信息来在物理nw上设置实现用户请求的服务链的数据路径(s5-4)。在图24的示例实施例中,针对服务链1在vm1和vm4之间设置数据路径,而针对服务链2在vm2和vm3之间设置另一数据路径。应当注意,在服务链的情况下,即使它们提供相同的服务,也存在由于与服务链相关的vm的差异而导致物理网络上的数据路径不同的情况。此外,即使使用与图24的示例实施例中相同的vnf来构造提供相同服务的服务链,也不必严格地使用相同的vnf。

在如上所述的主题示例实施例中,为了实现用户请求的服务链,识别与用户请求的服务链相关的通信节点,例如vm。使通信节点落入物理nw上的位置信息,以便在物理nw上设置通信节点之间的数据路径。因此,通过使用户请求的虚拟网络上的服务落入物理网络上的位置信息和实现其功能的装置并且执行相关的互连,可以在物理网络上实现虚拟网络中的服务链。

<示例实施例7>

现在将参考附图描述根据本发明的示例实施例7。由于控制器等的功能类似于示例实施例3的功能,所以下面的描述集中于主题示例实施例与示例实施例3的不同之处。

参考图27,在本发明的示例实施例7中,各个不同的控制器被布置在相应的物理nw中。例如,不同的物理nw被布置在相应的不同数据中心中,并且控制器被布置在每个物理nw中。每个控制器监管分配的物理nw。可以跨不同物理nw构造用户请求的服务。然后,每个控制器可以共享由相应的节点识别装置101和位置识别装置102收集和识别信息,并且跨不同的物理nw设置数据路径,以便实现用户请求的服务。在下面的描述中,假设从与用户对应的租户所涉及的通信节点识别用户请求的服务。应当注意,该服务可以例如是服务链。

图28示出了作为主题示例实施例的控制器1和2交换信息的结果而准备的示例表。该示例表相当于定义存储单元和映射信息存储单元。参考图28,对应于请求服务的用户的租户、实现服务的vm(vm1至vm4)的标识符、监管vm1至vm4的控制器(控制器1、2)和vm1至vm4在物理nw上的位置信息彼此相关联地存储。

在图28中,关于由控制器1监管的vm1和vm2的信息,即vm标识符和物理节点的位置信息,由控制器1识别。另一方面,关于由控制器2监管的vm3和vm4的信息,即vm标识符和物理节点的位置信息,由控制器2识别。

控制器1、2共享它们识别的信息,即它们监管的vm的标识符和物理节点的位置信息。控制器1、2例如通过边界网关协议(bgp)交换信息。控制器1、2可以通过交换图28所示的表来交换关于物理nw和vm的位置信息。控制器1将由控制器1识别的图28的表的上部发送到控制器2。另一方面,控制器2将由控制器2识别的图28的表的下部发送到控制器1。因此,控制器1、2可以交换图28所示的信息。

顺便一提,由控制器1、2交换的信息可以包括关于物理nw的拓扑信息。

控制器1、2的路径设置装置103可以在物理nw上设置实现用户请求的服务所需的数据路径。或者,控制器1、2中的一个可以基于诸如图28所示的表的共享信息来设置全部数据路径,以取代另一个控制器。

控制器1针对物理节点210a设置将分组从vm1或vm2转发到物理节点210b的处理规则或转发信息。针对物理节点210a,控制器1还设置将从物理节点210b发送的来自vm3或vm4的分组转发到vm1或vm2的处理规则或转发信息。

类似地,控制器2针对物理节点210b设置将分组从vm3或vm4转发到物理节点210a的处理规则或转发信息。控制器2针对物理节点210b设置将从物理节点210a转发的来自vm1或vm2的分组转发到vm3或vm4的处理规则或转发信息。

这允许控制器1、2在物理nw上设置vm1至vm4之间的数据路径,以便实现用户请求的服务。

如上所述,本发明可以应用于实现跨越彼此物理隔离的网络(例如,跨越不同dc内提供的网络)的服务链或租户。

<示例实施例8>

现在将参照附图说明从上述示例实施例7修改的示例实施例8。图29示出了示例实施例8的配置。虽然主题示例实施例与示例实施例7类似,但是本主题示例实施例在物理nw1和物理nw2的通信协议(隧道协议)方面不同,使得如果差异原样保留则不可能构造数据路径。以下描述集中在该不同点上。

例如,如图29所示,示例实施例8由具有不同物理网络(物理nw)的隧道协议(例如vxlan/nvgre)构造。具体地,示例实施例8的通信系统包括由vxlan(虚拟可扩展局域网)构造的物理nw1和由nvgre(使用通用路由封装的网络虚拟化)构造的物理nw2,其中物理nw1和物理nw2经由互联网通过网关gw1、gw2互连。也可以在物理nw1和物理nw2之间使用wan(广域网)。

控制器100e1和100e2的控制单元10经由通信单元120交换物理nw1和物理nw2的拓扑信息。控制器100e1和100e2通过例如bgp交换拓扑信息。

控制器100e1和100e2中的每一个的节点识别装置101从与用户相对应的租户中包含的vm中识别实现用户请求的服务所必需的vm。在图29的示例实施例中,控制器100e1和100e2中的每一个的节点识别装置101识别用户请求的服务需要与用户相对应的租户中涉及的vm中的vm1至vm4。每个节点识别装置101针对用户请求的服务将与用户相对应的租户与vm标识符相关联,该vm标识符能够唯一地标识用户请求的服务所需的vm1至vm4中的每一个。

控制器100e1和100e2中的每一个的位置识别装置102识别关于由节点识别装置101识别的vm1至vm4在物理nw上的位置的信息。控制器100e1中的位置识别装置102识别关于由控制器100e1监管的物理nw1中的vm1和vm2的位置信息。具体地,控制器100e1中的位置识别装置102识别vm1和vm2的地址以及vm1和vm2所连接的虚拟交换机的地址和端口号,作为关于vm1和vm2在物理nw1上的位置信息。另一方面,控制器100e2中的位置识别装置102识别关于由控制器100e2监管的物理nw2中的vm3和vm4在物理nw2上的位置的信息。具体地,控制器100e2的位置识别装置102识别vm3和vm4的地址以及vm3和vm4所连接的虚拟交换机的地址和端口号,作为关于vm3和vm4在物理nw1上的位置的信息。

图30示出了由示例实施例8的控制器100e1和100e2保存的示例表。该表与图28所示的示例实施例7的控制器所保存的表的不同之处在于具有协议存储列。

在图30所示的表中,与用户对应的租户、用于实现用户请求的服务的vm的vm标识符(vm1至vm4)、监管vm1至vm4的控制器(控制器1或2)、实现vm1至vm4的物理节点的位置信息以及包括vm1和vm2的物理nw中的协议彼此相关联地与用户请求的服务相关地存储。例如,vm1和vm2中的每一个与作为物理nw1中的协议的vxlan相关联。另一方面,vm3和vm4中的每一个与作为物理nw2中的协议的nvgre相关联。控制器100e1和100e2中的每一个的控制单元110经由通信单元120在受监管的nw中交换关于隧道协议(vxlan/nvgre)的信息。

控制器100e1和100e2中的每一个的控制单元110共享由相关控制器识别的vm的位置信息(由相关控制器监管的vm的标识符和物理节点的位置信息)。控制器100e1和100e2例如通过bgp交换vm的位置信息。

控制器100e1和100e2中的每一个的路径设置装置103基于由相关控制器识别的位置信息和共享的vm的位置信息在物理nw上设置实现用户请求的服务所需的数据路径。

例如,控制器100e1的路径设置装置103在物理nw1中设置例如vm1和vm2之间的数据路径。控制器100e1的路径设置装置103还针对物理节点210a设置将从gw1转发的来自vm3或vm4的分组转发到vm1或vm2所需的处理规则或转发信息。

应该注意,物理nw1的隧道协议是vxlan,其可能与互联网中可用的通信协议不同。在这种情况下,控制器100e1的路径设置装置103针对gw1设置处理规则集或转发信息,以在将vxlan转换为在互联网中可用的协议之后,将在vxlan下从vm1或vm2发送的分组转发到互联网。具体地说,控制器100e1的路径设置装置103指示gw1从接收自物理节点210a的分组中解封装诸如地址等基于vxlan的转发信息,并且在gw1中利用符合互联网上可用的通信协议的诸如地址等转发信息来封装得到的分组。

另一方面,控制器100e1的路径设置装置103针对gw1设置处理规则集或转发信息,以转发基于在互联网中可用的通信协议转发的分组。为此,路径设置装置将分组转换为符合物理节点210a的隧道协议vxlan的分组,以将得到的分组转发到物理节点210a。具体地,控制器100e1的路径设置装置103指示gw1从接收到的分组中解封装符合互联网中可用的通信协议的诸如地址等转发信息,并用符合vxlan的诸如地址等转发信息封装得到的分组。

类似地,控制器100e2的路径设置装置103在物理nw2中设置vm3和vm4之间的数据路径。具体地,为了在已启动vm3的物理节点200b与已启动vm4的物理节点200c之间设置数据路径,控制器100e2的路径设置装置103针对物理节点210b设置能够实现物理节点200b与物理节点200c之间的通信的处理规则集或转发信息。控制器100e1的路径设置装置103还针对物理节点210a设置处理规则集或转发信息,以将来自vm1或vm2的分组转发到gw1。控制器1还针对物理节点210a设置处理规则集或转发信息,以将来自vm3或vm4的分组转发到vm1或vm2。

物理nw2的隧道协议是nvgre,其可能与互联网中使用的通信协议不同。在这种情况下,控制器100e2的路径设置装置103针对gw2将从vm3和vm4转发的符合nvgre的分组转换为符合互联网协议的分组,从而随后将得到的分组转发到互联网。具体地,控制器100e2的路径设置装置103指示gw2从接收自物理节点210b的分组中解封装符合nvgre的转发信息(例如地址),并用符合互联网上可用的通信协议的转发信息(例如,地址)封装得到的分组。

另一方面,控制器100e2的路径设置装置103针对gw2设置处理规则集或转发信息,以将分组转发到物理节点210b。为此,路径设置装置将符合互联网中可用的通信协议的转发分组转换为符合物理nw2的隧道协议nvgre的分组,以将得到的分组转发到物理节点210b。具体地,控制器100e2的路径设置装置103指示gw2从接收到的分组中解封装符合互联网中可用的通信协议的诸如地址等转发信息,并用符合nvgre的诸如地址等转发信息封装得到的分组。

因此,利用控制器100e1和100e2,可以在物理nw中设置vm1至vm4之间的数据路径,以实现用户请求的服务。

图31示出了根据示例实施例8的另一示例系统配置。参考图31,可以设想这样的情况,其中物理nw1是提供公共云的数据中心(dc1),而物理nw2是驻地(on-premised)(dc2)。也就是说,主题示例配置是所谓的混合云的配置,其中使用由公共云提供的vm和驻地准备的另一vm来构造单个租户。在这种配置中,公共云的dc1中的管理物理nw1的控制器1与驻地dc2中的管理物理nw2的控制器2不同。因此,如果要构造单个租户,并且要设置使用租户中涉及的通信节点来实现预设服务所需的物理nw上的数据路径,则需要在控制器1和2之间交换信息。

还存在这样的情况,其中呈现公共云的dc1中的物理nw1和驻地dc2中的物理nw2具有各自不同的协议。例如,呈现公共云的dc1中的物理nw1的隧道协议可以是vxlan,dc2中的物理nw2的隧道协议可以是nvgre。

图31的控制器1、2识别实现用户请求的服务所需的通信节点,同时识别所指定的通信节点在物理nw上的位置信息,并且基于指定的位置信息设置通信节点之间的数据路径。

在图31的示例实施例中,控制器1、2中的每一个的节点识别装置101将实现用户请求的服务所需的通信节点识别为vm1至vm3。

控制器1、2中的每一个的节点识别装置101然后识别vm1至vm3中的每一个在物理nw上的位置信息。控制器1识别提供控制器监管的公共云的dc1中的vm1、vm2在物理nw1中的位置信息。控制器2识别其监管的驻地dc2中的vm3在物理nw2中的位置信息。

然后,控制器1、2中的每一个的路径设置装置103基于所识别的位置信息来设置vm1至vm3之间的数据路径。存在这样的情况,其中提供公共云的dc1中的物理nw1的通信协议与驻地dc2中的物理nw2的通信协议不同。在这种情况下,控制器1的路径设置装置103针对例如gw1设置将可用于物理nw1的通信协议与可用于互联网中的通信协议进行交换的处理规则集或转发信息。此外,控制器2的路径设置装置103针对例如gw2设置将可用于物理nw2中的通信协议和可用于互联网中的通信协议进行交换的处理规则集或转发信息。由控制器1、2的路径设置装置103执行的详细处理与图29所示的控制器100e1和100e2的路径设置装置103的详细处理相似,因此这里不再详述。因此,控制器1、2可以设置用于vm1、vm2的数据路径和用于存在于dc中的与vm1、vm2的数据路径不同的vm3的数据路径,从而允许实现用户请求的服务。

控制器1和2中之一也可以基于从其他控制器获取的信息(诸如由其他控制器管理的物理nw的拓扑信息)来识别vm1至vm3的位置信息,或者设置vm1至vm3之间的数据路径。例如,驻地dc2中的控制器2可以基于从提供公共云的dc1中的控制器1获取的物理nw1的拓扑信息来识别vm1至vm3的位置信息或者设置vm1至vm3之间的数据路径。在这种情况下,可以通过控制器2请求控制器1在dc1中的物理nw1中的v1与v2之间设置数据路径并且设置针对gw1的处理规则或转发信息,来在vm1至vm3之间设置数据路径。

图32示出了示例实施例8中的另一系统示例配置。参考图32,示例实施例8的系统包括用户a的驻地dc1、公共云dc2、公共云dc3和用户b的驻地dc4。

参考图32,示例实施例8的系统包括与用户a相对应的租户1和与用户b相对应的另一租户2,从而提供由多个dc组成的多租户系统。对应于用户a的租户1包括dc1中的vm1、dc2中的vm2、vm3和dc3中的dm4。对应于用户b的租户2包括dc3中的vm5和dc4中的vm6。

控制器2、3中的每一个的节点识别装置101识别与用户a对应的租户1中涉及的vm1至vm4,作为实现用户a请求的服务的vm。控制器1至3的位置识别装置102识别vm1至vm4在物理nw上的位置。控制器1的位置识别装置102识别控制器监管的dc1中的vm1在物理nw上的位置信息。类似地,控制器2、3的位置识别装置102还识别dc2中的vm2和vm3以及dc3中的vm4在物理nw上的位置信息。控制器1至3的路径设置装置103设置vm1至vm4之间的数据路径。存在这样的情况,其中dc1至dc3中的每一个使用与互联网中可用的通信协议不同的通信协议。在这种情况下,控制器1至3的每个路径设置装置103在gw1至gw3中的每一个中设置可用于修改互联网的通信协议以及dc1至dc3相互之间的通信协议的处理规则集或转发信息。控制器1至3的路径设置装置103的操作类似于图29所示的控制器100e1和100e2的路径设置装置103的操作,因此为了简单起见,这里不再赘述。因此,控制器1至3的路径设置装置103可以设置存在于不同dc中的vm1至vm4中的任何两个之间的数据路径,从而允许实现用户请求的服务。

控制器1至3中的任何一个可以基于从剩余控制器获取的信息(例如由其他控制器监管的物理nw的拓扑信息),来识别vm1至vm4的位置信息,或者设置vm1至vm4中的任意vm之间的数据路径。例如,驻地dc1中的控制器1可以基于例如由驻地dc1中的控制器1从其他控制器2、3获取的dc2或dc3中的物理nw的拓扑信息,来识别vm1至vm4的位置信息,或者设置vm1至vm4中任意vm之间的数据路径。在这种情况下,控制器1可以请求控制器2和3在dc2或dc3中的物理nw上设置数据路径,或者设置dc2的gw2或dc3的gw3以设置vm1到vm4之间的数据路径。

以类似的方式,控制器3和4中的每一个的节点识别装置101识别与用户a对应的租户2中涉及的vm5、vm6,作为实现用户b请求的服务的vm。然后,控制器3或4的位置识别装置102识别vm5和vm6在物理nw上的位置信息。以类似的方式,控制器4的位置识别装置102识别控制器监管的dc3中vm5在物理nw上的位置信息。然后,控制器3、4中的每一个的路径设置装置103设置dm5与dm6之间的数据路径。存在这样的情况,其中dc3、dc4的通信协议与互联网上可用的通信协议不同。在这种情况下,控制器3、4中的每一个的路径设置装置103在gw3和gw中4的每一个中设置处理规则集和转发信息,该处理规则集和转发信息被配置用于相关地修改dc3和dc4中的每一个的通信协议以及在互联网上可用的通信协议。由于在控制器3、4中的每一个的路径设置装置103中执行的详细处理与图29所示的控制器100e1和100e2的路径设置装置103的详细处理类似,所以为了简单起见,这里不作说明。可以通过控制器3和4的路径设置装置103来设置不同dc中的vm5和vm6之间的数据路径,从而实现用户请求的服务。

与在用户a的情况下一样,控制器3、4之一可以基于从其他控制器获取的信息(例如由其他控制器监管的物理nw的拓扑信息),来识别vm1至vm3的位置信息,或者设置vm1至vm中的任何两个之间的路径。

如上所述,即使存在物理上不同的网络的情况,也可以应用本发明,另外,所使用的通信协议也不同。

尽管这里示出了本发明的优选示例实施例,但是本发明不限于该特定模式,使得可以在不脱离本发明的基本技术构思的范围内进行任何进一步的改变、替换或调整。例如,附图中所示的网络或元件的配置或消息的表达方式仅仅是说明性的,以帮助理解本发明,这不限于所示的配置。

应当注意,上述示例实施例的控制器的相应请求装置可以由构成控制器的计算机程序来实现,并且允许借助于计算机硬件执行每个处理。

用于实现本发明的优选模式可以记载如下。

(模式1)

参见根据上述第一方面的控制器。

(模式2)

根据模式1所述的控制器,其中,

所述第一装置识别能够提供所述网络节点的功能的多个虚拟机,以及

所述第三装置在所述物理网络上对所述多个虚拟机进行互连以实现所述网络节点的功能。

(模式3)

根据模式1所述的控制器,其中,

所述第一装置分别针对所述网络节点中包括的多个功能识别能够向另一节点提供所述多个功能的多个虚拟机。

(模式4)

根据模式3所述的控制器,其中,

所述第一装置识别能够选择性地提供所述多个多功能的所述多个虚拟机。

(模式5)

根据模式3或4所述的控制器,其中,

所述第一装置识别能够提供通信服务中包括的多个功能的多个虚拟机,所述通信服务是通过按相继顺序对所述多个功能进行互连来提供的,以及

所述第三装置在所述物理网络上对所述多个虚拟机进行互连,以实现所述相继顺序。

(模式6)

根据模式1至5中任一项所述的控制器,其中,

所述第一装置分别针对多个通信服务识别能够提供所述多个通信服务中包括的网络节点的功能的多个虚拟机,以及

所述第三装置分别针对所述多个通信服务在所述物理网络上设置实现所述多个通信服务的多个数据路径。

(模式7)

参见根据上述第二方面所述的通信系统。

(模式8)

参见根据上述第二方面所述的控制方法。

(模式9)

参见根据上述第四方面所述的计算机程序。请注意,类似于模式1的模式2至6,也可以添加模式7至9的开发模式。

上述非专利文献的公开内容通过引用并入本文。可以基于本发明的基础技术构思,在本发明(包括权利要求)的全部公开的构思内修改或调整示例实施例或示例。可以在本公开的权利要求的上下文内,可以做出各一系列公开的要素或本文公开的组合或选择(权利要求、示例和附图的要素)。也就是说,本发明可以包括本领域技术人员可以做出的根据全部公开(包括权利要求和附图)以及本发明技术构思的多种改变或修正。具体地,应当理解,即使缺少明确的声明,包括在数值范围中的任意可选数值或子范围应当被视为已经具体公开了。

[附图标记列表]

100、100a至100f,100e1,100e2控制器

101、101节点请求装置

102、102d位置识别装置

103、103d路径设置装置

104、104d节点请求装置

110、110d控制单元

120通信单元

200、200a至200d、200a至200d、210、210a、210b物理节点(物理交换机)

220虚拟网络功能(vnf)

300vm

2101路径控制单元

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1