CN111865642A - 用于软件定义网络的多集群配置控制器 - Google Patents

用于软件定义网络的多集群配置控制器 Download PDF

Info

Publication number
CN111865642A
CN111865642A CN201910936100.8A CN201910936100A CN111865642A CN 111865642 A CN111865642 A CN 111865642A CN 201910936100 A CN201910936100 A CN 201910936100A CN 111865642 A CN111865642 A CN 111865642A
Authority
CN
China
Prior art keywords
cluster
configuration
endpoint
request
controller
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
CN201910936100.8A
Other languages
English (en)
Other versions
CN111865642B (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.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN111865642A publication Critical patent/CN111865642A/zh
Application granted granted Critical
Publication of CN111865642B publication Critical patent/CN111865642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本申请涉及用于软件定义网络的多集群配置控制器。本公开描述了用于在不同云计算域内配置软件定义网络(SDN)控制器的技术,特别是,在一些示例中操作并呈现用于在不同云计算域中无缝地控制和配置SDN控制器的单个界面的多集群控制器的技术。在一个示例中,本公开描述了一种系统,其包括:多个集群,多个集群中的每个集群包括多个可配置端点;存储系统;以及处理电路,其具有对存储系统的访问权并能够与多个可配置端点中的每个可配置端点通信。在一些示例中,处理电路被配置为接收多个请求,每个请求指定配置操作,针对每个请求识别配置集群和配置集群内的配置端点,并针对每个请求执行指定的配置操作。

Description

用于软件定义网络的多集群配置控制器
交叉引用
本申请要求在2019年4月25日提交的美国临时专利申请第62/838,640号的权益,该申请的全部内容以引用方式并入本文。
技术领域
本公开涉及用于云计算域的软件定义网络,并且更具体地,涉及在不同域内配置和/或供应SDN控制器。
背景技术
在典型的云数据中心环境中,大量互连的服务器通常提供运行各种应用的计算和/或存储能力。例如,数据中心可以包括为订户(即数据中心的客户)托管应用和服务的设施。例如,数据中心可以托管所有基础设施设备,诸如网络和存储系统、冗余电源和环境控制装置。在典型的数据中心中,存储系统和应用服务器的集群经由由一层或多层物理网络交换机和路由器提供的高速交换结构互连。更复杂的数据中心为遍布全球的基础设施提供各种物理托管设施中设置的订户支持设备。
管理应用执行的部署和应用执行的基础设施的云计算基础设施可涉及两个主要职责:(1)编排—用于跨主机集群自动化应用的部署、扩展和操作,并提供计算基础设施,计算基础设施可包括虚拟机(VM)或以容器为中心的计算基础设施;以及(2)网络管理—用于在网络基础设施中创建虚拟网络,以实现在虚拟执行环境(诸如容器或VM)上运行的应用之间的通信,以及在传统(例如,物理)环境上运行的应用之间的通信。软件定义网络有助于网络管理。
多云环境是指使用多个云进行计算和存储服务。企业可以利用内部部署(on-premise)计算和/或存储服务(例如,内部部署云),以及一个或多个外部部署(off-premise)云,诸如由第三方提供商托管的云。云的示例包括专用云、公共云或混合公共/专用云,其允许易于扩展,同时允许不同级别的控制和安全性。企业可以基于所执行的应用的类型和企业的其他需求来利用专用云、公共云或混合公共/专用云中的一者或多者。
发明内容
本公开描述了用于在不同云计算域内配置软件定义网络(SDN)控制器的技术,并且特别地,在一些示例中操作并呈现用于在不同云计算域中无缝地控制和配置SDN控制器的单个界面的多集群控制器的技术。在一些示例中,该技术包括多集群命令控制器,其操作为透明地代理由一个或多个用户或管理员发出的对由SDN控制器跨网络内的多个集群提供的服务(在本文中称为端点)的配置请求。在一些示例中,这样的技术可以包括使用代理系统来从管理员接收配置请求,解析给定的配置请求以识别集群以及由集群的SDN控制器提供的特定服务(即SDN控制器的要应用配置的端点),并将关于配置请求的信息路由到适当的端点。这些技术还可以包括适当地认证用户,其可以包括在代理系统内存储与可以与特定集群或端点的用户关联的认证凭证有关的信息。这些技术还可以包括在执行涉及端点和集群的配置时或者以其他方式管理端点和集群时动态维护集群对象和/或集群内的对象的数据库。
本文描述的技术可提供某些技术优势。例如,操作以跨任意数量集群代理配置流量的系统,在一些示例中,仅使用具有针对每个用户的单组认证凭证的单个控制器,可以实现端点和相关对象的有效多集群配置。此外,通过在每个配置请求内包括使代理系统能够识别配置请求所属的端点的信息(例如,诸如前缀),代理系统能够有效地将配置请求路由到适当的端点。此外,通过在数据储存器或高速缓存中维护前缀和集群信息,与没有代理直接配置端点相比,代理跨多个集群的请求的系统可以在很少或没有额外延迟的情况下操作。
在一些示例中,本公开描述了根据本公开的一个或多个方面的由能够与多个集群通信的计算系统执行的操作。在一个特定示例中,本公开描述了一种方法,包括由计算系统接收第一请求和第二请求,其中,计算系统能够与多个集群中的每个集群通信,所述多个集群中的每个集群包括多个端点;由计算系统基于第一请求识别与第一请求相关联的第一集群;由计算系统基于第一请求识别与第一请求相关联的第一端点,其中,第一端点在第一集群内;由计算系统基于第二请求识别与第二请求相关联的第二集群;由计算系统基于第二请求识别与第二请求相关联的第二端点,其中,第二端点在第二集群内;由计算系统与第一端点通信以执行由第一请求指定的第一配置操作;由计算系统与第二端点通信以执行由第二请求指定的第二配置操作;并且由计算系统更新数据储存器,以包括关于第一配置操作和第二配置操作的信息。
在另一具体示例中,本公开描述了一种系统,包括多个集群,多个集群中的每个集群包括多个可配置端点;存储系统;以及处理电路,其具有对存储系统的访问权并且能够与多个可配置端点中的每个可配置端点进行通信,其中,处理电路被配置为:接收多个请求,每个请求指定配置操作;针对每个请求,从多个集群中识别配置集群;针对每个请求,识别配置集群内的配置端点;对于每个请求,通过与所识别的配置集群内的所识别的配置端点通信来执行指定的配置操作,使得执行与多个请求相关联的配置操作包括跨多个集群中的每个集群执行配置操作;并且针对每个请求更新存储系统以包括关于执行指定的配置操作的信息。
在另一示例中,本公开描述了一种计算机可读介质,其包括用于使处理电路执行以下操作的指令,所述操作包括:接收多个请求,每个请求指定配置操作;针对每个请求,从多个集群中识别配置集群,针对每个请求,识别配置集群内的相应SDN控制器的配置端点,对于每个请求,通过与所识别的配置集群内的所识别的配置端点通信来执行指定的配置操作,使得执行与多个请求相关联的配置操作包括跨多个集群中的每个集群执行配置操作,并且针对每个请求更新存储系统以包括关于执行指定的配置操作的信息。
前述内容为简化的概述,以提供本公开的一些方面的背景,并且既不旨在确定本公开的关键或重要要素,也不旨在描绘或限制本公开的范围。相反,前述内容仅以简化形式呈现一些概念作为以下描述的序言。
附图说明
图1为示出根据本公开的一个或多个方面的配置代理提供单个界面点以用于无缝地配置部署在不同云域内的各个SDN控制器的示例网络的概念图。
图2为示出根据本公开的一个或多个方面的动态地代理对多集群SDN云域环境中的一个或多个集群的配置请求的示例网络的框图。
图3为示出根据本公开的一个或多个方面的具有多个数据中心的示例多集群或多云网络的框图。
图4为根据本公开的一个或多个方面的可用于存储关于端点配置的信息的示例数据库表的概念图示。
图5A和图5B为根据本公开的一个或多个方面的对象标识符、端点前缀、对象类型和对应URL的表的概念图示。
图6A为根据本公开的一个或多个方面的可以由用作配置代理的示例计算系统接收的示例REST API调用。
图6B为根据本公开的一个或多个方面的可以由示例计算系统发起至端点以用于配置该端点的示例REST API调用。
图7A至图7E为示出了根据本公开的一个或多个方面的由用户界面装置呈现的示例用户界面的概念图。
图8为示出了根据本公开的一个或多个方面的用于执行端点配置或管理任务的示例过程的流程图。
具体实施方式
图1为示出根据本公开的一个或多个方面的可以配置多个集群的示例网络的概念图。图1的示例示出了与被布置为云计算集群130A、集群130B和集群130C(统称为“集群130”并且表示任何数量的集群)的一个或多个软件定义网络(SDN)交互的计算系统或控制器110。每个云计算集群130通过可被虚拟化以支持由集群实现的一个或多个服务的计算基础设施来实现。例如,一个或多个集群130可设置在网络(例如,因特网)上所托管的多个服务器上,以存储、管理和处理数据,或执行其他功能。
在一些示例中,集群130中的一者或多者可以为企业的内部部署的集群,其中一些或所有其他集群130为远程的。在其他示例中,集群130中的一些或全部集群可以远离企业。此外,在一些示例中,集群130可以全部包括在单个数据中心内。在其他示例中,集群130中的每个集群可以部署在其自己的数据中心内,或者可能地,集群130中的一者或多者可以跨多个数据中心或地理区域。
在图1的示例中,控制器110可以从由管理员38(或其他适当授权的用户)操作的计算装置接收配置请求,该管理员38直接或通过网络与控制器110通信。图1包括多个软件定义网络控制器,本文称为虚拟网络控制器136A、136B和136C(统称为“虚拟网络控制器136”),各自分别在集群130A、130B和集群130C内。每个虚拟网络控制器136配置它们各自的集群130的各方面,并且可以通过计算装置和/或处理电路(无论是物理的还是虚拟的)来实现。在2013年3月15日提交的美国专利号8,755,377、在2017年3月31日提交的美国专利号10,200,274以及在2017年11月28日提交的美国专利申请号15/823,906中描述了作为软件定义网络控制器操作以在计算域内配置覆盖和/或底层网络元件的VNC 136的进一步示例细节,其全部内容通过引用并入本文。
在一些示例中,虚拟网络控制器136A均可以包括本文称为SDN控制器的端点的一个或多个可配置服务或由其实现。图1的示例中的虚拟网络控制器136A被示为由端点137A-1至端点137A-N(统称为“端点137A”或“端点137”并且表示任意数量的端点)实现、由端点137A-1至端点137A-N组成或包括端点137A-1至端点137A-N。尽管未在图1中具体示出,但是虚拟网络控制器136B也可以由多个端点(例如,端点137B-1至端点137B-N,或者统称为“端点137B”)实现或由多个端点组成。类似地,虚拟网络控制器136C可以使用多个端点(例如,端点137C-1至端点137C-N,或统称为“端点137C”)来实现。
在每个集群130中,端点137可以表示由该集群130的相应VNC提供或执行的不同服务。在一些示例中,每个端点137可以通过由对应端点137公开的API(应用编程接口)来配置。端点137可以提供用于管理相应云计算域130的覆盖和/或底层网络的多种不同类型服务中的任何一种,包括认证(例如,OpenStack的Keystone服务)、图像管理(例如,OpenStack的Glance服务)、存储(例如,OpenStack的Swift服务)、分析、遥测或其他服务,每个服务通过一个或多个端点137提供。在一些示例中,集群130A内(或通常在集群130内)的VNC 136A的每个端点137作为可以配置的不同服务进行操作,诸如用于实现SDN控制器功能的不同进程、虚拟机、容器等。每个集群130还包括对应的网络44和用于提供计算资源的任何数量的服务器(例如,服务器34A、34B和34C)。通常,图1中所示的每个部件(例如,计算系统110、集群130、每个集群130内的虚拟网络控制器136、以及每个集群130内的服务器34)可以通过一个或多个网络进行通信,这些网络可以为或者包括因特网或任何公共或专用通信网络或其他网络。这样的网络可以包括集群130内的一个或多个网络44。
为了能够配置虚拟网络控制器136A(或虚拟网络控制器136A内包括的任何端点137A)的各方面,虚拟网络控制器136A将(例如,通过web浏览器界面)可以访问的API公开给经认证的操作客户端计算装置的管理员(例如,管理员38)。在一些示例中,虚拟网络控制器136A内的每个端点137A可以公开其自己的API以使得能够配置对应于该端点137A的服务。管理员38还可以通过使用客户端计算装置来认证然后访问由虚拟网络控制器136B或任何端点137B公开的API来单独配置虚拟网络控制器136B或任何端点137B的各方面。类似地,管理员38还可以通过认证和访问由虚拟网络控制器136C或任何端点137C公开的API来单独配置虚拟网络控制器136C或任何端点137C的各方面。
如本文所述,控制器110可以使管理员能够管理和/或配置涉及来自集中装置或来自单个接触点(single point of contact)的任何虚拟网络控制器136或端点137,而不是单独管理和配置每个虚拟网络控制器136(或端点137)。在一些示例中,控制器110可以用作动态代理,其提供单个接触点管理多个集群130的各方面。控制器110可以包括在集群130A内(如图1所示),但是在其他示例中,控制器110可以位于其他地方、在另一个集群130内、分布在多个集群130之间或者在所有集群130之外。如本文进一步描述的,管理员38可以通过向控制器110发出配置请求来管理集群130中的一者或多者,以及控制器110可代理对执行配置的集群130中的一者或多者的请求。每个集群130内包括的一个或多个系统可以响应控制器110或以其他方式与控制器110通信,并且控制器110可以使用从那些通信导出的信息来生成用于呈现给管理员38的用户界面(即,呈现给由管理员38操作的计算装置)。另外,控制器110可以通过检测或感测涉及一个或多个集群130的配置改变,以及更新关于每个集群130的信息的数据储存器来动态地操作。在一些示例中,高速缓存可以用于存储数据储存器中包括的一些信息,从而减少在通过控制器110执行配置而不是直接通过一个或多个虚拟网络控制器136执行配置时可能出现的延迟。
根据本公开的一个或多个方面,控制器110可以管理或配置一个或多个集群130的一个或多个方面。例如,在可以参考图1描述的示例中,控制器110检测来自由管理员38操作的计算装置的输入,并确定管理员38为认证用户。控制器110检测另外的输入并确定该输入对应于配置集群130A内的虚拟网络控制器136A的一个或多个方面的请求。具体地,控制器110确定所述输入包括识别集群130A和集群130A内的端点137A-1的信息以及要在端点137A-1上执行的配置操作的指示。控制器110与端点137A-1通信以执行由所述输入指定的配置操作或以其他方式管理端点137A-1。在一些示例中,配置操作可以涉及管理现有的一个集群130。在其他示例中,配置操作可以涉及创建新集群和该新集群内的相关端点。
在一些示例中,控制器110在接收到配置请求时访问包括关于集群130和端点137的信息的数据储存器(图1中未示出)。控制器110可以使用在数据储存器内访问的信息来识别待配置的特定集群130和/或端点137,并且还将配置请求路由到适当的端点137和适当的集群130。当管理端点137或执行配置时,控制器110可以更新数据储存器。当控制器110另外检测到正在执行的配置时,控制器110还可以更新数据储存器,从而动态地更新数据储存器。控制器110还可以维护来自数据储存器的信息的高速缓存(例如,作为端点信息的密钥值储存器),以使控制器110能够针对给定的配置请求快速识别适当的端点137和集群130。
通过根据本公开的一个或多个方面的技术,诸如通过将控制器110实现为用于配置集群130的代理,网络100可以通过单个控制器并使用单组认证凭证来配置多个集群130。这样的实施方式可以产生配置多个集群130的更有效方式,因为可以在不单独地访问多个系统的情况下执行管理多个集群130。
此外,通过动态地维护控制器110内包括的数据储存器中关于多个集群的信息,控制器110可以针对从管理员38接收到的给定配置请求,有效地识别正在管理多个集群130中的哪个端点137。通过识别与给定配置请求相关联的适当端点137,控制器110可以有效地将配置请求路由到适当集群130和该集群130内的适当端点137。此外,通过高速缓存关于端点137的信息,控制器110可以执行本文描述的技术,同时引入很少或没有延迟。
图2为示出根据本公开的一个或多个方面的动态地代理对多集群环境中的一个或多个集群的配置请求的示例网络的框图。可以将图2的网络100描述为图1的网络100的示例或替代实施方式。本文可以在图1的上下文中描述图2的一个或多个方面。
在图2中,并且如图1中所示,网络100包括与一个或多个集群130(即,集群130A、130B、130C)交互的计算系统或控制器110。在图2的示例中,集群130C以虚线示出,以指示其在本文中被描述为可由于由控制器110执行的操作而被实例化或联机的集群,如下面进一步描述。每个集群130内包括虚拟网络控制器136(例如,集群130A内的虚拟网络控制器136A)和一个或多个网络44,每个网络44由多个服务器34(例如,服务器34A至34N)支持。如结合图1所述,每个虚拟网络控制器136包括一个或多个端点137(例如,虚拟网络控制器136A包括端点137A-1至137A-N或由端点137A-1至137A-N组成)。
通常,集群130中的每者以及每个集群130所包括的部件可以对应于图1中的相同编号的元件。这些装置、系统和/或部件可以以与结合图1提供的对应系统的描述一致的方式实现,但是在一些示例中,这样的系统可以涉及具有更多、更少和/或不同能力的替代实施方式。通常,本文的附图中的系统、装置、部件、用户界面元件和其他项可以对应于其他附图中所示的相同编号的系统、装置、部件和项,并且可以以与结合其他附图提供的描述一致的方式来描述。为了便于说明,图2中示出了有限数量的集群130、端点137、集群130内的系统和/或部件、管理员38、计算系统110和其他部件,但是根据本公开的一个或多个方面的技术可以用更多这样的系统来执行。
控制器110可以实现为任何合适的计算系统,诸如一个或多个服务器计算机、工作站、大型机、装置、云计算系统和/或能够执行根据本公开的一个或多个方面描述的操作和/或功能的其他计算系统。在一些示例中,控制器110表示向客户端装置和其他装置或系统提供服务的云计算系统、服务器群和/或服务器集群(或其一部分)。在其他示例中,控制器110可以表示或数据中心、云计算系统、服务器群和/或服务器集群的一个或多个虚拟化计算示例(例如,虚拟机、容器)或者通过其来实现。
在图2的示例中,控制器110可以包括电源111、一个或多个处理器113、一个或多个通信单元115、一个或多个输入装置116、一个或多个输出装置117以及一个或多个存储装置120。存储装置120可以包括认证模块122、认证数据123、API模块124、用户界面模块126、数据储存器128和高速缓存129。控制器110的一个或多个装置、模块、存储区域或其他部件可以互连以实现部件间通信(物理地,通信地和/或可操作地)。在一些示例中,可以通过通信信道(例如,通信信道112)、系统总线、网络连接、进程间通信数据结构或用于传送数据的任何其他方法来提供这种连接。
电源111可以向控制器110的一个或多个部件提供电力。电源111可以从建筑物、家庭或其他位置的主要交流(AC)电源接收电力。在其他示例中,电源111可以为电池或供应直流(DC)的装置。在又一些示例中,控制器110和/或电源111可以从其他源接收电力。控制器110内示出的一个或多个装置或部件可以连接到电源111,和/或可以从电源111接收电力。电源111可以具有智能电源管理或消耗功能,并且这些特征可以由控制器110的一个或多个模块和/或由一个或多个处理器113控制、访问或调整,以智能地消耗、分配、供应或以其他方式管理电力。
控制器110的一个或多个处理器113可以实现功能和/或执行与控制器110相关联的或与本文所示和/或下面描述的一个或多个模块相关联的指令。一个或多个处理器113可以为执行根据本公开的一个或多个方面的操作的处理电路、可以为该处理电路一部分和/或可以包括该处理电路。处理器113的示例包括微处理器、应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器以及被配置为用作处理器、处理单元或处理装置的任何其他硬件。中心监测系统210可以使用一个或多个处理器113来使用驻留在控制器中和/或在控制器110处运行的软件、硬件、固件或硬件、软件和固件的混合来执行根据本公开的一个或多个方面的操作。
控制器110的一个或多个通信单元115可以通过发送和/或接收数据与控制器110外部的装置通信,并且可以在某些方面作为输入装置和输出装置进行操作。在一些示例中,通信单元115可以通过网络与其他装置通信。在其他示例中,通信单元115可以在诸如蜂窝无线电网络的无线电网络上发送和/或接收无线电信号。在其他示例中,控制器110的通信单元115可以在诸如全球定位系统(GPS)网络的卫星网络上发送和/或接收卫星信号。通信单元115的示例包括网络接口卡(例如,诸如以太网卡)、光收发器、射频收发器、GPS接收器或可以发送和/或接收信息的任何其他类型的装置。通信单元115的其他示例可以包括能够通过
Figure BDA0002221617580000101
GPS、NFC、ZigBee和蜂窝网络(例如,3G、4G、5G)进行通信的装置,以及移动装置中发现的
Figure BDA0002221617580000102
无线电以及通用串行总线(USB)控制器等。这种通信可以坚持、实施或遵守适当的协议,包括传输控制协议/因特网协议(TCP/IP)、以太网、蓝牙、NFC或其他技术或协议。
一个或多个输入装置116可以表示控制器110的任何输入装置,本文不另外单独描述。一个或多个输入装置116可以生成、接收和/或处理来自能够检测来自人或机器的输入的任何类型的装置的输入。例如,一个或多个输入装置116可以生成、接收和/或处理电、物理、音频、图像和/或视觉输入形式的输入(例如,外围装置、键盘、麦克风、相机)。
一个或多个输出装置117可以表示控制器110的任何输出装置,本文不另外单独描述。一个或多个输出装置117可以生成、接收和/或处理来自能够向人或机器输出信息的任何类型的装置的输出。例如,一个或多个输出装置117可以生成、接收和/或处理电和/或物理输出形式的输出(例如,外围装置、致动器)。
控制器110内的一个或多个存储装置120可以存储用于在控制器110的操作期间进行处理的信息。存储装置120可以存储与根据本公开的一个或多个方面描述的一个或多个模块相关联的程序指令和/或数据。一个或多个处理器113和一个或多个存储装置120可以为这样的模块提供操作环境或平台,这样的模块可以实现为软件,但是在一些示例中可以包括硬件、固件和软件的任何组合。一个或多个处理器113可以执行指令,并且一个或多个存储装置120可以存储一个或多个模块的指令和/或数据。处理器113和存储装置120的组合可以检索、存储和/或执行一个或多个应用、模块或软件的指令和/或数据。处理器113和/或存储装置120还可以可操作地耦接到一个或多个其他软件和/或硬件部件,包括但不限于控制器110的一个或多个部件和/或图示为连接到控制器110的一个或多个装置或系统。
在一些示例中,一个或多个存储装置120为暂时性存储器,意味着一个或多个存储装置的主要目的不是长期存储。控制器110的存储装置120可以作为易失性存储器被配置为信息的短期存储,因此如果停用则不保留存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域中已知的其他形式的易失性存储器。在一些示例中,存储装置120还包括一个或多个计算机可读存储介质。存储装置120可以被配置为存储比易失性存储器更大量的信息。存储装置120还可以作为非易失性存储空间被配置用于长期存储信息并且在启用/关闭循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、闪存或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。
认证模块122可以执行与处理认证凭证和认证用户相关的功能。认证模块122可以认证用户以使这些用户能够访问、管理或配置特定集群130,或者还可以认证用户以访问、管理或配置跨多个集群的服务或端点,从而实现端点的多集群管理。认证模块122可以管理认证数据123和/或可以将信息存储到认证数据123和从认证数据123访问信息。认证数据123可以包括从与管理员38或一个或多个集群130通信中接收到的信息导出的信息。
API模块124可以执行与对集群130内一个或多个端点137执行多集群管理或配置相关的功能。API模块124可以处理请求140并确定待配置或管理的一个或多个端点以及如何配置或管理这些端点。API模块124可以访问数据储存器128和/或高速缓存129以识别待配置的端点的公共或专用URL。API模块124可以使通信单元115与集群130通信以创建一个或多个新集群130或配置新集群130或现有集群130内的一个或多个方面(例如,端点)。API模块124可以生成和/或处理REST API调用。例如,API模块124可以处理由控制器110从管理员38接收到的REST API调用,并且可以生成控制器110与集群130内的一个或多个端点137通信的REST API调用。API模块124可以从一个或多个其他模块接收信息并向其输出信息,并且可以以其他方式与控制器110的一个或多个其他模块交互和/或与其一起操作。在一些示例中,由API模块124执行的功能可以由软件或由运行软件的硬件装置来执行。在其他示例中,由API模块124执行的功能可以主要或部分地通过硬件来实现。
用户界面模块126可以执行与生成图形用户界面(或其他类型的用户界面)相关的功能,以便在由一个或多个管理员38操作的计算装置上呈现。例如,用户界面模块126可以生成认证网页基础的数据。用户界面模块126还可以生成作为呈现显示对象的网页基础的数据,该显示对象以多集群方式管理集群130或集群130内的端点137。这样的用户界面可以具有与图7A至图7E中所示的用户界面700类似的形式。
数据储存器128可以表示用于存储与集群内的端点相关的信息的任何合适的数据结构或存储介质。数据储存器128可以存储关于端点类型的信息和用于配置端点137或报告关于一个或多个端点137的当前配置或可用配置的信息的其他信息。在一些示例中,数据储存器128可以包括用于具有图4中所示的形式的SQL数据库(例如,PostgreSQL数据库)的关系数据库和/或表。存储在数据储存器128中的信息可以为可搜索和/或分类的,使得控制器110内的一个或多个模块可以提供从数据储存器128请求信息的输入,并且响应于该输入,接收在数据储存器128内存储的信息。数据储存器128可以主要由API模块124维护。
高速缓存129可以表示用于存储来自数据储存器128的数据子集的任何合适的数据储存器。通常,高速缓存129小于数据储存器128并且具有比数据储存器128更快的存取时间,从而能够更快地访问存储在高速缓存129中的信息。在一些示例中,高速缓存129可以被实现为密钥值储存器,其使用前缀141作为用于识别与配置请求相关联的端点的密钥。高速缓存129可以具有类似于图5A的形式,其中通用唯一标识符(“UUID”)和前缀用作识别由配置请求指定的端点的专用URL的密钥。当一个或多个新端点137被实例化或联机时,或者当检测到一个或多个端点137的配置时,API模块124可以创建或更新高速缓存129。
在图2的示例中,并且根据本公开的一个或多个方面,控制器110可以认证管理员38。例如,在可以参考图2描述的示例中,控制器110的通信单元115检测输入并向认证模块122输出关于该输入的信息。认证模块122确定该输入对应于认证用户(例如,管理员38)的请求。认证模块122将信息输出到用户界面模块126。用户界面模块126生成具有用户名和密码提示的用户界面。用户界面模块126使通信单元115诸如通过网络将信息输出到管理员38(或由管理员38操作的计算装置)。控制器110向管理员38输出足以生成用户名/密码用户界面的信息,并且在接收到该信息时,由管理员38操作的计算装置呈现用户界面(例如,在显示器处)。之后,通信单元115检测输入并将关于该输入的信息输出到认证模块122。认证模块122基于关于该输入的信息确定该输入对应于来自管理员38的有效认证凭证。
控制器110可以接收识别集群和端点的进一步输入。例如,参考图2,控制器110的通信单元115检测输入并向API模块124输出关于该输入的信息。API模块124分析该输入并确定该输入对应于配置或管理集群130的一个或多个方面的请求。在图2的示例中,输入对应于请求140。API模块124还确定请求140对应于在集群130A中配置端点137A-1的请求。在一些示例中,请求140可以对应于或包括由管理员38操作的计算装置生成并通过网络传送到控制器110的REST API请求。在这样的示例中,请求140可以具有与图6A中所示的RESTAPI调用类似的形式。
为了识别端点137A-1,API模块124可以从请求140中提取前缀141和标识符142。标识符142可以为与集群130A相关联并识别集群130A的UUID(在所描述的示例中,标识符142识别集群130A)。前缀141可以为指定待配置的集群130A内的一个或多个端点137的信息(在所描述的示例中,前缀141识别端点137A-1)。在一些示例中,端点的URL可以具有“http://<endpointListenIP>:<endpointListenPort>”的形式,其中“endpointListenIP”为端点用于侦听配置请求或管理通信的IP地址,以及“endpointListenPort”为端点在该IP地址处用于侦听配置请求和/或管理通信的端口。因此,实现OpenStack Keystone认证服务的端点的公共和/或专用URL将具有“http://<KeystoneListenIP>:<KeystoneListenPort>”形式,其中“KeystoneListenIP”为Keystone服务端点的IP地址,以及“KeystoneListenPort”为在KeystoneListenIP接收与Keystone服务相关的请求的端口。端点服务包括分析服务、配置服务和其他服务;这些服务可包括那些有时被称为nodejs、遥测、快捷(swift)、镜像(glance)、计算、裸金属以及其他自定义端点服务的服务。
在识别与请求140相关联的端点和集群之后,控制器110可以在集群130A内配置端点137A-1。例如,再次参考图2,在接收请求140之后,API模块124向认证模块122输出对集群130A内的端点137A-1相关联的认证信息的请求。认证模块122访问认证数据123并访问认证管理员38的认证凭证(例如,用户名和密码组合)。API模块124通过访问128和/或高速缓存129来识别端点137A-1的URL/端口组合。认证模块122使通信单元115将认证凭证安全地输出到集群130A,并且具体地,输出到集群130A内的端点137A-1。端点137A-1确定认证凭证有效。API模块124使通信单元115进一步与端点137A-1通信以执行请求140中指定的配置。在一些示例中,配置可以包括对现有端点137进行的修改,或者添加或移除一个或多个端点137。
在其他示例中,配置可以包括在130A内添加或移除一个或多个端点137。在这样的示例中,控制器110可以与虚拟网络控制器136A通信以调用由虚拟网络控制器136A公开的API提供的服务。这样的服务可以使控制器110(或其他经认证的装置)能够添加、移除或以其他方式配置集群130A内的一个或多个端点137。
控制器110可以更新数据储存器128以反映与集群130A相关联的配置改变。例如,在图2的示例中,API模块124向数据储存器128输出关于在集群130A内执行的配置的信息。数据储存器128存储该信息。在一些示例中,API模块124(或数据储存器128)还可以更新高速缓存129,高速缓存129可以实现为存储器内密钥值端点储存器,以反映由于在集群130A内执行的配置而对端点的任何改变的改变。在一些示例中,这样的改变可以包括新的地址、前缀或与集群130A内的端点相关联的其他信息,或者可以包括反映集群130A内的一个或多个端点的移除的改变。
除了配置现有集群130的各方面之外,控制器110还可以创建一个或多个新集群,诸如集群130C(在图2中以虚线示出)。在一个示例中,控制器110可以接收创建集群130C的请求。例如,在图2的示例中,控制器110接收API模块124确定的对应于创建新集群130C的请求(例如,来自管理员38)的输入。API模块124在数据储存器128内创建对应于集群130C的对象。API模块124还在数据储存器128内创建一个或多个对象以对应于集群130C内的端点137。API模块124可以为集群130C内的每个新端点137创建新路由,并将相关信息存储在数据储存器128中。API模块124可以使通信单元115与一个或多个虚拟网络控制器136通信以供应新集群130C并以其他方式实例化新集群130内的对象和/或系统。
在一些示例中,API模块124还可以更新高速缓存129以包括存储在数据储存器128内的信息的至少子集。通过这样做,当控制器110接收到新的配置或管理请求时,控制器110可以通过访问关于请求中指定的端点137的信息而无需访问数据储存器128来处理该请求,从而实现对原本可通过数据储存器128访问的信息的低延迟访问(即,通过129)。在一些示例中,高速缓存129可以使控制器110充当管理员38和集群130之间的代理,从而具有很少或没有额外的延迟。
在一些示例中,为了创建集群130C,API模块124使通信单元115与一个或多个虚拟网络控制器136通信以调用由虚拟网络控制器136提供的用于创建和建立新集群130C和新集群130C中包括的端点137的服务。在其他示例中,API模块124可以使通信单元115与另一系统或更高级别服务(未示出)通信,该另一系统或更高级别服务提供用于创建和/或建立新集群130C和新集群130C内包括的端点137C的能力。在其他示例中,管理员38可以使用另一工具来创建和配置集群130C或配置其他集群130的各方面。在这样的示例中,控制器110可以与集群130中的每个集群通信以确定对集群130的任何改变、添加、移除或其他修改,并且更新数据储存器128以反映这样的改变。替代地或另外地,控制器110可以接收(例如,来自管理员38)关于使用除控制器110之外的工具已经或将要对集群130进行的改变的输入,并且在该示例中,控制器110还可以更新数据储存器128以反映这样的改变。因此,控制器110可以动态地操作以检测对任何集群130(包括附加集群130)的改变,并且通常自动地更新数据储存器128和/或高速缓存129。
在创建新集群130C之后,控制器110此后可以在新集群130C内配置一个或多个端点137C。例如,仍然参考图2,控制器110可以检测API模块124确定的对应于来自管理员38的配置新集群130C内的一个或多个端点137C请求的输入。如先前关于请求140所描述的,该请求可以包括前缀141和标识符142,其中标识符142识别集群130C,以及前缀141识别集群130C内的哪个端点137C要配置。API模块124使认证模块122为管理员38访问集群130C内的一个或多个端点137C的认证信息。API模块124使用认证信息使通信单元115与集群130C内的一个或多个端点137C通信,并认证控制器110以启用集群130C内的配置。API模块124还使通信单元115将配置请求(例如,以REST API调用的形式)输出到集群130C内的一个或多个端点137C。在一些示例中,配置请求可以为具有与图6B中所示的形式类似的形式的RESTAPI调用。130C内的一个或多个端点137C在从控制器110接收到通信之后执行所请求的配置。结合该配置,API模块124更新数据储存器128和高速缓存129以包括由对集群130C执行的配置产生的关于130C内的端点137C的任何新信息。
图2中示出的模块(例如,导航模块122、通信模块124、分析模块126、用户界面模块151、恢复模块152和交易模块154)和/或在本公开的其他地方示出或描述的模块可以使用驻留在一个或多个计算装置中和/或在一个或多个计算装置上运行的软件、硬件、固件或硬件、软件和固件的混合执行所描述的操作。例如,计算装置可以利用多个处理器或多个装置执行一个或多个这样的模块。计算装置可以执行一个或多个这样的模块作为在底层硬件上执行的虚拟机。一个或多个这样的模块可以作为操作系统或计算平台的一个或多个服务来执行。一个或多个这样的模块可以作为计算平台的应用层处的一个或多个可执行文件来执行。在其他示例中,模块提供的功能可以由专用硬件装置来实现。
尽管可以单独示出一个或多个存储装置内包括的某些模块、数据储存器、部件、程序、可执行文件、数据项、功能单元和/或其他项,但是这些项中的一者或多者可以组合并且作为单个模块、部件、程序、可执行文件、数据项或功能单元进行操作。例如,可以组合或部分组合一个或多个模块或数据储存器,使得它们作为单个模块进行操作或提供功能。此外,一个或多个模块可以彼此交互和/或彼此结合进行操作,使得例如一个模块充当另一个模块的服务或扩展。此外,存储装置内所示的每个模块、数据储存器、部件、程序、可执行文件、数据项、功能单元或其他项可以包括多个部件、子部件、模块、子模块、数据储存器和/或未示出的其他部件或模块或数据储存器。
此外,存储装置内所示的每个模块、数据储存器、部件、程序、可执行文件、数据项、功能单元或其他项可以以各种方式实现。例如,存储装置内所示的每个模块、数据储存器、部件、程序、可执行文件、数据项、功能单元或其他项可以实现为可下载或预安装的应用或“app”。在其他示例中,存储装置内示出的每个模块、数据储存器、部件、程序、可执行文件、数据项、功能单元或其他项可以实现为在计算装置上执行的操作系统的一部分。
图3为示出根据本公开的一个或多个方面的具有多个数据中心的示例多集群或多云网络的框图。可以将图3的网络100描述为图1或图2的网络100的示例或替代实施方式。如在图1和图2中那样,图3中示出的许多部件可以对应于先前结合图1和图2描述的相同编号的元件。通常,可以以与结合图1和图2提供的描述一致的方式描述图3中示出的这种类似编号的系统、装置、部件和项,尽管在一些示例中,这样的系统、装置、部件和项可能涉及具有更多、更少和/或不同能力的替代实施方式。
图3示出了数据中心32A-32X,其容纳形成集群130中的相应集群的服务器。作为一个示例,数据中心32A容纳服务器34A-34N,服务器34A-34N可以被配置为为集群130A提供基础设施。其他数据中心34可以基本上类似于数据中心32A,但是可以容纳用于其他集群130的服务器。而且,数据中心32之一可以容纳用于多个集群130的服务器,或者另选地,集群130中的一者可以跨多个数据中心32。
在图3所示的示例中,数据中心32A-32X(统称为“数据中心32”)经由服务提供商网络33彼此互连并且和与客户46相关联的客户网络互连。通常,每个数据中心32A为通过服务提供商网络33耦接到数据中心的客户46提供应用和服务的操作环境。数据中心32可以例如托管基础设施设备,诸如网络和存储系统、冗余电源和环境控制装置。服务提供商网络33可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,因特网)的一部分。
在一些示例中,每个数据中心32可以表示许多地理上分布的网络数据中心中的一者。如图3的示例中所示,每个数据中心32可以表示为客户46提供网络服务的设施。客户46可以为集体范畴,诸如企业和政府或个人。例如,网络数据中心可以托管为若干企业和最终用户提供web服务的虚拟计算环境(例如,云)。其他示例性服务可以包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些示例中,每个数据中心32可以为单独的网络服务器、网络对等点等。
在所示的示例中,每个数据中心32包括经由由一层或多层物理网络交换机和路由器提供的高速交换结构互连的一组存储系统和应用服务器34A-34N(在本文中,统称为“服务器34”),所述物理网络交换机和路由器包括一组互连的架顶式(TOR)交换机40A-40N(统称为“TOR交换机40”),其耦接到机箱式交换机42A-42Y(统称为“机箱式交换机42”)的分配层。虽然未示出,但是每个数据中心32还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、诸如防火墙的安全装置、入侵检测和/或入侵防御装置、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动装置如蜂窝电话或个人数字助理、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络装置。
在图3所示的示例中,TOR交换机40和机箱式交换机42向服务器34提供至IP结构44和服务提供商网络33的冗余(多宿主)连接。机箱式交换机42聚合业务流并在TOR交换机40之间提供高速连接。TOR交换机40可以为提供第2层(MAC)和/或第3层(例如,IP)路由和/或交换功能的网络装置。TOR交换机40和机箱式交换机42可以各自包括一个或多个处理器和存储器,并且能够执行一个或多个软件进程。机箱式交换机42耦接到IP结构44,IP结构44执行第3层路由以通过服务提供商网络33在数据中心32和客户46之间路由网络流量。
在图3所示的示例中,数据中心32A被配置为为集群130A提供基础设施。例如,服务器34A-34N可以被配置为执行虚拟机(VM)、容器或其他虚拟化执行元件以支持集群130A的操作。此外,在图3的示例中,虚拟网络控制器136A为集群130A的一部分。因此,服务器34A-34N可以被配置为支持虚拟网络控制器136A的操作。此外,在一些示例中,控制器110可以实现为集群130A的一部分;因此,服务器34A至34N可以被配置为支持控制器110的操作。
如图3所示,服务器34A至34N执行VM 50A至50N。在所示的示例中,VM 50A和54N可以一起提供一个或多个虚拟机,虚拟网络控制器136A可以在其上完成并执行与本文描述的操作一致的操作(例如,提供用于端点配置的控制器,提供路由传播、安全性、应用部署以及集群130A内可能通过单个虚拟管理平台界面(single pane of glass interface)的配置)。例如,在一些示例中,端点服务137A-1至137A-N中的每者可以在服务器34A中的虚拟机上执行。如图3中标记的,在服务器34A上执行的VM50A可以提供用于执行端点137A-1的执行环境,并且在服务器34A上执行的VM 54N可以在端点137A-N上执行。端点137A-1至137A-N可在其上执行的这种虚拟机执行与本文其他地方描述的一致的端点操作。这样的服务可以包括认证(例如,OpenStack的Keystone服务)、图像管理(例如,OpenStack的Glance服务)、存储(例如,OpenStack的Swift服务)、分析、遥测或其他服务。
类似地,服务器34B至34N执行VM 50B至50N和VM 54B至54N。在所示的示例中,这样的VM可以一起为客户或部署在数据中心32A内的租户应用提供执行环境和计算基础设施。尽管在图3中示出了用于控制器136的部件和端点137的执行环境的特定分配和布置,但是在其他示例中,可以使用不同的布置,并且可以跨多个数据中心。
通常,VM 50A至50N和VM 54A至54N在各个服务器34A、34B和34N的处理电路上执行。VM 50A、50B、50N、54A、54B和54N仅用于帮助理解,不应视为限制。例如,控制器110可以被配置为根据需要在服务器34上或在服务器34内使虚拟机旋转加速和旋转减速(spin upand spin down),以支持130A、虚拟网络控制器136A、任何端点137A和/或控制器110的操作。然而,示例技术不限于此,并且在一些示例中,控制器136A和/或控制器110可以被配置为确定数据中心32A内的可用于集群130A的资源(例如,多少VM旋转加速或旋转减速)。此外,在一些示例中,控制器110和/或虚拟网络控制器136A可以被配置为确定其他数据中心32内的可用于其他集群130的资源(例如,多少VM旋转加速或旋转减速)。
虚拟网络控制器136A提供逻辑上并且在某些情况下物理上集中的控制器,以用于促进每个数据中心32(诸如数据中心32A)内的一个或多个虚拟网络的操作。在一些示例中,控制器110和/或虚拟网络控制器136A可以响应于从网络管理员38接收到的配置输入进行操作。此外,如图所示,在该示例中,管理员38可以负责提供配置信息,使得控制器110和/或虚拟网络控制器136A可以执行本公开中描述的示例操作。管理员38可以表示运营商、开发者或应用部署专家,其使用公共界面来创建虚拟计算环境拓扑并部署到控制器110,以便在计算基础设施内进行供应。
在一些示例中,任何两个网络装置之间的流量,诸如IP结构44(未示出)内的网络装置之间、服务器34和客户46之间或者服务器34之间的流量可以使用许多不同的路径来遍历物理网络。例如,分组流(或“流”)可以由分组的报头中使用的五个值或“五元组”,即协议、源IP地址、目的地IP地址、源端口和用于通过物理网络路由分组的目的地端口来定义。例如,协议指定通信协议,诸如TCP或UDP,以及源端口和目的地端口指的是连接的源端口和目的地端口。数据中心32A内的流为流的一个示例。流的另一示例为集群130之间的数据流。
包括指定特定五元组的分组报头的一组一个或多个分组数据单元(PDU)表示流。流可以使用PDU的以下任何参数来大致分类:诸如源和目的地数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标记、传输层信息、多协议标签交换(MPLS)或通用MPLS(GMPLS)标签以及接收流的网络装置的入口端口。例如,流可以为在传输控制协议(TCP)连接中发送的所有PDU、源自特定MAC地址或IP地址的所有PDU、具有相同VLAN标记的所有PDU或在相同交换机端口处接收的所有PDU。流可以通过由虚拟路由器代理或其他实体确定的应用标识符(AppID)额外或替代地定义为该流传输针对该类型的服务或应用的应用数据,该虚拟路由器代理或其他实体例如使用端口和协议列表或深度分组检查(DPI)识别与流相关联的服务或应用的类型。
在图3的示例中,根据本公开的一个或多个方面,控制器110可以配置一个或多个集群130的一个或多个方面。例如,参考图3,控制器110检测来自由管理员38操作的计算装置的输入,并确定管理员38为认证用户。控制器110检测另外的输入并确定该输入对应于配置集群130A内的虚拟网络控制器136A的一个或多个方面的请求。具体地,控制器110确定该输入包括识别集群130A和集群130A内的端点137A-1的信息。控制器110使用该输入与实现端点137A-1的VM 54A至54N通信,以执行由该输入指定的配置。例如,这样的配置可以涉及改变端点137A-1的配置。在其他示例中,这样的配置可以包括实例化和/或创建额外的端点(例如,端点137A-2),其可以通过托管在服务器34上的额外一组虚拟机来实现。
图4为根据本公开的一个或多个方面的可用于存储关于端点配置的信息的示例数据库表的概念图示。图4中所示的表示出了可以在SQL数据库中实现的多个样本栏,其执行本文描述的由图2的数据储存器128执行的操作。还示出了与每个列出的栏相关联的样本数据类型,以及每个对应的栏是否可以包含空值。
图5A和图5B为根据本公开的一个或多个方面的对象标识符、端点前缀、对象类型和对应URL的表的概念图示。图5A示出了通用唯一标识符(“UUID”)和前缀用作识别由配置请求指定的端点的专用URL和端口值的密钥。图5A中所示的信息可以形成如结合图2所描述的密钥值储存器(例如,高速缓存129)的基础。图5B示出了集群对象的前缀以及该集群对象的UUID的表。在图5B的具体示例中,集群对象具有“轨迹集群(contrail-cluster)”类型,并且列出的前缀为与由针对该轨迹集群(即,在中心栏中)列出的UUID所识别的轨迹集群相关联的一组前缀。
图6A为根据本公开的一个或多个方面的可以由用作配置代理的示例计算系统接收的示例REST API调用。例如,参考图2,图6A的REST API调用可以对应于请求140,并且可以表示由管理员38操作的计算装置发送到控制器110的项目范围的令牌请求。控制器110接收REST API调用并使用HEADER中的“x-cluster-id”以及前缀“keystone”来查找keystone服务端点。然后,控制器110将该请求路由到特定keystone服务。
图6B为根据本公开的一个或多个方面的可以由示例计算系统发起至端点的示例REST API调用以用于配置该端点。图6B示出了代理请求pe。例如,再次参考图2,图6A示出了对“nodejs”端点的代理请求。为了执行该请求,控制器110在REST API调用中解析来自URL的cluster-id和前缀。控制器110使用cluster-id(ac28718E-63FIG5-4Dae-907F-ba459C883D26)和前缀(nodejs)来查找待配置的端点的端点专用URL。一旦控制器110确定专用URL,控制器110就将该请求路由到适当的nodejs服务。
图7A至图7E为示出了根据本公开的一个或多个方面的由用户界面装置呈现的示例用户界面的概念图。尽管图7A至图7E中所示的用户界面被示为图形用户界面,但是在其他示例中可以呈现其他类型的界面,包括基于文本的用户界面、基于控制台或命令的用户界面、语音提示用户界面或任何其他适当的用户界面。本文可以在图2的网络100和/或控制器110的上下文中描述图7A至图7E中示出的用户界面的一个或多个方面。
在一些示例中,并且参考图2,图7A至图7E中示出的一个或多个用户界面可以由管理员38操作的计算装置呈现。例如,控制器110的用户界面模块126可以响应于从管理员38操作的计算装置接收到的输入,生成足以使管理员38操作的计算装置生成和显示用户界面的数据。用户界面模块126可以通过网络输出数据(即,“用户界面”),以用于在由管理员38操作的计算装置上显示。该计算装置可以检测与用户界面的交互(例如,鼠标移动、击键、触摸输入)并且通过网络将关于入的信息输出到控制器110。控制器110可以更新或生成足以生成进一步用户界面的新数据。控制器110和由管理员38操作的计算装置可以继续进行通信,结果是呈现图7A至图7E所示类型的多个用户界面,以显示、供管理员38查看和与之交互。
图7A示出了用户界面700A,其实现为可以使管理员38能够与控制器110进行认证的网页。在一些示例中,用户界面700可以呈现下拉控件,使得用户(例如,管理员38)能够选择与集群相关联的凭证,并且(在认证之后)使用那些凭证来查看关于集群的信息(例如,查看网络100内的集群)。另选地或另外地,用户可以选择与控制器110相关联的凭证(而不是与任何特定集群相关联的凭证),并使用这些凭证来查看关于跨多个集群的多个端点的信息。
图7B示出了呈现多集群视图的用户界面(即,网页)。在图7B的示例中,用户界面700B呈现网络100内的集群列表。在图7B中所示的特定示例中,仅列出了单个集群“A10”,但是在其他示例中,可以列出更多集群。关于每个集群的状态或其他信息也可以显示在用户界面700B内。
图7C示出了描述可以用于创建或实例化新集群的一系列步骤的用户界面。在图7C所示的视图内,用户界面700C列出了与所选集群相关联的多个服务器。用户可以与用户界面700C交互以显示关于所选集群的其他信息,包括“凭证”、“密钥对”和“节点配置文件”。
图7D示出了呈现关于特定所选集群的进一步信息的用户界面。在图7D中,用户界面700D呈现包括关于集群中包括的不同类型的节点(或端点)的数量的信息(计算节点、控制节点、分析节点、配置节点、数据库节点的数量)。在用户界面700D内呈现包括分析信息的进一步信息。在一些示例中,用户界面700D中示出的信息对于已经使用与特定集群130相关联的凭证(与和控制器110相关联的凭证相对)进行认证的用户可用,但是在没有进一步认证的情况下,关于多个集群的信息可能不可用于这样的用户。
图7E示出了列出给定集群内包括的一些或所有端点的用户界面。在
图7E中,用户界面700E呈现所选集群的端点前缀列表,以及与每个端点相关联的专用URL和公共URL。还可以提供其他信息,包括关于每个端点的能力的信息。在图7E所示的示例中,“启用代理”栏被显示在用户界面700E的“端点”选项卡中。
图8为示出了根据本公开的一个或多个方面的用于执行端点配置或管理任务的示例过程的流程图。从三个不同的角度示出了图8的过程:由示例代理控制器110执行的操作(虚线左侧的左栏)、由第一示例端点执行的操作(虚线之间的中间栏)以及由第二示例端点执行的操作(虚线右侧的右栏)。
在图8的示例中,所示出的过程可以由网络100在图2所示的上下文中执行。特别地,代理计算系统(图8的左栏)可以对应于图2的控制器110。第一示例端点(图8的中间栏)可以对应于图2的集群130A内的端点137A-1。类似地,第二示例端点(右栏)可以对应于集群130B内的端点,尽管未在图2中具体示出,但是端点可以具有端点137B-1的对应附图标记。在其他示例中,可以执行不同的操作,或者图8中描述的由特定部件、模块、系统和/或装置执行的操作可以由一个或多个其他部件、模块、系统和/或装置来执行。此外,在其他示例中,结合图8描述的操作可以以不同的顺序执行、合并、省略,或者可以包含未具体示出或描述的附加操作,即使这些操作由不止一个部件、模块、系统和/或装置执行。
在图8所示的过程中,并且根据本公开的一个或多个方面,控制器110可以接收配置请求(801)。例如,在可以参考图2描述的示例中,控制器110的通信单元115检测输入并向API模块124输出输入的指示。API模块124确定该输入对应于来自管理员38操作的客户端装置的请求140。
控制器110可以识别由请求指定的配置端点(802)。例如,继续参考图2描述的示例,API模块124解析请求140以确定前缀141和标识符142。API模块124确定请求140包括关于待在特定集群上执行的配置或管理操作的信息。API模块124还确定包括在请求140内的标识符142识别集群130A。API模块124还确定也包括在请求140内的前缀141识别集群130A内的端点137A-1。
控制器110可代理对所识别的端点的请求(803)。例如,再次参考图2,API模块124访问数据储存器128和/或高速缓存129以确定端点137A-1的URL。控制器110的认证模块122使通信单元115通过指向端点137A-1的网络输出信号。认证模块122使控制器110进一步与端点137A-1通信以认证管理员38。认证模块122向API模块124输出信息,从而指示管理员38已被认证能够管理端点137A-1。API模块124使通信单元115输出指定待由端点137A-1执行的配置操作的信号。在一些示例中,该信号对应于由控制器110的API模块124生成的RESTAPI调用。
端点137A-1可以接收配置请求(804)。例如,在图2中,端点137A-1检测其确定的与控制器110的API模块124输出的信号对应的输入。在一些示例中,端点137A-1接收到的信号可以对应于API模块124生成的REST API调用。
端点137A-1可以执行配置操作(805)。例如,再次参考图2,端点137A-1执行由RESTAPI调用指定的一个或多个配置或管理操作。端点137A-1可以将关于配置的信息输出回控制器110。
控制器110可以更新数据库以反映配置改变(806)。例如,再次参考图2,控制器110可以从端点137A-1接收关于在端点137A-1处执行的配置的信息。控制器110的API模块124可以更新数据储存器128以包括关于配置的信息,并且API模块124还可以更新高速缓存129以包括存储在数据储存器128中的至少一些信息。虽然控制器110可以直接从端点137A-1接收配置信息,但是控制器110可以以另一种方式获取这样的信息。例如,控制器110可以感测或检测对任何集群130内的一个或多个端点进行的配置或其他操作。在感测或检测到这样的操作时,控制器110可以更新数据储存器128以反映关于这些操作的信息。因此,控制器110可以通过已被用来修改一个或多个端点137的信息、通过从一个或多个端点137接收配置信息、通过以其他方式检测或感测关于配置改变的信息或者以另一种方式来动态地更新数据储存器128。
如本文所述,控制器110不限于仅针对一个集群执行配置操作。相反,在一些示例中,控制器110可以用作用于将配置请求路由到多个集群的中央代理。特别地,控制器110可以将配置请求路由到多个集群内的多个端点。因此,框804'和805'(用虚线绘制)旨在说明一些配置请求可以被路由到除集群130A之外的集群中的端点。特别地,集群130B内的端点137B-1可以接收配置请求(805')。端点137B-1可以执行配置请求中指定的配置操作(806')。在这样的示例中,控制器110可以更新数据储存器128以反映对端点137B-1的配置的改变。
对于本文(包括在任何流程图或流视图中)描述的过程、装置和其他示例或图示,本文描述的任何技术中包括的某些操作、动作、步骤或事件可以以不同的顺序执行,可以添加、合并或完全省去(例如,并非所有描述的行为或事件都是实施本技术所必需的)。此外,在某些示例中,操作、动作、步骤或事件可以同时执行,例如,通过多线程处理、中断处理或多个处理器,而不是按顺序执行。此外,即使没有具体地识别为自动执行,也可以自动执行某些操作、动作、步骤或事件。而且,被描述为自动执行的某些操作、动作、步骤或事件可替代地不自动执行,而是在一些示例中,这些操作、动作、步骤或事件可以响应于输入或另一事件来执行。
为了便于说明,在本文中引用的附图和/或其他图示中仅示出了有限数量的装置(例如,计算系统110、虚拟网络控制器136、端点137、网络44、服务器34等等)。然而,根据本公开的一个或多个方面的技术可以与更多这样的系统、部件、装置、模块和/或其他项执行,并且对这样的系统、部件、装置、模块和/或其他项的集体引用可以表示任何数量的这种系统、部件、装置、模块和/或其他项。
本文包括的附图各自示出了本公开的一个方面的至少一个示例实施方式。然而,本公开的范围不限于这些实施方式。因此,除了附图中所示的那些之外,本文描述的系统、方法或技术的其他示例或替代实施方式在其他情况下可能是适当的。这样的实施方式可以包括附图中包括的装置和/或部件的子集和/或可以包括附图中未示出的附加装置和/或部件。
以上阐述的详细描述旨在作为各种配置的描述,并且不旨在表示可以实施本文描述的概念的仅有的配置。详细描述包括具体细节,以便提供对各种概念的充分理解。然而,可以在没有这些具体细节的情况下实施这些概念。在一些示例中,在参考图中以框图形式示出了公知的结构和部件,以避免模糊这些概念。
因此,尽管可以参考具体附图描述各种系统、装置和/或部件的一个或多个实施方式,但是可以以多种不同方式实现这样的系统、装置和/或部件。例如,作为单独装置在本文的附图(例如,图1和/或图2)中示出的一个或多个装置可以替代地实现为单个装置;作为单独部件示出的一个或多个部件可替代地实现为单个部件。而且,在一些示例中,作为单个装置在本文附图中示出的一个或多个装置可替代地实现为多个装置;作为单个部件示出的一个或多个部件可替代地实现为多个部件。这种多个装置和/或部件中的每者可以经由有线或无线通信直接耦接和/或经由一个或多个网络远程耦接。而且,可以在本文的各个附图中示出的一个或多个装置或部件可替代地实现为这些附图中未示出的另一装置或部件的一部分。以这种方式和其他方式,本文描述的一些功能可以经由两个或更多个装置或部件的分布式处理来执行。
此外,某些操作、技术、特征和/或功能在本文中可描述为由特定部件、装置和/或模块执行。在其他示例中,这样的操作、技术、特征和/或功能可以由不同部件、装置或模块执行。因此,在其他示例中,归属于一个或多个部件、装置或模块的一些操作、技术、特征和/或功能可以归属于其他部件、装置和/或模块,即使本文没有以这种方式具体描述。
尽管已经结合一些示例的描述识别出特定优点,但是各种其他示例可以包括所列举的优点中的一些或全部优点或并不包括所列举的优点。根据本公开,其他优点、技术或其他方面对于本领域普通技术人员来说变得显而易见。此外,尽管本文已经公开了特定示例,但是本公开的各方面可以使用任何数量的技术来实现,无论当前是否已知,因此,本公开不限于本公开中具体描述和/或示出的示例。
在一个或多个示例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以作为一个或多个指令或代码的软件实现,则可以将功能存储在计算机可读介质上和/或通过计算机可读介质传输并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据储存器介质的有形介质,或者包括便于将计算机程序从一个地方传送到另一个地方的任何介质的通信介质(例如,根据通信协议)。以这种方式,计算机可读介质通常可以对应于(1)有形计算机可读存储介质,其为非暂时性的或(2)通信介质,诸如信号或载波。数据储存器介质可以为可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁存储装置、闪存,或者可以用于以指令或数据结构的形式存储所需程序代码并且可以由计算机访问的任何其他介质。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(如红外线、无线电和微波)从网站、服务器或其他远程源传输指令,则介质的定义中包括同轴电缆、光纤电缆、双绞线、DSL或无线技术(如红外、无线电和微波)。然而,应该理解,计算机可读存储介质和数据储存器介质不包括连接、载波、信号或其他瞬态介质,而是针对非瞬态有形存储介质。所使用的磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,所述处理器诸如为一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或分立逻辑电路。因此,本文使用的术语“处理器”或“处理电路”可以各自指任何前述结构或适合于实现所述技术的任何其他结构。另外,在一些示例中,可以在专用硬件和/或软件模块内提供所描述的功能。而且,这些技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在各种各样的装置或装置(包括无线手机,移动或非移动计算装置,可穿戴或不可穿戴计算装置,集成电路(IC)或一组IC(例如,芯片组))中实现。在本公开中描述了各种部件、模块或单元以强调被配置为执行所公开的技术的装置的功能方面,但其不一定需要由不同的硬件单元实现。而是,如上所述,各种单元可以组合在硬件单元中,或者由互操作硬件单元的集合(包括如上所述的一个或多个处理器,以及合适的软件和/或固件)提供。

Claims (20)

1.一种系统,包括:
多个软件定义网络SDN计算集群,所述多个集群中的每个集群包括不同的SDN网络,所述不同的SDN网络具有相应SDN网络控制器,所述相应SDN网络控制器可操作为配置所述SDN网络内的覆盖网络以用于在所述SDN网络内运行的应用之间通信,每个所述SDN控制器包括多个可配置端点,所述多个可配置端点均提供所述相应SDN控制器的不同服务;以及
命令控制器,包括:
存储系统;以及
处理电路,具有对所述存储系统的访问权并且能够与每个所述SDN控制器的所述多个可配置端点中的每个可配置端点进行通信,其中,所述处理电路被配置为:
接收多个请求,所述多个请求均指定配置操作,
针对每个所述请求,从所述多个集群中识别配置集群,
针对每个所述请求,识别所述配置集群内的所述相应SDN控制器的配置端点,
针对每个所述请求,通过与所识别的所述配置集群内的所识别的所述配置端点通信来执行所指定的所述配置操作,使得执行与所述多个请求相关联的配置操作包括跨所述多个集群中的每个集群执行配置操作,以及
针对每个所述请求,将所述存储系统更新为包括与执行所指定的所述配置操作有关的信息。
2.根据权利要求1所述的系统,其中,所述处理电路进一步被配置为:
认证管理所述多个集群中的每个集群内的所述多个可配置端点中的至少一个可配置端点的用户。
3.根据权利要求2所述的系统,其中,为了认证所述用户,所述处理电路进一步被配置为:
将用户界面输出到计算装置;以及
在输出所述用户界面之后,基于从所述计算装置接收到的输入来认证所述计算装置。
4.根据权利要求3所述的系统,其中,为了执行所指定的所述配置操作,所述处理电路进一步被配置为:
在输出从认证输入导出的所述用户界面之后,基于从所述计算装置接收到的输入,访问所述配置端点的认证凭证。
5.根据权利要求1至4中任一项所述的系统,其中,所述存储系统包括高速缓存,并且其中,为了针对每个所述请求识别所述配置集群,所述处理电路进一步被配置为:
从所述请求中解析通用唯一标识符UUID;以及
使用所述UUID访问所述高速缓存内的信息。
6.根据权利要求1至4中任一项所述的系统,其中,所述存储系统包括高速缓存,并且其中,为了针对每个所述请求识别所述配置端点,所述处理电路进一步被配置为:
从所述请求中解析前缀;以及
使用所述前缀访问所述高速缓存内的信息。
7.根据权利要求1至4中任一项所述的系统,其中,为了接收所述多个请求,所述处理电路进一步被配置为:
向计算装置输出呈现有关于所述多个可配置端点的信息的用户界面;
从所述计算装置接收指定配置操作的REST API调用。
8.根据权利要求1至4中任一项所述的系统,其中,为了针对每个所述请求执行所指定的所述配置操作,所述处理电路进一步被配置为:
通过网络向所述配置端点输出指定待执行的操作的REST API调用。
9.根据权利要求1至4中任一项所述的系统,其中,针对每个所述请求执行所指定的所述配置操作包括:
针对至少一个所述请求,创建具有多个端点的新集群。
10.一种方法,包括:
由计算系统接收第一请求和第二请求,其中,所述计算系统能够与多个集群中的每个集群通信,所述多个集群中的每个集群包括多个端点;
由所述计算系统基于所述第一请求来识别与所述第一请求相关联的第一集群;
由所述计算系统基于所述第一请求来识别与所述第一请求相关联的第一端点,其中,所述第一端点位于所述第一集群内;
由所述计算系统基于所述第二请求来识别与所述第二请求相关联的第二集群;
由所述计算系统基于所述第二请求来识别与所述第二请求相关联的第二端点,其中,所述第二端点位于所述第二集群内;
由所述计算系统与所述第一端点通信,以执行由所述第一请求指定的第一配置操作;
由所述计算系统与所述第二端点通信,以执行由所述第二请求指定的第二配置操作;以及
由所述计算系统将数据储存器更新为包括与所述第一配置操作和所述第二配置操作有关的信息。
11.根据权利要求10所述的方法,其中,更新所述数据储存器包括:
基于跨所述多个集群执行的配置,动态地更新所述数据储存器。
12.根据权利要求11所述的方法,其中,动态更新所述数据储存器包括:
检测在所述多个集群中的每个集群中执行的至少一个配置。
13.根据权利要求12所述的方法,进一步包括:高速缓存至少一部分存储在所述数据储存器中的所述信息。
14.根据权利要求10至13中任一项所述的方法,其中,识别所述第一集群包括:
从所述第一请求中解析通用唯一标识符UUID;以及
使用所述UUID访问高速缓存内的信息。
15.根据权利要求10至13中任一项所述的方法,其中,识别所述第一配置端点包括:
从所述第一请求中解析前缀;以及
使用所述前缀访问所述高速缓存内的信息。
16.根据权利要求10至13中任一项所述的方法,其中,接收所述第一请求和所述第二请求包括:
向计算装置输出呈现有关于多个可配置端点的信息的用户界面;
从所述计算装置接收指定与所述第一请求和所述第二请求有关的信息的REST API调用。
17.根据权利要求10至13中任一项所述的方法,其中,与所述第一端点通信以执行所述第一配置操作包括:
通过网络向所述第一端点输出指定所述第一配置操作的REST API调用。
18.根据权利要求10至13中任一项所述的方法,其中,执行所述第一配置操作包括:
创建所述第一集群。
19.一种非暂时性计算机可读介质,包括用于使处理电路执行以下操作的指令,所述操作包括:
接收多个请求,所述多个请求均指定配置操作,
针对每个所述请求,从多个集群中识别配置集群,
针对每个所述请求,识别所述配置集群内的相应SDN控制器的配置端点,
针对每个所述请求,通过与所识别的所述配置集群内的所识别的所述配置端点通信来执行所指定的所述配置操作,使得执行与所述多个请求相关联的配置操作包括跨所述多个集群中的每个集群执行配置操作,以及
针对每个所述请求,将存储系统更新为包括与执行所指定的所述配置操作有关的信息。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,使所述处理电路识别所述配置端点的所述指令还包括用于使所述处理电路执行以下操作的指令,所述操作包括:
从所述请求中解析前缀;以及
使用所述前缀访问高速缓存内的信息。
CN201910936100.8A 2019-04-25 2019-09-29 用于软件定义网络的多集群配置控制器 Active CN111865642B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962838640P 2019-04-25 2019-04-25
US62/838,640 2019-04-25
US16/451,452 US11329882B2 (en) 2019-04-25 2019-06-25 Multi-cluster configuration controller for software defined networks
US16/451,452 2019-06-25

Publications (2)

Publication Number Publication Date
CN111865642A true CN111865642A (zh) 2020-10-30
CN111865642B CN111865642B (zh) 2023-06-20

Family

ID=68084592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910936100.8A Active CN111865642B (zh) 2019-04-25 2019-09-29 用于软件定义网络的多集群配置控制器

Country Status (3)

Country Link
US (2) US11329882B2 (zh)
EP (1) EP3731461A1 (zh)
CN (1) CN111865642B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612688A (zh) * 2021-07-14 2021-11-05 曙光信息产业(北京)有限公司 分布式软件定义网络控制系统及其构建方法
CN114745380A (zh) * 2022-03-29 2022-07-12 阿里巴巴(中国)有限公司 基于服务网格的跨私网多集群管理方法及装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11329882B2 (en) 2019-04-25 2022-05-10 Juniper Networks, Inc. Multi-cluster configuration controller for software defined networks
US11563745B2 (en) * 2020-06-12 2023-01-24 Baidu Usa Llc Method for data protection in a data processing cluster with policy-based partition
US11687629B2 (en) 2020-06-12 2023-06-27 Baidu Usa Llc Method for data protection in a data processing cluster with authentication
US11847501B2 (en) 2020-06-12 2023-12-19 Baidu Usa Llc Method for data protection in a data processing cluster with partition
US11687376B2 (en) 2020-06-12 2023-06-27 Baidu Usa Llc Method for data protection in a data processing cluster with dynamic partition
CN112422340B (zh) * 2020-11-18 2023-05-23 北京魔带互联科技有限公司 一种管理云服务集群的方法
US11734044B2 (en) 2020-12-31 2023-08-22 Nutanix, Inc. Configuring virtualization system images for a computing cluster
US11611618B2 (en) * 2020-12-31 2023-03-21 Nutanix, Inc. Orchestrating allocation of shared resources in a datacenter
US11469958B1 (en) * 2021-02-25 2022-10-11 Juniper Networks, Inc. Network controller deployment
US11665208B2 (en) * 2021-03-23 2023-05-30 Verizon Patent And Licensing Inc. Systems and methods for selectively routing a SIP message without a parameter identifying a telephone number
US11632268B2 (en) * 2021-03-30 2023-04-18 Juniper Networks, Inc. Generating route target values for virtual private network routes
US20230103761A1 (en) * 2021-04-20 2023-04-06 Metafluent, Llc Component-aware rest api routing gateway
CN113742555A (zh) * 2021-09-10 2021-12-03 北京锐安科技有限公司 热点侦测方法、装置、侦测服务器、热点侦测系统及介质
US20230156004A1 (en) * 2021-11-15 2023-05-18 Red Hat, Inc. Scalable and secure edge cluster registration
CN114448978A (zh) * 2021-12-20 2022-05-06 深信服科技股份有限公司 一种网络接入方法、装置、电子设备及存储介质
CN115086321B (zh) * 2022-06-14 2024-04-05 京东科技信息技术有限公司 多集群流量转发方法及装置、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180139109A1 (en) * 2016-11-15 2018-05-17 Verizon Deutschland Gmbh Sdn-based api controller
US20180307522A1 (en) * 2015-12-31 2018-10-25 Huawei Technologies Co., Ltd. Software-defined data center, and deployment method for service cluster therein
US20180367404A1 (en) * 2017-06-19 2018-12-20 Cisco Technology, Inc. Validation of layer 3 using virtual routing forwarding containers in a network
US20190097890A1 (en) * 2017-09-22 2019-03-28 Futurewei Technologies, Inc. Topology-aware controller associations in software-defined networks

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822841B2 (en) * 2007-10-30 2010-10-26 Modern Grids, Inc. Method and system for hosting multiple, customized computing clusters
US8755377B2 (en) 2012-06-06 2014-06-17 Juniper Networks, Inc. Facilitating operation of one or more virtual networks
US9729424B2 (en) * 2012-06-11 2017-08-08 Futurewei Technologies, Inc. Defining data flow paths in software-defined networks with application-layer traffic optimization
US20140173018A1 (en) * 2012-12-13 2014-06-19 Futurewei Technologies, Inc. Content Based Traffic Engineering in Software Defined Information Centric Networks
US9614978B2 (en) * 2014-10-31 2017-04-04 At&T Intellectual Property I, L.P. Roaming support for software defined networking architecture in mobile network
US10148496B2 (en) 2015-05-05 2018-12-04 Citrix Systems, Inc. Systems and methods for configuring a device via a software-defined networking controller
US11438321B2 (en) * 2015-12-19 2022-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for trust based authentication in SDN clustering
EP3338406B1 (en) * 2016-04-20 2022-04-06 Avago Technologies International Sales Pte. Limited Communication framework for a federation of network controllers
US10200274B1 (en) 2017-02-17 2019-02-05 Juniper Networks, Inc. Enhanced traffic flow in software-defined networking controller-based architecture
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
WO2018232022A1 (en) 2017-06-13 2018-12-20 Equinix, Inc. Service peering exchange
US10341184B2 (en) 2017-06-19 2019-07-02 Cisco Technology, Inc. Validation of layer 3 bridge domain subnets in in a network
US10511524B2 (en) * 2017-10-03 2019-12-17 Futurewei Technologies, Inc. Controller communications in access networks
US10567288B1 (en) 2017-11-28 2020-02-18 Juniper Networks, Inc. Automatic discovery, scaling, and load balancing of multiple cloud data centers in a software-defined network environment
US10367726B1 (en) * 2018-01-12 2019-07-30 Netsia, Inc. Randomized VNF hopping in software defined networks
US10498809B2 (en) * 2018-01-29 2019-12-03 Hewlett Packard Enterprise Development Lp Selections of managing nodes in clusters of nodes
CN108365979A (zh) 2018-01-31 2018-08-03 深信服科技股份有限公司 跨集群的控制器管理方法、sdn控制器及存储介质
US11329882B2 (en) 2019-04-25 2022-05-10 Juniper Networks, Inc. Multi-cluster configuration controller for software defined networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180307522A1 (en) * 2015-12-31 2018-10-25 Huawei Technologies Co., Ltd. Software-defined data center, and deployment method for service cluster therein
US20180139109A1 (en) * 2016-11-15 2018-05-17 Verizon Deutschland Gmbh Sdn-based api controller
US20180367404A1 (en) * 2017-06-19 2018-12-20 Cisco Technology, Inc. Validation of layer 3 using virtual routing forwarding containers in a network
US20190097890A1 (en) * 2017-09-22 2019-03-28 Futurewei Technologies, Inc. Topology-aware controller associations in software-defined networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612688A (zh) * 2021-07-14 2021-11-05 曙光信息产业(北京)有限公司 分布式软件定义网络控制系统及其构建方法
CN114745380A (zh) * 2022-03-29 2022-07-12 阿里巴巴(中国)有限公司 基于服务网格的跨私网多集群管理方法及装置
CN114745380B (zh) * 2022-03-29 2024-02-06 阿里巴巴(中国)有限公司 基于服务网格的跨私网多集群管理方法及装置

Also Published As

Publication number Publication date
US20220224602A1 (en) 2022-07-14
US20200344124A1 (en) 2020-10-29
US11646941B2 (en) 2023-05-09
CN111865642B (zh) 2023-06-20
US11329882B2 (en) 2022-05-10
EP3731461A1 (en) 2020-10-28

Similar Documents

Publication Publication Date Title
CN111865642B (zh) 用于软件定义网络的多集群配置控制器
US11218420B2 (en) Virtual network interface objects
US20240039895A1 (en) Virtual private gateway for encrypted communication over dedicated physical link
CN110830357B (zh) 使用高级拓扑描述的多云虚拟计算环境供应
EP2901308B1 (en) Load distribution in data networks
US11153194B2 (en) Control plane isolation for software defined network routing services
US11457008B2 (en) Steering traffic on a flow-by-flow basis by a single sign-on service
EP3889772A1 (en) Role-based access control policy auto generation
US11968080B2 (en) Synchronizing communication channel state information for high flow availability
US9774600B1 (en) Methods, systems, and computer readable mediums for managing infrastructure elements in a network system
US9438556B1 (en) Flexibly configurable remote network identities
US11770436B2 (en) Web client with response latency awareness
US11146592B2 (en) Enforcing universal security policies across data centers
CN115878259A (zh) 保护容器编排平台的资源的实例免于无意删除
US20230269275A1 (en) Implementing policy based on unique addresses or ports
WO2022146787A1 (en) Synchronizing communication channel state information for high flow availability
Thakurratan Learning VMware NSX
Chhikara et al. Towards OpenFlow based software defined networks
CN116746136A (zh) 同步通信信道状态信息以实现高流量可用性

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant