当前位置: 首页 > 专利查询>谷歌公司专利>正文

保持路由信息的方法及网络设备控制器技术

技术编号:13910468 阅读:61 留言:0更新日期:2016-10-27 01:31
本公开的方面和实施方式被定向到用于存储地址表的网络设备130。每个地址表条目被指派给相应的所配备的索引值以及分布式服务的实例。所述设备被配置为通过以下步骤将新的服务实例添加到地址表:获取可指派的索引值,用于新的服务实例;识别所指派的索引值,所指派的索引值是所获取的索引值的陪伴索引值;将与陪伴索引值相关联的分组源地址集合分为第一地址子集和第二地址子集;以及将第一地址子集指派给地址表中与指派的陪伴索引值相关联的服务实例条目,并将第二地址子集指派给地址表中与所获取的索引值以及新添加的服务实例相关联的条目。将数据分组从客户端路由到特定主机,用于基于传入分组的特性(例如,源地址)以及基于负载平衡规则所选择的分布式服务的实例。网络控制器将每个服务实例当做具有陪伴实例。在添加新的服务实例时,网络控制器识别用于新的服务实例的陪伴实例,并将指派给陪伴实例的地址集合分为两个集合,一个用于先前存在的陪伴实例,另一个用于新的服务实例。在移除服务实例时,网络控制器将用于被移除的服务实例的地址重新指派回到陪伴实例。在一些情况下,将对等服务实例陪伴之间的配对重新分布,从而使得在需要时,每个服务实例都具有陪伴实例。

【技术实现步骤摘要】
【国外来华专利技术】相关申请本申请要求2014年1月31日提交的名为“CONSISTENT HASHING USING EXACT MATCHING WITH APPLICATION TO HARDWARE LOAD BALANCING”的美国专利申请序列号14/169,776的优先权及其权益,其全部内容基于所有目的通过引用合并于此。
技术介绍
通过计算服务的多个实例,可将分布式计算服务提供给客户端设备。通常,客户端设备可以与这些实例中的任何一个交互,以访问分布式计算服务。可通过多个计算设备和/或虚拟服务器来托管计算服务的实例。负载平衡器将客户端请求跨多个实例分布,从而避免多个计算设备和/或虚拟服务器变得负担过重。网络设备一般基于与数据分组相关联的地址信息来处理数据分组。例如,路由器通常基于与数据分组相关联的地址(例如,用于所接收的数据分组的报头信息中所指示的目的地地址)将所接收的数据分组转发给下一个网络目的地(“下一跳”)。
技术实现思路
在一个方面中,本公开涉及一种保持用于由多个服务实例所提供的分布式服务的路由信息的方法。所述方法包括提供地址表,所述地址表具有少于或等于所配备的索引值的集合中索引值的数目的条目的数目,每个条目被指派给相应的所配备的索引值以及分布式服务的实例。所述方法包括通过以下步骤将新的服务实例添加到地址表:获取可指派的索引值,以指派给新的服务实例;识别所指派的索引值,所指派的索引值是所获取的索引值的陪伴索引值;将与陪伴索引值相关联的分组源地址集合分为第一地址子集和第二地址子集;以及将第一地址子集指派给地址表中与所指派的陪伴索引值相关联的服务实例条目,并将第二地址子集指派给地址表中与所获取的索引值以及新添加的服务实例相关联的条目。所述方法包括通过执行以下操作获取可指派的索引值,以指派给新的服务实例:在所配备的索引值的集合中识别存在的、未指派的索引值;以及在没有未指派的索引值可用时,在所配备的索引值的集合中增加索引值的数目并选择新配备的索引值。在一些实施方式中,所述方法包括通过以下步骤从地址表移除服务实例:识别第三地址子集,第三地址子集被指派给地址表中与第一索引值相关联的服务实例条目,用于要被移除的服务实例;识别第四地址子集,第四地址子集被指派给地址表中与第二索引值相关联的服务实例条目,第二索引值是第一索引值的陪伴索引值;将组合地址子集指派给地址表中与第二索引值相关联的服务实例条目,组合地址子集包括第三地址子集和第四地址子集;以及从表中清除与第一索引值相关联的服务实例条目。在一个方面中,本公开涉及一种网络设备控制器。所述网络设备控制器包括存储器,所述存储器存储地址表,其中所述地址表具有少于或等于所配备的索引值的集合中索引值的数目的条目的数目。每个条目被指派给相应的所配备的索引值以及分布式服务的实例。所述网络设备控制器包括至少一个处理器,所述处理器被配置为通过执行以下操作将新的服务实例添加到地址表:获取可指派的索引值,以指派给新的服务实例;识别所指派的索引值,所指派的索引值是所获取的索引值的陪伴索引值;将与陪伴索引值相关联的分组源地址集合分为第一地址子集和第二地址子集;以及将第一地址子集指派给地址表中与指派的陪伴索引值相关联的服务实例条目,并将第二地址子集指派给地址表中与所获取的索引值以及新添加的服务实例相关联的条目。至少一个处理器被配置为通过执行以下操作获取可指派的索引值,以指派给新的服务实例:在所配备的索引值的集合中识别存在的、未指派的索引值;以及在没有未指派的索引值可用时,在所配备的索引值的集合中增加索引值的数目并选择新配备的索引值。在一些实施方式中,至少一个处理器被配置为通过执行以下操作从地址表移除服务实例:识别第三地址子集,第三地址子集被指派给地址表中与第一索引值相关联的服务实例条目,用于要被移除的服务实例;识别第四地址子集,第四地址子集被指派给地址表中与第二索引值相关联的服务实例条目,第二索引值是第一索引值的陪伴索引值;将组合地址子集指派给地址表中与第二索引值相关联的服务实例条目,组合地址子集包括第三地址子集和第四地址子集;以及从表中清除与第一索引值相关联的服务实例条目。在一个方面中,本公开涉及一种用于存储非暂时性处理器可执行指令的有形计算机可读存储介质,所述指令在由包括存储介质以及一个或多个处理器的计算设备执行时,使得一个或多个处理器执行操作,所述操作包括:在计算机可读存储器中存储地址表,所述地址表具有少于或等于所配备的索引值的集合中索引值的数目的条目的数目,每个条目被指派给相应的所配备的索引值以及分布式服务的实例。所述指令使得一个或多个处理器通过以下操作将新的服务实例添加到地址表:获取可指派的索引值,以指派给新的服务实例;识别所指派的索引值,所指派的索引值是所获取的索引值的陪伴索引值;将与陪伴索引值相关联的分组源地址集合分为第一地址子集和第二地址子集;以及将第一地址子集指派给地址表中与所指派的陪伴索引值相关联的服务实例条目,并将第二地址子集指派给地址表中与所获取的索引值以及新添加的服务实例相关联的条目。所述指令使得一个或多个处理器通过执行以下操作获取可指派的索引值,以指派给新的服务实例:在所配备的索引值的集合中识别存在的、未指派的索引值;以及在没有未指派的索引值可用时,在所配备的索引值的集合中增加索引值的数目并选择新配备的索引值。在一些实施方式中,所述指令使得一个或多个处理器通过以下操作从地址表移除服务实例:识别第三地址子集,第三地址子集被指派给地址表中与第一索引值相关联的服务实例条目,用于要被移除的服务实例;识别第四地址子集,第四地址子集被指派给地址表中与第二索引值相关联的服务实例条目,第二索引值是第一索引值的陪伴索引值;将组合地址子集指派给地址表中与第二索引值相关联的服务实例条目,组合地址子集包括第三地址子集和第四地址子集;以及从表中清除与第一索引值相关联的服务实例条目。附图说明通过结合附图参照以下详细描述,能够更好地理解本公开的上述和相关目的、特征和优点,在附图中:图1A是示例网络设备的框图;图1B是将用于分布式服务的多个主机连接到更广泛的数据网络示例网络设备的框图设备;图2是示例索引配对的框图;图3是图示出将地址集映射到服务实例的示例表的图;图4A是将服务实例添加到地址表中的示例方法的流程图;图4B和图4C是图示出将新的服务实例添加到表的示例的图;图5A是从地址表移除服务实例的示例方法的流程图;图5B是图示出从表移除服务实例的示例的图;以及图6是根据示意性实施方式的计算系统的框图。在不同附图中相同的附图标记和指定表示相同的元件。具体实施方式本公开的方面和实施方式一般涉及负载平衡。一般而言,可通过将不同的请求路由给服务的不同实例,将对于分布式服务的请求负载平衡。可以在不同的物理服务器主机或虚拟服务器主机上托管不同的实例。网络路径中的网络设备(诸如交换机或路由器)确定应当向其转发特定请求的服务实例。网络设备可以实现应用于每个传入分组的负载平衡规则的集合。在一些实施方式中,进行负载平衡的所有业务都到达发往相同目的地地址(例如,用于分布式服务的虚拟地址)的网络设备。除了负载平衡规则基于可充当一致性标识符的传入分组的特性(例如,源地址)来路由业务之外,负载平衡规则还可以按照与基于目本文档来自技高网...

【技术保护点】
一种保持由多个服务实例所提供的分布式服务的路由信息的方法,包括:提供包括条目集合的地址表,其中:所述地址表具有的条目数目少于或等于所配备的索引值集合中的索引值数目,并且其中每个所述条目被指派给相应的所配备索引值以及所述分布式服务的实例;以及通过以下步骤将新的服务实例添加到所述地址表:通过(1)在所配备的索引值集合中识别存在的、未指派的索引值,或通过(2)在所配备的索引值集合中增加所述索引值数目并选择新配备的索引值,由网络设备控制器获取可指派的索引值,以指派给所述新的服务实例;由所述网络设备控制器识别所指派的索引值,所指派的索引值是所获取的索引值的陪伴索引值;由所述网络设备控制器将与所述陪伴索引值相关联的分组源地址集合分为第一地址子集和第二地址子集;以及由所述网络设备控制器将所述第一地址子集指派给所述地址表中与所指派的陪伴索引值相关联的所述服务实例条目,并将所述第二地址子集指派给所述地址表中与所获取的索引值以及所述新添加的服务实例相关联的条目。

【技术特征摘要】
【国外来华专利技术】2014.01.31 US 14/169,7761.一种保持由多个服务实例所提供的分布式服务的路由信息的方法,包括:提供包括条目集合的地址表,其中:所述地址表具有的条目数目少于或等于所配备的索引值集合中的索引值数目,并且其中每个所述条目被指派给相应的所配备索引值以及所述分布式服务的实例;以及通过以下步骤将新的服务实例添加到所述地址表:通过(1)在所配备的索引值集合中识别存在的、未指派的索引值,或通过(2)在所配备的索引值集合中增加所述索引值数目并选择新配备的索引值,由网络设备控制器获取可指派的索引值,以指派给所述新的服务实例;由所述网络设备控制器识别所指派的索引值,所指派的索引值是所获取的索引值的陪伴索引值;由所述网络设备控制器将与所述陪伴索引值相关联的分组源地址集合分为第一地址子集和第二地址子集;以及由所述网络设备控制器将所述第一地址子集指派给所述地址表中与所指派的陪伴索引值相关联的所述服务实例条目,并将所述第二地址子集指派给所述地址表中与所获取的索引值以及所述新添加的服务实例相关联的条目。2.根据权利要求1所述的方法,进一步包括:通过以下步骤从所述地址表移除服务实例:对于要被移除的所述服务实例,由所述网络设备控制器识别第三地址子集,所述第三地址子集被指派给所述地址表中与所述第一索引值相关联的服务实例条目;由所述网络设备控制器识别第四地址子集,所述第四地址子集被指派给所述地址表中与第二索引值相关联的服务实例条目,所述第二索引值是所述第一索引值的陪伴索引值;由所述网络设备控制器将组合地址子集指派给所述地址表中与所述第二索引值相关联的服务实例条目,所述组合地址子集包括所述第三地址子集和所述第四地址子集;以及由所述网络设备控制器从所述表中清除与所述第一索引值相关联的所述服务实例条目。3.根据权利要求2所述的方法,进一步包括:由所述网络设备控制器确定所述第一索引值小于所述第二索引值;由所述网络设备控制器将所述地址表中与所述第二索引值相关联的所述服务实例条目的所述关联从与所述第二索引值的关联改变为与所述第一索引值的关联。4.根据权利要求1所述的方法,其中所配备的索引值集合中的所配备索引值数目是2的幂。5.根据权利要求4所述的方法,其中在所配备的索引值集合中增加所述索引值数目包括:使所配备的索引值数目加倍。6.根据权利要求4所述的方法,其中识别特定索引值的陪伴索引值包括:由所述网络设备控制器将所配备的索引值集合中的所配备索引值数目的一半添加到所述特定索引值,将所配备的索引值集合中的所配备索引值数目取模。7.根据权利要求1所述的方法,包括:生成所述地址表。8.一种网络设备控制器,包括:存储器,所述存储器存储包括条目集合的地址表,其中所述地址表具有的条目数目少于或等于所配备的索引值集合中的索引值数目,并且其中每个所述条目被指派给相应的所配备索引值以及由多个服务实例所提供的分布式服务的实例;以及至少一个处理器,所述至少一个处理器被配置为通过执行以下操作将新的服务实例添加到所述地址表:通过(1)在所配备的索引值集合中识别存在的、未指派的索引值,或通过(2)在所配备的索引值集合中增加所述索引值数目并选择新配备的索引值,来获取可指派的索引值,以指派给所述新的服务实例;识别所指派的索引值,所指派的索引值是所获取的索引值的陪伴索引值;将与所述陪伴索引值相关联的分组源地址集合分为第一地址子集和第二地址子集;以及将所述第一地址子集指派给所述地址表中与所指派的陪伴索引值相关联的所述服务实例条目,并将所述第二地址子集指派给所述地址表中与所获取的索引值以及所述新添加的服务实例相关联的条目。9.根据权利要求8所述的网络设备控制器,其中所述至少一个处理器被进一步配置为通过执行以下操作从所述地址表移除服务实例:对于要被移除的所述服务实例,识别第三地址子集,所...

【专利技术属性】
技术研发人员:莫尼亚·戈巴第亚历山大·施瑞尔
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1