CN100539580C - 数据网络中的负载平衡方法和装置 - Google Patents
数据网络中的负载平衡方法和装置 Download PDFInfo
- Publication number
- CN100539580C CN100539580C CNB038128020A CN03812802A CN100539580C CN 100539580 C CN100539580 C CN 100539580C CN B038128020 A CNB038128020 A CN B038128020A CN 03812802 A CN03812802 A CN 03812802A CN 100539580 C CN100539580 C CN 100539580C
- Authority
- CN
- China
- Prior art keywords
- parameter
- path
- hash
- group
- hash calculation
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/17—Interaction among intermediate nodes, e.g. hop by hop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
数据通信网络中的负载平衡装置,包括用于对到来数据分组计算哈希函数的哈希逻辑。阈值检测器连接到哈希逻辑,用于响应对下游对象超出预定阈值的使用,引发所述哈希逻辑中哈希函数的参数从第一组参数到第二组参数的重新规定,以在下游对象之间重新分布数据分组。使用中,哈希逻辑引导该分组,以基于哈希计算,利用第一组参数,经由第一路由选择通路,将其路由选择到网络中的下游对象,如果超出阈值,则根据单独的哈希计算,利用第一组参数和第二组参数,有选择地将该分组引导到第一路由选择通路和第二路由选择通路中的一条通路,以便随后基于一种单独的哈希计算的结果,而经由从第一和第二路由选择通路中选择出的一条通路对分组进行路由选择。
Description
本发明一般涉及数据网络中的负载平衡,尤其涉及用于在数据网络中进行负载平衡的方法和装置。
数据网络通常包括通过数据通信网络基础结构互连到多个客户端计算机的多个服务器计算机。网络基础结构通常包括多个中间数据通信装置或节点,例如交换机、路由器等,用于在客户端计算机和服务器计算机之间为数据分组进行路由选择。这种数据通信装置通常包括:多个输入/输出(I/O)端口;交换机结构,用于将在一个端口上接收的数据分组路由选择到一个或多个其它端口;以及控制逻辑,用于控制交换机结构,以根据包含在瞬态数据分组中的地址信息,在端口之间形成合适的连接。
关于这种数据网络的一个问题是,在网络基础结构中的不同节点之间平衡负载的问题。随着由网络基础结构处理的数据通信量增大,更加难以及时保持基础结构中的节点承载的负载之间的平衡。从而导致了通信瓶颈和延迟。
根据本发明,提供了一种用于数据通信网络中的负载平衡装置,该装置包括:用于对到来数据分组计算哈希(hash)函数的哈希逻辑;连接到所述哈希逻辑的阈值检测器,用于响应对下游对象超出预定阈值的使用,引发所述哈希逻辑中哈希函数的参数从第一组参数到第二组参数的重新规定,以在下游对象之间重新分布数据分组;其中在使用中,哈希逻辑引导该分组,以基于哈希计算,利用第一组参数,经由第一路由选择通路,将其路由选择到网络中的下游对象,并且如果超出阈值,则根据单独的哈希计算,利用第一组参数和第二组参数,有选择地将该分组引导到第一路由选择通路和第二路由选择通路中的一条通路,以便随后基于一种单独的哈希计算的结果,而经由从第一和第二路由选择通路中选择出的一条通路对分组进行路由选择。
优选地,如果单独的哈希计算的结果相交,则使用的所述哈希逻辑将所述数据分组引导到第一路由选择通路,否则,将所述数据分组引导到第二路由选择通路。在本发明的优选实施例中,该装置还包括连接到所述哈希逻辑的滤波器,用于有选择地使寿命超出预定值的流绕过哈希逻辑。在本发明的尤其优选的实施例中,该装置还包括第一路由选择通路和第二路由选择通路,第一路由选择通路包括连接到哈希逻辑的第一路由选择逻辑,而第二路由选择通路包括连接到哈希逻辑的第二路由选择逻辑,其中,第一路由选择通路比第二路由选择通路快,并且其中,在第二路由选择通路上,根据分组流状态选择下游对象。
第一路由选择逻辑可以包括至少一个网络处理器,而第二路由选择逻辑可以包括至少一个通用处理器。第二路由选择逻辑可以配置为在数据分组流中检测流分隔符,并且,当检测到起动指示时,根据哈希计算利用第二参数对相应的流进行路由选择。第二路由选择逻辑还可以配置为检测超出预定不活动时间的分组流,并根据哈希函数利用第二参数对这样的流进行路由选择。而且,第二路由选择逻辑可以配置为检测超出预定寿命的分组流,并将这样的流引导到第一路由选择逻辑。
本发明延伸到一种包括如上所述的负载平衡装置的专用集成电路。本发明还延伸到包括如上所述的负载平衡装置的网络基础结构节点。而且,本发明延伸到包括这种网络基础结构节点的数据通信网络。
从另一方面看本发明,其中提供了一种数据通信网络中的负载平衡方法,该方法包括:对到来数据分组计算哈希函数;响应对下游对象超出预定阈值的使用,引发哈希函数的参数从第一组参数到第二组参数的重新规定,以在下游对象之间重新分布数据分组;以及引导该分组,以基于哈希计算,利用第一组参数,经由第一路由选择通路,将其路由选择到网络中的下游对象,并且如果超出阈值,则根据单独的哈希计算,利用第一组参数和第二组参数,有选择地将该分组引导到第一路由选择通路和第二路由选择通路中的一条通路,以便随后基于一种单独的哈希计算的结果,而经由从第一和第二路由选择通路中选择出的一条通路对分组进行路由选择。
在本发明的优选实施例中,该方法包括,如果单独的哈希计算相交,则将数据分组引导到第一路由选择通路,否则,将所述数据分组引导到第二路由选择通路。
为了在硬件中最好地平衡10,000s和100,000s的流,需要确定保持流的最小状态,但是维持例如主机间的TCP流的活动流的连通性的方案。
在本发明的优选实施例中,提供了一种迭代硬件负载平衡技术,其中使用哈希函数在数据通信网络中的多个主机、中间节点和/或网络接口之间平衡分组流。对每个分组中在流持续期间不变的部分,例如关于流的资源的地址,进行哈希。该技术在其中只利用一组哈希参数计算哈希函数的状态与其中给出两组哈希参数的状态之间交替。在一种状态中,已知一个哈希结果。在另一种状态中,已知两个哈希结果之差。该技术识别路由选择快通路和路由选择慢通路。路由选择快通路可以在诸如网络处理器或类似的专用集成电路(ASIC)的专用硬件中进行。路由选择慢通路在通用处理器(GPP)上的软件中可以更好的执行。将进程中的无数据流从负载平衡对象之间移除,除非维持连续性。这有利地保证了不打断流的连通性,并且不对分组进行重新排序。另外,保留数据流在两种哈希函数的交集之外的状态。不过这种继续保留的状态不断地并大批地减少。这有利地使硬件成本最小化。而且,通过借助例如网络处理器硬件的专用硬件进行快通路路由选择,数据通信性能得到了远超过现有可用水平的改进。
下面将参考附图,作为示例,描述本发明的优选实施例,其中:
图1是数据通信网络的方框图;
图2是数据通信网络的基础结构节点的方框图;
图3是基础结构节点的另一个方框图;
图4是与基础结构节点的控制点关联的流程图;
图5是与基础结构节点的负载平衡器关联的流程图;以及
图6是与基础结构节点的负载平衡器关联的另一个流程图。
首先参考图1,数据通信网络140包括多个网络对象10-120。网络对象包括网络节点10-90和用于在网络节点10-30之间通信数据分组的居间网络链接100-120。网络节点10-90包括终端节点10-60和基础结构节点70-90。链接110-130的基础结构节点70-90共同形成网络基础结构130。终端节点10-60包括多个客户端数据处理装置10-30和多个服务器计算机系统40-60。客户端10-30和服务器40-60通过居间网络基础结构100相互连接。每个客户端10-30都可以是个人计算机、膝上型计算机、个人数字助理、移动电话等。每个服务器40-60可以是文件服务器、打印服务器、或类似的主机数据处理或数据存储资源。
在操作中,利用通过网络基础结构100的数据分组流,实现客户端10-30和服务器40-60之间的数据通信。数据分组流根据一种或多种数据通信协议在客户端10-30和服务器40-60之间路途中(en route)的网络基础结构的基础结构节点70-90之间传递。每个基础结构节点70-90执行分组路由选择功能,以将其接收的数据分组转送到合适的接收对象。
现在参考图2,每个基础结构节点70-90包括第一路由选择逻辑220、第二路由选择逻辑210、以及既连接到第一路由选择逻辑220又连接到第二路由选择逻辑210的负载平衡器200。第一路由选择逻辑220和第二路由选择逻辑210都执行相同的路由选择功能。然而,第一路由选择逻辑220比第二路由选择逻辑更快地执行路由选择功能。从而,第一路由选择逻辑220提供相对快的路由选择通路,而第二路由选择逻辑210提供相对慢的路由选择通路。
现在参考图3,在本发明尤其优选的实施例中,每个基础结构节点包括连接到控制点400的网络处理器(NP)300。负载平衡器200和第一路由选择逻辑220都在NP 300中实现。特别地,NP 300包括用于执行负载平衡器200的负载平衡决策的可执行软件,以及用于执行分组路由选择功能的第一路由选择逻辑220的硬件逻辑实现。负载平衡器200包括滤波器230和连接到滤波器230的哈希逻辑240。
连接到NP 300的控制点(CP)400包括连接到存储器420的通用处理单元(GPP)410。在存储器420中存储有计算机程序代码,该计算机程序代码用于在由GPP 410运行时,实现流状态控制器430、阈值检测器440和490、哈希参数生成器450、冲突流状态表460、“长寿命”流状态表480、以及路由器470。流状态控制器430计算客户端-服务器流的状态。阈值检测器440监测服务器40-60的当前负载状态,以提供负载管理。路由器470实现第二路由选择逻辑210。由CP 400执行分组路由选择功能比由NP 300执行分组路由选择功能慢。
在操作中,负载平衡器200根据滤波器230和哈希逻辑240的当前状态,确定由第一路由选择逻辑220还是由CP 400处理每个到来数据分组流。由CP 400根据对网络140中的一个或多个下游对象的普遍需要(prevailingdemand),控制滤波器230和哈希逻辑240两者的状态。为了例如防止由非最优分布的客户端请求造成的对一个或多个下游对象的不必要的过载,需要这种负载平衡。通过防止不必要的过载,最优化网络140中的可得服务水平。负载平衡器200通过其中的哈希逻辑240,执行哈希功能以平衡网络中对象之间的数据分组流。特别地,哈希逻辑240对到来数据分组中在分组流期间保持不变的一些部分,例如源地址,执行哈希功能。负载平衡器200在已知两种哈希功能的结果之间的差别的状态与只已知一种哈希功能的结果的状态之间交替。滤波器230可以使一些分组流绕过哈希逻辑240。
在操作中,滤波器230将到来的数据分组流引导到第一路由选择逻辑220或者哈希逻辑240。哈希逻辑240根据来自CP 400的控制输入,将该分组引导到第一路由选择逻辑220或其中实现第二路由选择逻辑210的CP 400。如果将分组传递到第一路由选择逻辑220,则使其与来自哈希逻辑240或滤波器230的路由选择信息耦合。所增加的路由选择信息引导第一路由选择逻辑220选择特定路由选择通路。如果哈希功能将分组重新引导到第二路由选择逻辑210,则该路由选择信息也包括在该分组中。
现在参考图4,控制点400在步骤500起动,并且负载平衡器200的哈希逻辑240和滤波器230初始化。滤波器230设为空闲。哈希逻辑240的初始参数可以基于操作员配置。可选择地,初始哈希参数可以基于对要平衡的对象40-60的资源容量的自动查询。这种资源能力的例子包括CPU速度、接口速度等。在步骤510,CP 400在反馈存储器430中累计与要平衡的对象40-60中的资源利用相关的统计量。
在步骤520,阈值检测器440相对于预定阈值检查流状态控制器430中累计的统计量,以确定是否对象40-60中的至少一个对象相对于其它对象被过分使用。在确定是肯定的情况下,则在步骤530,由哈希参数发生器450计算新的哈希参数,并将新的哈希参数作为第二参数设置而载入哈希逻辑240中。新的哈希参数基于所收集的统计量最优地分布网络通信量。在步骤540,CP 400起第二路由选择逻辑210的作用。具体地,CP 400从负载平衡器200接收分组,当哈希逻辑240既用旧的又用新的参数设置计算哈希函数时,该负载平衡器200产生不同的哈希结果。对于这种“冲突流”,CP 400在冲突流状态表460中建立并维持每个流状态的信息。如果CP 400没有在可配置时间间隔内接收到冲突流的分组,或者如果CP 400至少一次接收到流结束指示,例如TCP FIN位,则认为所述流关闭,并将其状态标记为“旧且结束”。
在步骤545,CP 400通过第二路由选择逻辑470将分组转送到负载平衡对象40-60中的一个。如果分组所属的流的状态标记为“旧且结束”,则利用新的哈希参数将分组转送到哈希计算的结果。否则,利用旧哈希参数将分组转送到哈希计算的结果。
在不比步骤540中分配给检测流结束的时间间隔短的时间间隔之后,在步骤550,阈值检测器490相对于预定阈值检查未结束的冲突流数。如果阈值检测器490检测出的流数量小于或等于阈值所设置,则在步骤560,将未结束流的全部本地状态移到“长寿命”流状态表480中,并清空冲突流状态表460。在这种情况下,在步骤560,“长寿命”流状态表480中的内容转到负载平衡器200的滤波函数230,并移除哈希逻辑240的旧哈希参数。如果在步骤550中阈值检测器490检测出的未结束冲突流多于阈值所设置,则CP400继续从负载平衡器200接收哈希冲突分组。
在步骤570,CP 400接收属于“长寿命”流的分组的复本。在步骤580,CP 400检查以确定分组是否携带了例如TCP FIN位的流结束指令,或“长寿命”流是否已不活动达预定间隔。如果两项判定都是否定的,则CP 400回到步骤570,继续接收属于“长寿命”流的分组的复本。
如果在步骤580检测到流结束,则在步骤585,从“长寿命”流表480和滤波器230中都移除相应的流条目。在步骤590,CP 400检查“长寿命”流表480是否为空。如果是,则CP 400的状态返回到步骤510中对反馈信息的累计。如果“长寿命”流表480非空,则CP 400返回步骤570,接收属于“长寿命”流的分组的复本。
可以由CP 400使用深入(deep)分组处理,以识别进程中将被认为结束的流。例如,在一些情况中,可以无损害地将进程中的文件传送协议(FTP)流路由选择到新的服务器。
现在参考图5,在操作中,在步骤600,滤波器230检查是否已为每个到来分组设置了滤波规则。如果是,则在步骤610,滤波器230对照本地滤波规则对分组流标识符进行匹配。如果不存在滤波规则或者没有匹配的规则,则在步骤620,将分组转送到哈希逻辑240。如果分组匹配滤波规则,则在步骤630,根据匹配滤波规则将该分组与其路由选择信息耦合。在步骤640,将该分组复制到CP 400中,并且在步骤650,将该分组发送到第一路由选择逻辑220。
参考图6,哈希逻辑240在两种状态之间交替,其中已知一组哈希参数,或已知一组旧的和一组新的哈希参数。在步骤700,哈希逻辑240根据新的参数组计算哈希结果。在步骤710,哈希逻辑240检查以确定是否存在一组旧的哈希参数。如果不存在旧的参数组,则在步骤720,将该分组和哈希结果传递到第一路由选择逻辑220,以将该分组发送到适当的目标对象40-60。如果存在一组旧的哈希参数,则在步骤730,根据旧的参数组计算哈希结果。在步骤740,检查哈希结果,以确定这两次哈希计算是否得到相同的结果。如果是,则在步骤720将该分组传递到第一路由选择逻辑220,以将其路由选择到适当的目标对象40-60。如果否,则在步骤750,将该分组和两个哈希结果都传递到CP 400,以进行慢通路路由选择。
在本文中上述本发明的实施例中,网络130中的每个基础结构90-110都包括负载平衡功能。然而,应该理解,网络130可以装配成,只有基础结构节点的子集包括负载平衡功能。
数据通信网络的负载平衡装置包括用于对到来数据分组计算哈希函数的哈希逻辑。阈值检测器连接到哈希逻辑,用于响应对下游对象超出预定阈值的使用,引发哈希逻辑中哈希函数的参数从第一组参数到第二组参数的重新规定,以在下游对象之间重新分布数据分组。使用中,哈希逻辑引导该分组,以基于哈希计算,利用第一组参数,经由第一路由选择通路,将其路由选择到网络中的下游对象,并且如果超出阈值,则根据单独的哈希计算,利用第一组参数和第二组参数,有选择地将该分组引导到第一路由选择通路和第二路由选择通路中的一条通路,以便随后基于一种单独的哈希计算的结果,而经由从第一和第二路由选择通路中选择出的一条通路对分组进行路由选择。
概括地说,这里作为示例对本发明进行的描述是数据通信网络中的负载平衡装置200,其包括用于对到来数据分组计算哈希函数的哈希逻辑240。阈值检测器440连接到哈希逻辑240,用于响应对下游对象超出预定阈值的使用,引发哈希逻辑240中哈希函数的参数从第一组参数到第二组参数的重新规定,以在下游对象之间重新分布数据分组。在使用中,哈希逻辑240引导该分组,以基于哈希计算,利用第一组参数,经由第一路由选择通路,将其路由选择到网络中的下游对象,并且如果超出阈值,则根据单独的哈希计算,利用第一组参数和第二组参数,有选择地将该分组引导到第一路由选择通路和第二路由选择通路中的一条通路,以便随后基于一种单独的哈希计算的结果,而经由从第一和第二路由选择通路中选择出的一条通路对分组进行路由选择。然而,应该理解,本发明不限于两组哈希参数。在本发明的其它实施例中,哈希逻辑240可以使用多于两组的哈希参数。
Claims (13)
1.一种用于数据通信网络中的负载平衡装置,该装置包括:
用于对到来数据分组计算哈希函数的哈希计算装置;
连接到所述哈希计算装置的阈值检测器,用于响应对下游对象的使用超出预定阈值,引发所述哈希计算装置中哈希函数的参数从第一组参数到第二组参数的重新规定,以在下游对象之间重新分布数据分组;其中
在使用中,哈希计算装置具有这样一个装置,其用于引导该分组,以基于哈希计算,利用第一组参数,经由第一路由选择通路,将其路由选择到网络中的下游对象,并且如果对下游对象的使用超出阈值,则用于根据分别利用第一组参数和第二组参数的单独的哈希计算,有选择地将该分组引导到第一路由选择通路和第二路由选择通路中的一条通路,以便随后基于一种单独的哈希计算的结果,而经由从第一和第二路由选择通路中选择出的一条通路对分组进行路由选择。
2.如权利要求1所述的装置,其中如果单独的哈希计算的结果相互一致,则使用的所述哈希计算装置具有用于将所述数据分组引导到第一路由选择通路的装置,否则,具有用于将所述数据分组引导到第二路由选择通路的装置。
3.如权利要求1或2所述的装置,还包括连接到所述哈希计算装置的滤波器,用于有选择地使寿命超出预定值的流绕过哈希计算装置。
4.如权利要求1所述的装置,还包括第一路由选择通路和第二路由选择通路,第一路由选择通路包括连接到哈希计算装置的第一路由选择装置,而第二路由选择通路包括连接到哈希计算装置的第二路由选择装置,其中,第一路由选择通路比第二路由选择通路快,并且其中,在第二路由选择通路上,根据分组流状态选择下游对象。
5.如权利要求4所述的装置,其中第一路由选择装置包括至少一个网络处理器,而第二路由选择装置包括至少一个通用处理器。
6.如权利要求4或5所述的装置,其中第二路由选择装置配置为在数据分组流中检测流分隔符,并且,当检测到起动指示时,根据哈希函数利用第二组参数对相应的流进行路由选择。
7.如权利要求6所述的装置,其中第二路由选择装置配置为检测超出预定不活动时间的分组流,并根据哈希函数利用第二组参数对这样的流进行路由选择。
8.如权利要求7所述的装置,其中第二路由选择装置配置为检测超出预定寿命的分组流,并将这样的流引导到第一路由选择装置。
9.一种专用集成电路,包括如上述任何权利要求所述的负载平衡装置。
10.一种网络基础结构节点,包括如权利要求1到7中任何一项所述的负载平衡装置。
11.一种数据通信网络,包括如权利要求10所述的网络基础结构节点。
12.一种数据通信网络中的负载平衡方法,该方法包括:
对到来数据分组计算哈希函数;
响应对下游对象的使用超出预定阈值,引发哈希函数的参数从第一组参数到第二组参数的重新规定,以在下游对象之间重新分布数据分组;以及
引导该分组,以基于哈希计算,利用第一组参数,经由第一路由选择通路,将其路由选择到网络中的下游对象,并且如果对下游对象的使用超出阈值,则根据分别利用第一组参数和第二组参数的单独的哈希计算,有选择地将该分组引导到第一路由选择通路和第二路由选择通路中的一条通路,以便随后基于一种单独的哈希计算的结果,而经由从第一和第二路由选择通路中选择出的一条通路对分组进行路由选择。
13.如权利要求12所述的方法,包括如果单独的哈希计算的结果相互一致,则将数据分组引导到第一路由选择通路,否则,将所述数据分组引导到第二路由选择通路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02014116 | 2002-06-24 | ||
EP02014116.4 | 2002-06-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1659845A CN1659845A (zh) | 2005-08-24 |
CN100539580C true CN100539580C (zh) | 2009-09-09 |
Family
ID=29797140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038128020A Expired - Lifetime CN100539580C (zh) | 2002-06-24 | 2003-06-20 | 数据网络中的负载平衡方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20060087968A1 (zh) |
EP (1) | EP1516475B1 (zh) |
JP (1) | JP4452176B2 (zh) |
CN (1) | CN100539580C (zh) |
AU (1) | AU2003232413A1 (zh) |
DE (1) | DE60303384T2 (zh) |
WO (1) | WO2004002109A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693050B2 (en) | 2005-04-14 | 2010-04-06 | Microsoft Corporation | Stateless, affinity-preserving load balancing |
US7764612B2 (en) * | 2005-06-16 | 2010-07-27 | Acme Packet, Inc. | Controlling access to a host processor in a session border controller |
GB2429869A (en) * | 2005-09-02 | 2007-03-07 | Data Connection Ltd | Party identifiers in a multi-telephony service environment |
CN100407705C (zh) * | 2006-04-12 | 2008-07-30 | 华为技术有限公司 | 一种路由器控制方法和系统 |
US7684352B2 (en) * | 2006-11-02 | 2010-03-23 | Nortel Networks Ltd | Distributed storage of routing information in a link state protocol controlled network |
US8218553B2 (en) * | 2009-02-25 | 2012-07-10 | Juniper Networks, Inc. | Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering |
US8259585B1 (en) * | 2009-04-17 | 2012-09-04 | Juniper Networks, Inc. | Dynamic link load balancing |
US20100274893A1 (en) * | 2009-04-27 | 2010-10-28 | Sonus Networks, Inc. | Methods and apparatus for detecting and limiting focused server overload in a network |
US8699343B2 (en) | 2009-04-27 | 2014-04-15 | Sonus Networks, Inc. | Adaptive rate control based on overload signals |
US9705977B2 (en) * | 2011-04-20 | 2017-07-11 | Symantec Corporation | Load balancing for network devices |
EP2730067B1 (en) | 2011-07-08 | 2015-06-10 | Telefonaktiebolaget L M Ericsson (publ) | Method and apparatus for load balancing |
KR101383905B1 (ko) * | 2011-12-19 | 2014-04-17 | 주식회사 솔박스 | 해시 함수 결과를 이용한 서버 부하 분산 처리 방법 및 그 장치 |
US9923798B1 (en) | 2012-06-28 | 2018-03-20 | Juniper Networks, Inc. | Dynamic load balancing of network traffic on a multi-path label switched path using resource reservation protocol with traffic engineering |
US9331891B2 (en) * | 2012-10-11 | 2016-05-03 | International Business Machines Corporation | Virtual consolidated appliance |
CN106656842A (zh) * | 2015-10-29 | 2017-05-10 | 华为数字技术(苏州)有限公司 | 一种负载均衡方法和流量转发设备 |
US10230621B2 (en) | 2017-05-09 | 2019-03-12 | Juniper Networks, Inc. | Varying a per-hop-bandwidth constraint in multi-path label switched paths |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044080A (en) * | 1996-11-19 | 2000-03-28 | Pluris, Inc. | Scalable parallel packet router |
JP3369445B2 (ja) * | 1997-09-22 | 2003-01-20 | 富士通株式会社 | ネットワークサービスサーバ負荷調整装置、方法および記録媒体 |
GB2349296B (en) * | 1999-04-21 | 2001-04-04 | 3Com Corp | Reduction of imbalance in transmit traffic queues in a network switch |
CA2328011A1 (en) * | 2000-01-18 | 2001-07-18 | Lucent Technologies Inc. | Method and apparatus for load balancing of network services |
JP4150159B2 (ja) * | 2000-03-01 | 2008-09-17 | 富士通株式会社 | 伝送経路制御装置及び伝送経路制御方法並びに伝送経路制御プログラムを記録した媒体 |
US6553005B1 (en) * | 2000-07-26 | 2003-04-22 | Pluris, Inc. | Method and apparatus for load apportionment among physical interfaces in data routers |
-
2003
- 2003-06-20 DE DE60303384T patent/DE60303384T2/de not_active Expired - Lifetime
- 2003-06-20 WO PCT/IB2003/002409 patent/WO2004002109A1/en active IP Right Grant
- 2003-06-20 JP JP2004515120A patent/JP4452176B2/ja not_active Expired - Lifetime
- 2003-06-20 CN CNB038128020A patent/CN100539580C/zh not_active Expired - Lifetime
- 2003-06-20 EP EP03760829A patent/EP1516475B1/en not_active Expired - Lifetime
- 2003-06-20 AU AU2003232413A patent/AU2003232413A1/en not_active Abandoned
- 2003-06-20 US US10/519,241 patent/US20060087968A1/en not_active Abandoned
-
2008
- 2008-05-12 US US12/118,830 patent/US7769025B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
AU2003232413A1 (en) | 2004-01-06 |
JP4452176B2 (ja) | 2010-04-21 |
DE60303384D1 (de) | 2006-04-13 |
US20080219258A1 (en) | 2008-09-11 |
EP1516475B1 (en) | 2006-01-25 |
DE60303384T2 (de) | 2006-08-17 |
US7769025B2 (en) | 2010-08-03 |
CN1659845A (zh) | 2005-08-24 |
JP2005536087A (ja) | 2005-11-24 |
WO2004002109A8 (en) | 2004-03-18 |
WO2004002109A1 (en) | 2003-12-31 |
EP1516475A1 (en) | 2005-03-23 |
US20060087968A1 (en) | 2006-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100539580C (zh) | 数据网络中的负载平衡方法和装置 | |
RU2692042C1 (ru) | Способ определения маршрута и соответствующие устройство и система | |
US7957365B2 (en) | Connection routing based on link utilization | |
CN105262698B (zh) | 一种负载分担的方法、装置和系统 | |
CN101184049B (zh) | 一种动态负荷分担方法及系统 | |
CN112565082B (zh) | 基于混合网络的服务链映射方法、智能终端及存储介质 | |
CN101895472B (zh) | 流业务负载分担方法和处理方法以及相应的设备和系统 | |
Wang et al. | Implementation of multipath network virtualization with SDN and NFV | |
CA2342097A1 (en) | Link state routing techniques | |
CN104272708A (zh) | 带有到服务器群组的无状态第一级分组分布和到群组内某个服务器的有状态第二级分组分布的二级分组分布 | |
EP1548972A2 (en) | Transmitter device and relay device for performing data transmission control | |
CN105915467A (zh) | 一种面向软件定义的数据中心网络流量均衡方法及装置 | |
CN111431921B (zh) | 一种配置同步方法 | |
WO2013142282A1 (en) | Routing a data packet in a communication network | |
Nithin et al. | Efficient load balancing for multicast traffic in data center networks using SDN | |
CN115996188A (zh) | 业务调度方法、装置、设备及计算机可读存储介质 | |
CN111769994A (zh) | 一种基于软件定义网络的网络功能快速扩容方法 | |
CN110620733A (zh) | 一种业务流量控制方法及装置 | |
US20070064690A1 (en) | Method and system for routing protocol outbound route control | |
Àlvarez et al. | The impact of failure management on the stability of communication networks | |
CN108965025A (zh) | 云计算系统中流量的管理方法和装置 | |
KR20190048324A (ko) | 다중 네트워크 기반의 서비스를 제공하는 방법 및 장치 | |
CN111404705A (zh) | 一种sdn的优化方法、装置及计算机可读存储介质 | |
CN113709053B (zh) | 一种基于流定义的分流方法及装置 | |
CN117938750B (zh) | 调度路由信息的处理方法、装置、设备、存储介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20090909 |
|
CX01 | Expiry of patent term |