用于网络技术无关多云弹性扩展及隔离的框架的制作方法

文档序号:12287816阅读:210来源:国知局
用于网络技术无关多云弹性扩展及隔离的框架的制作方法与工艺

本申请要求于2014年6月22日提交的、名称为“A Framework For Network Technology Agnostic Multi-Cloud Elastic Extension And Isolation(用于网络技术无关多云弹性扩展及隔离的框架)”的美国临时专利申请No.62/015,514的优先权;并且本申请是于2014年11月11日提交的、名称为“Cloud Framework For Multi-Cloud Extension(用于多云扩展的云框架)”的美国专利申请No.14/538,765的部分继续,该申请要求于2014年6月22日提交的、名称为“An Advanced Cloud Representation and Visual Framework for Multi-Cloud Elastic Extension(用于多云弹性扩展的高级云表示及可视框架)”的美国临时专利申请No.62/015,516的权益。每个上述申请的全部公开都通过引用结合于此。

技术领域

所公开的技术涉及云计算,并且更具体地,涉及用于多云弹性扩展的框架。



背景技术:

“云计算”可以指用于使能对在最少管理工作或服务提供商交互的情况下可被快速提供和释放的可配置计算资源(例如,网络、服务器、存储设备、应用、以及服务)的共享池的普遍存在的、方便的、按需网络访问的模型。该云模型可被描述为由五个特征、三个服务模型、以及四个部署模型组成。

特征包括下列项。

按需自服务——当需要时,客户可自动地单方面提供计算能力(例如,服务器时间和网络存储设备),而不要求与每个服务提供商的人际交互。

宽泛的网络访问——能力可通过网络来获得,并通过促进异构薄客户端平台或异构厚客户端平台(例如,移动电话、平板计算式、膝上型计算机、以及工作站)使用的标准机制来访问。

资源池——提供商的计算资源被集中,以便使用多租户模型、以及根据客户需求被动态分配和再分配的不同物理和虚拟资源来服务多个客户。位置独立性的意义在于:客户通常不具有所提供资源的准确位置的任何控制或知识,但能够在更高级别的抽象(例如,国家、州、或数据中心)来指定位置。资源的示例包括存储设备、处理、存储器、以及网络带宽。

快速弹性——能力可被弹性地提供和释放(在某些情况下,自动地)以便与需求相称地快速向外和向内缩放。对于客户,可提供的能力通常好像是不受限制的,并且可以在任意时间以任意数量被占用。

测量服务——云系统通过在适用于服务的类型(例如,存储设备、处理、带宽、以及活跃用户账户)的某些等级的抽象利用计量能力来自动地控制和优化资源使用。通常,该过程基于每次使用付费或每次使用收费来完成。资源使用可被监测、控制、以及报告,为所利用服务的提供商和客户二者提供透明性。

服务模型可包括下列项:

软件即服务(SaaS)。客户使用在云基础设施上运行的提供商的应用。云基础设施是使能云计算的五个特征的硬件和软件的集合。云基础设施可被视为结合物理层和抽象层二者。物理层包括对于支持所提供的云服务必要的硬件资源,并通常包括服务器、存储设备、以及网络组件。抽象层包括跨越物理层部署的、表明基本云特性的软件。概念上,抽象层位于物理层的上方。

平台即服务(PaaS)。使用编程语言、函数库、服务、以及工具创建的客户创建或获取的应用被部署在云基础设施上并由提供商支持。该能力不必排除使用来自其他资源的兼容编程语言、函数库、服务、以及工具。客户不管理或控制潜在的云基础设施,包括网络、服务器、操作系统、或存储设备,但控制所部署的应用以及应用托管环境的可能的配置设定。

基础设施即服务(IaaS)。提供给客户的能力是为了提供处理、存储设备、网络、以及其他基本计算资源,其中,客户能够部署和运行任意软件,可包括操作系统和应用。客户不管理和控制潜在的云基础设施,但控制操作系统、存储设备、以及所部署的应用;以及选择网络组件(例如,主机防火墙)的可能受限的控制。

部署模型包括下列项:

私有云。云基础设施被提供以供由包括多个客户(例如,商业单元)的单一组织来排外地使用。云基础设施可由该组织、第三方、或它们的某些组合来拥有、管理、以及操作,并可以是内置(on premise)或外置(off premise)的。

社区云。云基础设施可被提供以供由来自具有共享关注(例如,任务、安全要求、策略、以及合规考虑)的组织的用户的具体社区来使用。云基础设施可由该社区、第三方、或它们的某些组合中的组织中的一个或多个来拥有、管理、以及操作,并可以是内置或外置的。

公共云。云基础设施可被提供以供由公众来开放使用。云基础设施可由商业、学术、或政府组织、或它们的某些组合来拥有、管理、以及操作。云基础设施可以存在于云提供商的设施上。

混合云。云基础设施是两个或多个不同的云基础设施(私有、社区、或公共)的组合,该两个或多个不同的云基础设施保持唯一的实体,但通过使能数据可移植性和应用可移植性的标准化或专有技术被绑定在一起(例如,由于云之间的负载均衡而爆发的云)。

附图说明

图1是根据某些示例实施例描绘了通信和处理架构的框图;

图2根据某些示例实施例示出了无扩展和隔离(EXI)节点的多云弹性扩展(MCEE)结构,以及映射到虚拟网络(VN)的云逻辑结构;

图3根据某些示例实施例示出了具有两个片段的隔离的EXI规范和通过VN的传播;

图4根据某些示例实施例示出了EXI的弹性、按需、动态、增量添加和通过VN的传播;

图5根据某些示例实施例示出了跨越两个云服务提供商(CSP)域的EXI和通过VN的传播;

图6是根据某些示例实施例描绘了用于多云弹性扩展和隔离的处理的流程框图;

图7是根据某些示例实施例描绘了用于多云弹性扩展和隔离的处理的流程框图;

图8是根据某些示例实施例描绘了用于多云弹性扩展和隔离的处理的流程框图;

图9是根据某些示例实施例描绘了计算机器和模块的框图。

具体实施方式

概览

本文公开的技术的实施例包括网络技术无关分布式弹性结构及相关操作,该网络技术无关分布式弹性结构及相关操作允许网络端到端中多云弹性扩展的实现,而不管云基础设施端到端中所使用的网络技术。

示例系统架构

在本技术的示例架构中,尽管架构中示出的每个云、服务器、系统、以及设备由云、服务器、系统、或设备的一个实例来表示,但每个云、服务器、系统、或设备的多个实例可被使用。此外,尽管本技术的操作的某些方面被呈现在与附图有关的示例中以辅助实现所要求保护的发明,辅助实现所要求保护的发明的本技术的额外的特征也在本文别处被公开。

如图1所示,结构100包括计算网络110、120、130、以及140,每个网络包括一个或多个网络计算设备,并且某些网络包括多云弹性扩展(MCEE)引擎150以及无缝云资源160。每个网络110-140、每个MCEE引擎150、以及每个无缝云资源160可被配置为经由通信网络199来相互通信。在某些实施例中,与网络上的设备相关联的用户必须安装应用和/或做出特征选择以获得本文描述的技术的益处。

网络199包括网络设备可用来交换数据的一个或多个有线或无线电信手段。例如,网络199可包括下列项的一项或多项:局域网(LAN)、广域网(WAN)、内联网、互联网、存储区域网(SAN)、个域网(PAN)、城域网(MAN)、无线局域网(WLAN)、虚拟专用网络(VPN)、蜂窝或其他移动通信网络、无线技术连接、近场通信(NFC)连接、其中的任意组合、以及有助于信号、数据、和/或消息的通信的任意其他适当的架构或系统。贯穿示例实施例的讨论,应理解的是,术语“数据”和“信息”在本文被可交换地使用,以指代基于计算机的环境中可存在的文本、图像、音频、视频、或任意其他形式的信息。

每个网络设备110-140、每个MCEE引擎150、以及每个无缝云资源160可包括通过网络199能够发送和接收数据的通信模块。例如,每个网络设备110-140、每个MCEE引擎150、以及每个无缝云资源160可包括服务器、台式计算机、膝上型计算机、平板计算机、嵌入有和/或耦合了一个或多个处理器的电视机、智能电话、手持计算机、个人数字助理(PDA)、网关、路由器、网络桥接器、交换机、集线器、以及中继器、或任意其他有线或无线处理器驱动的设备。

所示出的网络连接是示例,并且在计算机和设备之间建立通信链路的其他手段可被使用。此外,本领域普通技术人员以及获得本公开的益处的技术人员将认识到,图1中示出的网络设备可具有任意的若干其他适当的计算机系统配置。例如,被体现为移动电话或手持计算机的网络设备可不包括所有上述组件。

在某些实施例中,网络110可以是租户云,每个网络120可以是非租户私有云,每个网络130可以是非租户私有云,以及网络140可包括租户企业资源。在这类实施例中,每个MCEE引擎150可由相关联网络/资源的运营商来操作,并且每个无缝云资源160是可提供的并可被分配给租户资源需求。

在示例实施例中,与本文提出的技术相关联的网络计算设备和任意其他计算机器可以是任意类型的计算机器,例如(但不限于),关于图9被更详细讨论的那些。此外,与任意这些计算机器相关联的任意模块,例如,本文描述的模块或与本文提出的技术相关联的任意其他模块(脚本、网页内容、软件、固件、或硬件)可以是关于图9被更详细讨论的任意模块。本文讨论的计算机器可以相互通信,以及通过一个或多个网络(例如,网络199)与其他计算机机器或通信系统进行通信。网络199可包括任意类型的数据或通信网络,包括关于图9被讨论的任意网络技术。

示例实施例

下列附图中示出的示例实施例关于本文别处所描述的示例操作环境和示例结构的组件在下文被描述。示例实施例还可使用其他系统或在其他环境中被实施。例如,与租户资源(例如,租户云110和租户企业资源140)相关联的MCEE引擎150可被部署与通信网络199的独立连接。

云计算的未来是朝着多云环境发展,其中,租户可以弹性地扩展其自身的私有云110中的一个或多个、选择私有云站点的子集、以及选择那些所选择的站点(本文通常指租户云110)中的资源的子集。这类无缝云资源160可广泛地分布于多个云并构成将由租户获取的无缝云实例的资源。租户的资源可包括非云租户企业资源,例如,租户企业资源140。MCEE框架安全且无缝地连结这些分布式资源。租户可将其私有云110扩展到下列项中的任意一项或多项:一个或多个公共云、公共云站点的选择子集、以及那些站点(本文通常指非租户云120a...120n)中的资源的选择子集。该扩展类似于美国国家标准技术研究所(NIST)定义的多云上下文中的混合云。

租户可将其私有云110扩展到下列项中的任意一项或多项:其他私有云、它们的站点的选择子集、以及那些站点(本文通常指非租户私有云130a...130n)中的资源的选择子集,该扩展可能经由具有它们的站点的选择子集以及那些站点中的资源的选择子集的一个或多个公共云。该扩展类似于NIST定义的多云上下文中的社区云。

注意到的是,即使租户没有其自身的私有云,租户也可能想要把其企业(内联网)140扩展到多个云中。给定一组云、站点、以及那些站点中的资源,租户可能想要创建这类多云扩展的多个实例。租户、或系统运营商或其他利益相关者可能进一步想要保持每个实例与其他实例隔离,以及基于条件或要求来按需合并或分离实例。

MCEE在基础设施中的实现(在基础设施或网络中的实现)变成挑战,这是由于下列原因:复杂的潜在基础设施可能属于多个组织,等等。复杂网络E2E可包括许多片段。每个片段可包括多个网络技术,例如,Linux桥接、虚拟局域网(VLAN)、虚拟可扩展LAN(VXLAN)、虚拟路由和转发(VRF)-Lite、VRF、多协议标签交换(MPLS)虚拟专用网络(VPN)、互联网协议安全(IPSEC)、虚拟专用LAN服务(VPLS)、覆盖传输虚拟化(OTV)等。

考虑租户专有云110或租户企业资源140中的任意一个扩展到一个公共云120a中从而形成1∶1混合云。同一租户可扩展到另一公共云120b中,但分离地扩展。本文公开的技术的实施例集中于扩展到多个云中,并将扩展考虑为一个单一无缝扩展。

本文公开的技术的实施例包括网络技术无关分布式弹性结构及相关操作,该网络技术无关分布式弹性结构及相关操作允许网络端到端中多云弹性扩展的实现,而不管云基础设施端到端中所使用的网络技术。结构是网络技术无关的,这是由于这些结构不取决于任何具体的网络技术或特殊的网络隔离技术,例如,VLAN、VXLAN、通用路由封装(GRE)、IPSEC、VPLS、MPLS层3(L3)VPN等。示例实施例使用MPLS L3VPN技术来说明;然而,该原理适用于每种网络隔离技术。

租户可经由如下两个等级的分布式弹性结构以及有关操作实现MCEE。

多云弹性扩展结构(MCEES):分布式弹性结构包括内置和外置云、云站点、站点资源的逻辑表示、以及从租户的私有云110或租户企业140到两个或多个其他云(例如,非租户公共云120和非租户私有云130)的扩展和隔离的表示。该结构表示逻辑拓扑,其中,拓扑中的每个节点具有某些语义。

E2E虚拟网络结构(E2E-VNS):MCEES被映射到网络技术无关端到端弹性分布式虚拟网络结构。E2E-VNS具有下列特性。该结构包括有助于弹性(按需或动态添加或删除)的多个虚拟网络单元。该结构本地(在云DC中)以及全局地(在MAN/WAN中)有助于多云扩展的隔离。E2E-VNS有助于将单一网络域分配给多云扩展实例。例如,单一子网可被分配给实例,即使该实例跨越包括多AS的多个网络片段。

到多AS MPLS L3VPN网络的弹性映射——E2E-VNS(是网络技术无关的)可被映射到任意适当的潜在网络隔离技术,例如,VPLS、或L3MPLS VPN、或站到站IPSEC,以及其他隔离技术,例如,VLAN或VXLAN或GRE隧道。本文公开的技术的示例实施例提供MPLS L3VPN。

在云环境中,每个等级的云基础设施应是可弹性编程的。然而,在还包括多AS或多服务提供商(SP)MPLS L3VPN网络的MPLS L3VPN网络(被广泛部署的技术)中弹性地(动态地或按需)编程是挑战性的。本文公开的技术的示例实施例提供采用弹性MCEES和E2E-VNS结构及其方法的MPLS L3VPN弹性编程方法,作为关于隔离技术通常所使用的实施例的原理的说明

本文公开的技术的实施例(上述结构、操作以及映射)是分布式的。MCEE具有对应于多个云和网络片段的多个片段。例如,租户(控制租户云110和租户企业资源140)和第一云服务提供商(CSP1——控制非租户公共云120a或非租户私有云130a)控制网络的一个片段,并且租户和第二CSP2(控制非租户公共云120b或非租户私有云130b)一起控制租户的MCEE的单一实例跨越的网络的不同片段。因此,它们的操作和映射可以是分布式的。该结构在多个MCEE引擎150中定义并由多个MCEE引擎150来维护,多个MCEE引擎150中的至少一个与租户资源(在图1中被示出为租户云110的一部分,但也容易被部署为租户企业资源140的一部分)相关联,并且多个MCEE引擎150中的至少一个与将被扩展进入的每个非租户云(在图1中被示出为每个非租户云120、130的一部分,但也容易被部署在非租户云之外)相关联。在示例实施例中,针对每个非租户云提供商DC存在一个MCEE引擎150。各个MCEE引擎150以分布式的方式一起操作以实现本技术。

多云弹性扩展结构

下面描述的结构对应于租户的MCEE。当租户弹性地向多个云或其站点(或甚至独立资源)扩展/从多个云或其站点(或甚至独立资源)提取时,该结构弹性地生长或收缩。具体租户可具有对应于多个MCEE的这类结构的多个实例。MCEE网络的逻辑结构和语义包括逻辑节点和逻辑地连接节点的边缘。

参考图2并继续参考上下文的图1,根据示例实施例示出了无扩展隔离(EXI)节点的多云弹性拓展(MCE)结构、以及被映射到虚拟网络(VN)的云逻辑结构200。跨越所管理资源分布的MCEE引擎150可建立、操作、以及维护MCEES和E2E-VNS。

在MCEES云逻辑结构(CLS)中,MCEE引擎150(跨越租户的资源以及CSP1和CSP2的DC站点分布)可建立一个或多个无缝管理域节点210、用于管理内置资源(ONP)220(例如,租户的私有云110和租户的企业资源140中各者的资源中的一些或全部)的逻辑节点、用于管理到每个内置站点(ONS)230的扩展的一个或多个逻辑节点、以及用于管理到每个内置站点的资源(ONR)240的扩展的一个或多个逻辑节点。以类似的方式,MCEE引擎150可以建立边缘250,每个边缘250表示逻辑连接。例如,MCEE引擎150使用边缘250将每个ONP 220逻辑地连接于一个或多个ONS 230,并使用边缘250将每个ONS 230逻辑地连接于一个或多个ONR 240。

MCEE引擎150可建立用于管理外置资源(OFP)260(例如,非租户公共云120a和非租户私有云130a中各者的资源中的一些或全部)的逻辑节点、用于管理到每个外置站点(OFS)270的扩展的一个或多个逻辑节点、以及用于管理到每个外置站点的资源(OFR)280的扩展的一个或多个逻辑节点。以类似的方式,MCEE引擎150可以建立边缘250,每个边缘250表示逻辑连接。例如,MCEE引擎150使用边缘250将每个OFP260逻辑地连接于一个或多个OFS 270,并使用边缘250将每个OFS 270逻辑地连接于一个或多个OFR 280。

若创建MCEE实例的租户针对整个MCEE期望单一网络域,则租户使用该租户的MCEE引擎150来指定域寻址方案,例如,私有IP地址前缀。

E2E虚拟网络结构(E2E-VNS)

继续参考图2并参考上下文的图1,MCEE引擎150可将MCEES逻辑结构映射到网络无关虚拟网络(VN)以及包含这些VN的逻辑拓扑。MCEE引擎150可建立对应于ONS 230的内置站点虚拟网络(ON-SVN)232(例如,V1-V3和V9中的每者)。每个ON-SVN 232可以以站点标识符(SiteID)以及连接于ON-SVN 232的每个资源240的标识符(SiteID.ResourceSetID)为特征。若期望单一域寻址(例如,私有IP地址),则每个ON-SVN 232可被映射到来自期望域的地址。例如,该地址可使用VN处的网络地址转换(NAT)来转换。MCEE引擎150可建立对应于ONP 220的内置云虚拟网络(ON-CVN)222(例如V4和V10中的每者)。每个ON-CVN 222可被分配云标识符(CloudID)。MCEE引擎150可建立边缘252,每个边缘252表示一对VN之间的逻辑连接。例如,MCEE引擎150使用边缘250将每个ON-CVN 222逻辑地连接于一个或多个ON-SVN 232。MCEE引擎150基于资源所使用的潜在网络隔离技术来映射每个这类连接。使用MPLS L3VPN的映射被提供作为下面的示例实施例。

MCEE引擎150建立对应于OFS 270的外置站点虚拟网络(OF-SVN)272(例如,V6-V8、V12)。每个OF-SVN 272可以以站点标识符(SiteID)以及连接于OF-SVN 272的每个资源280的标识符(SiteID.ResourceSetID)为特征。若期望单一域寻址(例如,私有IP地址),则每个OF-SVN 272被映射到来自期望域的地址。例如,该地址将使用VN处的网络地址转换(NAT)来转换。MCEE引擎150可建立对应于OFP 260的外置云虚拟网络(OF-CVN)262(例如,V5、V11)。每个OF-CVN 262可被分配云ID(CloudID)。MCEE引擎150可建立边缘252,每个边缘252表示逻辑连接。例如,MCEE引擎150使用边缘252将每个OF-CVN 262逻辑地连接于一个或多个OF-SVN 272。MCEE引擎150基于资源所使用的潜在网络隔离技术来映射每个这类连接。

每个虚拟网络(VN)定义可达性和隔离域。每个站点处(例如,租户的站点处、以及CSP1的站点处)的资源的MCEE引擎150基于具体网络隔离技术(例如,VLAN、VXLAN或MPLS L3VPN)可将一组资源映射到虚拟网络,因此提供向该组资源在网络中的语义。尽管每个MCEE的实例可存在单一VN,划分成更小的单元有助于弹性。

每个边缘250、252对应于到其他VN单元的两个方向的可达性。当两个VN(例如,V1和V2)被“连接”时,MCEE引擎150在它们之间交换节点相关信息。因此,当附接于V1的节点和附接于V2的节点被映射到具体网络技术时,附接于V1的节点变成可达到附接于V2的节点,反之亦然。在示例实施例中,所交换的节点信息是CloudID、SiteID、SiteID.ResourceSetID、以及单一域地址。在MPLS L3VPN映射中,扩展社区路径目标(ECRT)信息还在MCEE引擎150之间被交换。由于结构可以是分布式的,该信息可在MCEE引擎150之间远程地交换或通过网络来交换。

多云扩展功能

参考图3并继续参考上下文的前面的附图,根据某些示例实施例示出了具有两个扩展和隔离(EXI)节点(EXI1、EXI2)的图2的MCEES,以及对应的E2E-VNS 300。在这类实施例中,租户如下可将其图2的MCEES和E2E-VNS的上下文中的资源扩展到云服务提供商(CSP1)的资源和CSP2的资源

扩展-1——分布式MCEE引擎150(一个与租户的资源相关联,并且一个与CSP1的第一站点相关联)根据用户输入可使用EXI1将ONS 230a和ONS 230b连接于CSP1的OFP 260a,从而将租户的内置CA-SJ资源扩展到CSP1的外置公共云中。

扩展-2——分布式MCEE引擎150(一个与租户的资源相关联,并且一个与CSP2的站点相关联)根据指定要连接的节点的用户输入可使用EXI2连接ONP 220a和OFP 260b,从而将租户的内置TX资源扩展到CPS2的私有云中。

多云扩展功能映射到虚拟网络。针对每个新的EXI,虚拟网络被创建。每个这类VN逻辑地跨越多个网络域。例如,内置和外置或多个CSP网络域。语义与关于E2EVNS所描述的语义相同。在图3的情况下,EXI-VN V13和V14被创建。V13跨越租户的CA-SJ资源的域和MCEE中所有的CSP1的资源。

到多AS MPLS L3VPN网络的弹性映射

下列过程连同分布式MCEES和E2E-VNS提供多AS MPLS L3VPN网络的顶部的弹性层。当MPLS L3VPN映射功能在MCEE引擎150中被打开时,下列操作在节点和边缘被动态地按需添加(删除)时被弹性地执行。

参考图4并继续参考上下文的前面的附图,根据示例实施例示出了向现有的扩展和分离资源集400添加ONS或OFS。特别地,下列描述结合图4,示出了通过在MCEES中建立Eg1并在E2E-VNS中建立Eg2来向链接ONS 230a和OFP 260a的隔离和扩展域EX1添加ONS 230b的资源。当诸如ONS 230b之类的ONS或OFS被选择用于向扩展和隔离域添加时,MCEE引擎150创建SiteID和被连接于ONS 230b的资源节点的一组SiteID.ResourceSetID。若被指定,则MCEE引擎150将所指定的单一域地址(SDA,例如,私有IP地址或前缀)分配给这些节点,并且地址转换模块(例如,NAT)被创建并与该VN相关联。MCEE引擎150创建对应于站点(可标识具体的MPLS VPN站点或路径前缀)的新的MPLS L3VPN扩展社区路径目标(ECRT)ID(ECRTID)。MCEE引擎150识别连接站点的MPLS客户边缘(CE)-提供商边缘(PE)路由器(路由器ID:CEID、PEID)。MCEE引擎150将新标识符添加到ON-SVN V2 232b并将新标识符传播给ON-CVN 260(或OF-CVN 262)。

参考图5并继续参考上下文的前面的附图,根据示例实施例示出了添加扩展和隔离域500。特别地,通过在MCEES引入连接EXI1和EXI2的扩展和隔离域的EXI3以及通过改变E2E-VNS来修改图4的MCEES和E2E-VNS。在创建EXI3之后,MCEE引擎150创建EXI虚拟网络,在该情况下,创建V15。MCEE引擎150创建MCEE引擎150附接VN 15的MPLS L3VPN路由和转发(VRF)表。MCEE引擎150将在构成VN处创建的(CloudID、ResourceID、ECRTID、SDA、CEID、PEID)传播到VN15。若对于构成VN不存在VRF,则MCEE引擎150在VN15.PEIDm中编写VRF。MCEE引擎150从VRF输出每个节点的ECRTID。对于所述上述动作,当节点或边缘被按需删除时,采取相反动作。

关于MCEE引擎150,租户资源的MCEE引擎可驻留在租户设施上。租户MCEE引擎建立和维护MCEE的全局视图,这被示出在每个图2-图5的顶部。租户MCEE引擎还将MCEE的内置片段映射到E2E-VNS的内置片段。E2E-VNS被示出在每个图2-图5的底部。在示例附图中,E2EVNS片段V4(连同V1、V2、V3)和V10(以及V9)驻留在租户MCEE引擎中。对应于EXI的共享VN(V13、V14、V15)还驻留在租户MCEE引擎中。保持跨越多个云和云站点的MCEE的全局视图的该引擎在多个MCEE引擎(例如,与CSP1云相关联的MCEE引擎和与CSP2云相关联的MCEE引擎)之间协调。在图2-图5的示例中,一个MCEE引擎与CSP1云相关联,并且另一MCEE引擎与CSP2云相关联。特定于云的VN(例如,CSP1的V5、V6、V7、以及V8)和共享EXI VN(V13、V14、V15)还驻留在每个云VN中。基于来自租户的资源对云服务的要求,通过MCEE引擎的组合集来自动地、动态地、以及弹性地执行扩展和收缩。

参考图6并继续参考上下文的前面的附图,根据某些示例实施例示出了多云弹性扩展和隔离的处理600。在这类实施例中,一组MCEE引擎150建立与至少一个租户站点的至少一个租户资源、第一非租户云站点处的第一非租户云的至少一个资源、以及第二非租户云站点处的第二非租户云的至少一个资源有关的MCEE逻辑结构——方框610。

特别地,建立MCEE逻辑结构可包括:在层级树拓扑中通过如图2所示的资源运营商、资源运营商站点、以及每个资源运营商站点处的资源集来关联租户资源(例如,租户云110)、第一非租户云(例如,非租户公共云120)的资源、以及第二非租户云(例如,非租户私有云130)的资源。

图2的结构将加利福尼亚州的圣何塞(CA-SJ)、加利福尼亚州的洛杉矶(CA-LA)、以及内华达州的拉斯维加斯(NV-LV)处的租户的内置资源240与德克萨斯州的租户的内置资源240、以及两个非租户云提供商的外置资源相关联。尽管被示出为三个实心圆,无缝管理域节点210可被视为单一逻辑节点。

该组MCEE引擎150可将MCEE逻辑结构的节点映射到分段端到端虚拟网络结构(E2E-VNS),以便MCEE逻辑结构的每个节点处的资源的集合是在E2E-VNS的分离的虚拟网络中——方框620。特别地,将MCEE逻辑结构映射到E2E-VNS可包括:执行映射以使得在每个等级的E2E-VNS,MCEE逻辑结构的每个节点处的资源的集合是在该E2E-VNS的分离的虚拟网络中。例如,在图3中,V1-V4、V5-V8、V9-V10、以及V11-V12都在分离的E2E-VNS虚拟网络中。

该组MCEE引擎150可在MCEE逻辑结构中建立将租户资源的至少一个节点与第一非租户云的至少一个节点和第二非租户云的至少一个节点相关联的扩展和隔离(EXI)域——方框630。图3示出了将CA-SJ处的租户的资源与CSP1的资源270相关联的EXI域EXI1。图3还示出了将一组租户的内置资源220a与CSP2的资源270相关联的EXI域EXI2。注意到的是,EXI2可能已将站点等级的租户的TX资源与站点等级的CSP2的资源相连接以实现相同的效果。在对MCEE结构采用层级树结构的实施例中,建立EXI域可包括将层级的租户资源部分的至少一个节点与该层级的第一非租户云部分的至少一个节点和该层级的第二非租户云部分中的至少一个节点相关联。

该组MCEE引擎150可连接EXI域的节点的E2E-VNS虚拟网络以供进行网络通信,该EXI域用于把该EXI域的节点的资源与EXI虚拟网络中的MCEE逻辑结构的其他资源隔离——方框640。在图3的示例中,MCEE引擎150已使用V13来连接V1的资源(租户的CA-SJ资源)和CSP1的资源。

参考图7并继续参考上下文的前面的附图,根据某些示例实施例示出了多云弹性扩展和隔离的处理700。在这类实施例中,尽管方框630可如上述被执行,该组MCEE引擎可建立与租户资源和两个非租户云的资源有关的MCEE逻辑结构(如方框610),其中,第一非租户云的网络隔离技术是多协议标签交换层3虚拟专用网络(MPLS L3VPN)网络隔离技术——方框710。

在这类实施例中,将MCEE逻辑结构映射到E2E-VNS包括针对E2E-VNS的每个第一非租户云站点虚拟网络的若干处理。在这类实施例中,该组MCEE引擎150可向每个第一非租户云站点虚拟网络分配站点标识符,并向每个第一非租户云站点虚拟网络的每个资源分配资源标识符——方框721。

在第一非租户云的网络隔离技术是多协议标签交换层3虚拟专用网络(MPLS L3VPN)网络隔离技术的情况下,该组MCEE引擎150可针对每个第一非租户云站点虚拟网络创建MPLS L3VPN扩展社区路径目标(ECRT)标识符——方框722。

云提供商基础设施可包括客户边缘(CE)路由器和提供商边缘(PE)路由器二者。在图7示出的实施例中,作为将MCEE逻辑结构映射到E2E-VNS的一部分,该组MCEE引擎150可向连接于每个第一非租户云站点虚拟网络的每个CE路由器分配CE标识符,并向连接于每个第一非租户云站点虚拟网络的每个PE路由器分配PE标识符——方框723。该组MCEE引擎150然后可将每个标识符传送到E2E-VNS中相应的第一非租户云虚拟网络——方框724。

在MCEE中建立将租户资源的至少一个节点与第一非租户云的至少一个节点和第二非租户云的至少一个节点相关联的EXI域(方框630)之后,MCEE引擎150可连接EXI域的节点的E2E-VNS虚拟网络以供进行网络通信。这类连接可包括:创建EXI虚拟网络的MPLS L3VPN虚拟路由和转发(VRF)表实例、将VRF表实例附接于EXI虚拟网络、以及从连接于EXI虚拟网络的每个E2E-VNS虚拟网络传送连接于EXI虚拟网络的每个E2E-VNS虚拟网络的各标识符——方框740。在某些这类实施例中,将MCEE逻辑结构映射到E2E-VNS还包括,针对E2E-VNS的每个第一非租户云站点虚拟网络,将向每个第一非租户云站点虚拟网络分配单一域地址。

尽管图7的示例涉及第一非租户云的MPLS L3VPN网络隔离技术,该组MCEE引擎150可实现其他网络保护技术的协议以用于连接EXI域的节点的E2E-VNS虚拟网络,从而与其他资源的节点的资源隔离。

参考图8并继续参考上下文的前面的附图,根据某些示例实施例示出了多云弹性扩展和隔离的处理800。在这类实施例中,方框610-方框640可如上述被执行。在这类方法中,在连接EXI域的节点的E2E-VNS虚拟网络(以供进行网络通信和用于把这些节点的资源与其他资源隔离)之后,该组MCEE引擎150可接收请求增加EXI域中的可用资源的请求——方框850。例如,在云资源是存储设备并且租户通过自服务提供额外的存储设备的情况下,该组MCEE引擎150可接收将租户的云110扩展到新的云资源的请求。

在接收到请求时,该组MCEE引擎150可将至少一个额外的非租户云资源映射到EXI域的E2E-VNS——方框860。一旦被映射到EXI域的E2E-VNS,MCEE引擎可将所映射的资源的E2E-VNS虚拟网络连接到EXI域——方框870。

其他示例实施例

图9根据某些示例实施例描绘了计算机器2000和模块2050。计算机器2000可对应于下列项中的任一项:各种计算机、服务器、移动设备、嵌入式系统、或本文提出的计算系统。模块2050可包括被配置为辅助计算机器200来执行本文提出的各个方法和处理功能的一个或多个硬件或软件元件。计算机器2000可包括各种内部或附接组件,例如,处理器2010、系统总线2020、系统存储器2030、存储介质2040、输入/输出接口2060、以及用于与网络2080通信的网络接口2070。

计算机器2000可被实现为传统计算机系统、嵌入式控制器、膝上型计算机、服务器、移动设备、智能电话、机顶盒、自助服务终端、车辆信息系统、与电视机相关联的一个或多个处理器、定制机器、任意其他硬件平台、或它们的任意组合或多种组合。计算机器2000可以是被配置为使用经由数据网络或总线系统互连的多个计算机器来运行的分布式系统。

处理器2010可被配置为执行代码或指令以执行本文描述的操作和功能、管理请求流和地址映射、以及执行计算并生成命令。处理器2010可被配置为监测和控制计算机器2000中的组件的操作。处理器2010可以是通用处理器、处理器核心、多处理器、可重构处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、离散硬件组件、任意其他处理单元、或它们的任意组合或多种组合。处理器2010可以是单一处理单元、多个处理单元、单一处理核心、多个处理核心、专用处理核心、协同处理器、或它们的任意组合。根据某些实施例,处理器2010连同计算机器2000的其他组件可以是在一个或多个其他计算机器中进行执行的虚拟化计算机器。

系统存储器2030可包括非易失性存储器,例如,只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、闪速存储器、或在有或没有输入功率的情况下能够存储程序指令或数据的任意其他设备。系统存储器2030还可包括易失性存储器,例如,随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、以及同步动态随机存取存储器(SDRAM)。其他类型的RAM还可用于实现系统存储器2030。系统存储器2030可使用单一存储器模块或多个存储器模块来实现。尽管系统存储器2030被描绘为计算机器2000的一部分,本领域技术人员将认识到的是,在不脱离主题技术的范围的情况下,系统存储器2030可以从计算机器2000分离。还应理解的是,系统存储器2030可包括非易失性存储设备,或结合非易失性存储设备来操作,例如,存储介质2040。

存储介质2040可包括硬盘、软盘、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、蓝光盘、磁带、闪速存储器、其他非易失性存储器设备、固态硬盘(SSD)、任意磁存储设备、任意光存储设备、任意电存储设备、任意半导体存储设备、任意基于物理的存储设备、任意其他数据存储设备、或它们的任意组合或多种组合。存储介质2040可存储一个或多个操作系统、应用程序和程序模块(例如,模块2050)、数据、或任意其他信息。存储介质2040可以是计算机器2000的一部分,或被连接于计算机器2000。存储介质2040还可以是与计算机器2000进行通信的一个或多个其他计算机器的一部分,例如,服务器、数据库服务器、云存储设备、网络连接存储设备等。

模块2050可包括被配置为辅助计算机器2000来执行本文提出的各个方法和处理功能的一个或多个硬件或软件元件。模块2050可包括被存储为与系统存储器2030、存储介质2040、或二者相关联的软件或固件的一个或多个序列的指令。存储介质2040因此可表示在其上可存储有用于由处理器2010执行的指令或代码的机器或计算机可读介质的示例。机器或计算机可读介质通常可以指用于向处理器2010提供指令的任意介质或媒体。与模块2050相关联的这类机器或计算机可读介质可包括计算机软件产品。应理解的是,包括模块2050的计算机软件产品还可以与用于经由网络2080、任意信号承载介质、或任意其他通信或传递技术来将模块2050传递到计算机器2000的一个或多个处理或方法相关联。模块2050还可包括硬件电路或用于配置硬件电路的信息,例如,用于FPGA或其他PLD的微代码或配置信息。

输入/输出(I/O)接口2060可被配置为耦合一个或多个外部设备,以便从一个或多个外部设备接收数据,并向一个或多个外部设备发送数据。这类外部设备连同各种内部设备还可被称为外围设备。I/O接口2060可包括用于将各种外围设备可操作地耦合于计算机器2000或处理器2010的电气连接和物理连接二者。I/O接口2060可被配置为在外围设备、计算机器2000、或处理器2010之间传送数据、地址、以及控制信号。I/O接口2060可被配置为实现任意标准接口,例如,小型计算机系统接口(SCSI)、串联SCSI(SAS)、光纤通道、外围组件互连(PCI)、高速PCI(PCIe)、串行总线、并行总线、高级技术附件(ATA)、串行ATA(SATA)、通用串行总线(USB)、雷电(Thunderbolt)、火线(FireWire)、各种视频总线等。I/O接口2060可被配置为实现仅一个接口或总线技术。替代地,I/O接口2060可被配置为实现多个接口或总线技术。I/O接口2060可被配置为系统总线2020的一部分、全部、或结合系统总线2020来操作。I/O接口2060可包括用于缓冲一个或多个外部设备、内部设备、计算机器2000、或处理器2010之间的传输的一个或多个缓冲器。

I/O接口2060可将计算机器2000耦合于各种输入设备,包括鼠标、触摸屏、扫描仪、电子数字化仪、传感器、接收器、触摸板、轨迹球、照相机、麦克风、键盘、任意其他点选设备、或它们的任意组合。I/O接口2060可将计算机器2000耦合于各种输出设备,包括视频显示器、扬声器、打印机、投影仪、触觉反馈设备、自动化控制、机器人组件、执行机构、电机、风扇、螺线管、阀门、泵、发射机、信号发射器、灯等。

计算机器2000使用通过网络接口2070到网络2080的一个或多个其他系统或计算机器的逻辑连接可在网络化环境中操作。网络2080可包括广域WAN、局域网(LAN)、内联网、互联网、无线接入网络、有线网络、移动网络、电话网络、光学网络、或它们的组合。网络2080可以是任意拓扑的分组交换、电路交换,并可使用任意通信协议。网络2080中的通信链路可涉及各种数字或模拟通信介质,例如,光纤光缆、自由空间光系统、波导、电导体、无线链路、天线、射频通信等。

处理器2010通过系统总线2020可被连接于本文讨论的计算机器2000或各种外围设备的其他元件。应理解的是,系统总线2020可以在处理器2010之内、处理器2010之外、或二者。根据某些示例实施例,任意本文讨论的处理器2010、计算机器2000的其他元件、或各种外围设备可被集成在单一设备中,例如,片上系统(SOC)、系统封装(SOP)、或ASIC设备。

实施例可包括体现本文所描述和示出的功能的计算机程序,其中,计算机程序在计算机系统中实现,该计算机系统包括存储在机器可读介质中的指令和执行指令的处理器。然而,应理解的是,在计算机编程中可存在许多不同的实现实施例的方法,并且实施例不应被理解为限制于任意一组计算机程序指令。此外,熟练的程序员将能够编写这样的计算机程序,以基于所附流程图以及申请文本中的相关联描述来实现所公开实施例的实施例。因此,一组具体的程序代码指令的公开不必被认为是对于充分理解如何构造和使用实施例是必要的。此外,本领域技术人员将理解是,本文描述的实施例的一个或多个方面,如可被体现在一个或多个计算系统中,可通过硬件、软件、或其组合来执行。此外,任何对由计算机执行的动作的引用不应被理解为由单一计算机来执行,这是由于多于一个的计算机可执行该动作。

本文描述的示例实施例可以与执行前面所描述的方法和处理功能的计算机硬件和软件一起使用。本文描述的系统、方法、以及程序可被体现在可编程计算机、计算机可执行软件、或数字电路中。软件可被存储在计算机可读介质上。例如,计算机可读介质可包括软盘、RAM、ROM、硬盘、可移除介质、闪速存储器、记忆棒、光介质、磁光介质、CD-ROM等。数字电路可包括集成电路、门阵列、构件逻辑、现场可编程门阵列(FPGA)等。

前面提出的实施例中所描述的示例系统、方法、以及动作是说明性的,并且在替代实施例中,在不脱离各个实施例的范围和精确的情况下,某些动作可以以不同的顺序、彼此并行地、完全被省略地、和/或组合在不同的示例实施例之间来执行,和/或某些额外的动作可被执行。因此,这类替代实施例被包括在下列权利要求的范围内,下列权利要求被赋予最宽泛的解释以包含这类替代实施例。

尽管具体实施例在上面已被详细描述,但描述仅是为了说明的目的。因此,应理解的是,上述许多方面不旨在作为要求的或基本的要素,除非另外明确说明。

除了上面描述的那些,在不脱离下列权利要求中所定义的实施例的精神和范围的情况下,本领域普通技术人员可做出具有本公开的益处的所公开的示例实施例的各方面的修改,以及对应于所公开的示例实施例的各方面的等同组件或动作,其范围被赋予最宽泛的解释以便包含这类修改和等同结构。

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