分布式系统中的集中式联网配置的制作方法_2

文档序号:9916555阅读:来源:国知局
关系的求和策略可能不相关或不可用于NCS确定的一些类型的联网配置选项,诸如等待时间约束或目标、服务质量目标、包分段设置,或至少部分关于包大小确定的设置。
[0026]除了使用树或树状结构来表示流量种类集合之外,在一些实施方案中,NCS还可产生第二数据结构来对将用以将流量单元分类成各种类的程序建模。在一些实现方式中,可称作分类程序图的第二数据结构可包括决定节点的一个或多个序列,其中给定序列的每个相继节点指示将用以将流量单元分类成较窄种类的一个或多个准则。在至少一个实现方式中,分类程序图的决定节点中的一些可包括可用于从多个种类选择中选择一个种类的查找表(诸如散列表)。可基于将被分类的网络流量单元的一个或多个性质来对查找表的实体编索引-例如,目的地或来源IP地址的一部分或全部可用于编索引,或另一包报头字段的一部分或甚至包的主体的内容可用以在表中查找特定条目。在至少一些实施方案中,查找表条目又可导致另一分类程序图或子图。因此,在这些实现方式中,包的给定性质可首先导致从一些可能的查找表条目中选择查找表条目,且接着选定的查找表条目的处理又可导致决定节点的另一集合(其本身可包括其它查找表)的遍历,最终结束于识别包的种类。在各种实施方案中可使用这些程序步骤针对网络包和/或其它流量单元定义相当精细的细粒度种类映射图,从而实现复杂的流量整形。在至少一些实现方式中,可针对传入的和传出的流量产生不同的分类层级和/或程序。
[0027]使产生的元数据包括具有相关联的联网配置选项的流量种类集合和用以将网络流量单元映射至种类的逻辑,在一些实施方案中,NCS可产生用于传输至应用元数据的节点的元数据的便携式表示。举例来说,在各种实现方式中,元数据的一个或两个成分可根据行业标准协议或语言诸如JSON(JavaScript对象表示法)、XML(可扩展标记语言)、YAML(其首字母缩写词具有诸如“另一种标记语言”或“YAML不是标记语言”的若干可能的扩展的串行化格式)来编码。在其它实现方式中,专有编码技术或协议可用以产生数据结构的便携式版本。
[0028]便携式表示可传输至提供者网络或分布式系统的目标节点,例如至控制/管理模块,诸如可解析表示并实现由程序图指示的程序的网络管理模块。使用所接收的元数据,可随后在目标节点处将各种流量单元分类至适当的种类中,且可根据针对其相应流量种类指示的联网配置选项(诸如带宽限制或等待时间要求)调度和/或调节或延迟各种网络传输。可将在这些传输期间收集的度量反馈至NCS,从而使得能够在随后的时间段改进元数据。因此,可在NCS与最终实现在NCS处做出的决定的节点之间建立反馈回路,从而允许随时间动态地调整联网管理参数。在各种实施方案中,使用这些可定制流量分类和配置技术可使得集中式联网配置系统能够在提供者网络的各部分处将流量控制和整形为任何所需粒度等级。
[0029]在不同实施方案中,各种方法可用于将分类元数据分布至目标节点。举例来说,在一个实施方案中,NCS可被配置用来周期性地(例如,至少每X分钟一次)将分类元数据“推送”至已被指派有NCS的主机和/或网络装置中的每一者。在一些实施方案中,各种类型的触发事件(诸如检测可能的网络入侵或攻击)可导致新的分类元数据的散布。举例来说,试图减轻或限制攻击的影响,可降低一些节点集合处的带宽限制,或可定义具有低带宽限制的新种类,如下文进一步详细描述。在另一实施方案中,提供者网络的至少一些节点可例如通过向NCS发送元数据请求和作为响应接收元数据来从其指派的NCS “拉动”流量分类元数据。在一些实施方案中,可使用调度的推送技术、基于触发事件的元数据的分布和/或节点起始的拉动技术的组合。
[0030]在一些实施方案中,提供者网络或其他分布式系统可组织成多个地理区域,且每个区域可包括一个或多个可用容器,其在本文中也可称作“可用区”。可用容器又可包括一个或多个不同的位置或数据中心,其以一种方式策划使得给定可用容器中的资源与其它可用容器中的失效隔离。也就是说,预期一个可用容器中的失效可能不会与任何其它可用容器中的失效在时间上或因果上相关;因此,资源实例或控制服务器的可用模式旨在独立于不同的可用容器中的资源实例或控制服务器的可用模式。客户端可能够通过在相应可用容器中启动多个应用实例来保护其应用以防在单个位置失效。同时,在一些实现方式中,可在驻留于同一地理区域内的资源实例之间提供便宜的和低等待时间网络连接(且同一可用容器的资源之间的网络传输可甚至更快)。为了针对联网配置系统实现所需可用性和/或性能等级,在一些这类实施方案中,可在每个可用区中设立至少一个联网配置服务器。在一些实施方案中,可在每个数据中心内建立至少一个NCS。在一些实施方案中,可至少部分基于性能要求-例如基于联网配置系统可通过产生修改的带宽限制并在适当的节点集合处应用修改的限制来响应于网络攻击或其它触发的事件的迅速程度来确定将在给定区域、可用容器或数据中心内设立的NCS的数目。
[0031]根据一个实施方案,可通过联网配置系统实现一个或多个程序接口(诸如API(应用编程接口)、web页、命令行工具、图形用户界面和类似物)以供客户端和/或提供者网络的其它服务使用。在一个这种实施方案中,如上文所提到,各种服务的客户端或管理者可提交配置请求(诸如带宽压倒请求)以设置或改变特定服务实例或主机的联网配置选项。一些客户端可能希望例如在至少一些时间间隔增大(或减小)至少一些应用的带宽限制。在一些实施方案中,给定客户端可被分配许多服务实例(诸如几百或几千个计算实例、存储实例、数据库实例和类似物),且客户端可能希望获得其服务实例子集的联网状态(包括可应用带宽限制、等待时间设置和类似物)的最新的合并视图。在一些实施方案中,联网配置服务的程序接口可用以例如通过提供者网络的控制台服务或通过一些其它合并的网络视图产生器提供此统一视图。在一些实施方案中,程序接口还可由其它服务(诸如负责识别将启动新服务实例的实例主机的实例放置服务)使用。当将特定实例主机视为新服务实例的候选者时,此放置服务可从在程序接口上使用的联网配置服务获得信息,诸如候选者处的最近的带宽使用趋势、网络传输最近已调节的次数和/或那个实例主机的当前建立的网络带宽限制或等待时间设置,并在确定新服务实例的放置时使用此信息。
[0032]实例系统环境
[0033]图1说明根据至少一些实施方案的系统100的实例,在系统100中实现集中式联网配置服务来管理分布式计算环境的多个节点处的网络流量。如所示,可建立联网配置服务器180(诸如NCS 180A和NCS 180B)的池182。在一些实施方案中,NCS 180可分布在计算环境的各种数据中心中,如图2中所说明和下文所描述。给定NCS 180在不同实施方案中可例如包括一个或多个软件和/或硬件模块,且在一些情况下本身可使用多个计算装置实现。NCS180可被配置用来从几个不同类型的来源接收输入。在所描绘的实施方案中,可通过NCS基于输入和/或鉴于全局联网管理策略122来确定将应用于分布式计算环境的各种元件处的可定制流量分类逻辑和联网配置选项(诸如带宽限制)。从联网配置服务的角度看,可将分布式计算环境的元件分类为三个高级种类:测量相关的组件107、决定组件108和实现组件109。测量相关的组件107可包括NCS的各种输入来源;决定组件108可包括NCS本身;且实现组件109可表示实体,在实体处执行决定来对网络流量整形,或由决定组件产生的输出用于其它目的。可通过以下来建立类似于经典控制系统反馈回路的反馈回路:从实现组件中的一些(诸如服务实例主机144和/或网络装置145)获得测量并使用那些度量来确定NCS 180随后做出的决定,所述决定又可被实现,从而导致反过来影响未来决定的额外测量。
[0034]在所描绘的实施方案中,可例如通过度量收集器125从实例主机144和/或联网装置145搜集若干类型的联网相关的度量,且可将所述度量放置在可由NCS 180访问的度量数据库190中。举例来说,这些度量可包括在一时间间隔期间给定主机处的传入的和传出的网络流量速率(例如,用字节或包表示)、对应于诸如TCP(传输控制协议)或UDP(用户数据报协议)的各种协议的网络连接的数目、在一时间间隔期间下降的包的数目和包下降的原因、传输因为实施当前带宽限制而延迟的包的数目、包的大小的分布、代表应用到或从给定节点发生的流量的所述应用、代表客户端起始流量的所述客户端、与包递送相关联的等待时间和/或各种传输中涉及的端点的IP地址。除了存储在数据库190中的度量之外,NCS还可从系统100的额外输入数据来源110(诸如安全服务111或流量度量聚集器112)接收输入。安全服务111可被配置用来监测系统100的各部分处的流量模式来检测网络入侵或攻击(其中一些可起源于系统100外部,例如来自公共因特网上的各位置,而其它可起源于实例主机144中的一些本身)。当检测到可疑流量模式时,例如如果存在导向至给定网络地址的突然且持续爆发的高流量,那么安全服务111可告知NCS 180,其可采取减轻措施。举例来说,NCS 180可产生将应用的新的流量种类和对应的带宽限制,或更改现有种类的带宽限制,且将新修改的或产生的分类元数据传输至适当的主机来限制可能的安全事件的影响。流量度量聚集器112可将从收集器125传输的度量组合成存储桶,例如按照IP地址的存储桶或按照客户端的存储桶,并可将存储桶的表示提供给NCS,且在做出联网配置决定时被列入考虑。
[0035]在图1所示的实施方案中,客户端压倒请求130和/或管理者压倒请求131也可在NCS 180做出的决定中起作用。举例来说,基于全局策略122和其它度量,NCS 180可确定实例主机144处的给定流量种类Cl的带宽限制针对正考虑的下一时间间隔将设置为2千兆位/秒。然而,计算实例恰好在该实例主机处实例化的客户端可提交用于该计算实例的5千兆位/秒的带宽的请求,或在该实例主机处实现的服务的管理者可提交将带宽限制为I千兆位/秒的请求,而且在所描绘的实施方案中这些请求可由NCS使用来压倒其它因素。在按照与代表客户端招致的流量的量成比例的网络流量的账单量对客户端收费的实施方案中,一些客户端可能希望对其带宽使用施加上限来控制成本,而且这些上限也可表示压倒请求130的实例。
[0036]根据一些实施方案,给定NCS180可针对已被指派有NCS的一个或多个实例主机144和/或网络装置145产生流量分类元数据。在至少一些实施方案中,也可针对存储装置(诸如针对网络附接的存储(NAS)装置)产生分类元数据。元数据可包括一级或多级流量种类的层级,其可表示为例如树数据结构,其中树的每个节点表示相应流量种类且具有联网配置选项或设置(诸如带宽限制或等待时间要求)的相关联的集合。在一些实施方案中,流量求和策略可应用于分类树,如下文参照图5所描述,根据流量求和策略,表示为母节点的子节点的流量种类的实际流量速率不可超过母节点的带宽限制。在针对每个实例主机144产生相应分类树的一些实施方案中,主机级分类树可通过NCS 180组合成机架级树或甚至数据中心级分类树,如下文参照图6所描述。可使用这些较高级的树,例如,以为了获得对网络流量流的较宽角度,和/或为了做出比按照实例主机或按照网络装置可能的更高级的决定。
[0037]除了分类树之外,在所描绘的实施方案中,流量分类元数据也可包括用以将网络流量单元(诸如包)映射至分类树中定义的各种种类的程序。程序步骤可表示(例如)为程序图的决定节点。在一些实现方式中,给定程序图可包括一个或多个决定节点序列,其中相继节点包括将用以使网络流量单元与相继更窄的流量种类匹配的准则的指示。在至少一个实现方式中,一些决定节点可包括查找表,诸如散列表。使用此查找表节点,可使用单个图节点将给定包或流量单元映射至许多不同种类中的一者,因而减小程序图的大小和复杂性。在一些情况下,查找表节点条目可充当其它程序图或子图的指针,因而使得能够使用细粒度的分类逻辑或准则。并入有查找表的程序图和决定节点的实例示于图6和图7中且在下文进一步详细描述。在至少一些实施方案中,除了分布至适当的实例主机144和/或网络装置145之外,分类元数据可存储在分类数据库192中。
[0038]根据一些实施方案,在NCS180处产生的元数据可经由分布系统127传输至其预期目的地。在一些实现方式中,分布系统127本身可包括多个中间节点,中间节点也可用于将其它类型的元数据分布至系统100的各种节点,诸如路由信息和/或访问控制列表。在数据库192用作所产生的元数据的存储库的实施方案中,可例如通知(例如,通过订阅通知机制)分布系统127的节点何时更新数据库192,且分布系统127的节点可相应地将新的元数据传送至适当的目的地。在一些实施方案中,可通过NCS本身或通过分布系统127使用诸如JS0N、XMUYAML的协议或专有技术或语言来产生元数据(例如,分类树和程序)的便携式表示。在一个实现方式中,便携式表示可存储在数据库192中。在目的地处,在实例主机144的情况下可例如通过虚拟化管理软件堆栈的联网管理模块来解析所接收的元数据表示,如图3中所说明且在下文进一步详细描述。
[0039]在一个实施方案中,可设立一个或多个API服务器170来处置来自实现子系统109的其它输出目的地150的导向于NCS 180处的请求。举例来说,一个或多个服务器可被配置为合并网络视图产生器152,以向客户端提供分布式环境的选定部分的联网状态的统一视图。在一个实现方式中,举例来说,客户端可被指派各种实例主机处的几百或几千个服务实例,且可能能够经由视图产生器152实现的控制台查看其实例的各种类型的度量(诸如最近传入的/传出的流量速率、下降的包速率、可应用的带宽限制和类似物)。在至少一个实施方案中,放置服务151也可能够经由API服务器170从NCS访问网络带宽限制和其它度量,这可有助于做出关于将用于将启动的新服务实例的实例主机的决定,或有助于将现有服务实例移动至具有较少带宽连接的实例主机。
[0040]图2说明根据至少一些实施方案的提供者网络环境的实例,在该环境中在一些可用容器中的每一者中建立相应联网配置服务器。如所示,在所描绘的实施方案中,提供者网络202可包括一些可用容器203,诸如203A、203B和203C。每个可用容器又可包括一个或多个数据中心205,诸如可用容器203A中的数据中心205A和205B、可用容器203B中的数据中心205C和可用容器203C中的数据中心205D。如先前所描述,每个可用容器203可用一种方式设计和策划(例如,具有相应独立的基础结构元件,诸如电源,且在不同可用容器之间具有某一地理距离),使得任何给定可用容器中的各种类型的失效事件的影响可通常限于该可用容器。因此,失效和/或错误可能通常不会扩展跨越可用容器边界,且可认为不同可用容器具有独立的失效模式或独立的可用模式。即使给定可用容器遭受例如自然灾害,那么可预期其它可用容器保持为操作的。
[0041]与避免或减少跨越可用容器的依赖性的设计目标保持一致,在所描绘的实施方案中,可在每个可用容器203中建立至少一个NC
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1