CN105765556A - 分布式***中的客户导向的联网限制 - Google Patents

分布式***中的客户导向的联网限制 Download PDF

Info

Publication number
CN105765556A
CN105765556A CN201480064245.9A CN201480064245A CN105765556A CN 105765556 A CN105765556 A CN 105765556A CN 201480064245 A CN201480064245 A CN 201480064245A CN 105765556 A CN105765556 A CN 105765556A
Authority
CN
China
Prior art keywords
network
service
client
resource
restriction
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.)
Pending
Application number
CN201480064245.9A
Other languages
English (en)
Inventor
A·M·立萨克
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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
Priority claimed from US14/089,230 external-priority patent/US9674042B2/en
Priority claimed from US14/089,224 external-priority patent/US9647904B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Priority to CN202011029333.9A priority Critical patent/CN112134741B/zh
Publication of CN105765556A publication Critical patent/CN105765556A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5029Service quality level-based billing, e.g. dependent on measured service level customer is charged more or less

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开用于支持分布式***中的客户导向的联网限制的方法和设备。经由程序接口接收客户端请求,所述客户端请求指示将对网络可访问的服务的特定实例处的至少一个网络流量种类施加的特定较低资源使用限制。获得用于所述特定实例处的一个或多个网络流量种类的资源使用度量。响应于确定所述特定实例处的资源使用已达到阈值水平,起始一个或多个响应性行动。

Description

分布式***中的客户导向的联网限制
背景技术
许多公司和其它组织操作使许多计算***互连以支持其操作的计算机网络,诸如与位于同一地方(例如,作为局域网的部分)或替代地位于多个不同的地理位置(例如,经由一个或多个专用或公共中间网络连接)的计算***。举例来说,容纳大量互连的计算***的数据中心已变成平凡的,诸如由单个组织操作和代表单个组织的专用数据中心,和由作为企业的实体操作来向客户提供计算资源的公共数据中心。一些公共数据中心操作者为各个客户拥有的硬件提供网络接入、电力和安全的安装设施,而其他公共数据中心操作者提供“全面服务”设施,其也包括可由其客户使用的硬件资源。然而,随着典型数据中心的规模和范围已增大,提供、掌管和管理物理计算资源的任务已变得日益复杂。
商品硬件的虚拟化技术的出现已提供关于为具有各种需要的许多客户管理大规模计算资源,从而允许各种计算资源被多个客户高效地和安全地共享的益处。举例来说,虚拟化技术可通过向每个用户提供由单个物理计算机器托管的一个或多个虚拟机,同时也在各种虚拟机中提供应用隔离和安全来允许单个物理计算机器在多个用户中共享。每个虚拟机可认为是充当不同的逻辑计算***的软件模拟,逻辑计算***向用户提供他们是给定硬件计算资源的唯一操作者和管理者的错觉。此外,一些虚拟化技术能够提供跨越两个或多个物理资源的虚拟资源,诸如,具有多个虚拟处理器的跨越多个不同的物理计算***的单个虚拟机。
随着虚拟化计算、存储和联网资源的提供者支持的功能性和特征增长,且随着由大规模提供者使用的硬件平台群增大,对平台的管理控制操作(诸如管理网络流量)的实现本身可变得相当复杂。在许多情况下,在这些平台上运行的应用的功能性和可用性可广泛地依赖于与提供者网络的其它部分和/或与外部实体(诸如客户端或第三方)的网络通信。在试图实现期望的应用性能等级时,这些分布式***的操作者可能通常已建立高带宽网络基础结构。然而,尽管提供高带宽联网装置和链接,但在许多情况下网络带宽可变成瓶颈资源,尤其是给定对许多类型的部署的应用的随时间变化的和依赖于位置的带宽要求的情况下。虚拟化可使管理网络带宽(以及等待时间和其它联网特性)成为甚至更困难的问题,因为在单个硬件平台上实现的各种虚拟机可能具有不得不使用平台的共享联网组件满足的广泛变化的联网要求,并且也因为在给定硬件平台处的应用集合和实例化的虚拟机可随时间而改变。
附图说明
图1说明根据至少一些实施方案的***的实例,在该***中实现集中式联网配置服务来管理分布式计算环境的多个节点处的网络流量。
图2说明根据至少一些实施方案的提供者网络环境的实例,在该网络环境中在一些可用容器中的每一者中建立相应联网配置服务器。
图3说明根据至少一些实施方案的联网管理器模块的实例,其能够解译虚拟化计算服务的实例主机处的流量分类元数据。
图4a至图4c说明根据至少一些实施方案的协议的相应实例,所述协议可用以将流量分类元数据传输至实例主机。
图5说明根据至少一些实施方案的分类树数据结构的实例,其可用以表示分布式***的装置处的联网配置的网络流量种类。
图6说明根据至少一些实施方案的分级数据结构的实例,其可用以组合数据中心处的多个实例主机的网络流量种类信息。
图7说明根据至少一些实施方案的流量分类程序图的实例,其可与分类树一起使用来确定网络流量单元的种类。
图8说明根据至少一些实施方案的流量分类程序图的查找表节点的使用的实例。
图9说明根据至少一些实施方案的响应度量的实例,其可用以确定联网配置服务的一个或多个参数的值。
图10是说明根据至少一些实施方案的可被执行以配置和初始化联网配置服务的组件的操作方面的流程图。
图11是说明根据至少一些实施方案的可被执行以产生和分布联网配置服务的流量分类元数据的操作方面的流程图。
图12是说明根据至少一些实施方案的可被执行以响应于触发事件而改变联网管理参数的操作方面的流程图。
图13是说明根据至少一些实施方案的可被执行以向分布式***的客户端提供联网相关状态信息的统一视图的操作方面的流程图。
图14说明根据至少一些实施方案的可通过分布式***的至少节点子集的拓扑可视化服务器产生的可定制热图的实例。
图15说明根据至少一些实施方案的可用以产生用于服务管理者和服务的非管理客户端的热图的所收集的度量的不同子集的实例。
图16说明根据至少一些实施方案的可用以显示网络拓扑的热图的基于web的程序接口的实例。
图17说明根据至少一些实施方案的可通过拓扑可视化服务器经由程序接口接收的可视化请求的实例元素。
图18说明根据至少一些实施方案的可被执行以产生包括分布式***的各种节点的性能指示符的拓扑可视化的操作方面。
图19说明根据至少一些实施方案的可被实现以用于网络可访问的服务的计算实例类型集合的实例,其中不同实例类型具有相应带宽限制和相应带宽使用定价策略集合。
图20说明根据至少一些实施方案的可由联网配置服务器接收的资源使用限制减少请求的实例元素。
图21说明根据至少一些实施方案的网络可访问的服务的客户端账户的总资源使用限制设置的建立和用户群组、个别用户和关联账户的相关资源使用限制设置的建立的实例。
图22说明根据至少一些实施方案的可被执行以使客户端能够减少对网络可访问的服务的一个或多个节点的资源使用限制的操作方面。
图23说明根据至少一些实施方案的可被执行以使客户端能够提交与分布式***的节点处的资源使用限制相关联的查询的操作方面。
图24是说明可在至少一些实施方案中使用的实例计算装置的框图。
尽管本文中借助实例针对一些实施方案和说明性附图描述了实施方案,但本领域技术人员应认识到,实施方案不限于所描述的实施方案或附图。应理解,附图和其详细描述无意将实施方案限于公开的特定形式,而是相反,本发明将涵盖落在如所附权利要求书定义的精神和范围内的所有修改、等效物和替代物。本文中所使用的标题仅用于组织目的,且不意味着用以限制描述或权利要求的范围。如本申请全文中所使用,词语“可”是以准许意义(即,意味着具有可能),而不是强制意义(即,意味着必须)使用的。类似地,词语“包括(“include”“including”和“includes”)”意味着包括但不限于。
具体实施方式
描述了用于在大规模分布式***(诸如提供者网络)中配置联网操作的方法和设备的各种实施方案。在一些实施方案中,可实现集中式联网配置管理方案,可根据所述方案在一个或多个联网配置服务器(NCS)处做出关于带宽限制、等待时间管理和用于分布式***的许多节点(诸如主机和网络装置)的其它流量整形参数的各种类型的决定。(在一些实施方案中,联网配置服务器也可称作“带宽仲裁服务器”,因为服务器的主要责任可以是经由对各种流量种类施加相应带宽限制来管理分布式***的组件处的带宽使用。)将用以实现决定的元数据(包括例如流量分类程序或规则和用于各种流量种类的联网配置选项)可用便携式易于解析的格式从NCS传输至分布式***的节点。在分布式***的节点处,可例如通过虚拟化管理软件内的联网管理模块来解译所接收的元数据,以在网络流量调度包或其它单元产生或被接收时对其进行分类,并应用在BAS处所做的决定来调度和/或调节流量的传输。产生将用于流量整形的逻辑(其在至少一些情况下可需要对从多种来源获得的不平凡的输入数据集的分析)的责任因此可由集中式联网配置服务器处置,且逻辑可通过相对简单的控制模块应用于各个节点。在至少一些实施方案中,传输至给定节点的元数据可基于从节点收集的度量、在那个节点上运行的应用的本质等等来针对那个节点特定地进行定制。联网配置管理技术可包括对程序接口的支持,在一些实施方案中程序接口使得分布式***的客户端能够获得所关注资源的联网相关状态的统一或合并视图。在至少一些实施方案中,可使用热图或其它可视化工具来显示资源使用指示符(诸如所测带宽与可应用带宽限制的比率)。在至少一些实施方案中,也可实现程序接口以使得客户端和/或管理者能够向集中式联网配置***提交各种类型的配置请求,这可例如导致在NCS处确定并散布至各个节点的分类相关的规则和/或联网设置的改变。在至少一些实施方案中,客户端可能够请求对各种资源(诸如服务实例)的带宽限制(或其它类型的资源使用限制)的减少。在至少一些实现方式中,联网配置方案的一部分或全部可实现为web服务,例如,可针对与联网配置服务器的各种类型的交互支持一个或多个web服务程序接口。
在以下描述的大部分中,提供者网络用作分布式***的实例,可在该***中实现集中式联网配置技术。通过诸如公司或公共部门组织的实体设立以提供可由分布式客户端集合经由因特网和/或其它网络访问的一个或多个网络可访问的服务(诸如各种类型的基于云的数据库、计算或存储服务)的网络在本文中可称作提供者网络。服务中的至少一些可按称作“实例”的服务单元打包以用于客户端使用:举例来说,通过虚拟化计算服务实例化的虚拟机可表示“计算实例”,且通过存储服务实例化的存储装置(诸如块级容量)可称作“存储实例”。在一些实施方案中,较高级服务的实例可使用计算实例和/或存储实例来打包-例如,在一些实施方案中,数据库实例可使用计算实例与存储实例的组合来建立。诸如服务器和/或存储装置的计算装置在本文中可称作“实例主机”或简称为“主机”,提供者网络的各种网络可访问的服务的这些单元在计算装置处实现。在此文献的剩余部分,术语“客户端”在用作给定通信的来源或目的地时可指实体(诸如组织、具有多个用户或单个用户的群组)所拥有的、由实体管理的或分配至实体的计算装置、处理、硬件模块或软件模块中的任一者,实体能够访问和利用提供者网络的至少一个网络可访问的服务。
给定提供者网络可包括托管各种资源池的许多数据中心(其可分布在不同地理区域),诸如实现、配置和分布提供者供应的基础结构和服务所需的一系列物理和/或虚拟化计算机服务器、各自具有一个或多个存储装置的存储服务器、联网设备和类似物。在各种实施方案中,若干不同的硬件和/或软件组件(其中一些可在不同的数据中心或在不同的地理区域实例化或执行)可集体用来实现服务中的每一者。客户端可根据提供者网络外部的位于客户端拥有的或客户端管理的建筑或数据中心的装置和/或根据提供者网络内的装置与在提供者网络处的资源和服务交互。在至少一些实施方案中,供应各种类型的计算实例的虚拟化计算服务可在提供者网络内实现,且这些计算实例可分配至客户端。提供者网络的其它服务可从这些计算实例以及从外部位置访问。应注意,尽管提供者网络用作可实现本文中描述的带宽管理技术中的许多的一个实例背景,但那些技术也可应用于除了提供者网络之外的其它类型的分布式***,例如应用于应用的不同组件可具有随时间变化的带宽需要的大规模分布式应用环境。
根据至少一个实施方案,若干NCS可在提供者网络内的各个位置实例化,其中例如基于如下文描述的性能和/或可用性准则来确定NCS的数目和分布。NCS可被配置用来从提供者网络的各个节点获得网络相关的度量,诸如从在提供者网络中实现的各种类型的服务的实例主机,和/或从帮助做出带宽管理决定的各种类型的网络装置(交换机、路由器、网关和类似物)。举例来说,在各种实施方案中,可收集关于在一时间间隔期间给定主机处的实际传入的和传出的网络流量、在一时间间隔期间下降的包的数目、传输因为实施当前带宽限制而延迟的包的数目、包的大小、代表应用到或从给定节点发生的流量的所述应用、代表客户端起始流量的所述客户端、和/或各种传输中涉及的端点的IP地址的信息。在一些实施方案中,来自其它来源的输入也可用于做出带宽管理决定:例如,安全服务可在一些提供者网络中实现以试图识别网络入侵或攻击,诸如分布式拒绝服务(DDOS)攻击,且关于可能的攻击的警报可影响带宽限制改变或流量种类定义。在至少一个实施方案中,提供者网络可包括以按照IP地址为基础或以按照客户端为基础而聚集网络流量度量的服务,例如用于管理和/或收费目的,且这些聚集也可向NCS提供输入。在一些实施方案中,提供者网络的一个或多个网络可访问的服务的客户端和/或管理者可向NCS提交带宽相关的请求或其它配置请求,例如以压倒特定实例主机或网络装置的一个或多个带宽管理参数,而且这些请求也可促成在NCS做出的决定。
至少部分基于这些输入,给定NCS可确定将在提供者网络的给定节点处使用的各种联网配置选项和/或程序。在一些情况下,在确定参数时也可考虑一个或多个全局和/或局部联网管理策略。在一个实施方案中,可确定流量种类的集合或层级,连同用于种类中的每一者的各种联网配置选项(诸如带宽限制、等待时间目标或约束等等)。在一些实现方式中,可使用平面分类(等效于只有一级的层级),而在其它实现方式中,可使用在不同级的节点之间具有母子关系的多级层级。在随后的描述中,如本文中使用的术语“层级”旨在涵盖单级或平面分类和指示母子关系的多级分类。除了层级之外,也可确定将用以将任何给定网络包(或数据传送的任何适当的单元)分类至种类中的一者中的程序(例如,将应用的决定步骤或规则的序列)。关于流量种类和将用以将流量单元映射至种类的逻辑或规则的信息在本文中可一起称作“流量分类元数据”或“分类元数据”。由于在至少一些实施方案中给定主机可包括与另一主机不同的服务实例的组合,且在给定主机的服务实例处实现的应用的联网要求可与其它应用(在同一主机处或其它主机处)的联网要求不同,因此联网配置参数的不同集合可适合于不同主机。因此,在至少一些实施方案中,可针对至少一些节点定制分类元数据-例如,针对提供者网络的一个节点(诸如实例主机IH1)产生的分类元数据可与针对不同节点(诸如实例主机IH2)产生的分类元数据不同。可针对例如不同节点定义流量种类的不同集合,或可针对同一流量种类设置不同的带宽限制或等待时间要求,或流量单元分类程序的至少一些步骤可不同。在至少一些实现方式中,针对各种网络装置(诸如,针对交换机、路由器、网关或负载均衡器或针对网络附接存储装置)确定的联网配置参数可至少部分从与装置相关联或受装置影响的主机集合的带宽管理参数得到-例如,如果特定交换机用于传入和传出至八个主机的流量,那么某一流量种类的交换机的带宽限制可从八个主机的带宽限制得到。
在不同实施方案中,由NCS针对给定节点定义的流量种类在各种性质方面可彼此不同。在一个实施方案中,可针对网络端点的不同集合创建不同种类-例如,流量目的地(或来源)的IP(因特网协议)地址可用以将流量归类。在另一实施方案中,代表应用流量流动的所述应用的种类可用于流量归类-例如,数据库相关的流量可置于一个种类中,且与高性能计算相关的流量可置于另一种类中。在一些实施方案中,代表客户端产生流量的所述客户端和/或客户端的预算或与客户端达成的契约协议的方面可用以定义流量种类。在多个网络可访问的服务在分布式***中实现的一些实施方案中,可基于代表服务产生特定流量单元的所述服务来定义流量种类。在各种实施方案中,如果使用基于服务的分类且给定包与两个或更多个服务相关联,例如如果代表数据库服务的数据库实例从存储服务传送数据包,那么可将包分类为属于来源服务(即,发送端)或目的地服务(接收端)。在至少一个实施方案中,客户端可提供可由联网配置服务使用以对流量单元分类的一个或多个性质的指示-例如,客户端可请求至少暂时地将计算实例的一些集合识别为高优先级实例,且到或来自那些实例的流量可相应地分类为具有高带宽限制的高优先级流量。
在一些实施方案中,NCS可使用树或类似的分级数据结构来对给定提供者网络节点的流量种类建模或表示给定提供者网络节点的流量种类,其中相应带宽限制和/或其它联网配置选项被指派给树的每个节点。在至少一些实现方式中,带宽求和策略可应用于分类树。根据此策略,如果树中的具有子节点C1、C2……Ck的给定母节点P具有X位/秒的带宽限制,那么在给定时间段期间与子节点C1、C2……Ck相关联的实际流量的总和可能不超过母节点的带宽限制。考虑实例,其中针对传出的流量将P的带宽限制设置为1千兆位/秒,且P具有两个子节点C1和C2,针对传出的流量将子节点C1和C2中的每一者的带宽限制也设置为1千兆位/秒。如果在给定秒期间0.6千兆位的分类为C1流量的流量从实例流动,那么可准许不超过0.4千兆位的分类为C2流量的流量,即使针对C2定义的个别极限更高也这样。当然,在各种实施方案中,基于母子关系的求和策略可能不相关或不可用于NCS确定的一些类型的联网配置选项,诸如等待时间约束或目标、服务质量目标、包分段设置,或至少部分关于包大小确定的设置。
除了使用树或树状结构来表示流量种类集合之外,在一些实施方案中,NCS还可产生第二数据结构来对将用以将流量单元分类成各种类的程序建模。在一些实现方式中,可称作分类程序图的第二数据结构可包括决定节点的一个或多个序列,其中给定序列的每个相继节点指示将用以将流量单元分类成较窄种类的一个或多个准则。在至少一个实现方式中,分类程序图的决定节点中的一些可包括可用于从多个种类选择中选择一个种类的查找表(诸如散列表)。可基于将被分类的网络流量单元的一个或多个性质来对查找表的实体编索引-例如,目的地或来源IP地址的一部分或全部可用于编索引,或另一包报头字段的一部分或甚至包的主体的内容可用以在表中查找特定条目。在至少一些实施方案中,查找表条目又可导致另一分类程序图或子图。因此,在这些实现方式中,包的给定性质可首先导致从一些可能的查找表条目中选择查找表条目,且接着选定的查找表条目的处理又可导致决定节点的另一集合(其本身可包括其它查找表)的遍历,最终结束于识别包的种类。在各种实施方案中可使用这些程序步骤针对网络包和/或其它流量单元定义相当精细的细粒度种类映射图,从而实现复杂的流量整形。在至少一些实现方式中,可针对传入的和传出的流量产生不同的分类层级和/或程序。
使产生的元数据包括具有相关联的联网配置选项的流量种类集合和用以将网络流量单元映射至种类的逻辑,在一些实施方案中,NCS可产生用于传输至应用元数据的节点的元数据的便携式表示。举例来说,在各种实现方式中,元数据的一个或两个成分可根据行业标准协议或语言诸如JSON(JavaScript对象表示法)、XML(可扩展标记语言)、YAML(其首字母缩写词具有诸如“另一种标记语言”或“YAML不是标记语言”的若干可能的扩展的串行化格式)来编码。在其它实现方式中,专有编码技术或协议可用以产生数据结构的便携式版本。
便携式表示可传输至提供者网络或分布式***的目标节点,例如至控制/管理模块,诸如可解析表示并实现由程序图指示的程序的网络管理模块。使用所接收的元数据,可随后在目标节点处将各种流量单元分类至适当的种类中,且可根据针对其相应流量种类指示的联网配置选项(诸如带宽限制或等待时间要求)调度和/或调节或延迟各种网络传输。可将在这些传输期间收集的度量反馈至NCS,从而使得能够在随后的时间段改进元数据。因此,可在NCS与最终实现在NCS处做出的决定的节点之间建立反馈回路,从而允许随时间动态地调整联网管理参数。在各种实施方案中,使用这些可定制流量分类和配置技术可使得集中式联网配置***能够在提供者网络的各部分处将流量控制和整形为任何所需粒度等级。
在不同实施方案中,各种方法可用于将分类元数据分布至目标节点。举例来说,在一个实施方案中,NCS可被配置用来周期性地(例如,至少每X分钟一次)将分类元数据“推送”至已被指派有NCS的主机和/或网络装置中的每一者。在一些实施方案中,各种类型的触发事件(诸如检测可能的网络入侵或攻击)可导致新的分类元数据的散布。举例来说,试图减轻或限制攻击的影响,可降低一些节点集合处的带宽限制,或可定义具有低带宽限制的新种类,如下文进一步详细描述。在另一实施方案中,提供者网络的至少一些节点可例如通过向NCS发送元数据请求和作为响应接收元数据来从其指派的NCS“拉动”流量分类元数据。在一些实施方案中,可使用调度的推送技术、基于触发事件的元数据的分布和/或节点起始的拉动技术的组合。
在一些实施方案中,提供者网络或其他分布式***可组织成多个地理区域,且每个区域可包括一个或多个可用容器,其在本文中也可称作“可用区”。可用容器又可包括一个或多个不同的位置或数据中心,其以一种方式策划使得给定可用容器中的资源与其它可用容器中的失效隔离。也就是说,预期一个可用容器中的失效可能不会与任何其它可用容器中的失效在时间上或因果上相关;因此,资源实例或控制服务器的可用模式旨在独立于不同的可用容器中的资源实例或控制服务器的可用模式。客户端可能够通过在相应可用容器中启动多个应用实例来保护其应用以防在单个位置失效。同时,在一些实现方式中,可在驻留于同一地理区域内的资源实例之间提供便宜的和低等待时间网络连接(且同一可用容器的资源之间的网络传输可甚至更快)。为了针对联网配置***实现所需可用性和/或性能等级,在一些这类实施方案中,可在每个可用区中设立至少一个联网配置服务器。在一些实施方案中,可在每个数据中心内建立至少一个NCS。在一些实施方案中,可至少部分基于性能要求-例如基于联网配置***可通过产生修改的带宽限制并在适当的节点集合处应用修改的限制来响应于网络攻击或其它触发的事件的迅速程度来确定将在给定区域、可用容器或数据中心内设立的NCS的数目。
根据一个实施方案,可通过联网配置***实现一个或多个程序接口(诸如API(应用编程接口)、web页、命令行工具、图形用户界面和类似物)以供客户端和/或提供者网络的其它服务使用。在一个这种实施方案中,如上文所提到,各种服务的客户端或管理者可提交配置请求(诸如带宽压倒请求)以设置或改变特定服务实例或主机的联网配置选项。一些客户端可能希望例如在至少一些时间间隔增大(或减小)至少一些应用的带宽限制。在一些实施方案中,给定客户端可被分配许多服务实例(诸如几百或几千个计算实例、存储实例、数据库实例和类似物),且客户端可能希望获得其服务实例子集的联网状态(包括可应用带宽限制、等待时间设置和类似物)的最新的合并视图。在一些实施方案中,联网配置服务的程序接口可用以例如通过提供者网络的控制台服务或通过一些其它合并的网络视图产生器提供此统一视图。在一些实施方案中,程序接口还可由其它服务(诸如负责识别将启动新服务实例的实例主机的实例放置服务)使用。当将特定实例主机视为新服务实例的候选者时,此放置服务可从在程序接口上使用的联网配置服务获得信息,诸如候选者处的最近的带宽使用趋势、网络传输最近已调节的次数和/或那个实例主机的当前建立的网络带宽限制或等待时间设置,并在确定新服务实例的放置时使用此信息。
实例***环境
图1说明根据至少一些实施方案的***100的实例,在***100中实现集中式联网配置服务来管理分布式计算环境的多个节点处的网络流量。如所示,可建立联网配置服务器180(诸如NCS180A和NCS180B)的池182。在一些实施方案中,NCS180可分布在计算环境的各种数据中心中,如图2中所说明和下文所描述。给定NCS180在不同实施方案中可例如包括一个或多个软件和/或硬件模块,且在一些情况下本身可使用多个计算装置实现。NCS180可被配置用来从几个不同类型的来源接收输入。在所描绘的实施方案中,可通过NCS基于输入和/或鉴于全局联网管理策略122来确定将应用于分布式计算环境的各种元件处的可定制流量分类逻辑和联网配置选项(诸如带宽限制)。从联网配置服务的角度看,可将分布式计算环境的元件分类为三个高级种类:测量相关的组件107、决定组件108和实现组件109。测量相关的组件107可包括NCS的各种输入来源;决定组件108可包括NCS本身;且实现组件109可表示实体,在实体处执行决定来对网络流量整形,或由决定组件产生的输出用于其它目的。可通过以下来建立类似于经典控制***反馈回路的反馈回路:从实现组件中的一些(诸如服务实例主机144和/或网络装置145)获得测量并使用那些度量来确定NCS180随后做出的决定,所述决定又可被实现,从而导致反过来影响未来决定的额外测量。
在所描绘的实施方案中,可例如通过度量收集器125从实例主机144和/或联网装置145搜集若干类型的联网相关的度量,且可将所述度量放置在可由NCS180访问的度量数据库190中。举例来说,这些度量可包括在一时间间隔期间给定主机处的传入的和传出的网络流量速率(例如,用字节或包表示)、对应于诸如TCP(传输控制协议)或UDP(用户数据报协议)的各种协议的网络连接的数目、在一时间间隔期间下降的包的数目和包下降的原因、传输因为实施当前带宽限制而延迟的包的数目、包的大小的分布、代表应用到或从给定节点发生的流量的所述应用、代表客户端起始流量的所述客户端、与包递送相关联的等待时间和/或各种传输中涉及的端点的IP地址。除了存储在数据库190中的度量之外,NCS还可从***100的额外输入数据来源110(诸如安全服务111或流量度量聚集器112)接收输入。安全服务111可被配置用来监测***100的各部分处的流量模式来检测网络入侵或攻击(其中一些可起源于***100外部,例如来自公共因特网上的各位置,而其它可起源于实例主机144中的一些本身)。当检测到可疑流量模式时,例如如果存在导向至给定网络地址的突然且持续爆发的高流量,那么安全服务111可告知NCS180,其可采取减轻措施。举例来说,NCS180可产生将应用的新的流量种类和对应的带宽限制,或更改现有种类的带宽限制,且将新修改的或产生的分类元数据传输至适当的主机来限制可能的安全事件的影响。流量度量聚集器112可将从收集器125传输的度量组合成存储桶,例如按照IP地址的存储桶或按照客户端的存储桶,并可将存储桶的表示提供给NCS,且在做出联网配置决定时被列入考虑。
在图1所示的实施方案中,客户端压倒请求130和/或管理者压倒请求131也可在NCS180做出的决定中起作用。举例来说,基于全局策略122和其它度量,NCS180可确定实例主机144处的给定流量种类C1的带宽限制针对正考虑的下一时间间隔将设置为2千兆位/秒。然而,计算实例恰好在该实例主机处实例化的客户端可提交用于该计算实例的5千兆位/秒的带宽的请求,或在该实例主机处实现的服务的管理者可提交将带宽限制为1千兆位/秒的请求,而且在所描绘的实施方案中这些请求可由NCS使用来压倒其它因素。在按照与代表客户端招致的流量的量成比例的网络流量的账单量对客户端收费的实施方案中,一些客户端可能希望对其带宽使用施加上限来控制成本,而且这些上限也可表示压倒请求130的实例。
根据一些实施方案,给定NCS180可针对已被指派有NCS的一个或多个实例主机144和/或网络装置145产生流量分类元数据。在至少一些实施方案中,也可针对存储装置(诸如针对网络附接的存储(NAS)装置)产生分类元数据。元数据可包括一级或多级流量种类的层级,其可表示为例如树数据结构,其中树的每个节点表示相应流量种类且具有联网配置选项或设置(诸如带宽限制或等待时间要求)的相关联的集合。在一些实施方案中,流量求和策略可应用于分类树,如下文参照图5所描述,根据流量求和策略,表示为母节点的子节点的流量种类的实际流量速率不可超过母节点的带宽限制。在针对每个实例主机144产生相应分类树的一些实施方案中,主机级分类树可通过NCS180组合成机架级树或甚至数据中心级分类树,如下文参照图6所描述。可使用这些较高级的树,例如,以为了获得对网络流量流的较宽角度,和/或为了做出比按照实例主机或按照网络装置可能的更高级的决定。
除了分类树之外,在所描绘的实施方案中,流量分类元数据也可包括用以将网络流量单元(诸如包)映射至分类树中定义的各种种类的程序。程序步骤可表示(例如)为程序图的决定节点。在一些实现方式中,给定程序图可包括一个或多个决定节点序列,其中相继节点包括将用以使网络流量单元与相继更窄的流量种类匹配的准则的指示。在至少一个实现方式中,一些决定节点可包括查找表,诸如散列表。使用此查找表节点,可使用单个图节点将给定包或流量单元映射至许多不同种类中的一者,因而减小程序图的大小和复杂性。在一些情况下,查找表节点条目可充当其它程序图或子图的指针,因而使得能够使用细粒度的分类逻辑或准则。并入有查找表的程序图和决定节点的实例示于图6和图7中且在下文进一步详细描述。在至少一些实施方案中,除了分布至适当的实例主机144和/或网络装置145之外,分类元数据可存储在分类数据库192中。
根据一些实施方案,在NCS180处产生的元数据可经由分布***127传输至其预期目的地。在一些实现方式中,分布***127本身可包括多个中间节点,中间节点也可用于将其它类型的元数据分布至***100的各种节点,诸如路由信息和/或访问控制列表。在数据库192用作所产生的元数据的存储库的实施方案中,可例如通知(例如,通过订阅通知机制)分布***127的节点何时更新数据库192,且分布***127的节点可相应地将新的元数据传送至适当的目的地。在一些实施方案中,可通过NCS本身或通过分布***127使用诸如JSON、XML、YAML的协议或专有技术或语言来产生元数据(例如,分类树和程序)的便携式表示。在一个实现方式中,便携式表示可存储在数据库192中。在目的地处,在实例主机144的情况下可例如通过虚拟化管理软件堆栈的联网管理模块来解析所接收的元数据表示,如图3中所说明且在下文进一步详细描述。
在一个实施方案中,可设立一个或多个API服务器170来处置来自实现子***109的其它输出目的地150的导向于NCS180处的请求。举例来说,一个或多个服务器可被配置为合并网络视图产生器152,以向客户端提供分布式环境的选定部分的联网状态的统一视图。在一个实现方式中,举例来说,客户端可被指派各种实例主机处的几百或几千个服务实例,且可能能够经由视图产生器152实现的控制台查看其实例的各种类型的度量(诸如最近传入的/传出的流量速率、下降的包速率、可应用的带宽限制和类似物)。在至少一个实施方案中,放置服务151也可能够经由API服务器170从NCS访问网络带宽限制和其它度量,这可有助于做出关于将用于将启动的新服务实例的实例主机的决定,或有助于将现有服务实例移动至具有较少带宽连接的实例主机。
图2说明根据至少一些实施方案的提供者网络环境的实例,在该环境中在一些可用容器中的每一者中建立相应联网配置服务器。如所示,在所描绘的实施方案中,提供者网络202可包括一些可用容器203,诸如203A、203B和203C。每个可用容器又可包括一个或多个数据中心205,诸如可用容器203A中的数据中心205A和205B、可用容器203B中的数据中心205C和可用容器203C中的数据中心205D。如先前所描述,每个可用容器203可用一种方式设计和策划(例如,具有相应独立的基础结构元件,诸如电源,且在不同可用容器之间具有某一地理距离),使得任何给定可用容器中的各种类型的失效事件的影响可通常限于该可用容器。因此,失效和/或错误可能通常不会扩展跨越可用容器边界,且可认为不同可用容器具有独立的失效模式或独立的可用模式。即使给定可用容器遭受例如自然灾害,那么可预期其它可用容器保持为操作的。
与避免或减少跨越可用容器的依赖性的设计目标保持一致,在所描绘的实施方案中,可在每个可用容器203中建立至少一个NCS180。举例来说,NCS180A和180B分别设立在可用容器203A的数据中心205A和205B中,NCS180C建立在可用容器203B的数据中心205C中,且NCS180D位于可用容器203C的数据中心205D中。NCS180A可被配置用来产生用于在数据中心205A处实现的一个或多个网络可访问的服务(诸如虚拟化计算服务或存储服务)的实例主机144A和用于位于数据中心205A中的网络装置145A的分类元数据。类似地,NCS180B可被指派产生用于实例主机144B和网络装置145B的分类元数据的任务,NCS180C可负责产生用于实例主机144C和网络装置145C的分类元数据,且NCS180D可被配置用于产生用于实例主机144D和网络装置145D的分类元数据。尽管在图2所说明的实施方案中,单个NCS示于每个数据中心205中,但在至少一些实施方案中,多个NCS可设立在给定数据中心205中(取决于例如性能要求和/或在数据中心处必须产生元数据所针对的节点数目)。在一个实施方案中,如果可用容器(诸如203A)包括N个数据中心,且带宽管理的性能要求可通过少于N个NCS来满足,那么一些数据中心无需配置有任何NCS-替代地,单个NCS可满足一个以上数据中心的需要。在其它实施方案中,给定NCS180可被配置用来产生用于一个以上可用容器处的节点的元数据。
在所描绘的实施方案中,NCS180的数目和放置可由联网配置服务管理器222确定。在一些实现方式中,NCS管理器222本身可包括多个硬件和/或软件组件,其中一些可跨越各种可用区203的数据中心205而分布。在所描绘的实施方案中,NCS180的配置改变可由NCS管理器按照需要起始-例如,当将部署由NCS使用的软件模块的新版本时,可通过NCS管理器来配合部署。
在所描绘的实施方案中,提供者网络的若干其它服务可与联网配置***交互。举例来说,统一的控制台服务278可实现一个或多个程序接口240(诸如web页、API、GUI和/或命令行工具),其使得客户端265能够以编程方式提交关于所关注资源的联网状态的查询并接收所请求的信息。统一的控制台服务278可表示图1的合并网络视图产生器152的一个实例。程序接口240也可使客户端能够提交配置请求-例如,在指定时间段升高或降低对各种服务实例或实例主机的当前可应用的带宽限制。
在一些实施方案中,装置健康管理服务276可在提供者网络202处实现以从各种实例主机和网络装置收集(例如,使用心跳机制)响应信息。在所描绘的实施方案中,健康管理服务276也可用于例如通过在健康状态消息上捎带联网度量来收集将用作NCS180的输入的联网相关的度量。因此,健康管理服务276的节点可视为图1中说明的度量收集器125的实例。在一些实施方案中,健康管理服务也可用作元数据分布***127-例如,发送至各种实例主机的心跳消息可包括捎带的分类元数据。DDOS检测服务274可被配置用来例如通过检测到或来自给定IP地址集合的不寻常的高流量模式来检测提供者网络内的目标处的拒绝服务攻击和/或可能已在外部目标处从提供者网络202内起始的拒绝服务攻击。当识别可能的DOS攻击时,DDOS检测服务274可向适当的NCS180提供关于可能的网络攻击或入侵的输入,这可导致NCS180针对一些实例主机或网络装置调节带宽限制或至少暂时地改变其它联网配置选项,以努力减轻可能的攻击的影响。实例放置服务272可从NCS180获得最近可用的联网相关的度量和配置设置来选择具有可用于启动新实例的足够多余带宽的实例主机,或选择鉴于改变的网络流量状况应将现有实例移动至的实例主机。
实例主机处的分类元数据使用
如上文所描述,在不同实施方案中,联网配置服务器可将流量分类元数据的表示传输至各种网络可访问的服务的实例主机。图3说明根据至少一些实施方案的联网管理器模块的实例,其能够解译虚拟化计算服务的实例主机144处的流量分类元数据。实例主机144可包括能够实例化和管理若干不同的客户端可访问的虚拟机或计算实例350(诸如计算实例350A和350B)的虚拟化管理软件堆栈(VMSS)310。VMSS310可包括例如管理程序317和操作***315的管理实例,操作***315在一些实现方式中可称作“零域”或“dom0”操作***。dom0操作***可能不可由代表客户端计算实例350运行的所述客户端访问,而是可替代地负责虚拟化操作***的各种管理或控制平面操作,包括处置导向至计算实例350或从计算实例350导向的网络流量。
在所描绘的实施方案中,dom0操作***315可包括多种控制模块,其包括又包括分类元数据解译器模块359的联网管理器组件357。联网管理器组件可接收由NCS180针对实例主机144产生的分类元数据,例如,包括上文描述的分类树和/或分类程序的表示。解译器359可解析元数据并将元数据中指示的程序应用于导向至各种计算实例350或从各种计算实例350导向的流量包。举例来说,为了实现各种流量种类的带宽限制,可配置一个或多个实例包队列(IPQ)319(例如,IPQ319A和319B)。如果特定实例350处的特定种类的传入的或传出的流量速率在给定时间间隔期间超过该种类的带宽限制,那么传入的或传出的包中的一些可在该特定实例的IPQ319中排队。在一些实现方式中,可针对给定计算实例而实例化一个以上包队列,例如,每个流量种类可设立一个包队列。在其它实现方式中,单个包队列可满足与多个实例350相关联的排队的包的需要。在各种实施方案中,IPQ或其它类似的构造也可用以根据从NCS接收的元数据实现其它联网配置选项,诸如等待时间要求、其它服务质量目标(例如,不同流量种类的网络传输的相对优先级)、包分段设置或依赖于包大小的设置。
如所示,在所描绘的实施方案中,每个计算实例350可包括对应的客户端可访问的操作***370,诸如计算实例350A的OS370A和计算实例350B的OS370B。操作***370可各自包括其自己的联网堆栈372(例如,实例350A的联网堆栈372A和实例350B的联网堆栈372B),其可与联网管理器357通信以使用实例主机144的硬件网络接口供传入和传出流量。从代表客户端实现计算实例350的所述客户端的角度来看,每个实例看起来可以是功能全面的服务器,且客户端可能不会意识到所使用的联网配置技术的实现细节(诸如IQP处的包的排队)。应注意,用于解译和使用与图3中说明的分类元数据类似的分类元数据的技术在不同实施方案中也可用于其它类型的网络可访问的虚拟化服务的实例主机,诸如各种类型的存储服务或数据库服务。还应注意,在一些实施方案中,分类元数据可至少部分在实例350的联网堆栈372处被解译和/或使用,以替代于或外加在VMSS310的联网管理器357处被解译和/或使用。
元数据传输模式
在不同实施方案中,可根据不同协议或传送模式将由NCS180产生的元数据的表示提供至目标,诸如实例主机144或联网装置145。图4a至图4c说明根据至少一些实施方案的协议的相应实例,所述协议可用以将流量分类元数据传输至实例主机。在不同实施方案中,一个或多个程序接口可用以将元数据提供至实例主机或分布式***的其它节点,其中NCS或元数据的接收器根据所使用的协议调用接口。
在图4a所示的实施方案中,可经由通过NCS180起始的调度的“推送”操作401来将分类元数据发送至实例主机144(或网络装置145或存储装置)。举例来说,每个NCS可配置有相应调度,NCS将根据调度将元数据发送至给定元数据目标(例如,每分钟一次,或每五分钟一次)。在一些实现方式中将元数据从给定NCS发送至不同目标的实际时间可交错以避免由元数据传送本身引起的网络堵塞。举例来说,如果将每分钟一次地将元数据从给定NCS推送至六个实例主机,那么可隔开十秒调度至实例主机中的每一者的元数据传输。
在图4b所示的实施方案中,触发事件可导致元数据被传输。举例来说,事件检测器421可通知NCS已检测到诸如可能的DDOS检测的事件,且NCS可接着产生适当的元数据来减轻事件的影响。对于某些类型的事件,在一些实施方案中只要元数据一产生,就可以高优先级起始所产生的元数据的触发的推送402,以试图尽可能迅速地响应于事件。对于其它类型的触发事件,例如,如果管理者提交压倒先前产生的元数据的请求,那么无需立即或以高优先级推送元数据。
在图4c描绘的实施方案中,实例主机144可针对最近的分类元数据向BA180提交拉动请求403,且元数据可相应地在响应404中发送至实例主机。在各种实施方案中,可针对实例主机144,针对网络装置145或针对存储装置使用图4a至图4c中说明的三种方法中的任一者的组合。在至少一个实施方案中,可在传输元数据时使用差值法-也就是说,可将仅当前元数据与最近提供的元数据之间的差的表示发送至实例主机、网络装置或存储装置。在其它实施方案中,可在每次传送中传输整个元数据。
分类树
图5说明根据至少一些实施方案的分类树数据结构501的实例,其可用以表示分布式***的装置处的联网配置的网络流量种类。树501的每个节点可具有针对节点表示的种类的联网配置选项或设置(诸如针对图5中的每个节点说明的相应带宽限制)的相关联的集合。可应用于每个节点的联网配置选项的其它实例可包括包等待时间要求或目标、其它服务质量目标(诸如不同流量种类的相对优先级)、包分段/重装设置或依赖于包大小的配置设置。在不同实施方案中可基于多种性质的差异来定义流量种类-例如,基于与流量相关联的应用的种类、组件处于发送端或接收端的服务、所涉及的端点的网络地址(在一些情况下其本身可指示应用类型)、传送大小、代表客户端产生流量的所述客户端、端点相对于彼此的位置(例如,对于从提供者网络节点传出的包,目的地是在本地数据中心、本地可用容器、本地区域、提供者网络的另一区域内还是提供者网络外部)等等。在所说明的分类树501中,举例来说,节点504表示一类应用(高性能计算)的流量,节点520表示数据库流量,且节点506表示高性能块存储流量(即,与被配置用来支持高输入/输出速率的块存储装置相关联的流量)。在节点520表示的数据库种类内,定义用于基于位置的子种类的三个节点:用于数据中心内的流量的节点522、用于区域内的流量的节点524和用于区域外的流量的节点526。
在针对各个种类定义的联网配置选项包括带宽限制的实施方案中,流量求和策略或各种规则可应用于分类树,从而管控子节点相对于母节点的带宽限制之间的关系。在所说明的实例中,以下规则可应用:(a)树中没有子节点可具有超过其母节点的带宽限制的带宽限制,和(b)尽管母节点的子节点的带宽限制的总和可超过母节点的带宽限制,但在任何给定时间段期间,子节点表示的种类的实际流量速率的总和不可超过母节点的带宽限制。
根据这些规则,由于根节点(集体地表示针对产生分类图所针对的实例主机或网络装置定义的所有流量种类)具有K千兆位/秒的带宽限制,因此根节点的子节点中没有一个可具有大于K千兆位/秒的带宽限制;因此A<K,B<K,C<K且D<K。在节点520的情况下,子节点(节点522、525和526)的带宽限制已被指派为相加为母节点的带宽限制,且因此上述两个规则都满足。在表示具有D千兆位/秒的带宽限制的一般“其它”流量种类的节点530的情况下,子节点532(其它块存储流量)、534(因特网流量)、536(服务内流量)和538(不是由任何其它叶节点表示的混杂的或未分类的流量)各自也具有D千兆位/秒的带宽限制。可根据上文列出的第二规则如下解释此情形,其中子节点的标称带宽限制的总和(在这种情况下是4D千兆位/秒)超过母节点的带宽限制(D千兆位/秒)。尽管原则上子节点的种类中的每一者可具有高达D千兆位/秒的流量速率,但实际上,在任何给定秒(或其它适当的时间单元)期间,所有子节点的实际流量流的总和不超过D千兆位/秒。因此,如果在特定秒期间种类“其它块存储流量”(节点532)的流量速率是0.6D千兆位/秒,那么节点534、536和538组合的流量速率可能不允许超过0.4D。
在一些实施方案中,可通过NCS180针对给定实例主机或网络装置处的传入的和传出的流量产生相应树,且在联网配置选项和/或种类中,传入流量的树可与传出流量的树不同。在一些实施方案中,对于分类树的一些或所有节点,可针对持续带宽(例如被应用以对超过T秒的时间段内的带宽使用求平均值)和针对爆发带宽(例如,针对给定实例主机可允许4千兆位/秒的短期爆发流量速率持续高达2秒,即使该实例主机的持续带宽限制设置为1千兆位/秒)定义不同限制。如先前所指出,在一些实现方式中,给定实例主机、网络装置或存储装置的流量分类层级可以是平面的而不是包括多层。
在一些情形中,从管理角度来看,将分布式***的不同实体的分类树组合成较高阶的树可以是有用的。图6说明根据至少一些实施方案的分级数据结构601的实例,其可用以组合数据中心处的多个实例主机的网络流量种类信息。如所示,可针对数据中心处的许多实例主机产生相应分类树(C树),诸如C树601A、601B、601M和601N。在所描绘的实施方案中,数据中心可包括布置在若干不同房间中的多个服务器机架。NCS可聚集并入于给定机架中的实例主机的C树,从而形成机架级C树,诸如603A和603B。在聚集的下一级,给定房间或数据中心的子集中的所有机架的机架级C树603可例如以房间级C树605A或605B的形式组合。在一些实施方案中,可通过组合房间级树来针对数据中心整体地创建单个合成树607。在一些实施方案中,可构建较高级树层级,诸如整体地处于可用容器、地理区域或提供者网络的等级处。
这些合成树层级可以若干方式帮助提供者网络的联网配置***和管理者,尤其是在层级的可定制视觉表示以编程方式可用(例如,经由统一的控制台服务)的实现方式方面。可使用这些层级获得数据中心或提供者网络的不同部分处的带宽使用的一致或不一致的概述,这又可导致配置或放置改变以改进或平衡网络利用水平。当检查这些较高级层级时,可用带宽在不同流量种类中的分布也可变得更清晰,这又可有助于进行价格改变(例如,与更受欢迎的种类相关的流量的价格增加),价格改变有助于改进提供者网络的收益。放置服务也可例如通过确定机架级带宽使用而受益于较高级树层级,确定机架级带宽使用可有助于为新的服务实例选择适当的实例主机。
分类程序图
如上文所描述,在至少一些实施方案中,联网配置服务器可确定可用以将网络流量单元(诸如包)分类为针对给定实例主机或网络装置定义的种类的程序的步骤或规则。图7说明根据至少一些实施方案的流量程序图750的实例,其可与分类树一起使用来确定网络流量单元的种类。此图750可包括多个决定节点,在这些节点中的每一者中指示网络流量的分类准则的相应集合。在至少一些实施方案中,至少决定节点的子集可按序列布置,其中序列的相继节点对应于相继更窄的种类。举例来说,在节点701、702和703的序列中,与节点701中指示的准则匹配的流量子集可与节点702中指示的准则匹配,且与节点702中指示的准则匹配的流量子集可与节点703中指示的准则匹配。如果给定网络流量单元结束于与序列的最后节点的准则不匹配,那么可能必须使用不同的序列来评估该流量单元-例如,如果包与节点701和702的准则匹配(如关于节点701和702的结果“是”所指示)但与节点703中指示的准则不匹配(如关于节点703的结果“否”所指示),那么接着可能必须使用节点704和705的序列来评估包。
一般来说,如果给定流量单元与给定节点序列的所有准则匹配,那么可确定其种类-例如,如果满足节点701、702和703的准则,那么可将其分类为种类C1包,如果满足节点707和708的准则,那么可将其分类为种类C6包,如果满足节点706的准则,那么可将其分类为种类C5包,或如果满足节点709的准则,那么可将其分类为种类C7包。在不同实施方案中,给定节点中指示的准则可按照网络流量单元的各种性质表示。举例来说,包的一个或多个报头的内容(诸如来源或目的地IP地址、端口数目或所使用的联网协议)可用以确定其种类,或可使用主体的内容。在所描绘的实施方案中,可使用程序将给定流量单元分类成的种类中的每一者可对应于也由NCS产生的分类树的对应节点。
至少原则上,在至少一些实施方案中,任意细粒度准则可用于包分类,且可产生决定节点的任意长序列。举例来说,分类准则可基于包主体的非常特定的内容(例如,特定字节范围“0xff”是否在包的偏移O1处发生),或基于包或报头内容的任意组合,等等。为了减小分类程序图750的大小和复杂性,在一些实施方案中可使用具有多个可能结果的决定节点。举例来说,包括查找表770的节点705包括在程序图750中。每个此查找表可包括多个行,可基于给定流量单元的性质(诸如包的目的地IP地址)对其中一行编索引或选择其中一行来达成分类决定。在节点705的实例中,分类决定是包属于种类C2、C3还是C4。在其它情况下,分类决定可以是使用额外决定节点序列来评估包-例如,查找表条目可充当其它分类图或子图的指针。
图8说明根据至少一些实施方案的流量分类程序图的查找表节点805的使用的实例。在所描绘的实施方案中,散列函数850可应用于网络包810的一部分来识别将用以将包归类的节点805的查找表770A的条目。在一些情况下可在评估程序的其它决定节点之后已到达查找表节点805本身,即,在应用散列函数850之前可能已针对包810进行至少某一等级的归类。所描绘的实例中的包是具有目的地IP地址“P.Q.R.S”的出站包801,且目的地IP地址的四个元素的第三元素“R”用作散列函数850的输入以确定对应于包810的查找表条目。在各种实施方案中,包810的一些性质中的任一者可用作此散列函数的输入,包括例如目的地IP地址或来源IP地址的其它部分的值、其它报头字段802的值或甚至包的主体803的内容。在一些实施方案中,关于包的哪些性质将用以选择查找表条目的规则和将应用于性质的函数(诸如散列函数850)可与分类元数据一起通过NCS180提供至目标装置(诸如实例主机或网络装置)处的控制模块。
在一些情况下,所选择的查找表条目(例如,作为目的地IP地址元素的散列的结果)可直接指示对应包的流量种类。举例来说,在图8中选择查找表770A的元素中的一者导致种类A。查找表的其它条目本身可充当额外程序图(诸如图8的图880A和880B)的指针,可能必须导航额外程序图的决定节点以便确定包810的种类。因为从不同图的节点评估的准则而到达的这些额外程序图在本文中也可称作子图。在所描绘的实例中,如果散列函数850导致770A的一个条目,那么决定节点851、852(本身是包括查找表770B的节点)和/或853指示的准则可能需要被评估,而如果散列函数850导致选择查找表770A的不同条目,那么决定节点854、855和/或856指示的准则可能必须被评估。在图8的实例中,如果到达程序图880B,且满足元素854和855中指示的准则,举例来说,那么可将包810看作属于流量种类L。将查找表770并入至分类程序图750的各种节点中可允许流量分类逻辑的相当紧凑的表示,甚至当复杂的细粒度逻辑用于分类时也是这样。
联网配置***对触发事件的响应
在一些实施方案中,如先前所描述,可响应于事件诸如检测到可能有损害的事件(诸如网络攻击或入侵)而做出带宽管理决定。在配置联网配置***时(例如,在决定在分布式***的特定子集中应设立多少NCS,或联网配置***需要什么类型的计算能力和元数据分布能力时)可考虑的因素中的一者可以是对这些事件的期望的响应。图9说明根据至少一些实施方案的响应度量的实例,其可用以确定联网配置服务的一个或多个参数的值。
实例时间线示于图9中,其中时间值从左到右增大。在时间T1,如方框902所指示,实现集中式联网配置所针对的分布式***的安全服务检测可能的网络攻击,诸如DDOS攻击。可基于例如导向至分布式***的一个或多个节点或从分布式***的一个或多个节点导向的流量速率的突然增大来识别可能的攻击。此攻击可导向于分布式***内的一个或多个目标(诸如正使用提供者网络的计算实例集合实现的电子商务网站)或分布式***外的一个或多个目标(例如,重复的请求可在高速率下从提供者网络的计算实例集合发送至外部网站)。在一些情况下,流量增大可以是因为合理的理由,诸如对网站上出售的产品的兴趣突然爆发;然而,在许多实施方案中,安全服务可采用复杂的分析技术来降低这种误报的概率。
不管可能的攻击实际上是不是攻击,在所描绘的实施方案中,联网配置***可被配置用来例如通过针对分布式***的适当节点产生新的分类元数据和/或新的配置选项(诸如带宽限制),并尽可能迅速地应用新的元数据来做出响应。如方框904所指示,可在所描绘的时间线中的时间T2产生针对节点集合的修改的元数据。举例来说,如果检测到可表示源自IP地址K.L.M.N并导向于IP地址E.F.G.H的出站的DDOS攻击的流量,那么负责对那些IP地址应用带宽限制的NCS可产生新的元数据。新的元数据可例如简单地对从K.L.M.N发出或在E.F.G.H处接收的所有流量施加新的带宽限制(至少暂时地)。或者,可特定地针对从K.L.M.N流向E.F.G.H的流量定义一个或多个新的流量种类,并且可产生并散布针对那些特定种类的带宽限制。
修改的分类元数据可分布至适当的实例主机或其它节点,且可在图9的实例时间线中的时间T3开始生效,如方框906所指示。(在某一稍后时间,可再次修改分类元数据,例如,如果网络攻击结束或如果发现看起来指示攻击的流量是合理的。)可例如通过联网配置服务管理器222随时间跟踪联网配置服务对这些触发事件的响应,如例如由间隔(T3-T1)所指示,且所述响应可用以调整所采用的NCS的数目或元数据分布***的各种性质。
实现集中式联网配置服务的方法
图10是说明根据至少一些实施方案的可被执行以配置和初始化联网配置服务的组件的操作方面的流程图。如元素1001所指示,可例如鉴于全局带宽管理策略、实现联网配置所针对的服务的可用性和/或性能要求来确定服务的各种初始或默认参数。这些参数可包括(例如):将在每个可用容器或每个数据中心中配置的NCS180的数目、元数据递送调度和协议(例如,NCS起始元数据传送的推送协议是否将用作默认的,或是否将使用实例主机按需要请求分类元数据的拉动协议)、可导致元数据传送的额外触发事件的类型、NCS的输入来源和/或NCS决定的结果将供应至的输出目的地。
在至少一些实施方案中,可实现程序接口的集合(元素1004),从而使得客户端和/或管理者能够选择性地压倒NCS的决定。举例来说,在一个实施方案中,可允许一些客户端提交请求以将各种带宽限制增大至NCS选择的带宽限制之上(例如,基于应用工作负荷水平的预报的增大),或提交请求以将某些流量种类的带宽限制的上限设置在NCS可确定的带宽限制之下(例如,以努力减少流量相关的账单成本)。也可支持来自客户端和/或管理者的对各种其它类型的选项(诸如对等待时间相关的设置、服务质量设置等等)的配置请求。
可根据在对应于元素1001的操作中确定的参数在选定位置(元素1007)处实例化适当数目的NCS180。可在NCS与分布式***或提供者网络的各种其它元件之间建立网络连接性(元素1010)-例如,在NCS与由NCS所做的决定将开始生效所在的实例主机144和其它网络装置145之间,在NCS与影响NCS决定的输入数据来源之间,以及在NCS与对于不断地从NCS获得联网信息有兴趣的任何输出目的地之间。在至少一些实施方案中,诸如TLS(传输层安全)、SSL(安全套接层)的安全联网协议可用于NCS与分布式***的其它元件中的至少一些之间的网络连接。
图11是说明根据至少一些实施方案的可被执行以产生和分布联网配置服务的流量分类元数据的操作方面的流程图。在所描绘的实施方案中,NCS可采用迭代法,其中在每一迭代期间输入集合用以确定分布至并应用于目标节点(例如,实例主机)集合处的联网管理参数,且接着从目标节点和其它来源收集度量以反馈以作为影响或确定下一迭代的参数的输入。如元素1101中所示,给定NCS可在给定时间间隔期间接收从分布式***的各种节点(诸如实例主机和/或联网装置,诸如交换机、路由器、网关和类似物)获得的网络相关的度量集合。可例如包括测量的传入的和传出的流量速率、丢包率、包节流速率等等的这些度量可用以通过NCS产生流量分类元数据的下一迭代。在一些情况下,可经由度量收集***的节点(诸如,例如健康监测服务的节点)将度量提供至NCS。另外,在所描绘的实施方案中,NCS还可从其它输入来源(包括安全相关的服务、按照IP地址的流量聚集器、按照客户端的流量聚集器和类似物)获得各种输入。客户端和/或管理者还可向NCS提交配置请求,诸如通过NCS增大或减小先前应用于一个或多个流量种类的带宽限制的请求,而且这些配置请求也可用作确定流量分类元数据的下一迭代时的输入。
在所描绘的实施方案中,在NCS处,度量和所接收的输入可用以例如鉴于全局和/或局部联网管理策略来确定流量分类元数据(元素1104)。全局策略可指示例如联网基础结构的各部分的目标利用限制、处理来自已针对类似服务等级签字的不同客户端的流量的公平要求、将给予正被实现的不同的网络可访问的服务的网络流量的相对优先级,等等。局部策略可指示应用于给定可用容器或给定数据中心的规则,给定可用容器或给定数据中心的联网基础结构和能力可例如与其它可用容器或数据中心的联网基础结构和能力不同。针对分布式***的给定目标节点产生的分类元数据可包括将在目标节点使用的流量分类层级(例如,可用类似于图5所示的树数据结构表示的层级),和将用以将网络流量单元分类为层级中定义的种类的程序或规则集合(例如,使用类似于图7所示的图表示的程序)。对于层级中定义的每个流量种类,也可确定诸如带宽限制的一个或多个对应的联网配置选项,诸如针对平均流量定义的带宽限制和针对短期爆发定义的不同带宽限制、等待时间要求、依赖于包大小的要求或优先级设置。在一些情况下,可针对传入的和传出的流量定义种类和/或选项的相应集合。至少在一些实施方案中,可针对不同实例主机和/或网络装置定制分类层级和/或程序-例如,正用于客户端应用的一个集合的给定主机H1可具有与另一主机H2不同的定义的流量种类和在那些种类上施加的不同的带宽限制,在主机H2处正实现客户端应用的不同集合。
在所描绘的实施方案中,可在NCS处产生流量分类层级和分类程序的相应便携式表示或编码以用于传输至目标节点(元素1107)。在一些实现方式中可使用诸如JSON、XML、YAML或类似者的行业标准协议或语言,而在其它实现方式中可使用专有编码方案。便携式表示可传输至应用或使用元数据的目标(元素1110)。在至少一个实现方式中,单一或组合编码可用于分类种类和程序两者,而在其它实现方式中,可使用分类种类和程序的相应单独表示。在一些实施方案中,可使用差值元数据传输技术,其中例如仅元数据的从前一迭代以来已改变的该部分被发送至目标。在其它实施方案中,可使用完全传输方法,其中可在每个迭代中传输整个元数据。在各种实施方案中,可使用调度的推送传输(其中NCS主动地向目标推送元数据)、拉动传输(其中NCS响应于来自目标的请求而传输分类元数据)和事件触发的元数据传输(其中检测到某些类型的事件导致NCS产生和/或传输元数据)的组合。在针对给定迭代的元数据已发送至适当目标之后,NCS可例如通过重复对应于元素1101的操作而向前开始其下一迭代。
在分布式***的目标节点处,控制模块(诸如图3所示的联网管理器357)可被配置为接收和解译元数据表示。元数据可用以分类网络流量单元(诸如包),并应用对应带宽限制来调度和/或调节流量单元的传输(元素1113)。在一些实现方式中,已在节点上可用的操作***实用程序或工具(诸如“tc”)可用以实现NCS产生的逻辑。在其它实现方式中,可使用定制工具或实用程序。可例如使用各种执行工具和类似物从目标节点收集度量,并将度量用作NCS的输入。
图12是说明根据至少一些实施方案的可被执行以响应于触发事件而改变联网管理参数的操作方面的流程图。如元素1201所示,可检测可导致流量分类元数据的修改的事件,诸如可能的DDOS攻击。在一些实施方案中,提供者网络可建立一个或多个安全服务来识别指示各种可能的攻击的可疑流量模式,且此服务可与联网配置***通信。在所描绘的实施方案中,可例如通过此安全服务、通过NCS或通过安全服务与NCS的组合来识别(元素1204)分布式***的可受攻击影响或可促成攻击的特定节点(例如,实例主机和/或网络装置,诸如交换机、路由器和类似物)。
可在NCS处产生流量分类元数据的修改的集合来减轻攻击的影响(元素1207)。修改可包括例如定义的新的流量种类(例如,基于发送和/或接收可疑流量所涉及的特定节点的地址),和/或将应用的新带宽限制或其它联网配置选项。新的元数据可接着传输至分布式***的选定节点集合,其在一些实施方案中可包括攻击所涉及的或处于攻击目标的特定节点和/或其它节点(例如,沿着可疑流量行进的路径的中间的网络装置)。
可测量并记录响应于触发状况所花的时间,例如检测到状况与应用新的元数据之间的间隔(元素1210)。随着时间过去,可分析联网配置***对这些触发的事件的响应的趋势和/或联网配置***采取的措施的效果来确定是否需要进行配置改变(元素1213)。如果例如发现响应不够,那么可进行若干配置改变中的任一者:例如,可增加NCS的数目,可改进事件检测器与NCS之间的连接性,可增强元数据分布***,和/或可修改NCS或目标节点处的逻辑来更高效地响应于检测的事件。
图13是说明根据至少一些实施方案的可被执行以向分布式***的客户端提供联网相关状态信息的统一视图的操作方面的流程图。如元素1301所示,可建立一个或多个程序接口(诸如web页或控制台、API、GUI或命令行工具)以用于向客户端提供所关注的各种分布式***资源的联网状态的统一和可定制视图。举例来说,客户端可指派有虚拟化计算服务的大量计算实例,且可希望在最后十五分钟发现哪些特定实例已受带宽调节影响。程序接口可使得客户端能够使用各种过滤器来指定将被显示的联网性质和/或将显示性质所针对的资源集合。
可经由此接口接收联网状态请求,其指示所关注的度量和资源(元素1304)。联网配置***可例如从度量数据库190或从NCS处的高速缓冲存储器检索请求的度量(元素1307)。在一些实施方案中,可用于响应于请求的可应用的分类元数据也可从分类数据库192或从NCS处的元数据高速缓冲存储器检索(元素1310)。使用收集的信息,可产生对联网状态请求的响应且经由程序接口将响应提供至请求者(元素1313)。
用于网络拓扑的资源使用可视化工具
如上文所描述,联网配置服务可从分布式***的各种组件(诸如提供者网络)收集多种度量,且使用这些度量来确定至少一些节点的设置(诸如带宽限制)。在至少一个实施方案中,可实现能够显示性能指示符或资源使用指示符(诸如各种节点处的相应测量的网络流量速率与针对那些节点设置的相应带宽限制之间的比率的颜色编码的表示或热图)的一个或多个可视化工具。根据一个实施方案,可将被配置用来提供这些资源热图和/或其它类型的可视化的网络拓扑可视化服务器实现为联网配置服务器180的子组件。在其它实施方案中,此网络拓扑可视化工具可独立于联网配置服务器180实现,例如,实现为分布式***的另一集中式服务,或实现为单独实体,且可与NCS180交互或消费由NCS180收集的数据。在至少一些实现方式中,合并的联网视图产生器152(示于图1中)可包括拓扑可视化界面作为其特征中的一者。
在至少一些实施方案中,集中式拓扑可视化服务器(TVS)可被配置用来确定分布式***的各种节点之间的逻辑和/或物理关系。举例来说,在实现虚拟计算服务的实施方案中,TVS可确定将实例主机集合处的各种计算实例指派至的客户端账户,且可使用账户信息来产生仅包括被指派给特定客户端账户或选定客户端账户集合的那些计算实例的拓扑。响应于来自与那个客户端账户(或账户集合)关连的客户端的可视化请求,接着可提供示出那个拓扑的实例的性能指示符的热图。对于在一个或多个数据中心实现的网络可访问的服务的管理者,可产生更详细的拓扑,其可指示各种实例、主机和/或网络装置(诸如交换机、路由器和类似物)之间的物理或逻辑网络链接,且可使用通常对服务的非管理客户端将不可用的信息来产生对应热图。在每种情况下,使用所产生的热图,可向客户端或管理者提供各种类型的资源使用统计的易于理解的视觉表示。使用统计接着可用以(例如)主动地识别可能的瓶颈或其它类型的问题并采取响应性行动。热图中显示的颜色的范围和颜色之间的转变边界可以是可选择的以指示正被指示的量度的水平。举例来说,在一个实现方式中,对于网络拓扑的给定节点可显示红色来指示最近测量的流量速率非常接近那个节点的带宽限制,而绿色可用以指示所测量的流量远低于限制,且从红色到绿色的过渡色可用于中间流量水平。
根据一些实施方案,TVS可因此负责从分布式***中的多种来源获得度量收集,获得分布式***的各种组件的关系信息,以及基于所收集的度量和关系信息确定各种类型的网络拓扑的性能指示符(诸如个别性能度量,或度量与适用限制的比率)。可实现使得客户端或管理者能够请求资源性能指示符的定制或过滤的可视化的程序可视化界面,且TVS可通过使用数据集的适当子集来合成热图和/或性能指示符的其它图形表示来对可视化请求做出响应。在一些实现方式中,这些任务中的一个或多个可涉及与分布式***的其它组件或服务的互动,如下文进一步详细描述。
图14说明根据至少一些实施方案的可通过拓扑可视化服务器(TVS)1410针对分布式***的至少节点子集产生的可定制热图1450的实例。在所描绘的实施方案中,将TVS实现为联网配置服务器180的组成元件。在其它实施方案中,TVS1410可使用独立于NCS或在NCS外部的一个或多个硬件或软件组件实现;例如,在一些这类实施方案中,可在NCS不存在的情况下实现集中式可视化服务。在图14所示的实施方案中,TVS1410可从一些类型的数据来源(包括账户管理服务1420、放置服务151、库存服务1430以及度量收集器125)获得输入。
账户管理服务1420可向TVS1410提供关于客户端账户(和/或关连的用户或群组账户)的信息,一个或多个多租户或单租户服务实例(例如,虚拟化计算服务、存储服务或数据库服务)的各种服务实例被指派给所述客户端账户(和/或关连的用户或群组账户)。如先前所描述,放置服务151可负责识别启动各种服务实例的实例主机,且在至少一些实施方案中可因此能够提供可有助于产生网络拓扑的实例至主机映射。库存服务1430可管理记录分布式***的各种实例主机、交换机、路由器和其它设备组件物理上位于一个或多个数据中心内的地方的数据库。度量收集器125可从分布式***内的各种服务实例、主机、联网装置和类似物搜集联网相关的和/或其它资源度量,也如先前在图1的上下文中所描述。举例来说,对于联网相关的度量,来源可包括,除其它外,(a)网络接口卡,(b)安装在虚拟化主机处的虚拟化软件堆栈的联网组件,(c)计算实例的联网组件,(d)网络分接装置,(e)交换机,(f)路由器,(g)网关,或(h)负载均衡器。应注意,在一些实施方案中,并非图14所示的所有各种类型的数据来源都可能被TVS1410使用-例如,在一些实现方式中,放置服务可能够提供关于各种节点的物理位置信息,因此在这些实现方式中可能不需要与库存管理服务的互动。
可响应于可视化请求而通过TVS1410合成从这些各种来源收集的数据来产生各种可定制热图,诸如实例热图1450。热图1450示出网络拓扑1460,其包括被指派给客户端账户CA1的五个计算实例(CI)-可用容器203A中的CI1440A、1440B和1440C,以及可用容器203B中的CI1440D和1440E。在各种实施方案中,由TVS1410产生的拓扑在一些情况下可跨越数据中心边界、可用容器边界(如图14中)或其它组织或物理边界。对于拓扑1460中的每个计算实例1440,显示相应颜色编码的性能指示符(PI)1470-例如,针对CI1440A、1440B、1440C、1440D和1440E分别示出PI1470A、1470B、1470C、1470D和1470E。在不同实施方案中,PI1470可指示各种不同类型的度量,或与度量相关联的比率,且在至少一些实现方式中所编码的性能信息的类型可以是可定制的。举例来说,可显示针对传入的和/或传出的流量的所测量的流量速率与当前配置的带宽限制的比率。在此实例情形中,红色PI可指示所测量的流量接近带宽限制(例如,超过带宽限制的75%),绿色PI可指示比率低于30%,且黄色PI可指示比率在30%与75%之间。在一些实现方式中,也可示出每个节点的数值或文字消息(例如,可将比率值显示为百分比)。在不同实施方案中,可通过TVS显示许多不同类型的性能指示符,包括网络带宽相关的指示符、等待时间相关的指示符(例如,最近测量的等待时间与针对包等待时间请求的上限的接近程度,或所测量的平均包传送等待时间与等待时间的目标上限之间的比率)、CPU相对于阈值的利用水平、存储装置利用水平、存储器利用水平等等。在一些实施方案中,除了或替代于热图中指示的比率(例如,所测量的值与某一定义的阈值的比率),可指示绝对值。在至少一些实现方式中,热图可由客户端侧组件(诸如web浏览器或GUI工具)基于可视化服务提供的信息来显示。因此,在这些实现方式中,可视化服务可负责获得度量,确定拓扑和性能指示符,以及用某种适当的格式向客户端侧组件提供选定数据集以用于包括在热图中。客户端侧组件接着可使用可视化服务提供的数据来显示热图。在至少一些实施方案中,可视化服务可包括后端和前端组件,其中后端组件负责产生可用热图形式呈现的基础数据,且前端组件负责热图的实际显示。
根据一些实施方案,TVS1410的用户可能够调整可视化显示的信息粒度。举例来说,在一个实现方式中,关于联网相关的性能指示符,客户端可指示对以下粒度中的任一者的偏好:(a)端口级粒度(例如,TCP或UDP端口级处的信息可以是优选的),(b)网络接口级粒度,(c)虚拟机级粒度,(d)主机级粒度,(e)机架级粒度,(f)数据中心房间级粒度,(g)数据中心级粒度,(h)可用容器级粒度,或(i)地理区域级粒度。在各种实施方案中,也可针对可显示性能指示符所针对的其它类型的资源或度量(诸如存储相关度量)选择粒度选择。TVS1410可聚集按所请求的粒度收集的度量以确定将包括在可视化或显示中的性能指示符。除了定制所显示的联网相关的信息的粒度之外,在至少一个实施方案中,还可针对各种流量种类定制显示。举例来说,可基于端点IP地址(例如,流量是在提供者网络内的两个实例之间流动,还是流向提供者网络之外的公共因特网地址),基于流量的端点被指派给的客户端账户,或基于产生流量所针对的应用或应用类型(例如,可请求对于数据库相关的流量是特定的热图,或可请求对于高性能计算是特定的热图)对到达或来自分布式***的给定节点的网络流量进行分类。在一些实施方案中,可使用流量分类(诸如图5中说明的流量分类)来过滤所显示的信息。在至少一些实现方式中,TVS的客户端可用编程方式定义其可能想要显示性能指示符所针对的流量种类。举例来说,客户端可指定其指派的计算实例的一个集合作为来源集合,且将实例或其它端点(例如,特定数据库实例)的另一集合作为目的地,并可基于指定的集合定义流量种类。
在一个实施方案中,可视化请求可包括时间成分-例如,请求可针对指定类型的度量指示将收集度量以产生所显示的性能指示符的时间段。在一些实施方案中,客户端可能够请求动态可视化,其中例如将指示指定时间段内的给定性能指示符的值的变化。指派给可视化请求者(例如,无论请求者关于服务具有管理访问许可还是非管理访问许可)的授权能力或角色也可充当控制可在各种实施方案中显示的信息的种类的隐式过滤器。在一些实施方案中,集中式可视化服务可用于观察属于一个以上网络可访问的服务的资源度量或性能指示符,且可视化的消费者可能够指示将显示性能指示符所针对的服务。举例来说,提供者网络的给定客户端账户可使用由提供者网络实现的关系数据库服务和非关系数据库服务两者,且可针对两个不同类型的数据库服务的相应拓扑和相关的联网性能指示符产生单独的热图。
拓扑可视化服务器的不同消费者可被授权访问所收集的度量的不同子集,且因此在一些实施方案中可按不同细节级别被提供可视化。图15说明根据至少一些实施方案的可用以产生用于服务管理者和服务的非管理客户端的热图的所收集的度量的不同子集的实例。如所示,在所描绘的实施方案中,管理者可访问的度量1510可以是可由非管理客户端访问的度量的超级集合。举例来说,在实现各种虚拟化多租户服务(诸如虚拟计算服务和一个或多个虚拟化存储服务)的提供者网络中,关于用以实现虚拟化的物理资源的信息(例如,正被使用的实例主机、正被使用的联网装置、物理资源在各种数据中心内的放置)因为多种理由可以被认为是机密的。提供诸如正用以服务客户端的硬件处理器和装置的类型等细节可以与实现虚拟化服务的主要目标中的一个相反:客户端无缝地利用各种服务特征而不必关心硬件细节的能力。然而,虚拟化服务的管理者可能需要知道关于正被使用的硬件的至少一些细节,例如以便提供适当数目和类型的硬件服务器、机架、联网装置和类似物。因此,在所描绘的实施方案中,与提供至非管理客户端的相比,管理者可能够观察由TVS1410产生的更详细的热图。
在一些实施方案中,暴露于非管理客户端的信息的类型可包括服务实例级性能指示符,诸如所测量的网络流量与指派给给定客户端账户或关联的客户端账户集合的实例的带宽限制的比率。在一些实施方案中,可代表组织(诸如私营部门或公共部门实体,或此实体内的部门)在提供者网络的一个或多个网络可访问的服务处建立客户端账户。在一些实现方式中,每个客户端账户可包含若干不同的用户账户或群组账户。在至少一些实施方案中,可关联不同的客户端账户例如以对大公司的各自建立相应客户端账户的两个不同部门进行组合计费。由TVS收集的度量中的一些仅可对一个客户端账户(例如,对针对该账户定义的用户/群组)可见,诸如客户端C2可访问的实例相关的度量1515B。其它度量可对与多个关联的客户端账户关连的用户/群组可见,诸如对客户端C1和C2可见的实例相关的度量1515A。
在各种实施方案中,若干度量类型可能不可由非管理用户访问。举例来说,与特定网络装置(诸如交换机、路由器、网关和类似物)相关联的度量1550通常可能不暴露于非管理者。类似地,针对实例主机(可能实现多个客户端的服务实例的硬件计算装置)收集的度量也仅可由管理者访问。在所描绘的实施方案中,关于数据中心的度量(例如,流入和流出特定数据中心的流量)也可仅限于管理使用。
因此,由TVS1410针对不同消费者种类产生的热图类型可不同。在所描绘的实施方案中,可向客户端C1提供从度量1515A得到的相当受限制的热图1450A,而客户端C2可观察来源度量包括1515A和1515B两者的热图1450B。管理用户可观察从较大度量收集1510得到的热图1450C。在至少一些实施方案中,可通过TVS在运行时间例如基于请求者的授权设置、能力或角色的确定而做出关于将用以对给定可视化请求做出响应的度量的子集的决定。
用于可视化的程序接口
在不同实施方案中,若干不同类型的程序接口可用以接收和响应于可视化请求。图16说明根据至少一些实施方案的可用以显示网络拓扑的热图的基于web的程序接口的实例。如所示,基于web的接口包括web页1602,其中网络拓扑的节点1610A、1610B和1610C与性能指示符1620A、1620B和1620C的相应集合一起显示。
在所描绘的实例中,性能指示符1620针对节点中的每一者的多个资源类型示出颜色编码的条目:网络带宽(在图16中通过标签“BW”表示)、CPU、盘和存储器(通过标签“Mem”)表示。图16中说明用于修改或定制热图的若干基于web的控件。举例来说,缩放控件1650可由观察者用以放大或缩小至拓扑的不同部分。资源选择器1652可用以从可视化过滤掉一些类型的资源,或增加更多资源类型。类似的选择器也可用以选择显示的时间段(即,对应于性能指示符的度量使用的收集的时间段)、网络流量种类、应用类型等等。在所描绘的实施方案中,也可允许观察者指定将用于可视化的阈值1654-例如,观察者可指示带宽限制的80%(或更高)的所测量的传送速率应通过红色BW性能指示符指示,小于30%的值应通过绿色BW性能指示符指示,等等。
图17说明根据至少一些实施方案的可通过拓扑可视化服务器1410经由程序接口1770接收的可视化请求1720的实例元素。在一些实施方案中,例如响应于客户端或管理者1710对类似于控件1650、1652或1654的一个或多个控件的选择,此请求可以经由类似于图16中所示的web页。在其它实施方案中,此请求可经由不同的GUI、API调用或从命令行工具提交。
如所示,请求1720可包括目标服务节点列表1725,其指示将包括在可视化中的服务节点集合。在一些实施方案中,服务节点集合的默认设置在特定节点集合的指示不是由请求者(例如通过默认)提供的情况下可由TVS1410使用,可选择指派给客户端账户的所有计算实例以用于可视化,或可将管理者发出请求的数据中心内的所有实例主机视为候选者以包括在可视化中。节点集合在一些实施方案中可明确地指示(例如,通过提供节点识别符诸如计算实例识别符的列表),或通过指示可用以搜索节点的过滤准则进行指示(例如,客户端可指示指定可用容器中的计算实例应包括在集合中)。还可在拓扑可视化请求中使用元素1728指示将包括在可视化中的网络流量和/或资源的种类。如先前所提到,在一些实施方案中,流量种类可由客户端定义。在其它实施方案中,替代于或除了客户端定义的种类之外,客户端或管理者1710可从多个预定义流量种类中进行选择。在一些实施方案中,不同资源种类也是可选择的-例如,是否应提供仅示出计算实例的热图,或是否应包括存储节点等等。
在一些实施方案中,还可在请求1720中指示可视化粒度1731-例如,是否需要主机级观察(关于网络流量),是否需要实例级观察,等等。可经由元素1734指示将用于产生可视化的从各种来源收集的度量的时间范围。在一些实现方式中,客户端可能够请求动态可视化-例如,可根据经由元素1737指示的客户端偏好显示选定时间段内的性能指示符的值的改变。应注意,至少在一些实施方案中,关于请求1720的元素可用的选择集合在用户之间可不同-例如,与可视化功能性的非管理用户相比,管理者可能够指定较宽偏好范围。在至少一个实施方案中,可通过TVS1410向管理者提供与向非管理用户提供的不同的程序接口1770的集合(例如,对具有管理凭证的用户可用的API集合比对其它用户可用的更广泛)。响应于请求1720,在所描绘的实施方案中,TVS1410可检索适当的数据集并以热图1450的形式提供对应显示。
网络拓扑可视化方法
图18说明根据至少一些实施方案的可被执行以产生包括分布式***的各种节点的性能指示符的拓扑可视化的操作方面。如元素1801所示,可通过TVS1410从多种数据来源诸如在提供者网络中实现的各种网络可访问的服务的服务实例、联网装置(诸如路由器、交换机、网关和类似物)以及分布式***的实例主机或其它类型的硬件或软件组件收集若干度量。所收集的度量可包括例如联网相关的度量(诸如入站或出站流量速率、当前可应用的带宽限制、所测量的和目标等待时间、网络错误数、包大小分布或丢包数)、处理器相关的度量(诸如总CPU利用、目标阈值CPU利用水平、内核与用户利用分割、活动进程/线程数)、存储器相关的度量(例如,可用的空闲存储器的量、分页速率等)和存储相关的度量(盘或其它存储装置利用、平均响应等待时间、队列长度等等)。在一个实施方案中,可从NCS180获得关于当前应用的限制(例如,带宽限制)的度量或性能目标(例如,等待时间目标)。在一些实施方案中,可能已收集度量中的一些或全部以用于其它目的,例如,以通过NCS180确定各种资源中的带宽分布,且TVS可从NCS的其它组件或从度量数据库190获得度量。在一个实施方案中,可通过各种数据来源将度量捎带在其它类型的消息上,诸如先前描述的根据健康监测协议发送的心跳消息。
TVS1410还可例如从提供者网络的账户管理服务1420或从身份管理服务获得用于正在分布式***中实现的各种服务的客户端账户信息(图18的元素1804)。账户信息可包括不同客户端账户之间(例如,一些客户端账户可与其它客户端账户关联以用于合并计费)以及客户端账户与用户账户或群组账户之间的关系,等等。在至少一些实现方式中,TVS可获得服务节点或实例与客户端账户之间的映射,例如指示代表客户端账户启动给定计算实例的所述客户端账户的信息。在至少一些实施方案中,也可获得物理布局信息(诸如数据中心的不同机架和房间中的实例主机的布置)、分布式***的不同节点与各种网络装置(诸如交换机和路由器)之间的网络链路或路径(元素1807)。可例如从库存服务或其它数据中心管理工具获得物理布局信息。
可确定相关节点或资源的一个或多个网络拓扑(元素1810),例如,将账户信息与物理布局信息合成在一起。取决于分布式***和其用户库的大小,在一些实施方案中,产生和/或存储综合的网络拓扑可能需要大量计算、存储器和/或存储资源。因此,在一些实施方案中可产生一些不同的网络拓扑,例如每个数据中心一个或每个地理区域一个。可使用所收集的度量创建对应于一个或多个拓扑的性能指示符的数据集(元素1813)。可确定或得到拓扑的各种节点的若干性能指示符中的任一者,诸如在最近时间间隔期间测量的流量速率与在该间隔期间应用的所应用的带宽限制的比率、在时间间隔期间观察的峰值等待时间与目标最大等待时间的比率、相对于目标最大或最小水平的所测量的CPU利用,等等。
可接收对至少性能指示符的子集的可视化请求(元素1816)。可确定请求者的授权设置,且可获得对应于请求和授权设置的性能指示符数据集的适当子集(元素1819)。可用静态或动态热图的形式显示颜色编码的可视化(元素1822)。客户端侧组件(诸如,浏览器、浏览器插件或GUI)可用以基于通过后端TVS1410提供的数据来显示热图。在一些实施方案中,也可在请求后使用TVS1410提供其它类型的可视化,诸如性能指示符的直方图、饼分图和类似物。应注意,在一些实施方案中,可按需要(例如在接收可视化请求之后并基于所请求的特定类型的性能指示符)产生拓扑。
客户端请求的资源使用限制减少
在一些分布式***中,客户端必须为各种服务支付的金额可取决于代表客户端在服务实例处产生的网络流量。在一些情形中,服务可定义每个服务实例可传送的数据量(或数据传送速率)的上限,且与流量成比例的费用可在这些上限以下应用。客户端因此可具有在这些环境中至少暂时地降低其网络使用的动力,以便满足预算。对于一些类型的服务,一些不同的标准化服务实例类型可对客户端可用,其中不同的联网限制和/或速率可应用于每个实例类型。图19说明根据至少一些实施方案的可被实现以用于网络可访问的服务的计算实例类型集合的实例,其中不同实例类型具有相应带宽限制和相应带宽使用定价策略集合。示出具有通过虚拟计算服务定义的四种不同的计算实例类型1902(“小”、“中等”、“大”和“超大”计算实例)的网络相关的设置的表。除了联网能力和带宽相关的定价的差异之外,实例类型可在各种性质方面不同,诸如计算能力、存储大小限制、存储器大小或总定价。
在所描绘的实施方案中,可针对两个不同的流量种类(分别标记为种类“A”和“B”)中的每一者的出站流量(列1904)和入站流量(列1908)定义单独的带宽限制。种类可关于例如所涉及的端点是否在提供者网络内,或流量是否导向至公共因特网而彼此不同。除了不同实例类型的带宽限制之外,图19还示出出站和入站带宽定价(分别是列1906和1910),其也可针对两种流量种类中的每一者单独地指定。应注意,实际上,一些价格在一些实施方案中可被提供者网络操作者设置为零-例如,恰好在同一数据中心内实例化的不同计算实例之间的流量可以是“免费的”。图19中说明的信息可由虚拟计算服务的可能的客户端访问,且可被客户端在决定将获取每个类型的实例数量时列入考虑(连同其它因素,诸如客户端的应用的计算性能要求、与带宽使用无关的定价策略等等)。一些客户端可使用例如图19中提供的信息种类而留出用于联网相关的成本的预算。取决于客户端应用的需要,情况有时可能是给定客户端至少在一些时间段期间需要利用的带宽远小于其实例类型支持的最大量,且因此可能够通过请求施加较低限制来更有效地管理成本。举例来说,在给定商业组织具有被授权访问给定网络可访问的服务的许多个别用户的环境中,与简单地请求个别用户自发地控制其相应带宽使用相比,应用较低带宽限制可能是减少联网相关的成本的更可靠的方式。
在至少一些实施方案中,与图1中说明的类似的集中式联网配置服务可用以实现客户请求的带宽限制和/或其它类型的资源使用减少限制。在各种实施方案中,可响应于客户端请求而应用一些类型的联网相关的限制中的任一者,例如,(a)在某个时间段内将不会被超过的平均流量传输速率,(b)甚至在短时间段内将不会被超过的峰值流量传输速率,(c)所传送的数据字节的总数的上限,或(d)所传送的网络消息的数目的上限。在一些实施方案中,将应用平均限制和/或峰值限制的时间段也可由客户端指示。图20说明根据至少一些实施方案的可由联网配置服务器180接收的资源使用限制减少请求2020的实例元素。在一些实施方案中,如上文所提到,给定可计费客户账户可具有与其相关联的一些用户账户,且不同的资源使用限制可应用于不同的用户账户。如所示,经由程序接口2070提交的请求2020可包括指示所请求的减少将应用的一个或多个用户账户的元素2023。在一些实施方案中,还可指示群组账户。在一个实施方案中,具有一些不同的计算实例或分配的其它资源的客户端2010可希望将较低资源使用限制应用于那些资源的某个子集。可经由限制减少请求2020的另一元素2026指示特定节点或针对的资源的识别符。在一些实现方式中,可通过客户端请求服务实例的某个集合的组合的资源使用限制。举例来说,客户端可请求将XGB/秒的带宽限制共同应用于实例I1、I2和I3,且如果在特定时间段期间实例的带宽使用总和超过XGB/秒,那么可视为已满足限制。
在一些实施方案中,相应使用限制可应用于不同的网络流量种类。如上文所描述,在一些实施方案中,网络可访问的服务可例如基于端点的网络地址的范围,基于端点的地理位置等等定义各种网络流量种类。在一些实施方案中,举例来说,相应限制可应用于(a)在一个或多个公共因特网链路上流动的流量,(b)在提供者网络数据中心内流动的流量,(c)在由提供者网络定义的给定地理区域内的两个提供者网络数据中心之间流动的流量,(d)在由提供者网络定义的两个不同的地理区域中的两个提供者网络数据中心之间流动的流量,或(e)在特定服务实例与在提供者网络处实现的不同服务的节点之间流动的流量。在图20所示的实施方案中,可经由元素2029指示目标是使用减少的一个或多个流量种类。
关于对网络流量的限制,可经由元素2032指示流动方向(减少的限制是应用于入站流量、出站流量还是两者都有)。可经由元素2035指示将应用新限制的时间范围(例如,开始时间、结束时间或两者)。在所描绘的实施方案中,可经由元素2038指示所请求的限制值(或当前限制减少至的程度)。举例来说,替代于指定新限制的绝对值,元素2038可指示当前带宽限制应减少25%。在一些实现方式中,当指示新限制时,客户端也可指示将使用的测量方法的方面-例如,如果请求平均带宽限制的改变,那么可指定将计算平均值的时间段,且如果请求较低峰值带宽,那么可指定将量化峰值带宽的时间段。在至少一些实施方案中,除了指定减少的限制之外,客户端2010还可经由元素2041定义相对于限制的一个或多个阈值,在所述阈值处将通过网络配置服务器180采取相应行动。举例来说,客户端2010可能希望被通知进或出计算实例的所测量的流量速率何时超过客户端请求的带宽限制的80%。在一些实现方式中,请求可包括在达到阈值时将通知提供至的一个或多个目的地(例如,电子邮件账户)的指示。在一些实现方式中,可指示一些不同的阈值和将采取的相应行动,例如,在带宽限制的80%处可产生通知,且在100%处可准许服务开始丢弃或舍弃包。在一些实施方案中,可在客户端的明确请求下或由服务主动地采取其它响应性行动,诸如暂时使一些包排队而不是传输包,或暂时放松/增大限制。
响应于接收请求2020,NCS180可向请求的客户端提供改变的确认2050,并起始适当的配置改变以应用所请求的限制。举例来说,在减少的带宽限制将应用于在实例主机处实现的计算实例的情形中,NCS180可将新限制传输至实例主机处的类似于图3中说明的堆栈310的虚拟化管理软件堆栈的组件。在一些实施方案中,NCS180在发送确认2050之前可等待直到已提交配置改变。
在一些实施方案中,可针对多个网络可访问的服务(诸如虚拟计算服务、各种类型的存储服务、数据库服务和类似物)中的任一者的实例请求资源使用限制减少。在一些实施方案中,替代于直接指示降低的资源使用限制值,客户端可指示在某个指示的时间段期间将满足的资源预算限制。作为响应,联网配置服务可监测客户端的服务实例的资源使用并确定对应的计费成本(例如,通过与所涉及的服务的计费管理组件通信)。如果达到接近预算限制的阈值(或预算限制本身),那么可通知客户端和/或可采取一个或多个响应性行动。因此,在至少一些实施方案中,资源预算限制可与资源使用限制类似地处理(或转化为资源使用限制)。应注意,至少在一些实施方案中,支持客户端请求的资源使用限制减少的配置服务器无需执行先前关于图1的NCS180描述的功能中的至少一些。举例来说,响应于使用减少请求2020的配置服务器不一定需要产生与图7类似的程序图,或与图5类似的分类树。
如先前所指示,在至少一些实施方案中,给定可计费客户端账户(例如,针对其职员将使用提供者网络的一个或多个网络可访问的服务的组织或实体建立的账户)可具有与其相关联的一些不同的用户账户或群组账户。在这些实施方案中,可针对不同用户或群组设置不同的资源使用限制。图21说明根据至少一些实施方案的网络可访问的服务的客户端账户2104A的总资源使用限制设置2110的建立和用户群组、个别用户和关联账户的相关资源使用限制设置的建立的实例。如所示,客户端账户2104A可定义有一个或多个关连的群组账户2120,诸如用户群组2120A和2120B。每个群组又可包括多个用户账户2123,诸如群组2120B的用户账户2123K和2123L。一些用户账户(诸如2123A、2123B和2123C)可能不属于任何用户群组。
在所描绘的实施方案中,可确定与客户端账户2104A关连的所有账户(诸如各种群组账户2120和用户账户2123)的总资源使用限制2110(诸如带宽限制)。一个或多个额外客户端账户(诸如账户2104B)可与客户端账户2104A关联,例如以用于合并计费或用于其它目的。在一个实例情形中,可能已使用提供者网络资源针对实现特定应用的组织O1设立客户端账户2104A,而可能已针对与O1搭档或利用O1实现的应用的不同组织O2设立客户端账户2104B。取决于设立两个客户端账户所针对的实体的偏好,总资源使用限制2110也可应用于关联的用户账户。在至少一些实施方案中,例如根据使用限制求和策略2190,在给定时间段内所有用户、群组和关联的账户的所测量的资源使用不可超过该时段期间应用于母客户端账户2104A的总资源使用限制。
在一些实施方案中,可针对不同用户、群组或关联账户请求不同的资源使用限制。举例来说,群组2120A和2120B可具有指派的相应限制2150A和2150B,而用户2123A、2123B、2123K和2123L可具有指派的相应限制2160A、2160B、2160K和2160L。一些用户(例如,2123C)和/或群组可能没有定义其自己的限制,在这种情况下其母群组限制和/或客户端账户限制可应用。关联账户2104B可定义了其自己的资源使用限制2170,这也可应用于关联账户内定义的用户和/或群组。关于图21中说明的资源使用限制,客户端账户2104A可看作“母”实体,而群组、用户和关联账户可看作“后代”实体。在至少一些实施方案中,可例如经由与图20的请求2020类似的请求来请求按图21中指示的不同粒度或级别中的任一者应用的资源使用限制的减少。如果所请求的减少将应用于母实体(诸如客户端账户2104A),那么可在使用限制求和策略2190中指示减少影响对后代实体施加的限制的方式。举例来说,在一个实施方案中,如果针对客户端账户请求总体上10%的带宽减少,那么将应用于源于客户端账户的每个用户或群组的带宽限制根据一个选定的策略2190也可减少10%。根据另一策略2190,只要(a)任何给定后代限制不超过母限制,且(b)所有后代节点在给定时间段内的实际资源使用的总和不超过母限制,那么后代限制可能不改变,除非明确地请求此改变。
支持客户端请求的资源使用限制减少的方法
图22说明根据至少一些实施方案的可被执行以使客户端能够减少对网络可访问的服务的一个或多个节点的资源使用限制的操作方面。如元素2201所示,可实现一个或多个程序接口以使得网络可访问的服务(诸如在提供者网络处实现的多租户虚拟计算服务)的客户端能够针对资源使用限制应用于的一个或多个服务实例请求资源使用限制的减少。程序接口可包括例如web页或web站、一个或多个API、GUI或命令行工具。
可例如在联网配置服务器处经由程序接口中的一者接收限制减少请求(元素2204)。限制减少请求可包括关于将应用的新限制的各种组成元素,诸如图20中所示的请求2020的组成的某个组合。可在请求中指示减少的限制将应用于的特定客户端账户、流量种类、服务实例和/或时间段。可例如在将限制应用于计算实例的情形中根据请求进行适当的配置改变,可关于新限制通知在受影响的实例主机处的虚拟化软件组件。可随时间从目标服务实例获得资源使用度量(元素2207)。响应于所测量的资源使用已达到阈值(其中阈值可根据新应用的限制而定义)的检测,可产生通知(例如,向减少的限制的请求者,或向请求者指示的一个或多个指定通知目标)(元素2210)。在一些实施方案中,可响应于已达到阈值的检测采取其它行动,例如,如果资源使用限制应用于带宽,那么可丢弃一个或多个包或使其排队,或在一些情况下可暂时放松限制。此使用限制放松在一些情况下可伴随有警告消息(例如,可警告客户端尽管已暂时放松限制,但持续地或重复地超过限制或阈值可能导致数据丢失)。在至少一些实施方案中,可通过请求使用限制减少的客户端指示一个或多个这些阈值和/或对应的响应性行动。
图23说明根据至少一些实施方案的可被执行以使客户端能够提交与分布式***的节点处的资源使用限制相关联的查询的操作方面。如元素2301所示,可实现一个或多个程序接口以用于各种类型的查询。一些客户端可例如希望确定相对于当前可应用的限制的资源使用的当前状态或度量。在另一情形中,客户端可能希望获得关于资源使用在一个或多个指定服务实例处随时间的改变的趋势信息,使得例如客户端能够预期何时需要改变资源使用限制。在又一情形中,可通过联网配置服务器支持关于资源使用的基于预算的查询-例如,客户端可指示关于一些服务实例的联网的目标预算限制,并请求对可有助于将客户端的成本保持在预算之下的带宽限制改变的建议。可经由程序接口中的一者从客户端接收查询(元素2304)。取决于查询的类型,可基于从查询应用于的服务实例收集的度量采取不同行动。
如果查询是关于资源使用的当前状态(元素2310),那么可提供指示资源使用的最近测量与服务实例处可应用的限制之间的差的响应(元素2351)。如果接收趋势查询(元素2313),那么可提供指示资源使用在选定时间间隔内的变化的响应(元素2354)。如果接收到基于预算的建议查询(元素2316),那么联网配置服务器可执行对于确定将使得客户端能够实现预算目标的一个或多个使用限制减少所必要的计算,并在查询响应中提供计算结果(元素2357)。在一些实施方案中,可支持其它类型的查询。
应注意,在各种实施方案中,除了图10、图11、图12、图13、图18、图22和图23的流程图中说明的操作之外的操作可用以实现所述的联网配置功能性的各个方面,且所示操作中的一些可能不实现,或可以不同顺序实现,或并行地而不是顺序地实现。举例来说,情况可以是,在一些实施方案中,可实现多线程NCS,在这种情况下可并行地执行图10中说明的操作的一些流来产生和传输用于相应目标节点的相应的分类元数据集合。
使用状况
上文描述的建立集中式联网配置服务器集合来对分布式***的许多节点处的网络流量整形的技术提供基于热图的资源可视化能力,且实现资源使用限制的客户端请求的减少,可用于许多情形。举例来说,提供者网络可包括分布在一些数据中心中的几十万个实例主机和大量网络装置,其中提供者网络的收益的至少一部分是基于流入和流出实例主机的网络流量的量而得到的。在这样大的环境中,在每个实例主机或网络装置处使用本地模块来做出联网管理决定可导致许多问题。首先,其可能不可能在给定实例主机处获得做出明智的联网管理决定必要的所有输入。第二,实例主机处所需的决定逻辑的复杂性可需要实例主机的大量计算能力,这可降低为客户端请求的服务实例留下的计算能力。当联网管理逻辑需要进行改变时,其可能必须传输至并应用于所有实例主机,这本身可以是资源密集和易于发生错误的实行。
相比之下,通过隔离将用于对少量联网配置服务器的流量整形的决定逻辑,可收集来自大的来源集合的输入,从而导致更明智的决定。可使用不必与其它服务共享的专用计算资源实现联网配置服务器,从而避免争用计算能力。与必须更新几百或几千个实例主机相比,可更容易地应用对联网配置逻辑的更新。集中式联网配置服务可能够易于向客户端提供本将难以获得的联网状态的统一视图(包括可配置热图)。用编程方式减少指定服务实例、用户账户或群组账户的资源使用限制的能力对于希望控制预算的客户端可以是有帮助的。
可鉴于以下条款描述本公开的实施方案:
1.一种***,其包括:
多个计算装置,其被配置用来:
实现一个或多个程序接口,使得客户端能够请求在至少时间间隔期间在提供者网络的多租户网络可访问的服务的一个或多个服务实例处施加比在所述请求之时实行的现有资源使用限制低的资源使用限制,其中所述较低资源使用限制将借助依赖于资源使用的定价策略被应用于至少一个网络流量种类;
经由所述一个或多个程序接口的特定接口接收客户端请求,所述客户端请求指示将对特定服务实例处的网络流量施加的特定较低资源使用限制;
获得对应于所述特定服务实例处的一个或多个网络流量种类的资源使用度量;以及
响应于确定与所述特定服务实例处的网络流量相关联的资源使用已达到至少部分根据所述特定较低资源使用限制确定的阈值水平,起始包括通知的产生的一个或多个响应性行动。
2.如条款1所述的***,其中所述特定较低资源使用限制包括以下中的一者的指示:(a)不会被超过的平均流量传输速率,(b)不会被超过的峰值流量传输速率,(c)所传送的数据的字节数的上限,或(d)所传送的网络消息的数目的上限。
3.如条款1所述的***,其中所述客户端请求指示所述特定较低资源使用限制将被应用于的特定网络流量种类,其中所述特定种类是选自包括以下中的一个或多个的与所述服务相关联的多个网络流量种类:(a)在一个或多个公共因特网链路上流动的流量,(b)在提供者网络数据中心内流动的流量,(c)在两个提供者网络数据中心之间流动的流量,(d)在所述特定服务实例与在所述提供者网络处实现的不同服务的节点之间流动的流量。
4.如条款1所述的***,其中所述客户端请求指示所述较低资源使用限制将被应用于的一个或多个网络流量流动方向,包括以下中的一者:(a)从所述特定服务实例流向一个或多个目的地的流量;(b)从一个或多个来源流向所述特定服务实例的流量。
5.如条款1所述的***,其中所述客户端请求指示在所述多租户网络可访问的服务处代表客户端建立的多个用户账户中的特定用户账户,其中所述较低资源使用限制将被应用于所述特定用户账户,且其中不同的资源使用限制应用于所述多个用户账户的不同用户账户。
6.一种方法,其包括:
通过多个计算装置执行:
实现程序接口,使得客户端能够请求在网络可访问的服务的一个或多个服务实例处施加比在所述请求之时实行的现有资源使用限制低的资源使用限制,其中所述较低资源使用限制将被应用于与所述服务相关联的至少一个网络流量种类;
经由一个或多个程序接口的特定接口接收客户端请求,所述客户端请求指示将对特定服务实例处的网络流量施加的特定较低资源使用限制;
获得对应于所述特定服务实例处的一个或多个网络流量种类的资源使用度量;以及
响应于确定与所述特定服务实例处的网络流量相关联的资源使用已达到至少部分根据所述特定较低资源使用限制确定的阈值水平,起始一个或多个响应性行动。
7.如条款6所述的方法,其中所述特定较低资源使用限制包括以下中的一者的指示:(a)不会被超过的平均流量传输速率,(b)不会被超过的爆发流量传输速率,(c)所传送的数据的字节数的上限,或(d)所传送的网络消息的数目的上限。
8.如条款6所述的方法,其中所述客户端请求指示所述特定较低资源使用限制将被应用于的特定网络流量种类,其中所述特定种类是选自包括以下中的一个或多个的与所述服务相关联的多个网络流量种类:(a)在一个或多个公共因特网链路上流动的流量,(b)在提供者网络数据中心内流动的流量,(c)在两个提供者网络数据中心之间流动的流量,(d)在所述服务的节点与在提供者网络处实现的不同服务的节点之间流动的流量。
9.如条款6所述的方法,其中所述客户端请求指示所述较低资源使用限制将被应用于的一个或多个网络流量流动方向,包括以下中的一者:(a)从所述特定服务实例流向一个或多个目的地端点的流量;(b)从一个或多个来源流向所述特定服务实例的流量。
10.如条款6所述的方法,其中所述客户端请求指示在所述多租户网络可访问的服务处代表客户端建立的多个用户账户中的特定用户账户,其中所述较低资源使用限制将被应用于所述特定用户账户,且其中不同的资源使用限制应用于所述多个用户账户的不同用户账户。
11.如条款6所述的方法,其中所述一个或多个响应性行动包括以下中的一者:(a)舍弃一个或多个包,(b)使一个或多个包排队,或(c)在特定时间段使将对所述特定服务实例处的网络流量施加的所述资源使用限制增大。
12.如条款6所述的方法,其还包括通过所述一个或多个计算装置执行:
实现不同的程序接口,使得客户端能够确定与所述特定服务实例处的网络流量相关联的所测量的资源使用;以及
响应于经由所述不同的程序接口接收的请求,提供所述所测量的资源使用的指示。
13.如条款6所述的方法,其中所述客户端请求包括将施加所述特定较低资源使用限制的时间段的指示。
14.如条款6所述的方法,其中所述客户端请求包括以下中的一者的指示:(a)所述阈值水平,或(b)所述一个或多个响应性行动的特定响应性行动。
15.如条款6所述的方法,其中使用提供者网络的实例主机实现所述网络可访问的服务,所述方法还包括通过所述一个或多个计算装置执行:
在所述提供者网络的集中式联网配置服务的特定服务器处接收对指定服务实例处的相应较低资源使用限制的多个客户端请求;以及
将所述相应较低资源使用限制的指示从所述特定服务器传输至在所述指定服务实例的相应实例主机处实例化的相应控制模块。
16.一种非暂时性计算机可访问的存储介质,其存储在一个或多个处理器上执行时执行以下操作的程序指令:
经由程序接口接收客户端请求,所述客户端请求指示将对网络可访问的服务的特定实例处的至少一个网络流量种类施加的特定较低资源使用限制;
获得对应于所述特定实例处的一个或多个网络流量种类的资源使用度量;以及
响应于确定与所述特定实例处的网络流量相关联的资源使用已达到阈值水平,起始一个或多个响应性行动。
17.如条款16所述的非暂时性计算机可访问的存储介质,其中所述指令在所述一个或多个处理器上执行时:
接收不同的客户端请求,所述不同的客户端请求指示将对所述网络可访问的服务的第一和第二实例处的网络流量共同施加的组合的资源使用限制;以及
响应于确定与所述第一和第二实例处的网络流量相关联的所述资源使用的总和已达到阈值水平,起始一个或多个响应性行动。
18.如条款16所述的非暂时性计算机可访问的存储介质,其中所述网络可访问的服务包括以下中的一者:(a)虚拟计算服务,(b)存储服务,或(c)数据库服务。
19.如条款16所述的非暂时性计算机可访问的存储介质,其中所述指令在所述一个或多个处理器上执行时:
接收不同的客户端请求,所述不同的客户端请求指示所述网络可访问的服务的不同实例处的联网资源的客户端预算上限;以及
响应于确定与所述不同实例处的联网资源相关联的客户端计费成本超过阈值,起始一个或多个响应性行动。
20.如条款16所述的非暂时性计算机可访问的存储介质,其中所述特定较低资源使用限制包括以下中的一者的指示:(a)不会被超过的平均流量传输速率,(b)不会被超过的爆发流量传输速率,(c)所传送的数据的字节数的上限,或(d)所传送的网络消息的数目的上限。
21.一种***,其包括:
一个或多个计算装置,其被配置用来:
从多个来源获得度量,包括从实现对提供者网络的多个客户端账户可访问的至少一个多租户网络可访问的服务的节点集合收集的网络流量度量;
确定网络拓扑,其指示至少(a)所述节点集合的第一节点和第二节点被指派给的相应客户端账户之间的关系,和(b)所述第一节点与所述第二节点之间的一个或多个网络链路;
产生所述网络拓扑的多个联网性能指示符的表示,包括所述第一节点和所述第二节点的相应联网性能指示符;以及
提供所述第一节点和所述第二节点的所述相应联网性能指示符以用于包括在响应于经由程序接口接收的请求而显示的可定制资源热图中。
22.如条款21所述的***,其中所述第一节点的所述联网性能指示符包括所述第一节点处的所测量的网络流量速率与通过被配置用于所述多租户网络可访问的服务的联网配置服务器针对所述第一节点确定的带宽限制之间的比率的指示。
23.如条款21所述的***,其中所述请求包括流量过滤准则的指示,根据所述准则针对所述第一节点处的多个网络流量种类的特定种类确定所述第一节点的所述联网性能指示符,其中所述多个种类的所述特定种类与另一种类在以下中的至少一个方面不同:(a)端点地址,(b)与端点地址相关联的客户端账户,或(c)代表应用产生所述网络流量的所述应用。
24.如条款21所述的***,其中所述一个或多个计算装置还被配置用来:
接收将在所述可定制资源热图中显示的一个或多个度量的选定粒度的指示,所述粒度包括以下中的一者:(a)端口级粒度,(b)网络接口级粒度,(c)虚拟机级粒度,(d)主机级粒度,(e)机架级粒度,(f)数据中心房间级粒度,(g)数据中心级粒度,(h)可用容器级粒度,或(i)地理区域级粒度;以及
至少部分基于所述选定粒度聚集所述一个或多个所收集的度量以用于包括在所述可定制热图中。
25.如条款21所述的***,其中响应于经由所述程序接口接收的所述请求,所述一个或多个计算装置还被配置用来:
获得所述请求的提交者的授权设置;
至少部分基于所述授权设置选择将用所述可定制资源热图表示的所收集的资源度量的子集。
26.一种方法,其包括:
通过一个或多个计算装置执行:
从提供者网络的多个来源获得度量,包括从代表所述提供者网络的一个或多个客户端账户实现网络可访问的服务的节点集合收集的网络流量度量;
产生网络拓扑,其表示所述节点集合的第一节点与第二节点之间的一个或多个关系;以及
提供所述第一节点和所述第二节点的相应联网性能指示符以用于包括在对应于所述网络拓扑的资源热图中,其中所述相应联网性能指示符是至少部分从所述度量的一部分得到的。
27.如条款26所述的方法,其中所述第一节点的所述联网性能指示符包括所述第一节点处的所测量的网络流量速率与针对所述第一节点设置的带宽限制之间的比率的指示。
28.如条款26所述的方法,其中所述资源热图包括以下中的一者:(a)所述第一节点的处理器性能指示符,或(b)所述第一节点的存储性能指示符,或(c)所述第一节点的存储器性能指示符。
29.如条款26所述的方法,其中所述第一节点的所述联网性能指示符包括所测量的网络等待时间与用于与所述第一节点处相关联的流量的网络等待时间的上限之间的比率的指示。
30.如条款26所述的方法,其中响应于请求产生所述资源热图,其中所述请求包括流量过滤准则的指示,根据所述准则针对所述第一节点处的多个网络流量种类的特定种类确定所述第一节点的所述联网性能指示符,其中所述多个种类的所述特定种类与另一种类在以下中的至少一个方面不同:(a)端点地址,(b)与端点地址相关联的客户端账户,或(c)代表应用产生所述网络流量的所述应用。
31.如条款30所述的方法,其还包括通过所述一个或多个计算装置执行:
实现不同的程序接口,使得客户端能够定义一个或多个网络流量种类;以及
经由所述不同的程序接口接收所述特定种类的定义。
32.如条款26所述的方法,其还包括通过所述一个或多个计算装置执行:
接收将经由所述资源热图显示的一个或多个度量的选定粒度的指示,所述粒度包括以下中的一者:(a)端口级粒度,(b)网络接口级粒度,(c)虚拟机级粒度,(d)主机级粒度,(e)机架级粒度,(f)数据中心房间级粒度,(g)数据中心级粒度,(h)可用容器级粒度,或(i)地理区域级粒度;以及
至少部分基于所述选定粒度聚集所述一个或多个度量以用于包括在所述资源热图中。
33.如条款26所述的方法,其还包括通过所述一个或多个计算装置执行:
接收将经由所述资源热图显示的一个或多个度量的选定收集时间段的指示;以及
至少部分基于所述选定收集时间段聚集所述一个或多个度量以用于包括在所述资源热图中。
34.如条款26所述的方法,其中所述多个来源包括以下中的一个或多个:(a)网络接口卡,(b)安装在虚拟化主机处的虚拟化软件堆栈的联网组件,(c)虚拟化计算服务的计算实例的联网组件,(d)网络分接装置,(e)交换机,(f)路由器,(g)网关,或(h)负载均衡器。
35.如条款26所述的方法,其中所述网络可访问的服务包括以下中的一者:(a)虚拟计算服务,(b)存储服务,或(c)数据库服务。
36.一种非暂时性计算机可访问的存储介质,其存储在一个或多个处理器上执行时执行以下操作的程序指令:
从多个来源获得度量,包括从代表多个客户端账户实现至少一个网络可访问的服务的节点集合收集的网络流量度量;
产生网络拓扑,其表示以下中的至少一者:(a)所述节点集合的第一节点和第二节点被指派给的相应客户端账户之间的关系,或(b)所述第一节点与所述第二节点之间的一个或多个网络链路;以及
提供所述第一节点和所述第二节点的相应联网性能指示符以用于包括在对应于所述网络拓扑的资源热图中,其中所述相应性能指示符是至少部分从所述度量的一部分得到的。
37.如条款16所述的非暂时性计算机可访问的存储介质,其中所述第一节点的所述联网性能指示符包括所述第一节点处的所测量的网络流量速率与针对所述第一节点设置的带宽限制之间的比率的指示。
38.如条款36所述的非暂时性计算机可访问的存储介质,其中所述指令在所述一个或多个处理器上执行时:
接收流量过滤准则的指示,根据所述准则针对所述第一节点处的多个网络流量种类的特定种类确定所述第一节点的所述联网性能指示符,其中所述多个种类的所述特定种类与另一种类在以下中的至少一个方面不同:(a)端点地址,(b)与端点地址相关联的客户端账户,或(c)代表应用产生所述网络流量的所述应用。
39.如条款36所述的非暂时性计算机可访问的存储介质,其中所述指令在所述一个或多个处理器上执行时:
接收将经由所述资源热图显示的一个或多个度量的选定粒度的指示,所述粒度包括以下中的一者:(a)端口级粒度,(b)网络接口级粒度,(c)虚拟机级粒度,(d)主机级粒度,(e)机架级粒度,(f)数据中心房间级粒度,(g)数据中心级粒度,(h)可用容器级粒度,或(i)地理区域级粒度;以及
至少部分基于所述选定粒度聚集所述一个或多个度量以用于包括在所述资源热图中。
40.如条款36所述的非暂时性计算机可访问的存储介质,其中所述指令在所述一个或多个处理器上执行时:
实现程序接口,使得所述网络可访问的服务的客户端能够请求至少所述度量的子集;
经由所述程序接口从特定客户端接收度量请求;以及
响应于确定所述特定客户端被授权获得所述度量请求中指示的一个或多个度量,向所述特定客户端提供所述一个或多个度量。
说明性计算机***
在至少一些实施方案中,实现本文中描述的技术中的一个或多个的一部分或全部的服务器可包括通用计算机***,其包括或被配置用来访问一个或多个计算机可访问的介质,本文中描述的技术包括实现联网配置服务器、联网配置服务管理器、拓扑可视化服务器和/或实例主机的技术。图24说明此通用计算装置3000。在所说明的实施方案中,计算装置3000包括经由输入/输出(I/O)接口3030耦合至***存储器3020的一个或多个处理器3010。计算装置3000进一步包括耦合至I/O接口3030的网络接口3040。
在各种实施方案中,计算装置3000可以是包括一个处理器3010的单处理器***,或包括几个处理器3010(例如,两个、四个、八个或另一合适的数目)的多处理器***。处理器3010可以是能够执行指令的任何合适的处理器。举例来说,在各种实施方案中,处理器3010可以是通用或嵌入式处理器,其实现多个指令集架构(ISA)中的任一者,诸如x86、PowerPC、SPARC或MIPSISA或任何其它合适的ISA。在多处理器***中,处理器3010中的每一者可通常但不是必须实现相同ISA。在一些实现方式中,可替代于或外加常规处理器而使用图形处理单元(GPU)。
***存储器3020可被配置用来存储可由处理器3010访问的指令和数据。在各种实施方案中,***存储器3020可使用任何合适的存储器技术实现,诸如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/快闪型存储器或任何其它类型的存储器。在所说明的实施方案中,实现一个或多个所需功能的程序指令和数据(诸如上文描述的那些方法、技术和数据)示出作为代码3025和数据3026存储在***存储器3020内。
在一个实施方案中,I/O接口3030可被配置用来协调处理器3010、***存储器3020与装置中的任何***装置(包括网络接口3040或其它***接口,诸如用以存储数据对象分区的物理复制品的各种类型的永久和/或易失性存储装置)之间的I/O流量。在一些实施方案中,I/O接口3030可执行任何必要的协议、时序或其它数据变换以将来自一个组件(例如,***存储器3020)的数据信号转换为适合另一组件(例如,处理器3010)使用的格式。在一些实施方案中,I/O接口3030可包括对通过各种类型的***总线附接的装置的支持,***总线诸如(例如)***组件互连(PCI)总线标准或通用串行总线(USB)标准的变体。在一些实施方案中,I/O接口3030的功能可***为两个或多个单独组件,诸如(例如)北桥和南桥。而且,在一些实施方案中,I/O接口3030的功能性中的一些或全部(诸如与***存储器3020的接口)可直接并入至处理器3010中。
网络接口3040可被配置用来允许数据在计算装置3000与附接至一个或多个网络3050的其它装置3060(诸如例如图1至图23中说明的其它计算机***或装置)之间交换。在各种实施方案中,网络接口3040可支持经由任何合适的有线或无线一般数据网络(诸如,例如以太网类型)进行的通信。另外,网络接口3040可支持经由电信/电话网络(诸如模拟语言网络或数字光纤通信网络)、经由存储区域网络(诸如光纤通道SAN)或经由任何其它合适类型的网络和/或协议进行的通信。
在一些实施方案中,***存储器3020可以是计算机可访问介质的一个实施方案,其被配置用来存储如上文针对图1至图23描述的用于实现对应方法和设备的实施方案的程序指令和数据。然而,在其它实施方案中,可在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可访问介质可包括非暂时性存储介质或存储器介质,诸如磁性或光学介质,例如经由I/O接口3030耦合至计算装置3000的盘或DVD/CD。非暂时性计算机可访问存储介质还可包括任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDRSDRAM、RDRAM、SRAM等)、ROM等,其可作为***存储器3020或另一类型的存储器包括在计算装置3000的一些实施方案中。另外,计算机可访问介质可包括经由诸如可经由网络接口3040实现的通信介质(诸如网络和/或无线链路)传送的传输介质或信号,诸如电信号、电磁信号或数字信号。多个计算装置(诸如图24中说明的计算装置)的一部分或全部可用以在各种实施方案中实现所描述的功能性;举例来说,在多种不同的装置和服务器上运行的软件组件可合作以提供该功能性。在一些实施方案中,除了或替代于使用通用计算机***实现,可使用存储装置、网络装置或专用计算机***实现所描述的功能性的一部分。如本文中所使用的术语“计算装置”指至少所有这些类型的装置,且不限于这些类型的装置。
结论
各种实施方案可进一步包括在计算机可访问介质上接收、发送或存储根据以上描述实现的指令和/或数据。一般来说,计算机可访问介质可包括存储介质或存储器介质(诸如磁性或光学介质,例如盘或DVD/CD-ROM)、易失性或非易失性介质(诸如RAM(例如,SDRAM、DDRRDRAM、SRAM等)、ROM等),以及经由通信介质(诸如网络和/或无线链路)传送的传输介质或信号(诸如电信号、电磁信号或数字信号)。
图式中说明的和本文中描述的各种方法表示方法的实例实施方案。方法可用软件、硬件或其组合实现。方法的顺序可改变,且各种元件可添加、重新排序、组合、省略、修改等。
可进行各种修改和改变,如对于受益于本公开的本领域技术人员将为明显的。旨在包含所有这些修改和改变,且相应地,以上描述应按照说明性的而不是限制性的意义看待。

Claims (15)

1.一种方法,其包括:
通过多个计算装置执行:
实现程序接口,使得客户端能够请求在网络可访问的服务的一个或多个服务实例处施加比在所述请求之时实行的现有资源使用限制低的资源使用限制,其中所述较低资源使用限制将被应用于与所述服务相关联的至少一个网络流量种类;
经由所述一个或多个程序接口的特定接口接收客户端请求,所述客户端请求指示将对特定服务实例处的网络流量施加的特定较低资源使用限制;
获得对应于所述特定服务实例处的一个或多个网络流量种类的资源使用度量;以及
响应于确定与所述特定服务实例处的网络流量相关联的资源使用已达到至少部分根据所述特定较低资源使用限制确定的阈值水平,起始一个或多个响应性行动。
2.如权利要求1所述的方法,其中所述特定较低资源使用限制包括以下中的一者的指示:(a)不会被超过的平均流量传输速率,(b)不会被超过的爆发流量传输速率,(c)所传送的数据的字节数的上限,或(d)所传送的网络消息的数目的上限。
3.如权利要求1所述的方法,其中所述客户端请求指示所述特定较低资源使用限制将被应用于的特定网络流量种类,其中所述特定种类是选自包括以下中的一个或多个的与所述服务相关联的多个网络流量种类:(a)在一个或多个公共因特网链路上流动的流量,(b)在提供者网络数据中心内流动的流量,(c)在两个提供者网络数据中心之间流动的流量,(d)在所述服务的节点与在提供者网络处实现的不同服务的节点之间流动的流量。
4.如权利要求1所述的方法,其中所述客户端请求指示所述较低资源使用限制将被应用于的一个或多个网络流量流动方向,包括以下中的一者:(a)从所述特定服务实例流向一个或多个目的地端点的流量;(b)从一个或多个来源流向所述特定服务实例的流量。
5.如权利要求1所述的方法,其中所述客户端请求指示在多租户网络可访问的服务处代表客户端建立的多个用户账户中的特定用户账户,其中所述较低资源使用限制将被应用于所述特定用户账户,且其中不同的资源使用限制应用于所述多个用户账户的不同用户账户。
6.如权利要求1所述的方法,其中所述一个或多个响应性行动包括以下中的一者:(a)舍弃一个或多个包,(b)使一个或多个包排队,或(c)在特定时间段使将对所述特定服务实例处的网络流量施加的所述资源使用限制增大。
7.如权利要求1所述的方法,其还包括通过所述一个或多个计算装置执行:
实现不同的程序接口,使得客户端能够确定与所述特定服务实例处的网络流量相关联的所测量的资源使用;以及
响应于经由所述不同的程序接口接收的请求,提供所述所测量的资源使用的指示。
8.如权利要求1所述的方法,其中所述客户端请求包括将施加所述特定较低资源使用限制的时间段的指示。
9.如权利要求1所述的方法,其中所述客户端请求包括以下中的一者的指示:(a)所述阈值水平,或(b)所述一个或多个响应性行动的特定响应性行动。
10.如权利要求1所述的方法,其中使用提供者网络的实例主机实现所述网络可访问的服务,所述方法还包括通过所述一个或多个计算装置执行:
在所述提供者网络的集中式联网配置服务的特定服务器处接收对指定服务实例处的相应较低资源使用限制的多个客户端请求;以及
将所述相应较低资源使用限制的指示从所述特定服务器传输至在所述指定服务实例的相应实例主机处实例化的相应控制模块。
11.一种***,其包括一个或多个处理器,所述一个或多个处理器耦合至存储器,所述存储器包括在所述一个或多个处理器上执行时使所述***执行以下操作的程序指令:
经由程序接口接收客户端请求,所述客户端请求指示将对网络可访问的服务的特定实例处的至少一个网络流量种类施加的特定较低资源使用限制;
获得对应于所述特定实例处的一个或多个网络流量种类的资源使用度量;以及
响应于确定与所述特定实例处的网络流量相关联的资源使用已达到阈值水平,起始一个或多个响应性行动。
12.如权利要求11所述的***,其中所述指令在所述一个或多个处理器上执行时还使所述***:
接收不同的客户端请求,所述不同的客户端请求指示将对所述网络可访问的服务的第一和第二实例处的网络流量共同施加的组合的资源使用限制;以及
响应于确定与所述第一和第二实例处的网络流量相关联的所述资源使用的总和已达到阈值水平,起始一个或多个响应性行动。
13.如权利要求11所述的***,其中所述网络可访问的服务包括以下中的一者:(a)虚拟计算服务,(b)存储服务,或(c)数据库服务。
14.如权利要求11所述的***,其中所述指令在所述一个或多个处理器上执行时还使所述***:
接收不同的客户端请求,所述不同的客户端请求指示所述网络可访问的服务的不同实例处的联网资源的客户端预算上限;以及
响应于确定与所述不同实例处的联网资源相关联的客户端计费成本超过阈值,起始一个或多个响应性行动。
15.如权利要求11所述的***,其中所述特定较低资源使用限制包括以下中的一者的指示:(a)不会被超过的平均流量传输速率,(b)不会被超过的爆发流量传输速率,(c)所传送的数据的字节数的上限,或(d)所传送的网络消息的数目的上限。
CN201480064245.9A 2013-11-25 2014-11-25 分布式***中的客户导向的联网限制 Pending CN105765556A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011029333.9A CN112134741B (zh) 2013-11-25 2014-11-25 分布式***中的客户导向的联网限制

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/089,230 US9674042B2 (en) 2013-11-25 2013-11-25 Centralized resource usage visualization service for large-scale network topologies
US14/089,224 2013-11-25
US14/089,224 US9647904B2 (en) 2013-11-25 2013-11-25 Customer-directed networking limits in distributed systems
US14/089,230 2013-11-25
PCT/US2014/067302 WO2015077756A1 (en) 2013-11-25 2014-11-25 Customer-directed networking limits in distributed systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011029333.9A Division CN112134741B (zh) 2013-11-25 2014-11-25 分布式***中的客户导向的联网限制

Publications (1)

Publication Number Publication Date
CN105765556A true CN105765556A (zh) 2016-07-13

Family

ID=53180290

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011029333.9A Active CN112134741B (zh) 2013-11-25 2014-11-25 分布式***中的客户导向的联网限制
CN201480064245.9A Pending CN105765556A (zh) 2013-11-25 2014-11-25 分布式***中的客户导向的联网限制

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011029333.9A Active CN112134741B (zh) 2013-11-25 2014-11-25 分布式***中的客户导向的联网限制

Country Status (6)

Country Link
EP (3) EP3671480B1 (zh)
JP (3) JP6450759B2 (zh)
CN (2) CN112134741B (zh)
AU (2) AU2014352692B2 (zh)
CA (3) CA3051918A1 (zh)
WO (1) WO2015077756A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363671A (zh) * 2018-02-07 2018-08-03 中国平安人寿保险股份有限公司 一种接口切换的方法、终端设备及存储介质
CN110036371A (zh) * 2016-11-29 2019-07-19 瑞典爱立信有限公司 参与者实例之间的资源分配
CN113037794A (zh) * 2019-12-25 2021-06-25 马上消费金融股份有限公司 计算资源配置调度方法、装置及***
CN115442310A (zh) * 2022-11-10 2022-12-06 中亿(深圳)信息科技有限公司 基于物联网卡的应用程序流量消耗级别划分方法及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002011B2 (en) 2013-11-04 2018-06-19 Amazon Technologies, Inc. Centralized networking configuration in distributed systems
US9256467B1 (en) * 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10742498B2 (en) 2016-06-22 2020-08-11 Amazon Technologies, Inc. Application migration system
US10212031B2 (en) * 2016-06-22 2019-02-19 Amazon Technologies, Inc. Intelligent configuration discovery techniques
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US11720412B2 (en) 2018-03-01 2023-08-08 Google Llc High availability multi-single-tenant services
JP6488421B1 (ja) 2018-09-12 2019-03-20 高周波熱錬株式会社 スナバ回路及びパワー半導体モジュール並びに誘導加熱用電源装置
US11290491B2 (en) * 2019-03-14 2022-03-29 Oracle International Corporation Methods, systems, and computer readable media for utilizing a security service engine to assess security vulnerabilities on a security gateway element
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances
CN110519183B (zh) 2019-09-29 2022-12-02 北京金山云网络技术有限公司 一种节点限速的方法、装置、电子设备及存储介质
CN111585892B (zh) * 2020-04-29 2022-08-12 平安科技(深圳)有限公司 数据中心流量管控方法和***
CN112073329B (zh) * 2020-08-25 2023-01-24 北京五八信息技术有限公司 分布式限流方法、装置、电子设备和存储介质
CN115348208B (zh) * 2021-04-27 2024-04-09 中移(苏州)软件技术有限公司 一种流量控制方法、装置、电子设备和存储介质
US11323339B1 (en) * 2021-08-27 2022-05-03 Juniper Networks, Inc. Service placement assistance
CN115277469A (zh) * 2022-07-12 2022-11-01 深圳壹账通智能科技有限公司 弱网可视化控制方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
CN102132255A (zh) * 2008-05-29 2011-07-20 思杰***有限公司 故障切换时使用备份虚拟服务器的指标通过多个虚拟服务器负载平衡的***和方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996090A (en) * 1997-10-29 1999-11-30 International Business Machines Corporation Method and apparatus for quantitative diagnosis of performance problems using external representations
US20020095498A1 (en) * 2000-06-05 2002-07-18 Accordion Networks Network architecture for multi-client units
JP4552128B2 (ja) * 2002-10-18 2010-09-29 カリデン テクノロジーズ,インク. メトリック・ルーテッド・ネットワーク内でトラフィック・エンジニアリングを実行する方法とシステム
US7457262B1 (en) * 2004-11-05 2008-11-25 Cisco Systems, Inc. Graphical display of status information in a wireless network management system
US7987272B2 (en) * 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
JP4589847B2 (ja) * 2005-09-05 2010-12-01 日本電信電話株式会社 動的制御用ネットワークリソース制御方法および動的制御用ネットワークリソース制御装置
US7636318B2 (en) * 2005-12-27 2009-12-22 Solana Networks Inc. Real-time network analyzer
JP2007335997A (ja) * 2006-06-12 2007-12-27 Sharp Corp 携帯通信端末装置
US20080002711A1 (en) * 2006-06-30 2008-01-03 Bugenhagen Michael K System and method for access state based service options
US7895353B2 (en) * 2008-02-29 2011-02-22 Oracle International Corporation System and method for providing throttling, prioritization and traffic shaping during request processing via a budget service
US20100029282A1 (en) * 2008-07-31 2010-02-04 Qualcomm Incorporated Resource partitioning in heterogeneous access point networks
JP5444174B2 (ja) * 2010-09-13 2014-03-19 日本電信電話株式会社 ネットワーク可視化装置
US8572241B2 (en) * 2010-09-17 2013-10-29 Microsoft Corporation Integrating external and cluster heat map data
WO2012077390A1 (ja) * 2010-12-07 2012-06-14 株式会社日立製作所 ネットワークシステム、及びそのサービス品質制御方法
JP5256406B2 (ja) * 2011-03-30 2013-08-07 日本電信電話株式会社 ネットワーク可視化方法およびネットワーク可視化装置
US9565074B2 (en) * 2011-04-26 2017-02-07 Openet Telecom Ltd. Systems, devices, and methods of orchestrating resources and services across multiple heterogeneous domains
US9130864B2 (en) * 2011-06-27 2015-09-08 Citrix Systems, Inc. Prioritizing classes of network traffic to provide a predetermined quality of service
US20130282540A1 (en) * 2012-04-19 2013-10-24 2Nd Watch, Inc. Cloud computing consolidator billing systems and methods
US9537749B2 (en) * 2012-06-06 2017-01-03 Tufin Software Technologies Ltd. Method of network connectivity analyses and system thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
CN102132255A (zh) * 2008-05-29 2011-07-20 思杰***有限公司 故障切换时使用备份虚拟服务器的指标通过多个虚拟服务器负载平衡的***和方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110036371A (zh) * 2016-11-29 2019-07-19 瑞典爱立信有限公司 参与者实例之间的资源分配
CN110036371B (zh) * 2016-11-29 2023-04-04 瑞典爱立信有限公司 参与者实例之间的资源分配
CN108363671A (zh) * 2018-02-07 2018-08-03 中国平安人寿保险股份有限公司 一种接口切换的方法、终端设备及存储介质
CN108363671B (zh) * 2018-02-07 2020-01-14 中国平安人寿保险股份有限公司 一种接口切换的方法、终端设备及存储介质
CN113037794A (zh) * 2019-12-25 2021-06-25 马上消费金融股份有限公司 计算资源配置调度方法、装置及***
CN113037794B (zh) * 2019-12-25 2023-04-18 马上消费金融股份有限公司 计算资源配置调度方法、装置及***
CN115442310A (zh) * 2022-11-10 2022-12-06 中亿(深圳)信息科技有限公司 基于物联网卡的应用程序流量消耗级别划分方法及装置
CN115442310B (zh) * 2022-11-10 2023-01-24 中亿(深圳)信息科技有限公司 基于物联网卡的应用程序流量消耗级别划分方法及装置

Also Published As

Publication number Publication date
EP3074876B1 (en) 2020-03-18
JP6450759B2 (ja) 2019-01-09
CA3051918A1 (en) 2015-05-28
JP2016541183A (ja) 2016-12-28
EP3074876A4 (en) 2017-06-28
JP2018170803A (ja) 2018-11-01
JP2020096385A (ja) 2020-06-18
CA2931524A1 (en) 2015-05-28
CN112134741B (zh) 2023-09-05
AU2014352692A1 (en) 2016-06-09
CA3051933A1 (en) 2015-05-28
EP3982270A1 (en) 2022-04-13
AU2014352692B2 (en) 2017-08-03
JP7057796B2 (ja) 2022-04-20
CN112134741A (zh) 2020-12-25
WO2015077756A1 (en) 2015-05-28
AU2017251757A1 (en) 2017-11-16
AU2017251757B2 (en) 2019-09-12
EP3074876A1 (en) 2016-10-05
JP6679673B2 (ja) 2020-04-15
EP3982270B1 (en) 2024-07-03
EP3671480B1 (en) 2022-01-05
CA2931524C (en) 2019-09-24
EP3671480A1 (en) 2020-06-24

Similar Documents

Publication Publication Date Title
CN105765556A (zh) 分布式***中的客户导向的联网限制
US10855545B2 (en) Centralized resource usage visualization service for large-scale network topologies
US9647904B2 (en) Customer-directed networking limits in distributed systems
US20200218556A1 (en) Centralized networking configuration in distributed systems
CN105683918A (zh) 分布式***中的集中式联网配置
US20210243132A1 (en) Unified network traffic controllers for multi-service environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160713

RJ01 Rejection of invention patent application after publication