CN107077340A - 负载均衡 - Google Patents

负载均衡 Download PDF

Info

Publication number
CN107077340A
CN107077340A CN201480082808.7A CN201480082808A CN107077340A CN 107077340 A CN107077340 A CN 107077340A CN 201480082808 A CN201480082808 A CN 201480082808A CN 107077340 A CN107077340 A CN 107077340A
Authority
CN
China
Prior art keywords
dcn
data
message
load
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480082808.7A
Other languages
English (en)
Other versions
CN107077340B (zh
Inventor
J·贾殷
A·森谷普塔
M·帕塔萨拉蒂
A·塞凯拉
S·马斯卡里克
R·朗德
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.)
Nicira Inc
Original Assignee
Nicira Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nicira Inc filed Critical Nicira Inc
Priority to CN202110935797.4A priority Critical patent/CN113660329A/zh
Publication of CN107077340A publication Critical patent/CN107077340A/zh
Application granted granted Critical
Publication of CN107077340B publication Critical patent/CN107077340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

负载均衡数据消息由源节点发送到一个或多个不同的目的地计算节点(DCN)组。源计算节点的出口数据路径中的负载均衡器接收从源计算节点发送的每个数据消息,并确定数据消息是否寻址到负载均衡器为其散布数据流量的DCN组之一。当接收到的数据消息不寻址到负载均衡的DCN组之一时,负载均衡器将接收到的数据消息转发到其寻址的目的地。当接收到的数据消息寻址到负载均衡器的DCN组之一时,负载均衡器识别寻址的DCN组中的应该接收数据消息的DCN,并且通过将数据消息中的目的地地址从识别出的DCN组的地址改变为识别出的DCN的地址,将数据消息引导到识别出的DCN。

Description

负载均衡
背景技术
负载均衡器通常用于数据中心以将流量负载散布到可处理特定类型流量的多个可用的计算资源。图1和图2示出了当今数据中心中负载均衡器的两种常见部署。在图1中,负载均衡器100拓扑地部署在网络的边缘处并且在不同类型的VM之间(例如,在web服务器105和应用服务器110之间,以及在应用服务器110和数据库服务器115之间)。负载均衡器100在一些部署中是执行负载均衡功能的独立机器(例如,F5机器)。而且,在一些部署中,负载均衡器是在相同的主计算设备上执行的服务虚拟机(VM),这些主计算设备执行其流量通过负载均衡器进行均衡的不同服务器层。图2示出了作为服务VM(SVM)的负载均衡器的一种这种部署。
在图1和图2的负载均衡器部署中,负载均衡器用作网络拓扑中的阻塞点位置,因为它们在流量负载增加时变成网络流量瓶颈。此外,这些部署需要手动配置负载均衡器和向这些负载均衡器发送数据包以便允许负载均衡器正确接收和分配负载均衡流量的计算设备。这些部署也不能随着数据流量的增加和减少无缝地增长和收缩接收负载均衡流量的计算设备的数量。
发明内容
一些实施例提供了用于负载均衡由源计算节点(SCN)发送到一个或多个不同的目的地计算节点(DCN)组的数据消息的新颖方法。在一些实施例中,该方法在源计算节点的出口数据路径中部署负载均衡器。该负载均衡器接收从源计算节点发送的每个数据消息,并且确定数据消息是否寻址到负载均衡器为其散布数据流量以跨(例如,数据流量被引导到的)组中的DCN均衡负载的DCN组之一。当接收到的数据消息未被寻址到负载均衡DCN组之一时,负载均衡器将接收到的数据消息转发到其寻址的目的地。另一方面,当接收到的数据消息被寻址到负载均衡器的DCN组之一时,负载均衡器识别应该接收数据消息的寻址DCN组中的DCN,并将数据消息引导到识别出的DCN。为了将数据消息引导到识别出的DCN,在一些实施例中,负载均衡器将数据消息中的目的地地址(例如,目的地IP地址、目的地端口、目的地MAC地址等)从识别出的DCN组的地址改变为识别出的DCN的地址(例如,目的地IP地址)。
通过采用这种内联(inline)负载均衡(LB)方法,源计算节点不必被配置为在对其它数据消息进行前述这种寻址的同时将某些数据消息寻址到负载均衡器。该方法还可以无缝地为若干不同的DCN组执行负载均衡。在一些实施例中,源计算节点和(一个或多个)DCN组在数据中心中的一个计算集群内。相应地,一些实施例的方法可以无缝地对从计算集群中的源计算节点发送到计算集群内的一个或多个DCN组的数据消息进行负载均衡。
在一些实施例中,源计算节点是在主机上执行的虚拟机(VM),并且负载均衡器是在相同主机上执行的另一个软件模块。在一些实施例中,其它VM也在主机上执行。在一些实施例中,主机上的VM中的两个或更多个VM(例如,所有VM)使用相同的负载均衡器,而在其它实施例中,主机上的每个VM具有在主机上执行的其自己的负载均衡器。
在一些实施例中,主机还执行软件转发元件(SFE)。SFE将主机的VM通信地耦合到彼此和主机外部的其它设备(例如,其它VM)。在一些实施例中,负载均衡器被插入在VM的出口路径中SFE之前。例如,在一些实施例中,每个VM具有连接到SFE的端口的虚拟网络接口卡(VNIC)。在这些实施例中的一些实施例中,用于VM的负载均衡器由VM的VNIC或由VM的VNTC连接到的SFE端口来调用。在一些实施例中,VM在管理程序(hypervisor)之上执行,管理程序是启用主机的共享硬件资源的虚拟化的软件层。在这些实施例中的一些实施例中,管理程序提供向其VM提供内联负载均衡服务的负载均衡器。
一些实施例的负载均衡方法在具有执行若干VM和负载均衡器的若干主机的数据中心中实现。在这些实施例中的一些实施例中,负载均衡DCN中的一些或全部是在与SCN VM相同或不同的主机上执行的其它VM。可以由一些实施例的负载均衡方法进行负载均衡的源和目的地计算节点的示例包括生成或消费数据消息的数据计算端节点(即,源和数据计算端节点),或当数据消息在数据计算端节点之间被中继时对这些消息执行某种类型的数据处理的中间件(middlebox)服务节点。数据计算端节点(DCEN)的示例包括web服务器、应用服务器、数据库服务器等,而中间件服务节点的示例包括防火墙、入侵检测系统、入侵保护系统等。
在一些实施例的多主机环境中,主机上的负载均衡器实现分布式负载均衡(DLB)方法。一些实施例的这种DLB方法涉及在执行SCN VM的主机上部署一个或多个负载均衡器。主机上的负载均衡器强制执行将数据流量从其主机上的SCN VM散布到一个或多个DCN组的DCN所需的负载均衡规则。在这种分布式实现中,每个负载均衡器仅强制执行适用于其SCNVM或VM的负载均衡规则。
一个或多个控制器的集合促进一些实施例的DLB操作。例如,在一些实施例中,主机上的负载均衡器基于它们负载均衡的数据消息来收集数据流量统计信息。然后,这些负载均衡器将收集到的统计信息传递给聚合统计信息的控制器集合。在一些实施例中,控制器集合然后将聚合的统计信息分发到在主机上执行的负载均衡代理。然后,这些代理分析聚合的统计信息以生成和/或调整负载均衡器(在与代理相同的主机上执行)强制执行的负载均衡标准。在其它实施例中,控制器集合分析聚合的统计信息以生成和/或调整控制器集合然后将其分发到主机以便其负载均衡器强制执行的负载均衡标准。在还有的其它实施例中,控制器集合基于聚合的统计信息生成和分发一些负载均衡标准,同时还将一些或所有聚合的统计信息分发给主机,使得它们的LB代理可以生成其它负载均衡标准。
无论生成负载均衡标准的实现如何,数据流量统计信息的收集和聚合允许负载均衡标准被动态调整。例如,当统计信息显示一个DCN的数据流量太拥挤时,负载均衡标准可以被动态调整,以减少该DCN上的负载,同时增加在相同DCN组中的一个或多个DCN上的负载。在一些实施例中,数据流量统计信息的收集和聚合还允许DLB方法通过动态地为DCN组实例化或分配新的DCN VM或通过实例化或分配新的SCN VM来减少任何负载均衡的DCN组中的负载。
前面的发明内容旨在用作为对本发明的一些实施例的简要介绍。这不意味着是对本文档中公开的所有发明性主题的介绍或概述。以下的具体实施方式和在具体实施方式中提及的附图将进一步描述在本发明内容中描述的实施例以及其它实施例。相应地,为了理解由本文档描述的所有实施例,需要对发明内容、具体实施方式、附图和权利要求书进行全面审查。而且,所要求保护的主题不受发明内容、具体实施方式和附图中的说明性细节的限制。
附图说明
本发明的新颖特征在所附权利要求中阐述。但是,为了解释的目的,在以下图中阐述了本发明的若干实施例。
图1和图2示出了当今数据中心中负载均衡器的两种常见部署。
图3示出了采用一些实施例的内联负载均衡方法的负载均衡体系架构。
图4示出了内联负载均衡器的示例。
图5示出了从主机采集统计信息并且基于采集到的统计信息动态调整负载均衡操作的控制器集合的示例。
图6示出了执行本发明的一些实施例的负载均衡模块的主机的更详细的体系架构。
图7和图8给出了一些实施例的负载均衡规则的示例。
图9示出了在一些实施例中负载均衡器执行的过程。
图10和11示出了在一些实施例中负载均衡代理执行的两个过程。
图12示出了在一些实施例中控制器集合执行的过程。
图13示出了显示用于实施例的控制器集合的操作的过程,其中控制器集合分析成员身份更新和/或全局统计信息,并且如果需要的话,响应于该分析指定和/或更新LB规则。
图14-16给出了若干示例,其示出了一些实施例如何通过调整负载均衡标准和通过添加/去除DCN VM来动态调整流量的散布。
图17示出了一些实施例的分布式负载均衡体系架构可以用于对去往中间件和来自中间件的数据流量进行负载均衡。
图18给出了示出一个VM的内联负载均衡器利用其它VM的多个其它内联负载均衡器形成多个分布式负载均衡器的示例。
图19给出了示出一些实施例的分布式负载均衡器可以将数据消息的虚拟地址不同地转换为不同的DCN组的示例。
图20示出了分布式负载均衡器集合,其基于所评估的到一组应用服务器的web服务器数据消息的优先级将数据消息引导到或者高优先级的应用服务器的子组或者低优先级的应用服务器组。
图21概念性地示出了实现本发明的一些实施例的计算机系统。
具体实施方式
在本发明的以下详细描述中,阐述和描述本发明的众多细节、示例和实施例。但是,对本领域技术人员来说将清楚和显然的是,本发明不限于所阐述的实施例,并且本发明可以在没有所讨论的一些具体细节和示例的情况下实践。
一些实施例提供了用于负载均衡由源计算节点(SCN)发送到一个或多个不同的目的地计算节点(DCN)组的数据消息的新颖方法。在一些实施例中,该方法在源计算节点的出口数据路径中部署负载均衡器。该负载均衡器接收从源计算节点发送的每个数据消息,并且确定数据消息是否寻址到负载均衡器为其散布数据流量以跨(例如,数据流量被引导到的)组中的DCN均衡负载的DCN组之一。当接收到的数据消息未被寻址到负载均衡DCN组之一时,负载均衡器将接收到的数据消息转发到其寻址的目的地。另一方面,当接收到的数据消息被寻址到负载均衡器的DCN组之一时,负载均衡器识别应该接收数据消息的寻址的DCN组中的DCN,并将数据消息引导到识别出的DCN。为了将数据消息引导到识别出的DCN,在一些实施例中,负载均衡器将数据消息中的目的地址(例如,目的地IP地址)从识别出的DCN组的地址改变为识别出的DCN的地址(例如,目的地IP地址、目的地端口、目的地MAC地址等)。
可以由一些实施例的方法进行负载均衡的源和目的地计算节点的示例包括生成或消费数据消息的数据计算端节点(即,源和数据计算端节点),或对在数据计算端节点之间中继的数据消息执行一些数据处理的中间件服务节点。数据计算端节点(DCEN)的示例包括Web服务器、应用服务器、数据库服务器等,而中间件服务节点的示例包括防火墙、入侵检测系统、入侵保护系统等。此外,如本文档所使用的,数据消息是指以特定格式跨网络发送的位的集合。本领域的普通技术人员将认识到,术语数据消息在本文中可以用于指可以跨网络发送的各种格式化的位集合,诸如以太网帧、IP分组、TCP段、UDP数据报等。
通过采用一些实施例的内联负载均衡(LB)方法,源计算节点不必被配置为在对其它数据消息进行前述这种寻址的同时将某些数据消息寻址到负载均衡器。在一些实施例中,当SCN被部署为主机上的虚拟机时,服务被自动地部署用于SCN,并且VM部署过程配置用于VM的负载均衡标准。该方法还可以无缝地为若干不同的DCN组执行负载均衡。在一些实施例中,SCN和DCN位于数据中心中的一个计算集群内。相应地,一些实施例的方法可以无缝地对从计算集群中的其它源计算节点发送到计算集群内的一个或多个DCN组的数据消息进行负载均衡。
图3示出了采用一些实施例的内联负载均衡方法的负载均衡体系架构300。该体系架构是分布式负载均衡(DLB)体系架构,其在若干计算节点中的每一个的出口数据路径中具有负载均衡器305。该示例中的计算节点分为三组服务器,即,web服务器310、应用服务器315和数据库服务器320。在一些实施例中,这三组服务器是通常在数据中心中找到的三层服务器。
如图所示,负载均衡器305在这个示例中被放置在每个web或应用服务器的输出处,使得到应用服务器的web服务器数据流量被负载均衡,并且到数据库服务器的应用服务器数据流量被负载均衡。每个负载均衡器强制执行散布从负载均衡器的对应源计算节点(例如,源服务器)发送到作为一个DCN组的一部分的多个目的地计算节点(例如,目的地服务器)的数据流量所需的负载均衡规则。换句话说,这种分布式实现允许每个负载均衡器仅强制执行适用于其源计算节点的负载均衡规则。此外,这种分布式体系架构没有任何这样的负载均衡器:由于其从一个或多个源计算节点接收太多数据消息从而阻止它及时散布来自另一个源计算节点的数据消息而成为阻塞点。
在一些实施例中,源和目的地计算节点中的一些或全部是在主机上执行的虚拟机(VM),并且负载均衡器中的一些或全部是在与其源计算节点相同的主机上执行的其它软件模块。图4示出了其中负载均衡器305以及图3的三组服务器310、315和320在数据中心中的六个主机405-430上执行的示例。在图4所示的示例中,在需要其数据消息中的一些进行负载均衡的每个web或应用服务器的每个主机上执行一个LB。但是,在其它实施例中,主机上的一个负载均衡器对主机上的VM中的两个或更多个VM(例如,所有VM)的输出数据消息进行负载均衡。即使在使用一个负载均衡器用于两个或更多个SCN VM的这种体系架构下,负载均衡器也实现DLB方案,因为每个负载均衡器只强制执行适用于该主机上的一个或多个SCNVM的负载均衡规则。
图4示出了除了在主机上执行的VM和负载均衡器之外,在一些实施例中,每个主机还执行软件转发元件(SFE)435。主机上的SFE 435通过主机外部的一个或多个其它转发元件(例如,一个或多个交换机和路由器)将主机的VM通信地耦合到彼此和耦合到主机外部的其它设备(例如,其它主机上的VM)。SFE的示例包括软件交换机、软件路由器等。
如图4所示,一些实施例中的负载均衡器被插入在VM的出口路径中SFE之前。例如,在一些实施例中,每个VM具有连接到SFE的端口的虚拟网络接口卡(VNIC)。在这些实施例中的一些实施例中,用于VM的负载均衡器由VM的VNIC或由VM的VNIC连接到的SFE端口来调用。在一些实施例中,VM在管理程序之上执行,管理程序是启用主机的共享硬件资源的虚拟化的软件层。在这些实施例中的一些实施例中,管理程序提供向其VM提供内联负载均衡服务的负载均衡器。
图4还示出了每个主机具有两个数据储存装置440和445。第一数据储存装置是LB规则数据储存装置440(例如,数据库),而第二数据储存装置是STAT数据储存装置445。在一些实施例中,主机的数据储存装置440存储指定由主机的负载均衡器进行负载均衡的DCN组的DCN VM的IP地址的LB规则。在一些实施例中,LB规则储存装置440不仅存储DCN VM的IP地址,而且还存储负载均衡器用于对数据流量进行负载均衡的负载均衡标准(度量)。虽然在图4中示出了用于所有负载均衡器305的一个LB规则储存装置440,但是本领域普通技术人员将认识到,在其它实施例中,每个负载均衡器305具有其自己的LB规则储存装置440。
在一些实施例中,SCN VM将数据消息发送到与负载均衡的DCN组相关联的虚拟地址(例如,虚拟IP(VIP)地址)。在该数据消息被VM主机的SFE处理之前,SCN VM的负载均衡器截取数据消息,并确定它寻址到其输入数据应当由负载均衡器进行负载均衡的DCN组(例如,确定消息的目的地IP地址是DCN组的VIP)。然后,负载均衡器用存储在LB规则储存装置440中的DCN VM的物理地址(例如,VM的IP地址)替换数据消息中的虚拟地址。将目的地虚拟地址改变为DCN VM的物理地址是一种形式的目的地网络地址转换。由于虚拟地址被物理地址替换,因此虚拟地址不必路由出主机,这简化了负载均衡方案的部署。
在选择应该接收数据消息的DCN VM中,一些实施例中的负载均衡器使用存储在LB规则储存装置440中的负载均衡标准。在改变接收到的数据消息的网络地址之后,负载均衡器将数据消息提供给SFE用于SFE进行处理,使得数据消息可以到达寻址的DCN VM。这种方法的一个内在优点是不需要源地址转换(例如,源NAT),因为流量返回到生成流量的SCNVM。
STAT数据储存装置445存储关于负载均衡的数据消息的统计信息。例如,当负载均衡器305将数据消息散布到一个或多个负载均衡的DCN组时,在一些实施例中,负载均衡器存储关于多少个数据消息和/或多少个数据流正在被发送到每个负载均衡的DCN组中的每个DCN的统计信息。在其它实施例中,负载均衡器存储其它统计信息,如下面进一步描述的。虽然在图4中示出了用于所有负载均衡器305的一个STAT数据储存装置445,但是本领域普通技术人员将认识到,在其它实施例中,每个负载均衡器305具有其自己的STAT数据储存装置445。
在一些实施例中,存储在每个主机上的STAT数据储存装置445中的统计信息被传递到促进一些实施例的DLB操作的一个或多个LB控制器的集合。然后,控制器集合聚合它从每个主机接收到的统计信息。控制器集合然后(1)将聚合的统计信息分发到每个主机,使得每个主机可以定义和/或调整其负载均衡标准,和/或(2)分析聚合的统计信息以指定和分发负载均衡标准中的一些或全部用于负载均衡器强制执行。以这种方式,负载均衡标准可以基于存储在STAT数据储存装置445中的统计信息被动态调整。
在一些实施例中,控制器集合还动态地实例化VM或将VM分配给SCN或DCN组,以便减少任何负载均衡的DCN组中的负载。当控制器集合检测到SCN或DCN组之一中的VM已崩溃或有其它操作问题时,控制器集合还可以动态地实例化VM或将VM分配给这些组。在这种情况下,分布式负载均衡器的负载均衡操作可以被调整,以便使用新实例化的或分配的VM,并减少或消除已崩溃或有操作问题的VM的使用。
图5示出了从主机采集统计信息并且基于采集到的统计信息动态调整负载均衡操作的控制器集合的示例。具体地,该图示出了一些实施例的多主机系统500。如图所示,该系统包括多个虚拟化主机505-515、负载均衡(LB)控制器集合520、以及一个或多个VM管理控制器的集合525。如图5所示,主机505-515、LB控制器集合520以及VM管理器集合525通过网络575通信地耦合,其中网络575可以包括局域网(LAN)、广域网(WAN)或多个网络的网络(例如,互联网)。
VM管理控制器525提供用于定义(例如,分配或实例化)和管理每个主机上的一个或多个VM的控制和管理功能。在一些实施例中,这些控制器还提供用于定义和管理在主机的公共软件转发元件上定义的多个逻辑网络的控制和管理功能。在一些实施例中,除了主机505-515中的每一个被示为包括用于与LB控制器集合520交互的LB代理560,而没有示出主机的其它组件(诸如LB和STAT数据储存装置440和445)之外,主机505-515类似于图4的主机405-430。LB代理560从STAT数据储存装置445采集收集到的统计信息,并将这些统计信息中继到LB控制器集合520。在一些实施例中,LB代理560在将处理后的统计信息中继到LB控制器集合之前聚合和/或分析一些统计信息,而在其它实施例中,LB代理将收集到的原始统计信息中继到LB控制器集合。
LB控制器集合520聚合它从主机的LB代理接收到的统计信息。在一些实施例中,LB控制器集合520然后将聚合的统计信息分发给在主机上执行的LB代理。然后,这些代理分析聚合的统计信息以生成和/或调整与代理在相同的主机上执行的负载均衡器强制执行的LB规则或标准。
在其它实施例中,控制器集合分析聚合的统计信息以生成和/或调整控制器集合然后分发给主机用于其负载均衡器强制执行的LB规则或标准。在这些实施例中的一些实施例中,控制器集合将相同的LB规则和/或标准分发给一组相关联的负载均衡器中(即,在一组DCN的DCN当中分发数据消息的一组负载均衡器中)的每个负载均衡器,而在其它实施例中,控制器将不同的LB规则和/或标准分发给一组相关联的负载均衡器中的不同负载均衡器。此外,在一些实施例中,控制器集合将更新的LB规则和/或标准分发给相关联的一组负载均衡器中的一些负载均衡器,而不将更新的LB规则和/或标准分发给该相关联组中的其它负载均衡器。
在还有的其它实施例中,控制器集合基于聚合的统计信息生成并分发一些负载均衡规则或标准,同时还将一些或所有聚合的统计信息分发给主机,使得它们的LB代理可以生成其它负载均衡规则或标准。本领域普通技术人员将意识到,LB规则和/或标准并不总是基于聚合的统计信息来调整。而是只有当聚合的统计信息需要这样的修改时,LB规则和/或标准才会被修改。
无论生成LB规则的实现如何,数据流量统计信息的收集和聚合允许LB规则或标准被动态调整。例如,当统计信息显示一个DCN的数据流量太拥挤时,LB规则或标准可以对于将数据消息发送到该DCN组的SCN的负载均衡器进行动态调整,以便减少该DCN上的负载,同时增加相同DCN组中的一个或多个其它DCN上的负载。在一些实施例中,数据流量统计信息的收集和聚合还允许LB控制器集合520通过动态地指示VM管理控制器集合525为DCN组实例化或分配新的DCN VM或通过实例化或分配新的SCN VM来减少负载均衡的DCN组中的任何DCN上的负载。
图6示出了执行本发明的一些实施例的负载均衡模块的主机600的更详细的体系架构。如图所示,主机600执行多个VM 605、SFE 610、一个或多个负载均衡器的集合615、LB代理620以及发布器622。主机还具有LB规则储存装置440和STAT数据储存装置445,以及组成员身份数据储存装置684、策略数据储存装置682、聚合(全局)的统计数据储存装置686和连接状态储存装置690。
SFE 610在主机上执行,以通过在主机外部操作的一个或多个转发元件(例如,交换机和/或路由器)将主机的VM通信地耦合到彼此和耦合到主机外部的其它设备(例如,其它主机上的其它VM)。如图所示,SFE 610包括连接到主机的物理网络接口卡(图中未示出)的端口630和连接到每个VM的VNIC 625的端口635。在一些实施例中,VNIC是由虚拟化软件(例如,由管理程序)实现的物理网络接口卡(PNIC)的软件抽象。每个VNIC负责通过其对应的SFE端口在其VM和SFE 610之间交换数据消息。如图所示,用于其数据消息的VM出口数据路径包括(1)VM的VNIC 625,(2)连接到该VNIC的SFE端口635,(3)SFE 610,以及(4)连接到主机的PNIC的SFE端口630。
通过其端口630和NIC驱动器(图中未示出),SFE 610连接到主机的PNIC以发送传出分组和接收传入分组。SFE 610执行消息处理操作以将它在其一个端口上接收到的消息转发到其另一个端口。例如,在一些实施例中,SFE尝试使用VM数据消息中的报头值来将消息与基于流的规则匹配,并且在找到匹配时,执行由匹配规则指定的动作(例如,将分组传递到其端口630或635之一,这些端口引导分组以提供给目的地VM或PNIC)。在一些实施例中,SFE从数据消息中提取虚拟网络标识符和MAC地址。这些实施例中的SFE使用提取的VNI来识别逻辑端口组,并且然后使用MAC地址来识别端口组内的端口。在一些实施例中,SFE610是软件交换机,而在其它实施例中,它是软件路由器或组合的软件交换机/路由器。
在一些实施例中,SFE 610实现一个或多个逻辑转发元件(例如,逻辑交换机或逻辑路由器),其中SFE在多主机环境中的其它主机上执行。在一些实施例中,逻辑转发元件可跨越多个主机来连接在不同主机上执行但属于一个逻辑网络的VM。换句话说,可以定义不同的逻辑转发元件以为不同的用户指定不同的逻辑网络,并且每个逻辑转发元件可以由多个主机上的多个SFE来定义。每个逻辑转发元件将一个逻辑网络的VM的流量与由另一个逻辑转发元件服务的另一个逻辑网络的VM的流量隔离。逻辑转发元件可以连接在相同主机和/或不同主机上执行的VM。
在一些实施例中,SFE端口635包括对一个或多个模块的一个或多个功能调用,该一个或多个模块对在端口处接收到的传入和传出分组实现特殊的输入/输出(I/O)操作。对于端口的这些功能调用之一是负载均衡器集合615中的负载均衡器。在一些实施例中,负载均衡器对传出数据消息执行负载均衡操作,该传出数据消息被寻址到其输入流量正在该组中的DCN当中散布以便减少在任何一个DCN上的负载的DCN组。对于图6所示的实施例,每个端口635具有其自己的负载均衡器615。在其它实施例中,端口635中的一些或全部共享相同的负载均衡器615(例如,所有端口共享一个负载均衡器,或者作为同一逻辑网络的一部分的所有端口共享一个负载均衡器)。
由端口635实现的其它I/O操作的示例包括防火墙操作、加密操作、消息封装操作(例如,沿着隧道发送消息以实现覆盖逻辑网络操作所需的封装操作)等。通过实现一堆这样的功能调用,端口可以在一些实施例中实现对传入和/或传出消息的一系列I/O操作。其它实施例不是从端口635调用I/O操作符(包括负载均衡器集合615),而是从VM的VNIC或从SFE的端口630调用这些操作符。
负载均衡器615基于在LB规则储存装置440中指定的LB规则来执行其负载均衡操作。对于负载均衡的DCN组的虚拟地址(例如,VIP),LB规则储存装置440存储负载均衡规则,其指定数据消息可以被引导到的组的DCN的两个或更多个物理地址(例如,IP地址)。在一些实施例中,该负载均衡规则还包括用于指定负载均衡器应该如何跨与虚拟地址相关联的组的DCN散布流量的负载均衡标准。
这种负载均衡标准的一个示例在图7中示出,图7给出了存储在LB规则储存装置440中的负载均衡规则的示例。如图所示,该数据存储包括多个LB规则700,每个LB规则与一个负载均衡的DCN组相关联。在该示例中,每个负载均衡规则包括(1)识别元组705的数据消息集合,(2)负载均衡的DCN组的若干DCN的若干IP地址710,以及(3)用于每个IP地址的权重值715。
每个规则的元组集合705包括规则相关联的DCN组的VIP地址(作为目的地IP地址)。在一些实施例中,元组集合705仅包括VIP地址。在其它实施例中,元组集合还包括诸如源IP地址、源端口、目的地端口和协议的其它数据消息标识符,其与目的地IP地址一起形成五元组报头值。在一些实施例中,负载均衡器通过将一个或多个消息标识符值(例如,目的地IP地址、或五元组报头值中的一个或多个)与规则元组集合705进行比较来搜索LB数据储存装置,以识别具有与消息标识符值匹配的元组集合的规则。
每个LB规则的IP地址710是作为DCN组的成员的DCN的IP地址,其中该DCN组具有在规则的元组集合705中指定的VIP地址。在一些实施例中,DCN的地址作为由控制器集合初始提供(例如,以便配置负载均衡器)的数据的一部分提供或者在由控制器集合提供的对DCN组信息的后续更新中提供。
用于每个LB规则的IP地址的权重值715为负载均衡器提供了将流量散布到由IP地址识别的DCN的标准。例如,在一些实施例中,负载均衡器使用加权轮询方案将流量散布到负载均衡的DCN组中的DCN。作为一个示例,假设DCN组具有五个DCN,并且用于这些DCN的IP地址的权重值是1、3、1、3和2。基于这些值,负载均衡器将如下分发作为十个新流的部分的数据消息:将1个分发到第一个IP地址、将3个分发到第二个IP地址、将1个分发到第三个IP地址、将3个分发到第四个IP地址、并且将2个分发到第五个IP地址。
如下面进一步描述的,在一些实施例中,用于LB规则的权重值由LB代理620和/或LB控制器集合基于负载均衡器存储在STAT数据储存装置445中的LB统计信息来生成和调整。为了从容地(gracefully)在不同负载均衡标准之间切换,在一些实施例中,LB规则为对不同时间段有效的LB规则的不同负载均衡标准指定时间段。
图8示出了具有这种时间段参数的负载均衡规则800的示例。在一些实施例中,这些LB规则存储在LB规则储存装置440中。每个LB规则800具有识别元组805、一个或多个IP地址集合810和一个或多个权重值集合815的一条消息。每个IP地址集合810具有两个或更多个IP地址,并且每个权重值集合815与IP地址集合相关联,并且具有用于其相关联的IP地址集合中的每个IP地址的一个权重值。
在图8所示的示例中,每个规则具有多个IP地址集合和多个权重值集合。每个IP地址集合及其相关联的权重值集合表示一个负载均衡标准集合。对于这些负载均衡标准集合中的每一个,每个规则具有指定IP地址集合810及其相关联的权重值集合815在其期间有效的时间段的时间值820。例如,在LB规则中,用于一个IP地址集合的时间值可能指定“在2014年9月1日下午1点之前”,而用于另一个IP地址集合的时间值可能指定“在2014年9月1日下午12:59之后”。这两个时间段允许负载均衡器在2014年9月1日下午1点从使用一个IP地址集合及其相关联的权重值集合无缝切换到另一个IP地址集合及其相关联的权重值集合。这两个IP地址集合可能完全相同,并且它们可能只在其相关联的权重值集合中不同。可替代地,两个IP地址集合可能不同。两个IP地址集合可能不同但具有重叠的IP地址(例如,一个集合可能具有五个IP地址,而当从DCN组添加或去除一个DCN时,另一个集合可能具有这五个IP地址中的四个)。可替代地,两个IP地址集合可能由于没有共同的IP地址而不同。
在图8中,时间段值和权重值在LB规则中被使用。本领域普通技术人员将认识到,在其它实施例中,LB规则确实包括权重值,但是包括允许负载均衡器在不同的负载均衡的DCN集合之间从容地切换的时间值。如前所述,两个DCN集合可能由于具有互斥的DCN而不同,或者它们可能由于具有一个或多个共同的DCN和一个或多个非共同的DCN而不同。
如图6所示,主机还包括连接状态储存装置690,其中负载均衡器存储数据记录,其允许负载均衡器维持用于作为相同流的一部分的数据消息的连接状态,并且从而将作为相同流的一部分的数据消息有状态地分发到相同DCN。更具体地,每当负载均衡器基于消息的组目的地地址(例如,目的地VIP)来识别用于数据消息的DCN时,负载均衡器不仅用DCN的地址(例如,用DCN IP地址)替换组目的地地址,而且还在连接状态储存装置690中存储识别用于作为相同流的一部分的后续数据消息的DCN的记录。该记录存储识别出的DCN的目的地IP地址以及数据消息的报头值(例如,五元组值)。在一些实施例中,为了快速访问,连接数据储存装置690是基于数据消息报头值的散列来进行散列索引的。
为了识别用于接收到的数据消息的DCN,负载均衡器首先检查连接状态储存装置690以确定其是否先前已经识别出用于接收在与接收到的消息相同的流中的数据消息的DCN。如果是,则负载均衡器使用在连接状态存储中识别出的DCN。只有当负载均衡器没有在连接状态储存装置690中找到连接记录时,负载均衡器才在一些实施例中检查LB规则储存装置440中的LB规则,以便识别接收数据消息的DCN。
通过利用作为相同流的一部分的后续数据消息的消息标识符搜索连接状态储存装置690,负载均衡器可以识别其先前识别出的用于相同流的数据消息的DCN,以便使用相同的DCN用于作为相同流的一部分的消息(即,以便有状态地执行其负载均衡操作)。在一些实施例中,当负载均衡器(从SFE端口630或635)接收由DCN发送到SCN的数据消息时,负载均衡器也使用连接状态储存装置690记录,以在逆向流路径上用虚拟组地址(例如,组VIP地址)替换DCN的目的地地址。在逆向流中的数据消息的目的地地址变换之后,负载均衡器将数据消息返回给调用它的SFE端口,使得SFE端口可以将数据消息引导到SCN VM。
在一些实施例中,连接状态储存装置690与LB数据储存装置440不同地进行寻址。例如,如上所述,在一些实施例中,连接状态储存装置690基于散列的消息标识符值(例如,五元组标识符值)来存储其连接状态记录,而不使用这种散列寻址方案用于LB规则数据储存装置440。在一些实施例中,散列值指定连接状态储存装置690中存储对应的消息标识符集合的存储器位置。由于这种寻址方案,负载均衡器生成消息标识符集合的散列来识别连接状态储存装置690中的一个或多个位置,以检查匹配的消息标识符集合。在其它实施例中,LB规则数据储存装置440也是基于元组集合705的散列进行散列索引的。
在图6中,为所有负载均衡器615示出了仅一个LB规则数据储存装置440和仅一个连接状态储存装置690。在其它实施例中,每个负载均衡器具有其自己的规则数据储存装置440和连接状态储存装置690。在还有的其它实施例中,主机具有若干规则数据储存装置440和连接状态储存装置690,但是两个或更多个负载均衡器可以共享规则数据储存装置或连接状态储存装置(例如,均衡作为同一逻辑网络的一部分的两个VM的负载的两个负载均衡器)。如下面通过参考图18进一步描述的,具有其自己的规则数据储存装置440和连接状态储存装置690的每个负载均衡器615允许这些储存装置更小并且更容易更快地进行搜索。
在一些实施例中,每次负载均衡器615对数据消息执行负载均衡操作(即,将消息的目的地虚拟地址替换为DCN的目的地地址)时,负载均衡器更新它在STAT数据储存装置445中维护的、用于它中继到作为其负载均衡操作的一部分被寻址到的DCN的数据流量的统计信息。统计信息的若干示例在上面提供并且将在下面进一步描述。
在一些实施例中,LB代理620采集(例如,周期性地收集)负载均衡器存储在(一个或多个)STAT数据储存装置445中的统计信息,并且将这些统计信息中继到LB控制器集合520。基于LB控制器集合520从各种主机的各种LB代理采集的统计信息,LB控制器集合(1)将聚合的统计信息分发到每个主机的LB代理,使得每个LB代理可以定义和/或调整其负载均衡标准,和/或2)分析聚合的统计信息,以指定和分发负载均衡标准中的一些或全部用于负载均衡器强制执行。
在LB代理从LB控制器集合接收新的负载均衡标准的一些实施例中,LB代理将这些标准存储在主机级LB规则储存装置688中,以便传播到(一个或多个)LB规则储存装置440。在LB代理从LB控制器集合接收聚合的统计信息的实施例中,LB代理将聚合的统计信息存储在全局统计数据储存装置686中。在一些实施例中,LB代理620分析该储存装置686中的聚合的统计信息以定义和/或调整负载均衡标准(例如,权重值),它然后将负载均衡标准存储在LB规则存储器688中以便传播到(一个或多个)LB规则储存装置440。发布器622检索LB代理620存储在LB规则储存装置688中的每个LB规则,并且将检索到的规则存储在需要强制执行该规则的负载均衡器615的LB规则储存装置440中。
LB代理620不仅基于新接收到的聚合的统计信息传播LB规则更新,而且它还基于从LB控制器集合520接收到的对DCN组的更新来传播LB规则或更新LB规则。LB代理620将它从LB控制器集合520接收到的每个DCN组的成员存储在组数据储存装置684中。当从DCN组中添加或去除DCN时,LB代理620将该更新存储在组储存装置684中,并且然后制定对LB规则的更新以将该DCN的目的地地址添加到应该包括该地址的LB规则中或将其从已经包括该地址的LB规则中去除。再次,LB代理620将这种更新的规则存储在规则数据储存装置688中,从那里发布器将它们传播到需要强制执行这些规则的负载均衡器的(一个或多个)LB规则储存装置440。
当DCN被添加到DCN组时,更新的LB规则使得负载均衡器将DCN组数据消息中的一些引导到所添加的DCN。可替代地,当DCN从DCN组中去除时,更新的LB规则使得负载均衡器把将去往去除的DCN的数据消息重新引导到该组中的其它DCN。但是,即使在DCN被有意地指定为从DCN组中被去除之后,负载均衡器在一些实施例中也可以继续将作为被引导到该DCN的先前流的一部分的数据消息发送到该DCN(例如,在该DCN去除之后的短时间内)。这允许DCN随着它处理的流终止逐渐和从容地从DCN组中去除。一些实施例还通过使用时间值来指定何时应当使用用于相同LB规则的不同LB标准来实现离开应当从DCN组去除的DCN的从容地变换。一些实施例也使用这种时间值来从容地向DCN组添加新的DCN。
在一些实施例中,LB代理620在策略储存装置682中存储响应于新供应的DCN VM及其相关联的负载均衡器和/或响应于更新的全局统计信息和/或调整后的DCN组成员身份而引导LB代理的操作的LB策略。策略储存装置682中的策略在一些实施例中由LB控制器集合520提供。
图9示出了负载均衡器615在一些实施例中执行的过程900。如图所示,当负载均衡器从其对应的SFE端口635接收(在905)数据消息时,过程900开始。当该端口从其VM接收到数据消息时,它中继该消息。在一些实施例中,端口通过向负载均衡器传递对数据消息的引用(例如,识别存储器中存储数据消息的位置的句柄)来中继数据消息。
接下来,该过程确定(在910)接收到的数据消息的目的地地址是否是负载均衡器必须均衡其输入的DCN组的虚拟地址(例如,VIP地址)。为了做出这种确定,过程900检查LB规则数据储存装置440中存储该过程对其进行负载均衡的DCN组的虚拟地址的表。
当该过程确定(在910)数据消息不引导到负载均衡的虚拟地址时,该过程沿着消息的数据路径发送(在915)消息,而不对消息执行任何目的地地址转换。该操作(在915)需要向调用它的SFE端口635通知该过程已经完成处理VM数据消息。然后,SFE端口635可以将VM数据消息交递给SFE 610,或者可以调用另一个I/O链操作符以对VM数据消息执行另一个操作。在915之后,该过程结束。
在另一个方面,当该过程确定(在910)数据消息被引导到负载均衡的虚拟地址时,该过程确定(在920)连接状态高速缓存690是否存储识别数据消息应该被路由到的DCN的记录。如上所述,每次负载均衡器使用LB规则来引导DCN组的DCN的新数据消息流时,负载均衡器在一些实施例中在连接状态高速缓存690中创建记录以存储DCN的物理IP地址,使得当负载均衡器接收到同一个流(即,具有相同的消息属性集合)内的另一个数据消息时,它可以将其路由到它用于同一个流中的先前数据消息的相同DCN。
此外,如上所述,在一些实施例中,连接状态高速缓存690基于作为识别数据消息报头值的属性的流的散列版本的散列地址值来存储每个流的记录。这种寻址方案允许负载均衡器快速搜索高速缓存690。因此,在搜索规则数据存储库440之前,负载均衡器首先从接收到的数据消息的消息属性集合生成散列值(例如,消息的五元组的散列)以识别高速缓存690中的一个或多个存储器位置,并且然后使用该散列值来检查该(一个或多个)存储器位置,以确定高速缓存是否存储具有与接收到的VM数据消息匹配的属性集合的连接流记录。
当过程900在高速缓存690中识别(在920)用于接收到的数据消息的流的记录时,该过程(在925)然后用存储在高速缓存690中的记录中的DCN目的地地址(例如,用DCN IP地址)替换消息的目的地地址(即,虚拟组地址,诸如VIP地址)。在925,该过程沿着其数据路径发送地址转换后的数据消息。在一些实施例中,该操作需要向(调用负载均衡器以启动过程900的)SFE端口635返回通信,以让端口知道负载均衡器已完成其VM数据消息的处理。然后,SFE端口635可以将数据消息交递给SFE 610,或者可以调用另一个I/O链操作符以对数据消息执行另一个操作。在925,过程900还在一些实施例中更新其在STAT储存装置445中维护的用于消息由过程900寻址到其的DCN的统计信息。这种更新反映了新的数据消息向该DCN的传输。在925之后,过程900结束。
当过程900确定(在920)连接高速缓存690没有存储用于接收到的数据消息的流的记录时,过程900搜索(在930)LB规则数据存储库440以识别用于在905处接收到的数据消息的LB规则。为了识别数据存储库440中的LB规则,在一些实施例中,该过程将接收到的数据消息的属性集合与识别规则的元组(例如,图7的元组705)的数据消息进行比较以识别具有与消息的属性集合匹配的元组集合的规则。在一些实施例中,该过程使用不同的消息属性集合来执行这种比较操作。例如,在一些实施例中,消息属性集合仅包括在910处被使用以确定消息是否被引导到负载均衡的DCN组的消息的目的地IP地址(例如,所寻址的DCN组的VIP)。在其它实施例中,消息属性集合包括其它属性,诸如其它五元组标识符中的一个或多个(例如,源IP、源端口、目的地端口和协议中的一个或多个)。在一些实施例中,消息属性集合包括诸如虚拟网络标识符(VNI)的逻辑网络标识符、虚拟分布式路由器标识符(VDRI)、逻辑MAC地址、逻辑IP地址等。
如上所述,在一些实施例中,每个LB规则包括两个或更多个目的地地址(例如,IP地址710),其是作为具有在规则的元组集合705中指定的虚拟地址(例如,VIP地址)的DCN组的成员的DCN的目的地地址(例如,IP地址)。当该过程识别LB规则(在930)时,它选择规则的目的地地址(例如,IP地址)之一来替换消息中的虚拟地址(例如,VIP地址)。此外,如上所述,每个LB规则存储用于促进过程选择LB规则的目的地地址之一来替换消息的虚拟目的地标识符的标准。在一些实施例中,存储的标准是以上参考图7和8描述的权重和/或时间值。相应地,在一些实施例中,过程900基于存储在规则中的选择标准来选择匹配的规则的目的地地址之一。
在改变数据消息的目的地地址之后,该过程(在935)沿着其数据路径发送数据消息。再次,在一些实施例中,该操作需要向(调用负载均衡器以启动过程900的)SFE端口635返回通信,以让端口知道负载均衡器已完成其数据消息的处理。然后,SFE端口635可以将VM数据消息交递给SFE 610或者可以调用另一个I/O链操作符以对VM数据消息执行另一个操作。
在935之后,过程变换到940,其中在连接高速缓存数据存储库690中,它创建记录,以识别用于转发作为与在905处接收到的数据消息相同的流的一部分的数据消息的DCN(即,以识别DCN目的地标识符)。在一些实施例中,该记录基于在905处识别出的消息属性集合的散列值在高速缓存690中进行寻址。在940,过程900还更新它在STAT储存装置445中维护的用于消息由过程900寻址到其的DCN的统计信息。这种更新反映了新的数据消息向该DCN的传输。在940以后,该过程结束。
图10和11示出了LB代理620在一些实施例中执行的两个过程。图10示出了LB代理620在每次它从LB控制器集合520接收到更新的组成员身份和/或全局统计信息时执行的过程1000。如图所示,过程1000在它从LB控制器集合520接收到用于至少一个DCN组的更新统计信息和/或对至少一个DCN组的更新的成员身份时开始(1005)。
接下来,过程1000确定(在1010)接收到的更新是否包括对LB代理为其生成和/或维护LB规则的至少一个DCN组的成员身份的更新。如果没有,该该过程变换到1020。否则,该过程在组成员身份储存装置684中创建和/或更新(在1015)一条或多条记录,以存储该过程在1005处接收到的更新的组成员身份。从1015,该过程变换到1020。
在1020处,过程1000确定接收到的更新是否包括用于LB代理为其生成和/或维护LB规则的至少一个DCN组的更新的统计信息。如果没有,则该过程变换到1030。否则,该过程在全局统计储存装置686中创建和/或更新(在1025)一条或多条记录,以存储该过程在1005处接收到的更新的全局统计信息。从1025,过程变换到1030。
在1030处,该过程启动分析组成员身份储存装置684和/或全局统计储存装置686中的更新记录的过程,以在主机级LB规则数据储存装置688中更新组成员身份(例如,IP地址)和/或一个或多个LB规则的负载均衡标准(例如,权重或时间值)。该分析过程将在下面参考图11进一步描述。从主机级LB规则数据储存装置688,发布器622将每个新的或更新的LB规则传播到需要处理新的或更新的LB规则的各个负载均衡器615(在同一主机上)的(一个或多个)LB规则数据储存装置640。在发布每个新的或更新的LB规则时,发布器622不将LB规则发布到不需要处理该规则的负载均衡器(在同一主机上)的规则数据储存装置640。
在1030之后,过程1000结束。
图11示出了LB代理620在一些实施例中执行以分析组成员身份储存装置684和/或全局统计储存装置686中的更新记录,以便在主机级LB规则数据储存装置688中更新组成员身份(例如,IP地址)和/或一个或多个LB规则的负载均衡标准(例如,权重或时间值)的过程1100。在一些实施例中,当LB代理加电时(例如,当其主机加电时),LB代理执行相同或类似的过程,以在主机上配置负载均衡器的LB规则,并且当新的SCN VM在主机上被实例化时,LB代理执行相同或类似的过程,以配置实例化VM的负载均衡器的LB规则。
如图所示,该过程1100初始地在LB代理的主机上选择(在1105)负载均衡器615。在一些实施例中,该过程仅选择(在1105)受导致该过程执行的一条或多条更新记录影响的负载均衡器。接下来,在1110处,该过程选择所选择的负载均衡器必须对其进行负载均衡的DCN组的虚拟地址(例如,VIP)。然后,该过程检索用于由所选择的虚拟地址识别出的DCN组的存储的统计信息和组成员身份数据。
在1120处,该过程分析在1115处检索到的成员身份和统计信息记录。基于这种分析,该过程确定主机级LB规则数据储存装置688中的一个或多个LB规则的组成员身份(例如,IP地址)和/或负载均衡标准(例如,权重或时间值)是否应该为所选择的负载均衡器指定和/或修改。为了执行这种分析,过程1100使用在策略储存装置682中指定的一个或多个策略。如果该过程确定它应该为所选择的组指定或更新组成员身份和/或负载均衡标准,则该过程执行(在1120)这种指定或更新,并且然后将指定或更新的组成员身份和/或负载均衡标准存储在(在1125)存储在LB数据储存装置688中的一个或多个LB规则中。如上所述,主机LB规则储存装置688中指定或更新的LB规则由发布器622分发到在同一主机上对到所选择的组的输入流量执行负载均衡操作的任何负载均衡器的LB数据储存装置440。下面将描述更新负载均衡标准和/或组成员身份的若干示例。
在1125之后,该过程确定(在1130)它是否已检查所选择的负载均衡器必须进行负载均衡的所有虚拟组标识符(即,所有的DCN组)。如果没有,则它选择(在1135)另一个虚拟组标识符(即,另一个DCN组),并返回到1115以对该新选择的虚拟组标识符执行操作1115-1130。否则,该过程变换到1140,在那里它确定它是否已为其主机上的所有负载均衡器检查更新(例如,它是否已检查受新的或更新的组成员身份和统计信息数据影响的所有负载均衡器)。如果是,则该过程结束。如果没有,则该过程在与LB代理相同的主机上选择(在1145)另一个负载均衡器,并且然后为该新选择的负载均衡器重复操作1110-1140。
图12示出了LB控制器集合520中的一个或多个LB控制器在一些实施例中执行的过程1200。如图所示,当过程1200从一个或多个LB代理接收到统计信息和/或接收到对一个或多个DCN组的成员身份更新时开始(1205)。过程1200在一些实施例中从LB控制器集合的另一个过程接收组成员身份更新。例如,当LB控制器集合被虚拟化管理器集合525通知新的VM已为DCN组创建或已从DCN组终止时,LB控制器集合向过程1200通知新的DCN VM已被添加到DCN组或已从DCN组中去除。
在1205之后,该过程更新(在1210)(1)LB控制器集合520基于在1205处接收到的统计信息进行维护的全局统计信息,和/或(2)LB控制器集合520基于在1205处接收到的组更新进行维护的(一个或多个)组成员身份。接下来,在1215处,该过程基于更新的统计信息确定它是否应该具有为该组指定的或从该组中去除的一个或多个SCN或DCN VM。例如,当更新的统计信息导致DCN组的聚合的统计信息超过用于该DCN组的总体阈值负载值时,过程1200确定必须为该DCN组指定(例如,分配或实例化)一个或多个新的DCN,以减少先前为该组指定的DCN上的负载。类似地,当更新的统计信息导致DCN组中的一个或多个DCN的聚合的统计信息超过阈值负载值时,过程1200可以确定必须为该DCN组指定(例如,分配或实例化)一个或多个新的DCN,以减少拥塞的DCN上的负载。相反,当更新的统计信息显示DCN组中的DCN未被充分利用或不再用于处理任何流时,过程1200确定(在1215)必须为DCN组去除DCN。
当过程1200确定(在1215)应该为该组添加或去除一个或多个SCN或DCN VM时,该过程请求(在1220)VM管理集合525添加或去除该VM,并且然后变换到1225。当该过程确定(在1215)不需要为该组添加或去除SCN或DCN VM时,它也变换到1225。在1225处,该过程确定是否已达到其将LB控制器集合维护的成员身份更新和/或全局统计信息分发到在一个或多个主机上执行的一个或多个LB代理的时间。
在一些实施例中,过程1200定期地分发成员身份更新和/或全局统计信息。但是,在其它实施例中,每当这个数据被修改时,过程1200分发用于一个或多个DCN组的成员身份更新和/或全局统计信息。除了请求从组中添加或去除VM之外,当作为组的一部分的VM故障时,组成员身份可以改变。这种VM故障必须被中继到LB代理,使得它们可以修改其相关联的负载均衡器的LB规则。在一些实施例中,过程1200分发的成员身份更新数据将故障DCN与有意去除的DCN(即,还未故障但已从DCN组中去除的DCN)区分开来。这种区分允许负载均衡器的操作对于故障的DCN和有意去除的DCN进行不同的修改。对于故障的DCN,负载均衡器停止使用故障的DCN,而对于有意去除的DCN,负载均衡器在一些实施例中可以在接收到成员身份更新之后继续使用去除的DCN一段时间(例如,对于直到特定时间的新流,或对于由DCN处理的先前接收到的流)。为了使负载均衡器停止使用故障的DCN,在一些实施例中,在负载均衡器的连接储存装置690中指定故障DCN的连接记录被去除。
当该过程确定(在1225)它不需要分发新数据时,它变换到1230以确定它是否已接收到它需要更新其记录的任何更多的统计信息和/或成员身份更新。如果是,则该过程变换回到1210以处理新接收到的统计信息和/或成员身份更新。如果没有,则该过程变换回到1225以再次确定它是否应该将新数据分发到一个或多个LB代理。
当该过程确定(在1225)应该分发(一个或多个)成员身份更新和/或全局统计信息时,它将该数据分发(在1235)到需要处理该数据的一个或多个LB代理,以指定和/或更新它们为其主机上的负载均衡器维护的负载均衡规则。在1235之后,该过程确定(在1240)它是否已接收到它需要为其更新它的记录的任何更多的统计信息和/或成员身份更新。如果没有,则该过程保持在1240,直到它接收到统计信息和/或成员身份更新,在那时它变换回到1210以处理新接收到的统计信息和/或成员身份更新。
在以上参考图10-12描述的实施例中,LB控制器集合520将全局统计信息分发到LB代理,LB代理分析该数据以指定和/或调整其维护的LB规则。但是,在其它实施例中,LB控制器集合520分析它采集的全局统计信息,并且基于该分析指定和/或调整LB规则,它然后将LB规则分发到LB代理。在这些实施例中,LB代理简单地将它们从LB控制器集合接收到的LB规则或规则修改存储在主机级LB规则储存装置688中,用于分发到负载均衡器615的各个LB规则储存装置440。
图13示出了显示用于实施例的LB控制器集合的操作的过程1300,在该实施例中LB控制器集合分析成员身份更新和/或全局统计信息,并且响应于该分析,如果需要的话,指定和/或更新LB规则。除了包括操作1312以及用操作1325和1335替换操作1225和1235之外,该过程类似于图12的过程1200。
在1312处,过程1300分析成员身份和统计信息记录,并且如果需要的话,指定和/或更新一个或多个LB规则的组成员身份(例如,IP地址)和/或负载均衡标准(例如,权重或时间值)。除了当由LB控制器集合的过程1300执行时,操作1312可能生成用于多个主机的负载均衡器的LB规则或规则更新之外,该操作类似于图11的过程1100的操作1120。从1312,该过程变换到如上所述的1215。
在1325处,过程1300确定它是否必须分发新指定和/或更新的LB规则。如果不是,则该过程变换到如上所述的1230。否则,该过程变换到1335以将新指定和/或更新的LB规则分发到具有需要强制执行指定和/或更新的LB规则的负载均衡器的主机的LB代理。在1335之后,该过程变换到如上所述的1240。
图14-16给出了若干示例,其示出了一些实施例如何通过调整负载均衡标准和通过添加/去除DCN VM来动态调整流量的散布。这些示例中的每一个按照多个操作阶段示出,该多个操作阶段显示若干内联负载均衡器1400动态地调整它们如何将来自若干web服务器VM 1405的数据流量散布到若干应用服务器VM 1410。在这些示例中,每个负载均衡器1400与一个web服务器1405相关联,而应用服务器VM 1410是与一个虚拟地址标识符相关联的一个DCN组1450的一部分。此外,负载均衡器1400、web服务器1405和应用服务器1410在一个或多个主机上执行。在主机上,一个或多个LB代理620执行以与LB控制器集合520交换统计信息,以便允许负载均衡操作基于动态检测到的负载条件来动态地更新。为了简化这些图,LB代理620在图14-16中没有示出。
在三个操作阶段1401-1403中,图14示出了其中负载均衡标准基于动态检测到的负载条件进行调整的示例。在该示例中,每个负载均衡器1400使用加权轮询方案分发来自其相关联的web服务器1405的数据消息。控制该方案的权重值由(一个或多个)LB代理基于由LB控制器集合520提供的全局负载统计信息进行调整。这些统计信息指定应用服务器VM1410上的负载。
在图14的第一操作阶段1401中,每个负载均衡器1400在应用服务器VM 1410当中均匀分发其web服务器VM 1405的数据消息。这种均匀分发在该图中通过在负载均衡器1400a上开始并且在应用服务器1410上终止的线上的10、10、10、10和9的指示绘出。这些数字是负载均衡器1400a正在引导到应用服务器1410的活动数据流的数量。如图所示,在这个阶段中的负载均衡器1400a将其操作基于权重值1、1、1、1和1。这些权重值指定负载均衡器应当均匀地将从web服务器1405a到应用服务器组1450的接下来的五个新数据消息流分发到五个应用服务器1410。
第一阶段1401还示出了从每个负载均衡器1400接收本地连接统计信息的LB控制器集合520。这些统计信息由在图14中未示出的负载均衡器的LB代理收集和中继。第一阶段1401还示出了其中一个所提供的本地连接统计信息的示例,它是负载均衡器1400a提供给LB控制器集合520的本地统计信息1420。该本地统计信息1420示出了负载均衡器1400a当前具有正在分别引导到组1450的应用服务器1410a-1410e的10、10、10、10和9个活动流。
在不同的实施例中,负载均衡器使用不同的技术来量化它们正在引导到每个应用服务器1410的活动流的数量。在一些实施例中,负载均衡器暂停(即,去除)在特定时间段之后不活动的流(即,它们还没有接收到任何新的数据消息)。其它实施例使用其它技术来量化活动流的数量。
其它实施例不是指定活动流的数量来表达DCN(即,在该示例中为应用服务器)上的数据流量负载,而是使用其它流量度量。例如,在一些实施例中,负载均衡器1400收集它们路由到每个应用服务器1410的数据消息(例如,数据分组)的数量。其它示例收集诸如TCPRTT和窗口大小、重传等的其它流量度量。还有的其它实施例收集其它负载度量(诸如往返延迟、TCP窗口大小等),其表示每个负载均衡器检测的、到该负载均衡器将流量引导到的每个DCN的负载。在一些实施例中,负载均衡器的LB代理测量这些其它负载度量(例如,往返延迟或TCP窗口大小),而在其它实施例中,负载均衡器测量这些负载度量中的一个或多个(例如,往返延迟或TCP窗口大小)。
第二阶段1402示出了将全局负载统计信息分发到每个负载均衡器1400的LB代理(图中未示出)的LB控制器集合520。在一些实施例中,全局负载统计信息是负载均衡器(通过LB代理)提供给LB控制器集合520的本地统计信息的聚合。第二阶段1402示出了全局连接统计信息的示例,全局连接统计信息是负载均衡器1400a的LB代理从LB控制器集合520接收到的全局统计信息1425。如图所示,本示例中的全局统计信息示出了五个应用服务器1410a-1410e的活动连接的以下数量:131、135、101、100和86。这些连接的数量表示所有五个负载均衡器1400正在从五个web服务器1405分发到五个应用服务器1410a-1410e的活动流的数量。
与收集到的本地统计信息一样,在其它实施例中,分布式全局统计信息是不同类型的流量和/或负载度量。在一些实施例中,分布式全局统计信息包括对于DCN组中的每个DCN,表示该DCN上的数据消息流量负载的聚合消息流量数据。这种负载数据的示例包括由DCN接收到的数据消息的数量(例如,分组的数量)、由DCN处理的流的数量、由DCN接收到的数据消息字节的数量等。在一些实施例中,度量可以被归一化为时间单位,例如,每秒、每分钟等。此外,在一些实施例中,分布式全局统计信息按照将DCN的负载与组中其它DCN的负载进行比较的相对拥塞百分比表示每个DCN上的数据消息负载。
在一些实施例中,分布式全局统计信息包括到每个DCN的聚合往返延迟(例如,平均往返延迟)、每个DCN的聚合TCP窗口大小值(例如,平均TCP窗口大小)等。此外,在一些实施例中,分布式全局统计信息部分或完全基于LB控制器集合520通过直接与DCN(例如,与应用服务器1410)交互而收集到的度量。在其中全局统计信息完全基于由LB控制器集合直接收集到的度量的一些实施例中,LB控制器集合不收集负载均衡器1400在本地收集的统计信息。
第二阶段1402还示出了负载均衡器1400a用于将新流散布到应用服务器1410的权重值的调整。这些权重值由(一个或多个)LB代理620基于接收到的全局统计信息1425进行调整。权重值在它们被调整之后为1、1、2、2、3。这些权重值指示负载均衡器1400a以加权轮询方法如下散布接下来的九个新的数据消息流:1个到第一应用服务器1410a、1个到第二应用服务器1410b、2个到第三应用服务器1410c、2个到第四应用服务器1410d、以及3个到第五应用服务器1410e。如上所述,一些实施例在LB规则中指定和使用时间段值,以便允许负载均衡器在不同的权重值集合之间从容地变换以动态地调整其负载均衡操作。
第三阶段1403示出了在权重值的这种调整之后,负载均衡器1400a对流的相对均匀分发变得朝与较高权重值相关联的应用服务器1410(即,应用服务器1410c、1410d和1410e)偏斜。具体地,该阶段示出了一旦权重值被调整,(从web服务器1405到应用服务器1410的)流的数量从20、20、20、19和19变为23、23、26、26和28。
在图14所示的示例中,负载均衡标准(即,本示例中的权重值)由(一个或多个)LB代理基于由LB控制器集合520分发的全局统计信息进行调整。但是,在其它实施例中,LB控制器集合基于LB控制器集合从负载均衡器和/或从(一个或多个)DCN组收集到的统计信息来调整和分发负载均衡标准。在这些实施例中,负载均衡器使用由LB控制器集合分发的负载均衡标准来执行或调整其负载均衡操作。在这些实施例中的一些实施例中,LB控制器集合还用初始的权重值初始地定义LB规则,并将这些规则分发到负载均衡器(通过LB代理)用于负载均衡器存储和使用。
在三个操作阶段1501-1503中,图15示出了将DCN添加到DCN组以减轻DCN组成员上的流量负载的示例。该示例遵循图14的示例的第三阶段1403。图15的第一阶段1501示出了将第六应用服务器1410f添加(例如,分配或实例化)到应用服务器组1450。该第六应用服务器1410f已通过LB控制器集合520指示VM管理控制器集合525将先前创建的应用服务器VM分配给该组,或者为该组实例化新的应用服务器VM而被添加到该组。
第一阶段1501还示出了向负载均衡器1400的LB代理(图中未示出)提供全局统计信息1520和组更新1522的LB控制器集合520。全局统计信息1520示出了每个应用服务器当前正在处理大约50K个流,这在该示例中被假设为接近对于每个应用服务器的流的阈值最大数量。如图所示,在该阶段中,从负载均衡器1400a到应用服务器的流的数量为20K、18K、21K、17K和19K。
组更新1522通知负载均衡器第六应用服务器1410f已被添加到应用服务器组1450。响应于该组更新,web服务器1405a的LB代理(图中未示出)调整该web服务器的负载均衡器1400a强制执行的LB规则的权重值。如第一阶段1501所示,调整后的权重值为1、1、1、1、1、1000。该权重值集合指示负载均衡器基于将接下来的五个新流分配给应用服务器1410a-1410e的加权轮询方案将接下来的1005个新的数据流从web服务器1405a分配给应用服务器1410a-1410f,并且然后将下1000个流分配给应用服务器1410f。
在接收组更新1522之后,其它web服务器1405的其它负载均衡器的LB规则通过其各自的(一个或多个)LB代理类似地进行调整。响应于这些调整后的权重值,第六应用服务器1410f上的负载开始增加,而头五个应用服务器1410a-1410e上的负载开始减小,如第二阶段1502所示。第二阶段1502示出了向负载均衡器1400的LB代理(图中未示出)提供更新的全局统计信息1525的LB控制器集合。更新的全局统计信息1525示出了该五个应用服务器1410a-1410e上的负载已经下降到40K、39K、41K、38K和39K,而第六应用服务器1410f上的负载已升至18K。在这个阶段,从负载均衡器1400a到应用服务器的流的数量现在是14K、12K、13K、15K、16K和8K。
第二阶段102还示出了响应于更新的全局统计信息,负载均衡器1400a的权重值已经被调整为1、1、1、1、3。在接收到全局统计信息1525之后,其它web服务器1405的其它负载均衡器的权重值也由其各自的(一个或多个)LB代理进行调整。然后,第三阶段1503示出了响应于这些权重值调整,跨应用服务器1410的负载已达到44K、42K、43K、45K、46K和35K,如更新的全局统计信息1535所指示的。在该阶段中,从负载均衡器1400a到应用服务器的流的数量现在是12K、12K、13K、14K、13K和13K。
在三个操作阶段1601-1603中,图16示出了当需要较少的DCN来处理DCN组上的负载时从DCN组中去除DCN的示例。该示例遵循图15的示例的第三阶段1503。图16的第一阶段1601示出了向负载均衡器1400的LB代理(图中未示出)提供全局统计信息1620和组更新1622的LB控制器集合520。全局统计信息1620示出了应用服务器1410分别处理22K、26K、27K、28K、28K和26K的流。如图所示,在这个阶段,从负载均衡器1400a到应用服务器的流的数量是6K、7K、10K、9K、10K和10K。
第一阶段1601还示出了LB控制器集合520提供通知负载均衡器应当从应用服务器组1450中去除第一应用服务器1410a的组更新1622。响应于该组更新,web服务器1405a的LB代理(图中未示出)调整该web服务器的负载均衡器1400a强制执行的LB规则的权重值。如第一阶段1601所示,调整后的权重值为0、2、1、1、1、1。该权重值集合指示负载均衡器基于将接下来的两个新流分配给应用服务器1410b的加权轮询方案将接下来的6个新的数据流从web服务器1405a分配给应用服务器1410b-1410f,并且然后将接下来的四个流单独分配给四个应用服务器1410c-1410f中的每一个。
在接收到组更新1622之后,其它web服务器1405的其它负载均衡器的LB规则通过其各自的(一个或多个)LB代理类似地进行调整。响应于这些调整后的权重值,第一应用服务器1410a上的负载开始减小,而其它五个应用服务器1410b-1410f上的负载开始增加,如第二阶段1602所示。第二阶段1602示出了向负载均衡器1400的LB代理(图中未示出)提供更新的全局统计信息1625的LB控制器集合。更新的全局统计信息1625示出了应用服务器1410a上的负载已经下降到12K个流,而应用服务器1410b-1410f上的负载已经增加到30K、32K、31K、32K和30K个流。在该示例中,应用服务器1410a上的负载不会立即下降到零,因为该服务器继续为它已在处理的流接收数据消息。
第二阶段还示出了从负载均衡器1400a到应用服务器的流的数量现在为5K、8K、9K、8K、10K和9K。第二阶段1602还示出了响应于更新的全局统计信息,负载均衡器1400a的权重值已被调整为0、1、1、1、1、1。在接收到全局统计信息1625之后,其它web服务器1405的其它负载均衡器的权重值也由其各自的(一个或多个)LB代理进行调整。
然后,第三阶段1603示出了响应于这些权重值调整,应用服务器1410a已经被有效地从DCN组1450中去除,因为它不再接收来自负载均衡器1400的任何流。该阶段还示出了其它应用服务器1410b-f上的负载已达到40K、39K、41K、38K和39K个流,如更新的全局统计信息1635所指示的。在此阶段,从负载均衡器1400a到应用服务器的流的数量现在为0、12K、13K、14K、13K和13K。
上面的示例示出了添加新的DCN以减轻流量负载。在一些实施例中,DCN上的负载可以通过添加或去除SCN VM来调整。此外,尽管上述示例中的LB规则包括促进负载均衡器动态调整负载的权重值,但是本领域普通技术人员将认识到,在其它实施例中,负载均衡器基于动态检测到的负载条件使用其它机制动态地调整数据流量负载。
在上述示例中,负载均衡器被描述为均衡数据计算端节点(DCEN)(诸如web服务器、应用服务器和数据库服务器)的不同层之间的数据流量。但是,在一些实施例中,分布式负载均衡体系架构可以用于对去往和来自中间件服务节点的数据流量进行负载均衡。换句话说,在一些实施例中,DCN组中的DCN可以是中间件服务节点(诸如防火墙、入侵检测器、WAN优化器等)。
此外,如图17所示,在一些实施例中,内联负载均衡器可以被配置为将最初发送到DCEN的数据消息路由到中间件服务节点集合。在该示例中,内联负载均衡器1700(与web服务器VM 1705相关联)将web服务器1705发送到应用服务器1710的数据流量引导到防火墙中间件VM 1720。在将数据消息引导到防火墙1720时,内联负载均衡器执行在防火墙1720当中散布数据消息负载的负载均衡操作。一旦由防火墙1720处理,防火墙过滤的数据消息就由内联负载均衡器1730(与防火墙VM 1700相关联)分发到应用服务器1710。如图所示,在该示例中,防火墙服务器是在与web服务器和应用程序服务器相同的主机上执行的服务VM。
为了将寻址到应用服务器的虚拟地址(例如,VIP)的数据流量引导到防火墙VM,负载均衡器1700在一些实施例中(1)执行用防火墙VM的虚拟地址替换应用服务器虚拟地址的虚拟地址(例如,VIP)转换,并且然后(2)基于其负载均衡标准在防火墙VM之间散布接收到的数据流量。在一些实施例中,负载均衡器1700地址转换在消息标识符中(例如,在分组报头中)插入允许防火墙VM 1720和负载均衡器1730确定其接收到的消息被引导到应用服务器1710的标识符。为了做出这种确定,在一些实施例中,负载均衡器1730被配置有使得负载均衡器能够将接收到的数据消息与应用服务器1710相关联的规则。
如上所述,VM 605的内联负载均衡器615可以对多个不同的DCN组执行多个不同的负载均衡操作。这是因为负载均衡器615可以应用多个不同的DCN组的负载均衡规则。这些规则存储在负载均衡数据储存装置440中,如以上参考图6-8所描述的。
图18示出了一个内联负载均衡器可以利用多个不同内联负载均衡器集合形成多个不同的分布式负载均衡器。图18给出了两个内联负载均衡器集合,其将VM的两个不同集合1805和1810的数据消息分发到两个不同的DCN组1820和1825。一个VM,VM1,是VM集合1805和1810两者的一部分。每个内联负载均衡器类似于图6的内联负载均衡器615。
如图18所示,VM1的内联负载均衡器1815强制执行存储在其负载均衡储存装置1840中的负载均衡规则1850和1855。这些负载均衡规则1850和1855指示负载均衡器1815将分别引导到DCN组1820和1825的VM1的数据消息分发到这些组中的DCN。此外,在该示例中,虚拟机VM2的内联负载均衡器1870强制执行用于为DCN组1820分发数据消息的LB规则,而虚拟机VM3的内联负载均衡器1875强制执行用于为DCN组1825分发数据消息的LB规则。用于DCN组1820的VM1和VM2的内联负载均衡器1815和1870的LB规则可以具有相同的LB标准或不同的LB标准。类似地,用于DCN组1825的VM1和VM3的内联负载均衡器1815和1870的LB规则可以具有相同的LB标准或不同的LB标准。这些负载均衡规则(例如,规则1850和1855)及其相关联的负载均衡储存装置(例如,储存装置1840)类似于负载均衡规则700和800以及图6-8的负载均衡储存装置440。
如图18所示,VM组1805的内联负载均衡器(例如,VM1和VM2的1815和1870)形成在DCN组1820的DCN当中分发来自组1805的VM的数据消息的分布式负载均衡器1880。类似地,如图所示,VM组1810的内联负载均衡器(例如,VM1和VM3的1815和1875)形成在DCN组1825的DCN当中分发来自组1810的VM的数据消息的分布式负载均衡器1890。
每个分布式负载均衡器1880或1890是逻辑构造,因为它不是物理世界中的一个项目,而是概念上表示一组相关联的内联负载均衡器执行以在DCN组上分发数据消息负载的一个负载均衡操作集合。在这种分布式方法中,每个内联负载均衡器只需要存储其实现的分布式负载均衡器的负载均衡规则。换句话说,这种分布式方法中的每个内联负载均衡器只需要存储其相关联的VM可能发出的DCN组数据消息的负载均衡规则。此外,在这种分布式方法中,每个内联负载均衡器只需要在其连接数据存储库(例如,连接数据储存装置690)中维护由负载均衡器的相关联的VM发送的数据消息流的流连接状态。由于所有这些原因,一些实施例的内联负载均衡器是快速和高效的,因为它们维护小的LB规则和它们可以快速搜索的连接状态数据储存装置。
在图18所示的示例中,通过作为两个相关联的负载均衡器集合(一个用于VM组1805和另一个用于VM组1810)的一部分,内联负载均衡器1815被示为是两个分布式负载均衡器1880和1890的一部分。在其它示例中,内联负载均衡器可以是任意数量N个分布式负载均衡器的一部分,当具有另一个N个内联负载均衡器集合时,它对被引导到N个不同DCN组的数据消息强制执行N个负载均衡规则。
图19示出了另一个示例,其示出了一些实施例的内联负载均衡器可以将数据消息的虚拟地址不同地转换为不同的DCN组。具体地,该图示出了五个web服务器1905的五个内联负载均衡器1900,其将到与应用服务器的第一组1910相关联的第一VIP的数据消息引导到该组1910的应用服务器1915和1920并对其进行负载均衡,同时将到与应用服务器的第二组1930相关联的第二VIP的数据消息引导到该组1930的应用服务器1935和1940并对其进行负载均衡。
在一些实施例中,内联负载均衡器对寻址到相同虚拟地址的数据消息进行不同的引导和负载均衡。例如,一些实施例在被寻址的DCN组内定义优先级子组,并且基于不同优先级数据消息的优先级将它们负载均衡到不同的子组。例如,图20示出了内联负载均衡器集合2000,其基于评估的数据消息的优先级将到应用服务器的组2050的web服务器数据消息引导到应用服务器的高优先级子组2040或应用服务器的低优先级组2045。
在不同的实施例中,负载均衡器2000不同地评估来自web服务器2005的数据消息的优先级。例如,在一些实施例中,负载均衡器基于web服务器从其接收到数据消息的源的身份来评估数据消息的优先级。在评估数据消息的优先级之后,负载均衡器将接收到的数据消息引导到具有对应优先级的应用服务器子组。
许多上述特征和应用被实现为软件过程,其被指定为记录在计算机可读存储介质(也被称为计算机可读介质)上的指令集合。当这些指令被一个或多个处理单元(例如,一个或多个处理器、处理器的核心、或其它处理单元)执行时,它们使得这(一个或多个)处理单元执行在指令中指示的动作。计算机可读介质的示例包括,但不限于,CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线地或通过有线连接传递的载波和电子信号。
在本说明书中,术语“软件”是指包括驻留在只读存储器中的固件或者可以被读入到存储器中用于被处理器处理的存储在磁储存装置中的应用。此外,在一些实施例中,多个软件发明可以被实现为更大程序的子部分,同时保留不同的软件发明。在一些实施例中,多个软件发明也可以被实现为单独的程序。最后,一起实现本文所描述的软件发明的单独程序的任意组合是在本发明的范围之内。在一些实施例中,当软件程序被安装以在一个或多个电子系统上操作时,该软件程序定义执行并运行该软件程序的操作的一个或多个特定的机器实现。
图21概念性地示出了实现本发明的一些实施例的计算机系统2100。计算机系统2100可以用于实现上述主机、控制器和管理器中的任一个。由此,它可以用于执行上述过程的任一个。该计算机系统包括各种类型的非临时性机器可读介质和用于各种其它类型的机器可读介质的接口。计算机系统2100包括总线2105、(一个或多个)处理单元2110、系统存储器2125、只读存储器2130、永久储存设备2135、输入设备2140和输出设备2145。
总线2105统一地表示通信地连接计算机系统2100的众多内部设备的所有系统、外围设备和芯片组总线。例如,总线2105将(一个或多个)处理单元2110与只读存储器2130、系统存储器2125和永久储存设备2135通信地连接。
从这些各种存储器单元中,(一个或多个)处理单元2110检索要执行的指令和要处理的数据,以便执行本发明的过程。(一个或多个)处理单元在不同实施例中可以是单个处理器或多核心处理器。只读存储器(ROM)2130存储由(一个或多个)处理单元2110和计算机系统的其它模块所需要的静态数据和指令。另一方面,永久储存设备2135是读和写存储器设备。这个设备是即使当计算机系统2100关闭时也存储指令和数据的非易失性存储单元。本发明的一些实施例使用大容量储存设备(诸如磁或光盘及其对应的盘驱动器)作为永久储存设备2135。
其它实施例使用可去除储存设备(诸如软盘、闪存驱动器等)作为永久储存设备。与永久储存设备2135一样,系统存储器2125是读和写存储器设备。但是,与储存设备2135不同,系统存储器是易失性读和写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时需要的一些指令和数据。在一些实施例中,本发明的过程被存储在系统存储器2125、永久储存设备2135和/或只读存储器2130中。从这些各种存储器单元中,(一个或多个)处理单元2110检索要执行的指令和要处理的数据,以便执行一些实施例的过程。
总线2105还连接到输入和输出设备2140和2145。输入设备使用户能够传递信息和选择到计算机系统的命令。输入设备2140包括字母数字键盘和定点设备(也称为“光标控制设备”)。输出设备2145显示由计算机系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括诸如用作输入和输出设备两者的触摸屏的设备。
最后,如图21所示,总线2105还通过网络适配器(图中未示出)将计算机系统2100耦合到网络2165。以这种方式,计算机可以是计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)、或内联网、或诸如互联网的网络的网络)的一部分,计算机系统2100的任何或所有组件可以与本发明结合使用。
一些实施例包括电子组件,诸如微处理器、在机器可读或计算机可读介质(可替代地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令的储存设备和存储器。这种计算机可读介质的一些示例包括RAM、ROM、只读压缩盘(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、只读数字多功能盘(例如,DVD-ROM,双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡、小型SD卡、微型SD卡等)、磁和/或固态硬盘驱动器、只读和可记录盘、超密度光盘、任何其它光或磁介质、以及软盘。计算机可读介质可以存储可由至少一个处理单元执行的并且包括用于执行各种操作的指令集合的计算机程序。计算机程序或计算机代码的示例包括诸如由编译器产生的机器代码,以及包括由计算机、电子组件、或利用解释器的微处理器执行的更高级代码的文件。
虽然以上讨论主要指执行软件的微处理器或多核心处理器,但是一些实施例由一个或多个集成电路来执行,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,这种集成电路执行在该电路自身上存储的指令。
如在本说明书中所使用的,术语“计算机”、“服务器”、“处理器”、以及“存储器”都是指电子或其它技术设备。这些术语不包括人或人群。为了本说明书的目的,术语显示或正在显示意味着在电子设备上显示。如本说明书中所使用的,术语“计算机可读介质”、“多个计算机可读介质”和“机器可读介质”被完全限制为以由计算机可读的形式存储信息的有形的、物理的对象。这些术语不包括任何无线信号、有线下载信号、以及任何其它短暂或临时信号。
虽然本发明已经参考许多特定细节进行了描述,但是本领域普通技术人员将认识到,在不脱离本发明的精神的情况下,本发明可以以其它特定形式体现。例如,虽然上面参考若干主机体系架构描述了负载均衡过程,但是本领域普通技术人员将意识到,这些过程可以在各种各样的不同体系架构中实现,这些体系架构在沿着主机外其出口路径的各种不同位置处对消息进行负载均衡。例如,在一些实施例中,负载均衡过程在主机的PNIC中实现。换句话说,在一些实施例中,主机的PNIC检查VM消息以确定在将它们发送到主机外或将它们发送到其目的地GVM之前是否应该对其进行负载均衡。
在许多上述示例中,虚拟地址是负载均衡器用DCN VM的物理IP地址替代的VIP。但是,本领域普通技术人员将认识到,在其它实施例中,虚拟地址是不同类型的地址,并且负载均衡器执行其它地址转换操作。例如,在一些实施例中,负载均衡器将虚拟端口地址转换为物理端口地址(即,执行L4地址转换操作),以替代执行IP网络地址转换(用物理IP地址替换VIP)或与执行IP网络地址转换结合。在还有的其它实施例中,负载均衡器通过MAC重新引导操作将数据消息引导到DCN组中的DCN,MAC重新引导操作用应该接收数据消息的DCN的MAC地址替换一个MAC地址。在一些实施例中,DCN连接到逻辑上跨越多个主机的一个分布式逻辑交换机,并且MAC重新引导将寻址到逻辑交换机的一个端口的数据消息引导到逻辑交换机的另一个端口。
在许多上述示例中,LB代理基于由控制器集合分发的数据调整在其主机上执行的负载均衡器的负载均衡标准。普通技术人员将意识到,在其它实施例中,负载均衡器本身基于由控制器集合分发的数据来调整其负载均衡标准。
本说明书贯穿全文参考包括虚拟机(VM)的计算和网络环境。但是,虚拟机仅仅是计算节点的一个示例,也被称为可寻址节点。本发明的一些实施例同样适用于利用在主计算设备上定义的端口抽象以允许在该主机上执行的多个程序共享该主机上的公共资源的任何计算节点。由此,在一些实施例中,计算节点可以包括非虚拟化物理主机、虚拟机、在主机操作系统之上运行而不需要管理程序或单独的操作系统的容器、以及管理程序内核网络接口模块。
在一些实施例中,VM使用由虚拟化软件(例如,管理程序、虚拟机监视器等)虚拟化的主机的资源与在主机上其自己的客户操作系统一起操作。租户(即VM的所有者)可以选择在客户操作系统之上要操作哪些应用。另一方面,一些容器是在主机操作系统之上运行而不需要管理程序或单独的客户操作系统的构造。在一些实施例中,主机操作系统使用名称空间将容器彼此隔离,并且因此提供在不同容器内操作的不同应用组的操作系统级隔离。这种隔离类似于在虚拟化系统硬件的管理程序虚拟化环境中提供的VM隔离,并且因此可以被视为隔离在不同容器中操作的不同应用组的一种虚拟化形式。这种容器比VM更轻巧。
在一些实施例中,管理程序内核网络接口模块是包括具有管理程序内核网络接口和接收/发送线程的网络堆栈的非-VM DCN。管理程序内核网络接口模块的一个示例是作为VMware公司的ESXiTM管理程序的一部分的vmknic模块。
本领域普通技术人员将认识到,虽然本说明书提到VM,但是给出的示例可以是任何类型的DCN,包括物理主机、VM、非-VM容器和管理程序内核网络接口模块。事实上,在一些实施例中,示例网络可以包括不同类型的DCN的组合。
许多图(例如,图9-13)概念性地示出了过程。这些过程的特定操作可能没有以所示出和描述的确切顺序执行。特定操作可能没有在一系列连续的操作中执行,并且不同的特定操作可能在不同的实施例中执行。此外,过程可以使用若干子过程来实现,或者作为更大的宏过程的一部分来实现。鉴于上述,本领域普通技术人员将理解,本发明不受上述说明性细节的限制,而是由所附权利要求来限定。

Claims (95)

1.一种非临时性机器可读介质,其存储用于对数据消息进行负载均衡的程序,所述数据消息由源计算节点(SCN)发送到一组目的地计算节点(DCN),所述程序包括用于以下的指令集:
截取由SCN发送的数据消息,并且确定数据消息是否寻址到所述DCN组;以及
当数据消息寻址到所述DCN组时,识别所述DCN组中应该接收数据消息的DCN,并将数据消息发送到识别出的DCN;
其中所述程序和所述SCN在主计算设备上执行。
2.如权利要求1所述的机器可读介质,其中用于将数据消息发送到识别出的DCN的指令集包括用于将数据消息中的目的地地址从识别出的DCN组的地址改变为识别出的DCN的地址的指令集。
3.如权利要求2所述的机器可读介质,其中所述地址包括互联网协议(IP)地址。
4.如权利要求2所述的机器可读介质,其中所述地址包括媒体访问控制(MAC)地址。
5.如权利要求2所述的机器可读介质,其中所述地址包括互联网协议(IP)端口地址。
6.如权利要求2所述的机器可读介质,其中用于将数据消息发送到识别出的DCN的指令集还包括用于在目的地地址已被改变之后将数据消息提供给在主计算设备上执行的软件转发元件(SFE)以便使SFE将数据消息转发到识别出的DCN的指令集。
7.如权利要求6所述的机器可读介质,其中SFE通过在主计算设备外部操作的中间转发元件集合将数据消息转发到识别出的DCN。
8.如权利要求6所述的机器可读介质,其中识别出的DCN在主计算设备上执行,并且SFE将数据消息直接转发到识别出的DCN。
9.如权利要求1所述的机器可读介质,其中所述程序还包括用于当数据消息不寻址到所述DCN组时将数据消息转发到不在所述DCN组中的DCN的指令集。
10.如权利要求9所述的机器可读介质,其中用于将数据消息转发到不在所述DCN组中的DCN的指令集包括用于将数据消息提供给在主计算设备上执行的软件转发元件(SFE)以便使所述SFE将数据消息转发到不在所述DCN组中的DCN的指令集。
11.如权利要求1所述的机器可读介质,其中所述程序是部署在SCN的出口数据路径中的主计算设备上的负载均衡器。
12.如权利要求11所述的机器可读介质,其中SCN的出口数据路径包括由SCN传送的数据消息沿着其被发送出主计算设备的数据路径。
13.如权利要求11所述的机器可读介质,其中
SCN没有被配置为将数据消息发送到负载均衡器,
SCN不将数据消息寻址到负载均衡器,
当数据消息指定DCN组地址时,从SCN发送到DCN组的数据消息在组内的DCN之间进行负载均衡。
14.如权利要求1所述的机器可读介质,其中所述DCN组是第一DCN组,所述程序还包括用于以下的指令集:
确定数据消息是否寻址到第二DCN组;以及
当数据消息寻址到第二DCN组时,识别第二DCN组中应该接收数据消息的DCN,并将数据消息发送到第二DCN组中的识别出的DCN。
15.如权利要求1所述的机器可读介质,其中DCN包括数据计算端节点或中间件服务节点。
16.如权利要求1所述的DLB系统,其中所述控制器集合包括多于一个控制器。
17.如权利要求1所述的DLB系统,其中所述控制器集合仅包括一个控制器。
18.如权利要求1所述的机器可读介质,其中识别DCN包括基于被指定以便在所述DCN组中的DCN之间散布被发送到所述组的数据消息的负载均衡标准集合从所述DCN组中选择DCN。
19.如权利要求18所述的机器可读介质,其中所述负载均衡标准集合被指定为在所述组中的DCN之间均匀地散布数据消息。
20.一种用于对发送到一组目的地计算节点(DCN)的数据消息进行负载均衡的方法,所述方法包括:
在主计算设备上,
当数据消息沿着主计算设备的出口数据路径经过时,截取寻址到所述DCN组的数据消息;
对于每个截取到的数据消息,识别所述DCN组中应接收截取到的数据消息的一个DCN;
将每个截取到的数据消息发送到被识别用于该截取到的数据消息的DCN。
21.如权利要求20所述的方法,其中基于跨所述DCN组的DCN分发数据消息的负载均衡标准集合来识别用于不同数据消息的DCN。
22.如权利要求20所述的方法,其中所述DCN组是第一DCN组,其中所述方法还包括:
在主计算设备上,
截取寻址到第二DCN组的数据消息;
对于每个寻址到第二DCN组的截取到的数据消息,识别第二DCN组中应该接收截取到的数据消息的一个DCN;
将寻址到第二DCN组的每个截取到的数据消息发送到被识别用于该截取到的数据消息的第二组中的DCN。
23.一种分布式负载均衡(DLB)系统,包括:
多个源计算节点(SCN)在其上执行的多个主计算设备;
在每个主计算设备上执行的至少一个负载均衡器,每个负载均衡器用于截取由负载均衡器的主计算设备上的SCN集合发送的数据消息,以及将寻址到目的地计算节点(DCN)组的数据消息分发到该组中的DCN;以及
控制器集合,用于配置主计算设备上的负载均衡器。
24.如权利要求23所述的DLB系统,其中所述控制器集合至少包括用于在主计算设备上部署至少一个SCN的控制器。
25.如权利要求24所述的系统的DLB,
其中所述控制器集合通过分发关于在所述DCN组中的不同DCN处接收到的数据消息流量的数据来配置负载均衡器;以及
其中所分发的消息流量数据包括所述控制器集合从负载均衡器收集到的统计数据。
26.如权利要求25所述的系统的DLB,还包括在每个主计算设备上执行以基于所分发的消息流量数据来计算用于在主机上执行的至少一个负载均衡器的负载均衡标准的负载均衡代理,其中每个负载均衡器基于负载均衡标准在所述DCN组中的DCN之间分发数据消息。
27.如权利要求23所述的DLB系统,其中所述控制器集合通过将负载均衡标准分发到负载均衡器来配置负载均衡器。
28.如权利要求27所述的DLB系统,其中所述控制器集合还通过从负载均衡器收集消息流量数据、调整负载均衡标准、以及将调整后的负载均衡标准分发到负载均衡器来配置负载均衡器。
29.如权利要求28所述的DLB系统,其中来自负载均衡器的消息流量数据包括关于负载均衡器转发到所述DCN组中的每个DCN的数据消息的数量的数据。
30.如权利要求28所述的DLB系统,其中来自负载均衡器的消息流量数据包括关于负载均衡器转发到所述DCN组中的每个DCN的数据消息流的数量的数据。
31.如权利要求23所述的DLB系统,
其中每个负载均衡器基于负载均衡标准集合在DCN之间散布数据消息,
其中所述控制器集合通过从负载均衡器收集消息流量数据、调整负载均衡标准、以及将调整后的负载均衡标准分发到负载均衡器来配置负载均衡器。
32.如权利要求31所述的DLB系统,其中所分发的负载均衡标准指定影响负载均衡器如何在所述DCN之间散布数据消息的数值。
33.如权利要求32所述的DLB,其中所述数值包括用于每个DCN的一个权重值,其中基于所述权重值,负载均衡器为新数据消息流执行DCN的加权轮询选择。
34.如权利要求23所述的DLB系统,其中所述控制器集合通过分发作为所述DCN组的一部分的DCN的地址来配置负载均衡器。
35.如权利要求23所述的DLB系统,其中所述控制器集合通过(i)分发作为所述DCN组的一部分的DCN的列表,以及(2)当DCN将被添加到DCN组或从DCN组中去除时,分发在DCN组中添加了所添加的DCN或删除了所删除的DCN的更新列表来配置负载均衡器。
36.如权利要求23所述的DLB系统,
其中每个负载均衡器基于负载均衡标准集合在DCN之间散布数据消息,
其中所述控制器集合还用于从负载均衡器收集消息流量数据、从收集到的消息流量数据生成聚合的消息流量数据、以及将聚合的消息流量数据分发到负载均衡器;
其中基于所分发的聚合的消息流量数据,每个负载均衡器调整负载均衡器用于在DCN之间散布数据消息的负载均衡标准集合。
37.如权利要求36所述的DLB系统,其中所述负载均衡标准指定控制负载均衡器如何在DCN之间散布数据消息的数值。
38.如权利要求23所述的DLB系统,其中所述控制器集合包括多于一个控制器。
39.如权利要求23所述的DLB系统,其中所述控制器集合仅包括一个控制器。
40.如权利要求23所述的DLB系统,其中
每个负载均衡器用于处理来自一个主计算设备上的一个SCN的数据消息,
所述控制器集合还用于在主计算设备上部署SCN,并且
所述控制器集合将每个负载均衡器配置为负载均衡器的SCN的部署的一部分。
41.如权利要求23所述的DLB系统,
其中每个负载均衡器通过将每个数据消息中的目的地地址从识别出的DCN组的地址改变为DCN中的一个DCN的地址,在DCN之间散布数据消息;以及
其中每个地址是互联网协议(IP)地址、媒体访问控制(MAC)地址和互联网协议(IP)端口地址之一。
42.如权利要求23所述的DLB系统,其中,在改变数据消息的目的地地址之后,负载均衡器将数据消息提供给在具有负载均衡器的主计算设备上执行的软件转发元件(SFE),以便使SFE将数据消息转发到识别出的DCN。
43.如权利要求42所述的DLB系统,其中SFE或者(i)当DCN在SFE的主计算设备外部时,通过在主计算设备外部操作的中间转发元件集合将数据消息转发到识别出的DCN,或者(ii)当DCN在SFE的主计算设备上执行时,直接将数据消息转发到DCN。
44.如权利要求23所述的DLB系统,其中SCN没有被配置为将数据消息发送到负载均衡器,并且因此不将数据消息寻址到负载均衡器。
45.如权利要求23所述的DLB系统,其中
所述DCN组是第一DCN组,以及
至少一个负载均衡器还用于在负载均衡器的主计算设备上截取由至少一个SCN发送到第二DCN组的数据消息,并且在第二组的DCN之间散布数据消息。
46.如权利要求23所述的DLB系统,其中
所述DCN是数据计算端节点或中间件服务节点,以及
所述SCN是虚拟机。
47.如权利要求23所述的DLB系统,其中
每个负载均衡器用于处理来自一个主计算设备上的一个或多个SCN的集合的数据消息;以及
每个负载均衡器强制执行散布来自负载均衡器的相关联的SCN集合的数据流量所需的负载均衡规则。
48.一种用于管理负载均衡器的方法,其中负载均衡器对源计算节点发送到至少一组目的地计算节点(DCN)的数据消息进行负载均衡,所述方法包括:
收集与负载均衡器分发到DCN组中的DCN的数据消息有关的消息流量数据;
从收集到的消息流量数据生成聚合的消息流量数据;
基于聚合的消息流量数据,将调整数据分发到负载均衡器的至少一个子集,以使得负载均衡器的所述子集调整其如何将新数据消息流分发到DCN组中的DCN。
49.如权利要求48所述的方法,其中所分发的调整数据包括表示DCN组中的每个DCN上的数据消息流量负载的聚合的消息流量数据。
50.如权利要求49所述的方法,其中聚合的消息流量数据表示引导到每个DCN的流的数量。
51.如权利要求49所述的方法,其中聚合的消息流量数据表示引导到每个DCN的分组的数量。
52.如权利要求49所述的方法,其中聚合的消息流量数据表示引导到每个DCN的字节的数量。
53.如权利要求49所述的方法,其中聚合的消息流量数据表示每个DCN的相对拥塞百分比。
54.如权利要求49所述的方法,其中
每个负载均衡器基于负载均衡标准集合在DCN之间散布数据消息,
接收聚合的消息流量数据的每个负载均衡器分析接收到的聚合消息流量数据,并且如果负载均衡器基于对聚合的消息流量数据的分析确定需要进行这样的调整,则调整负载均衡器的负载均衡标准集合。
55.如权利要求54所述的方法,还包括:向每个负载均衡器提供初始负载均衡标准集合作为负载均衡器的初始配置的一部分。
56.如权利要求55所述的方法,其中负载均衡标准指定影响负载均衡器如何在DCN之间散布数据消息的数值。
57.如权利要求56所述的方法,其中所述数值包括用于每个DCN的一个权重值,其中基于所述权重值,负载均衡器为新数据消息流执行DCN的加权轮询选择。
58.如权利要求54所述的方法,其中每个负载均衡器以初始负载均衡标准集合开始。
59.如权利要求48所述的方法,其中
每个负载均衡器基于负载均衡标准集合在DCN之间散布数据消息,
其中所分发的调整数据包括用于负载均衡器的所述子集中的每个负载均衡器的调整后的负载均衡标准集合。
60.如权利要求59所述的方法,其中负载均衡器的所述子集中的每个负载均衡器接收相同的调整后的负载均衡标准集合。
61.如权利要求59所述的方法,其中负载均衡器的所述子集中的至少两个不同的负载均衡器接收不同的调整后的负载均衡标准集合。
62.如权利要求59所述的方法,其中所分发的负载均衡标准集合为每个DCN指定权重值,其中基于所述权重值,负载均衡器为新数据消息流执行DCN的加权轮询选择。
63.如权利要求48所述的方法,其中所分发的调整数据包括关于作为所述DCN组的一部分的DCN的更新的成员身份数据。
64.如权利要求63所述的方法,其中
更新的成员身份数据识别已添加到DCN组的至少一个新的DCN,以及
在接收到更新的成员身份数据之后,负载均衡器的所述子集开始将新数据消息流的一部分引导到新添加的DCN。
65.如权利要求64所述的方法,还包括在将更新的成员身份数据发送到负载均衡器的所述子集之前,在主计算设备之一上部署虚拟机(VM)以充当新添加的DCN。
66.如权利要求65所述的方法,还包括在部署VM之前,确定所述DCN组中的DCN上的负载已超过需要将另一个DCN添加到所述DCN组的特定阈值。
67.如权利要求63所述的方法,其中更新的成员身份数据识别由于在DCN处的操作故障而从所述DCN组中已去除的至少一个DCN,以及
在接收到更新的成员身份数据之后,所述子集中的每个负载均衡器将先前被引导到已去除的DCN的数据消息流重新引导到该组中的其它DCN。
68.如权利要求63所述的方法,其中
更新的成员身份数据识别已从DCN组中去除的至少一个DCN,以及
在接收到更新的成员身份数据之后,所述子集中的每个负载均衡器不将新数据消息流引导到已去除的DCN。
69.如权利要求63所述的方法,其中
更新的成员身份数据识别已从DCN组中去除的至少一个DCN,以及
在接收到更新的成员身份数据之后,所述子集中的每个负载均衡器在接收到更新的成员身份数据之后的特定时间停止将新数据消息流引导到已去除的DCN。
70.如权利要求48所述的方法,其中负载均衡器的所述子集包括接收针对所述DCN组的数据消息并且必须在所述DCN组中的DCN之间散布接收到的数据消息的每个负载均衡器。
71.如权利要求48所述的方法,其中
负载均衡器的所述子集包括接收针对所述DCN组的数据消息并且必须在所述DCN组中的DCN之间散布接收到的数据消息的一些但不是全部负载均衡器,
负载均衡器的所述子集仅包括需要根据聚合的消息流量数据调整其负载均衡操作的负载均衡器。
72.如权利要求48所述的方法,其中
源计算节点(SCN)和负载均衡器在主计算设备集合上执行,
每个负载均衡器是用于与负载均衡器在同一主计算设备上执行的一个SCN的负载均衡器,
每个负载均衡器从其相关联的SCN截取每个数据消息、确定数据消息是否寻址到所述DCN组,并且如果是,则将数据消息引导到所述DCN组中的DCN之一。
73.如权利要求72所述的方法,其中每个SCN的负载均衡器将作为两个不同数据消息流的一部分的至少两个不同的数据消息引导到DCN组的两个不同的DCN。
74.如权利要求72所述的方法,其中在处理每个数据消息之后,每个负载均衡器将数据消息提供给在负载均衡器的主计算设备上执行的软件转发元件(SFE),以使SFE将数据消息转发到所寻址的目的地。
75.一种非临时性机器可读介质,其存储用于调整特定负载均衡器的负载均衡操作的程序,所述负载均衡器对由至少一个源计算节点(SCN)发送到一组目的地计算节点(DCN)的数据消息进行负载均衡,所述程序包括用于以下的指令集:
向控制器集合发送与特定负载均衡器在所述DCN组的DCN之间分发的数据消息相关的消息流量数据;
从所述控制器集合接收基于由所述控制器集合从多个负载均衡器收集到的消息流量数据的负载均衡调整数据;以及
基于接收到的调整数据调整特定负载均衡器如何在所述DCN组的DCN之间分发新的数据消息流。
76.如权利要求75所述的非临时性机器可读介质,其中,所述调整数据包括表示在所述DCN组中的每个DCN上的数据消息流量负载的聚合的消息流量数据。
77.如权利要求76所述的非临时性机器可读介质,其中聚合的消息流量数据表示引导到每个DCN的流的数量。
78.如权利要求76所述的非临时性机器可读介质,其中聚合的消息流量数据表示引导到每个DCN的分组的数量。
79.如权利要求76所述的非临时性机器可读介质,其中聚合的消息流量数据表示引导到每个DCN的字节的数量。
80.如权利要求76所述的非临时性机器可读介质,其中聚合的消息流量数据表示每个DCN的相对拥塞百分比。
81.如权利要求76所述的非临时性机器可读介质,其中所述程序还包括用于以下的指令集:
基于负载均衡标准集合,从特定负载均衡器在DCN之间散布数据消息;以及
在接收到特定负载均衡器处的聚合的消息流量数据之后,分析接收到的聚合的消息流量数据,并且当基于对聚合的消息流量数据的分析需要调整时,调整特定负载均衡器的负载均衡标准集合。
82.如权利要求81所述的非临时性机器可读介质,其中所述程序还包括用于在特定负载均衡器处接收初始负载均衡标准集合作为负载均衡器的初始配置的一部分的指令集。
83.如权利要求82所述的非临时性机器可读介质,其中所述负载均衡标准指定影响负载均衡器如何在所述DCN之间散布数据消息的数值。
84.如权利要求83所述的非临时性机器可读介质,其中所述数值包括用于每个DCN的一个权重值,其中基于所述权重值,负载均衡器为新数据消息流执行DCN的加权轮询选择。
85.如权利要求81所述的非临时性机器可读介质,其中所述程序还包括用于在接收调整数据之前使用初始负载均衡标准集合在所述DCN组的DCN之间散布数据消息的指令集。
86.如权利要求75所述的非临时性机器可读介质,其中所述程序还包括用于基于负载均衡标准集合从特定负载均衡器在所述DCN之间散布数据消息的指令集,其中调整数据包括用于调整数据消息到所述DCN组的DCN的散布的调整后的负载均衡标准集合。
87.如权利要求86所述的非临时性机器可读介质,其中
接收到的负载均衡标准集合指定用于每个DCN的权重值,并且
基于所述权重值,负载均衡器为新数据消息流执行DCN的加权轮询选择。
88.如权利要求75所述的非临时性机器可读介质,其中所述调整数据识别已添加到所述DCN组的至少一个新的DCN,以及
所述程序还包括用于在接收到更新的成员身份数据之后,将新数据消息流的一部分引导到新添加的DCN的指令集。
89.如权利要求75所述的非临时性机器可读介质,其中
所述调整数据识别由于在DCN处的操作故障而从所述DCN组中已去除的至少一个DCN,以及
所述程序还包括用于在接收到更新的成员身份数据之后,将先前被引导到已去除的DCN的消息数据流重新引导到该组中的其它DCN的指令集。
90.如权利要求75所述的非临时性机器可读介质,其中
所述调整数据识别已从所述DCN组中去除的至少一个DCN,以及
所述指令集还包括用于在接收到更新的成员身份数据之后,将所有新数据消息流引导到所述DCN组中不包括已去除DCN的DCN的子集的指令集。
91.如权利要求75所述的非临时性机器可读介质,其中
所述调整数据识别已从所述DCN组中去除的至少一个DCN,以及
所述程序还包括用于在接收到更新的成员身份数据之后的特定时间之后,将所有新数据消息流引导到所述DCN组中不包括已去除DCN的DCN的子集的指令集。
92.如权利要求91所述的非临时性机器可读介质,其中用于将所有新数据消息流引导到所述DCN子集的指令集包括用于在特定时间之后从负载均衡规则的一个负载均衡标准集合切换到另一个负载均衡标准集合的指令集。
93.如权利要求75所述的非临时性机器可读介质,其中特定负载均衡器是在具有特定负载均衡器的主计算设备上执行的源计算节点(SCN)的负载均衡器,所述程序还包括用于以下的指令集:
截取来自SCN的每条数据消息;
确定数据消息是否寻址到所述DCN组;以及
当数据消息寻址到所述DCN组时,将数据消息引导到所述DCN组中的DCN之一。
94.如权利要求93所述的非临时性机器可读介质,其中用于引导数据消息的指令集包括用于将作为两个不同数据消息流的一部分的至少两个不同的数据消息引导到所述DCN组的两个不同的DCN的指令集。
95.如权利要求93所述的非临时性机器可读介质,其中用于引导数据消息的指令集包括用于将数据消息提供给在负载均衡器的主计算设备上执行的软件转发元件(SFE)以使SFE将数据消息转发到寻址的目的地的指令集。
CN201480082808.7A 2014-09-30 2014-12-30 负载均衡 Active CN107077340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110935797.4A CN113660329A (zh) 2014-09-30 2014-12-30 负载均衡

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201462058044P 2014-09-30 2014-09-30
US62/058,044 2014-09-30
US201462083453P 2014-11-24 2014-11-24
US62/083,453 2014-11-24
US14/557,293 US10257095B2 (en) 2014-09-30 2014-12-01 Dynamically adjusting load balancing
US14/557,293 2014-12-01
US14/557,290 US10135737B2 (en) 2014-09-30 2014-12-01 Distributed load balancing systems
US14/557,287 US10320679B2 (en) 2014-09-30 2014-12-01 Inline load balancing
US14/557,295 US9774537B2 (en) 2014-09-30 2014-12-01 Dynamically adjusting load balancing
US14/557,287 2014-12-01
US14/557,290 2014-12-01
US14/557,295 2014-12-01
PCT/US2014/072897 WO2016053373A1 (en) 2014-09-30 2014-12-30 Load balancing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110935797.4A Division CN113660329A (zh) 2014-09-30 2014-12-30 负载均衡

Publications (2)

Publication Number Publication Date
CN107077340A true CN107077340A (zh) 2017-08-18
CN107077340B CN107077340B (zh) 2021-08-24

Family

ID=55585676

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480082808.7A Active CN107077340B (zh) 2014-09-30 2014-12-30 负载均衡
CN202110935797.4A Pending CN113660329A (zh) 2014-09-30 2014-12-30 负载均衡

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110935797.4A Pending CN113660329A (zh) 2014-09-30 2014-12-30 负载均衡

Country Status (4)

Country Link
US (7) US9774537B2 (zh)
EP (2) EP3709600B1 (zh)
CN (2) CN107077340B (zh)
WO (1) WO2016053373A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769162A (zh) * 2018-05-16 2018-11-06 上海携程商务有限公司 分布式消息均衡处理方法、装置、电子设备、存储介质
CN108768878A (zh) * 2018-06-06 2018-11-06 北京奇艺世纪科技有限公司 一种负载均衡系统、方法、装置及负载均衡设备
CN112749107A (zh) * 2019-10-29 2021-05-04 三星电子株式会社 用于在存储附近进行分级排序加速的系统和方法
CN115022334A (zh) * 2022-05-13 2022-09-06 深信服科技股份有限公司 流量分配方法、装置、电子设备及存储介质
CN116527586B (zh) * 2023-07-05 2023-09-19 北京亿赛通科技发展有限责任公司 一种基于多链路负载均衡网络的串接代理系统

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9043439B2 (en) 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US9680916B2 (en) * 2013-08-01 2017-06-13 Flowtraq, Inc. Methods and systems for distribution and retrieval of network traffic records
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US10193771B2 (en) 2013-12-09 2019-01-29 Nicira, Inc. Detecting and handling elephant flows
US9215213B2 (en) 2014-02-20 2015-12-15 Nicira, Inc. Method and apparatus for distributing firewall rules
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
US9825878B2 (en) 2014-09-26 2017-11-21 Cisco Technology, Inc. Distributed application framework for prioritizing network traffic using application priority awareness
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US9755898B2 (en) 2014-09-30 2017-09-05 Nicira, Inc. Elastically managing a service node group
US9912637B2 (en) * 2014-09-30 2018-03-06 A 10 Networks, Incorporated Use of packet header extension for layer-3 direct server return
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
US9692727B2 (en) 2014-12-02 2017-06-27 Nicira, Inc. Context-aware distributed firewall
US10050862B2 (en) 2015-02-09 2018-08-14 Cisco Technology, Inc. Distributed application framework that uses network and application awareness for placing data
US20160255007A1 (en) * 2015-02-27 2016-09-01 Ixia Matrix Load Balancing Within Network Packet Communication Systems
US10708342B2 (en) 2015-02-27 2020-07-07 Cisco Technology, Inc. Dynamic troubleshooting workspaces for cloud and network management systems
US9825865B1 (en) 2015-03-25 2017-11-21 Cisco Technology, Inc. Statistical operations associated with network traffic forwarding
US10594743B2 (en) 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10382534B1 (en) 2015-04-04 2019-08-13 Cisco Technology, Inc. Selective load balancing of network traffic
US9930010B2 (en) 2015-04-06 2018-03-27 Nicira, Inc. Security agent for distributed network security system
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US9680706B2 (en) * 2015-06-30 2017-06-13 Nicira, Inc. Federated firewall management for moving workload across data centers
US10034201B2 (en) 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
US9942631B2 (en) 2015-09-25 2018-04-10 Intel Corporation Out-of-band platform tuning and configuration
US10193809B1 (en) * 2015-09-30 2019-01-29 Cisco Technology, Inc. Load balancing methods based on transport layer port numbers for a network switch
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
US10033647B2 (en) * 2015-10-13 2018-07-24 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
US10348685B2 (en) 2016-04-29 2019-07-09 Nicira, Inc. Priority allocation for distributed service rules
US10135727B2 (en) 2016-04-29 2018-11-20 Nicira, Inc. Address grouping for distributed service rules
US20170318082A1 (en) * 2016-04-29 2017-11-02 Qualcomm Incorporated Method and system for providing efficient receive network traffic distribution that balances the load in multi-core processor systems
US11171920B2 (en) 2016-05-01 2021-11-09 Nicira, Inc. Publication of firewall configuration
US11425095B2 (en) 2016-05-01 2022-08-23 Nicira, Inc. Fast ordering of firewall sections and rules
US10129177B2 (en) 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US11258761B2 (en) 2016-06-29 2022-02-22 Nicira, Inc. Self-service firewall configuration
US11088990B2 (en) 2016-06-29 2021-08-10 Nicira, Inc. Translation cache for firewall configuration
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10693732B2 (en) 2016-08-03 2020-06-23 Oracle International Corporation Transforming data based on a virtual topology
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US10389628B2 (en) 2016-09-02 2019-08-20 Oracle International Corporation Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network
US10523592B2 (en) 2016-10-10 2019-12-31 Cisco Technology, Inc. Orchestration system for migrating user data and services based on user information
US10346191B2 (en) * 2016-12-02 2019-07-09 Wmware, Inc. System and method for managing size of clusters in a computing environment
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10848432B2 (en) 2016-12-18 2020-11-24 Cisco Technology, Inc. Switch fabric based load balancing
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
CN108259629B (zh) * 2016-12-28 2021-07-23 阿里巴巴集团控股有限公司 虚拟互联网协议地址的切换方法及装置
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US10291507B2 (en) 2017-02-13 2019-05-14 Oracle International Corporation Implementing a virtual tap in a virtual topology
US10462013B2 (en) 2017-02-13 2019-10-29 Oracle International Corporation Implementing a single-addressable virtual topology element in a virtual topology
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
CN109218355B (zh) * 2017-06-30 2021-06-15 华为技术有限公司 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US10965598B1 (en) 2017-10-04 2021-03-30 Cisco Technology, Inc. Load balancing in a service chain
US11082312B2 (en) 2017-10-04 2021-08-03 Cisco Technology, Inc. Service chaining segmentation analytics
US10965596B2 (en) 2017-10-04 2021-03-30 Cisco Technology, Inc. Hybrid services insertion
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US11481362B2 (en) 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10616318B1 (en) * 2017-11-28 2020-04-07 Amazon Technologies, Inc. Load balancer employing slow start, weighted round robin target selection
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
CN108881381A (zh) * 2018-05-04 2018-11-23 北京奇艺世纪科技有限公司 一种报文路由确定方法、装置及四层负载均衡器
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
US10942788B2 (en) 2018-06-15 2021-03-09 Vmware, Inc. Policy constraint framework for an sddc
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10812337B2 (en) 2018-06-15 2020-10-20 Vmware, Inc. Hierarchical API for a SDDC
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
US10601905B2 (en) * 2018-07-20 2020-03-24 Red Hat Israel, Ltd. Priority switching based on resource usage patterns
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels
CN108769271A (zh) * 2018-08-20 2018-11-06 北京百度网讯科技有限公司 负载均衡的方法、装置、存储介质和终端设备
US11086700B2 (en) 2018-08-24 2021-08-10 Vmware, Inc. Template driven approach to deploy a multi-segmented application in an SDDC
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US10977140B2 (en) * 2018-11-06 2021-04-13 International Business Machines Corporation Fault tolerant distributed system to monitor, recover and scale load balancers
US11397604B2 (en) 2019-02-22 2022-07-26 Vmware, Inc. Service path selection in load balanced manner
US11310202B2 (en) 2019-03-13 2022-04-19 Vmware, Inc. Sharing of firewall rules among multiple workloads in a hypervisor
CN110191159B (zh) * 2019-05-09 2021-05-25 网宿科技股份有限公司 一种资源服务器的负载调节方法及系统、设备
CN110708393B (zh) * 2019-10-21 2023-11-21 北京百度网讯科技有限公司 用于传输数据的方法、装置和系统
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11165860B2 (en) 2019-11-01 2021-11-02 Uber Technologies, Inc. Dynamically computing load balancer subset size in a distributed computing system
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11652746B1 (en) * 2020-03-27 2023-05-16 Amazon Technologies, Inc. Resilient consistent hashing for a distributed cache
WO2021196080A1 (en) 2020-04-01 2021-10-07 Vmware Information Technology (China) Co., Ltd. Auto deploying network elements for heterogeneous compute elements
US11528219B2 (en) 2020-04-06 2022-12-13 Vmware, Inc. Using applied-to field to identify connection-tracking records for different interfaces
US11818041B2 (en) * 2020-06-08 2023-11-14 Juniper Networks, Inc. Containerized management of forwarding components in a router using routing engine processor
US11425043B2 (en) * 2020-06-16 2022-08-23 T-Mobile Usa, Inc. Duplex load balancing for massive IoT applications
US11303609B2 (en) * 2020-07-02 2022-04-12 Vmware, Inc. Pre-allocating port groups for a very large scale NAT engine
US11640402B2 (en) 2020-07-22 2023-05-02 International Business Machines Corporation Load balancing in streams parallel regions
US11611613B2 (en) * 2020-07-24 2023-03-21 Vmware, Inc. Policy-based forwarding to a load balancer of a load balancing cluster
US11803408B2 (en) 2020-07-29 2023-10-31 Vmware, Inc. Distributed network plugin agents for container networking
US11863352B2 (en) 2020-07-30 2024-01-02 Vmware, Inc. Hierarchical networking for nested container clusters
US11445012B2 (en) * 2020-11-25 2022-09-13 Seagate Technology Llc Proactive load balancer for data storage system
US11115381B1 (en) 2020-11-30 2021-09-07 Vmware, Inc. Hybrid and efficient method to sync NAT sessions
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11575741B2 (en) * 2021-04-29 2023-02-07 Zoom Video Communications, Inc. System and method for active-active standby in phone system management
US11785077B2 (en) 2021-04-29 2023-10-10 Zoom Video Communications, Inc. Active-active standby for real-time telephony traffic
US11606254B2 (en) 2021-06-11 2023-03-14 Vmware, Inc. Automatic configuring of VLAN and overlay logical switches for container secondary interfaces
US11595321B2 (en) 2021-07-06 2023-02-28 Vmware, Inc. Cluster capacity management for hyper converged infrastructure updates
US11563628B1 (en) * 2021-08-23 2023-01-24 Oracle International Corporation Failure detection in cloud-computing systems
US20230231741A1 (en) 2022-01-14 2023-07-20 Vmware, Inc. Per-namespace ip address management method for container networks
CN114827163A (zh) * 2022-05-07 2022-07-29 金腾科技信息(深圳)有限公司 服务器负载均衡的处理方法、装置、设备及存储介质
US11848910B1 (en) 2022-11-11 2023-12-19 Vmware, Inc. Assigning stateful pods fixed IP addresses depending on unique pod identity
US11831511B1 (en) 2023-01-17 2023-11-28 Vmware, Inc. Enforcing network policies in heterogeneous systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249199A1 (en) * 1999-07-02 2005-11-10 Cisco Technology, Inc., A California Corporation Load balancing using distributed forwarding agents with application based feedback for different virtual machines
CN101594358A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 三层交换方法、装置、系统和宿主机
US7698458B1 (en) * 2004-10-29 2010-04-13 Akamai Technologies, Inc. Load balancing network traffic using race methods
CN101729412A (zh) * 2009-11-05 2010-06-09 北京超图软件股份有限公司 地理信息服务的分布式层次集群方法和系统
US20110276695A1 (en) * 2010-05-06 2011-11-10 Juliano Maldaner Continuous upgrading of computers in a load balanced environment
US20120144014A1 (en) * 2010-12-01 2012-06-07 Cisco Technology, Inc. Directing data flows in data centers with clustering services
CN103516807A (zh) * 2013-10-14 2014-01-15 中国联合网络通信集团有限公司 一种云计算平台服务器负载均衡系统及方法
US20140282526A1 (en) * 2013-03-15 2014-09-18 Avi Networks Managing and controlling a distributed network service platform

Family Cites Families (433)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154448A (en) 1997-06-20 2000-11-28 Telefonaktiebolaget Lm Ericsson (Publ) Next hop loopback
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6104700A (en) 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6779030B1 (en) 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
US6128279A (en) 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6665702B1 (en) 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US6826694B1 (en) 1998-10-22 2004-11-30 At&T Corp. High resolution access control
US6760775B1 (en) 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US7013389B1 (en) 1999-09-29 2006-03-14 Cisco Technology, Inc. Method and apparatus for creating a secure communication channel among multiple event service nodes
US6880089B1 (en) 2000-03-31 2005-04-12 Avaya Technology Corp. Firewall clustering for multiple network servers
US8538843B2 (en) 2000-07-17 2013-09-17 Galactic Computing Corporation Bvi/Bc Method and system for operating an E-commerce service provider
US20030050932A1 (en) 2000-09-01 2003-03-13 Pace Charles P. System and method for transactional deployment of J2EE web components, enterprise java bean components, and application data over multi-tiered computer networks
US7389358B1 (en) 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US6985956B2 (en) 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US7296291B2 (en) 2000-12-18 2007-11-13 Sun Microsystems, Inc. Controlled information flow between communities via a firewall
US6697206B2 (en) 2000-12-19 2004-02-24 Imation Corp. Tape edge monitoring
US7280540B2 (en) 2001-01-09 2007-10-09 Stonesoft Oy Processing of data packets within a network element cluster
US6944678B2 (en) 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
EP1423796A1 (en) 2001-08-09 2004-06-02 Gigamedia Access Corporation Hybrid system architecture for secure peer-to-peer-communication
US7209977B2 (en) 2001-10-01 2007-04-24 International Business Machines Corporation Method and apparatus for content-aware web switching
US8095668B2 (en) 2001-11-09 2012-01-10 Rockstar Bidco Lp Middlebox control
TW544601B (en) 2001-11-20 2003-08-01 Ind Tech Res Inst Method and structure for forming web server cluster by conversion and dispatching of web page documents
US7379465B2 (en) 2001-12-07 2008-05-27 Nortel Networks Limited Tunneling scheme optimized for use in virtual private networks
US7239639B2 (en) 2001-12-27 2007-07-03 3Com Corporation System and method for dynamically constructing packet classification rules
US8156216B1 (en) 2002-01-30 2012-04-10 Adobe Systems Incorporated Distributed data collection and aggregation
US7088718B1 (en) 2002-03-19 2006-08-08 Cisco Technology, Inc. Server load balancing using IP option field approach to identify route to selected server
US7421506B2 (en) * 2002-06-12 2008-09-02 Nokia Corporation Load balancer for multiprocessor platforms
US20030236813A1 (en) 2002-06-24 2003-12-25 Abjanic John B. Method and apparatus for off-load processing of a message stream
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US8077681B2 (en) 2002-10-08 2011-12-13 Nokia Corporation Method and system for establishing a connection via an access network
US7480737B2 (en) 2002-10-25 2009-01-20 International Business Machines Corporation Technique for addressing a cluster of network servers
US20040215703A1 (en) 2003-02-18 2004-10-28 Xiping Song System supporting concurrent operation of multiple executable application operation sessions
US7388842B1 (en) 2003-03-13 2008-06-17 At&T Corp. Method and apparatus for efficient routing of variable traffic
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US20050022017A1 (en) 2003-06-24 2005-01-27 Maufer Thomas A. Data structures and state tracking for network protocol processing
US20090299791A1 (en) 2003-06-25 2009-12-03 Foundry Networks, Inc. Method and system for management of licenses
CN1259778C (zh) * 2003-07-24 2006-06-14 烽火通信科技股份有限公司 基于数据通信网分离技术的自动交换光网络节点通信系统
US7483374B2 (en) * 2003-08-05 2009-01-27 Scalent Systems, Inc. Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing
US7315693B2 (en) 2003-10-22 2008-01-01 Intel Corporation Dynamic route discovery for optical switched networks
US7447775B1 (en) 2003-11-07 2008-11-04 Cisco Technology, Inc. Methods and apparatus for supporting transmission of streaming data
US7496955B2 (en) 2003-11-24 2009-02-24 Cisco Technology, Inc. Dual mode firewall
US7962914B2 (en) 2003-11-25 2011-06-14 Emc Corporation Method and apparatus for load balancing of distributed processing units based on performance metrics
US8572249B2 (en) 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
GB0402739D0 (en) 2004-02-09 2004-03-10 Saviso Group Ltd Methods and apparatus for routing in a network
US8223634B2 (en) 2004-02-18 2012-07-17 Fortinet, Inc. Mechanism for implementing load balancing in a network
US8484348B2 (en) 2004-03-05 2013-07-09 Rockstar Consortium Us Lp Method and apparatus for facilitating fulfillment of web-service requests on a communication network
US8923292B2 (en) 2004-04-06 2014-12-30 Rockstar Consortium Us Lp Differential forwarding in address-based carrier networks
JP2005311863A (ja) 2004-04-23 2005-11-04 Hitachi Ltd トラフィック分散制御方法、制御装置及びネットワークシステム
GB2418110B (en) 2004-09-14 2006-09-06 3Com Corp Method and apparatus for controlling traffic between different entities on a network
US7805517B2 (en) 2004-09-15 2010-09-28 Cisco Technology, Inc. System and method for load balancing a communications network
US7475274B2 (en) 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
DE102004055759B4 (de) * 2004-11-18 2006-11-09 Siemens Ag Verfahren zur Verwaltung einer zeitlich begrenzten Lizenz an einer auf einer Netzwerkkomponente ausführbaren Rechnerapplikation
US8028334B2 (en) 2004-12-14 2011-09-27 International Business Machines Corporation Automated generation of configuration elements of an information technology system
US8037517B2 (en) 2004-12-22 2011-10-11 Wake Forest University Method, systems, and computer program products for implementing function-parallel network firewall
US20060155862A1 (en) * 2005-01-06 2006-07-13 Hari Kathi Data traffic load balancing based on application layer messages
JP4394590B2 (ja) 2005-02-22 2010-01-06 株式会社日立コミュニケーションテクノロジー パケット中継装置および通信帯域制御方法
GB0508350D0 (en) * 2005-04-26 2005-06-01 Great Lakes Chemical Europ Stabilized crosslinked polyolefin compositions
US7991764B2 (en) 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
US7721299B2 (en) 2005-08-05 2010-05-18 Red Hat, Inc. Zero-copy network I/O for virtual hosts
US8270413B2 (en) 2005-11-28 2012-09-18 Cisco Technology, Inc. Method and apparatus for self-learning of VPNS from combination of unidirectional tunnels in MPLS/VPN networks
US9686183B2 (en) 2005-12-06 2017-06-20 Zarbaña Digital Fund Llc Digital object routing based on a service request
US8856862B2 (en) 2006-03-02 2014-10-07 British Telecommunications Public Limited Company Message processing methods and systems
US20070260750A1 (en) 2006-03-09 2007-11-08 Microsoft Corporation Adaptable data connector
US20070214282A1 (en) 2006-03-13 2007-09-13 Microsoft Corporation Load balancing via rotation of cluster identity
US20070248091A1 (en) 2006-04-24 2007-10-25 Mohamed Khalid Methods and apparatus for tunnel stitching in a network
US8838756B2 (en) 2009-07-27 2014-09-16 Vmware, Inc. Management and implementation of enclosed local networks in a virtual lab
US8892706B1 (en) 2010-06-21 2014-11-18 Vmware, Inc. Private ethernet overlay networks over a shared ethernet in a virtual environment
US7693985B2 (en) 2006-06-09 2010-04-06 Cisco Technology, Inc. Technique for dispatching data packets to service control engines
US7761596B2 (en) 2006-06-30 2010-07-20 Telefonaktiebolaget L M Ericsson (Publ) Router and method for server load balancing
US20080004978A1 (en) * 2006-06-30 2008-01-03 Rothschild Trust Holdings, Llc System and method for identifying digital media content and downloading the content or a portion thereof to a mobile device
WO2008018969A1 (en) 2006-08-04 2008-02-14 Parallel Computers Technology, Inc. Apparatus and method of optimizing database clustering with zero transaction loss
US7580417B2 (en) 2006-08-07 2009-08-25 Cisco Technology, Inc. Method and apparatus for load balancing over virtual network links
US8707383B2 (en) 2006-08-16 2014-04-22 International Business Machines Corporation Computer workload management with security policy enforcement
US8312120B2 (en) 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
GB2443229B (en) 2006-08-23 2009-10-14 Cramer Systems Ltd Capacity management for data networks
US8204982B2 (en) 2006-09-14 2012-06-19 Quova, Inc. System and method of middlebox detection and characterization
US8649264B2 (en) * 2006-10-04 2014-02-11 Qualcomm Incorporated IP flow-based load balancing over a plurality of wireless network links
JP2008104027A (ja) 2006-10-19 2008-05-01 Fujitsu Ltd パケット情報収集装置およびパケット情報収集プログラム
US8185893B2 (en) 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US8849746B2 (en) 2006-12-19 2014-09-30 Teradata Us, Inc. High-throughput extract-transform-load (ETL) of program events for subsequent analysis
US20160277261A9 (en) 2006-12-29 2016-09-22 Prodea Systems, Inc. Multi-services application gateway and system employing the same
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
US7865614B2 (en) 2007-02-12 2011-01-04 International Business Machines Corporation Method and apparatus for load balancing with server state change awareness
US8255736B2 (en) 2007-02-22 2012-08-28 Telefonaktiebolaget Lm Ericsson (Publ) Consistent and fault tolerant distributed hash table (DHT) overlay network
US20080225714A1 (en) 2007-03-12 2008-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic load balancing
US8144709B2 (en) 2007-04-06 2012-03-27 International Business Machines Corporation Method, system and computer processing an IP packet, routing a structured data carrier, preventing broadcast storms, load-balancing and converting a full broadcast IP packet
US8230493B2 (en) 2007-05-02 2012-07-24 Cisco Technology, Inc. Allowing differential processing of encrypted tunnels
US7898959B1 (en) 2007-06-28 2011-03-01 Marvell Israel (Misl) Ltd. Method for weighted load-balancing among network interfaces
US20090003375A1 (en) 2007-06-29 2009-01-01 Martin Havemann Network system having an extensible control plane
US8000329B2 (en) 2007-06-29 2011-08-16 Alcatel Lucent Open platform architecture for integrating multiple heterogeneous network functions
US7843914B2 (en) 2007-06-29 2010-11-30 Alcatel-Lucent Network system having an extensible forwarding plane
US8898331B2 (en) 2007-07-09 2014-11-25 Hewlett-Packard Development Company, L.P. Method, network and computer program for processing a content request
US20090063706A1 (en) 2007-08-30 2009-03-05 International Business Machines Corporation Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing
US8201219B2 (en) 2007-09-24 2012-06-12 Bridgewater Systems Corp. Systems and methods for server load balancing using authentication, authorization, and accounting protocols
US8874789B1 (en) 2007-09-28 2014-10-28 Trend Micro Incorporated Application based routing arrangements and method thereof
US8553537B2 (en) 2007-11-09 2013-10-08 International Business Machines Corporation Session-less load balancing of client traffic across servers in a server group
US7855982B2 (en) 2007-11-19 2010-12-21 Rajesh Ramankutty Providing services to packet flows in a network
CN101170711B (zh) * 2007-11-19 2010-06-23 中兴通讯股份有限公司 自动交换光网络scn和mcn信息传递装置及方法
WO2009087671A2 (en) 2007-12-17 2009-07-16 Indian Institute Of Technology, Bombay Architectural framework of communication network and a method of establishing qos connection
US8386610B2 (en) 2007-12-31 2013-02-26 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
US9043862B2 (en) 2008-02-06 2015-05-26 Qualcomm Incorporated Policy control for encapsulated data flows
US8175863B1 (en) 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
US8521879B1 (en) 2008-03-11 2013-08-27 United Services Automobile Assocation (USAA) Systems and methods for a load balanced interior gateway protocol intranet
US7808919B2 (en) 2008-03-18 2010-10-05 Cisco Technology, Inc. Network monitoring using a proxy
US20090249471A1 (en) 2008-03-27 2009-10-01 Moshe Litvin Reversible firewall policies
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US20110035494A1 (en) 2008-04-15 2011-02-10 Blade Network Technologies Network virtualization for a virtualized server data center environment
US9749404B2 (en) 2008-04-17 2017-08-29 Radware, Ltd. Method and system for load balancing over a cluster of authentication, authorization and accounting (AAA) servers
US8339959B1 (en) 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US8849971B2 (en) * 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US8160063B2 (en) 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US8996683B2 (en) 2008-06-09 2015-03-31 Microsoft Technology Licensing, Llc Data center without structural bottlenecks
US8108467B2 (en) 2008-06-26 2012-01-31 International Business Machines Corporation Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer
US8578483B2 (en) 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
US20100036903A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
EP2324657B1 (en) 2008-09-03 2015-04-08 Nokia Solutions and Networks Oy A gateway network element configured for load balancing in a communications network
US8228929B2 (en) 2008-10-24 2012-07-24 Juniper Networks, Inc. Flow consistent dynamic load balancing
US8171124B2 (en) 2008-11-25 2012-05-01 Citrix Systems, Inc. Systems and methods for GSLB remote service monitoring
US8078903B1 (en) 2008-11-25 2011-12-13 Cisco Technology, Inc. Automatic load-balancing and seamless failover of data flows in storage media encryption (SME)
WO2010072252A1 (en) 2008-12-22 2010-07-01 Telefonaktiebolaget L M Ericsson (Publ) Method and device for handling of connections between a client and a server via a communication network
US7948986B1 (en) 2009-02-02 2011-05-24 Juniper Networks, Inc. Applying services within MPLS networks
US20100223364A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc System and method for network traffic management and load balancing
US20100235915A1 (en) 2009-03-12 2010-09-16 Nasir Memon Using host symptoms, host roles, and/or host reputation for detection of host infection
US8094575B1 (en) 2009-03-24 2012-01-10 Juniper Networks, Inc. Routing protocol extension for network acceleration service-aware path selection within computer networks
JP4811489B2 (ja) 2009-03-27 2011-11-09 日本電気株式会社 サーバシステム、集合型サーバ装置及びmacアドレス管理方法
JP5397465B2 (ja) * 2009-04-03 2014-01-22 村田機械株式会社 コンベア装置
CN101873572B (zh) 2009-04-27 2012-08-29 中国移动通信集团公司 基于PMIPv6的数据传输方法、系统及相关网络设备
US8176349B2 (en) 2009-04-30 2012-05-08 Hewlett-Packard Development Company, L.P. Look-ahead processor for signaling suitable non-idle performance state for main processor
US8261266B2 (en) 2009-04-30 2012-09-04 Microsoft Corporation Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application
EP2425341B1 (en) * 2009-05-01 2018-07-11 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US9479358B2 (en) * 2009-05-13 2016-10-25 International Business Machines Corporation Managing graphics load balancing strategies
US20110040893A1 (en) 2009-08-14 2011-02-17 Broadcom Corporation Distributed Internet caching via multiple node caching management
US20110055845A1 (en) 2009-08-31 2011-03-03 Thyagarajan Nandagopal Technique for balancing loads in server clusters
CN102025608B (zh) 2009-09-17 2013-03-20 中兴通讯股份有限公司 通信方法、通信过程中的数据报文转发方法及通信节点
CN102025702B (zh) 2009-09-17 2014-11-05 中兴通讯股份有限公司 基于身份标识和位置分离架构的网络及其骨干网和网元
US8451735B2 (en) 2009-09-28 2013-05-28 Symbol Technologies, Inc. Systems and methods for dynamic load balancing in a wireless network
US8811412B2 (en) 2009-10-15 2014-08-19 International Business Machines Corporation Steering data communications packets among service applications with server selection modulus values
JPWO2011049135A1 (ja) 2009-10-23 2013-03-14 日本電気株式会社 ネットワークシステムとその制御方法、及びコントローラ
CN102612845A (zh) 2009-11-16 2012-07-25 交互数字专利控股公司 用于动态频谱管理器(dsm)的静默周期协调
CN101714916B (zh) 2009-11-26 2013-06-05 华为数字技术(成都)有限公司 一种备份方法、设备和系统
US8832683B2 (en) 2009-11-30 2014-09-09 Red Hat Israel, Ltd. Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine
US8615009B1 (en) 2010-01-25 2013-12-24 Juniper Networks, Inc. Interface for extending service capabilities of a network device
JP5648926B2 (ja) 2010-02-01 2015-01-07 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法
CN102158386B (zh) * 2010-02-11 2015-06-03 威睿公司 系统管理程序级的分布式负载平衡
US8320399B2 (en) 2010-02-26 2012-11-27 Net Optics, Inc. Add-on module and methods thereof
US8996610B1 (en) 2010-03-15 2015-03-31 Salesforce.Com, Inc. Proxy system, method and computer program product for utilizing an identifier of a request to route the request to a networked device
US8971345B1 (en) 2010-03-22 2015-03-03 Riverbed Technology, Inc. Method and apparatus for scheduling a heterogeneous communication flow
US8588066B2 (en) * 2010-03-26 2013-11-19 Citrix Systems, Inc. Systems and methods for link load balancing on a multi-core device
US8243598B2 (en) 2010-04-26 2012-08-14 International Business Machines Corporation Load-balancing via modulus distribution and TCP flow redirection due to server overload
US8504718B2 (en) 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US8811398B2 (en) 2010-04-30 2014-08-19 Hewlett-Packard Development Company, L.P. Method for routing data packets using VLANs
US8499093B2 (en) 2010-05-14 2013-07-30 Extreme Networks, Inc. Methods, systems, and computer readable media for stateless load balancing of network traffic flows
EP2586157B1 (en) * 2010-06-28 2019-08-07 Telefonaktiebolaget LM Ericsson (publ) Network management
US20110317708A1 (en) 2010-06-28 2011-12-29 Alcatel-Lucent Usa, Inc. Quality of service control for mpls user access
US8281033B1 (en) 2010-06-29 2012-10-02 Emc Corporation Techniques for path selection
US8897303B2 (en) 2010-06-29 2014-11-25 Futurewei Technologies, Inc. Delegate gateways and proxy for target hosts in large layer 2 and address resolution with duplicated internet protocol addresses
JP5716302B2 (ja) 2010-06-30 2015-05-13 ソニー株式会社 情報処理装置、コンテンツ提供方法及びプログラム
US20120195196A1 (en) 2010-08-11 2012-08-02 Rajat Ghai SYSTEM AND METHOD FOR QoS CONTROL OF IP FLOWS IN MOBILE NETWORKS
US8745128B2 (en) 2010-09-01 2014-06-03 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
JP5476261B2 (ja) 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
US8838830B2 (en) 2010-10-12 2014-09-16 Sap Portals Israel Ltd Optimizing distributed computer networks
US8681661B2 (en) 2010-10-25 2014-03-25 Force10 Networks, Inc. Limiting MAC address learning on access network switches
US8699499B2 (en) 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
US8755283B2 (en) 2010-12-17 2014-06-17 Microsoft Corporation Synchronizing state among load balancer components
US8804720B1 (en) 2010-12-22 2014-08-12 Juniper Networks, Inc. Pass-through multicast admission control signaling
IL210897A (en) 2011-01-27 2017-12-31 Verint Systems Ltd Systems and methods for managing traffic flow table
US10225335B2 (en) 2011-02-09 2019-03-05 Cisco Technology, Inc. Apparatus, systems and methods for container based service deployment
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US8737210B2 (en) 2011-03-09 2014-05-27 Telefonaktiebolaget L M Ericsson (Publ) Load balancing SCTP associations using VTAG mediation
US8676980B2 (en) 2011-03-22 2014-03-18 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US20120303809A1 (en) 2011-05-25 2012-11-29 Microsoft Corporation Offloading load balancing packet modification
US9104460B2 (en) 2011-05-31 2015-08-11 Red Hat, Inc. Inter-cloud live migration of virtualization systems
US20120317184A1 (en) 2011-06-07 2012-12-13 Syed Mohammad Amir Husain Zero Client Device With Integrated Global Position System Capability
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US8923294B2 (en) 2011-06-28 2014-12-30 Polytechnic Institute Of New York University Dynamically provisioning middleboxes
US9424144B2 (en) 2011-07-27 2016-08-23 Microsoft Technology Licensing, Llc Virtual machine migration to minimize packet loss in virtualized network
US9900224B2 (en) 2011-08-04 2018-02-20 Midokura Sarl System and method for implementing and managing virtual networks
JP5870192B2 (ja) 2011-08-17 2016-02-24 ニシラ, インコーポレイテッド 論理l3ルーティング
US8856518B2 (en) 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US9319459B2 (en) 2011-09-19 2016-04-19 Cisco Technology, Inc. Services controlled session based flow interceptor
US10200493B2 (en) 2011-10-17 2019-02-05 Microsoft Technology Licensing, Llc High-density multi-tenant distributed cache as a service
US9104497B2 (en) * 2012-11-07 2015-08-11 Yahoo! Inc. Method and system for work load balancing
TWI625048B (zh) 2011-10-24 2018-05-21 內數位專利控股公司 在複數服務層之間機器到機器(m2m)通信的方法、系統及裝置
JP5714187B2 (ja) 2011-11-15 2015-05-07 ニシラ, インコーポレイテッド ミドルボックスを備えるネットワークのアーキテクチャ
US8767737B2 (en) * 2011-11-30 2014-07-01 Industrial Technology Research Institute Data center network system and packet forwarding method thereof
US20130159487A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Migration of Virtual IP Addresses in a Failover Cluster
US20130160024A1 (en) * 2011-12-20 2013-06-20 Sybase, Inc. Dynamic Load Balancing for Complex Event Processing
US8830834B2 (en) 2011-12-21 2014-09-09 Cisco Technology, Inc. Overlay-based packet steering
WO2013101765A1 (en) 2011-12-27 2013-07-04 Cisco Technology, Inc. System and method for management of network-based services
US9838308B2 (en) 2011-12-28 2017-12-05 Futurewei Technologies, Inc. Improving the architecture of middleboxes or service routers to better consolidate diverse functions
US8914406B1 (en) 2012-02-01 2014-12-16 Vorstack, Inc. Scalable network security with fast response protocol
US8868711B2 (en) 2012-02-03 2014-10-21 Microsoft Corporation Dynamic load balancing in a scalable environment
US8553552B2 (en) 2012-02-08 2013-10-08 Radisys Corporation Stateless load balancer in a multi-node system for transparent processing with packet preservation
US8954964B2 (en) 2012-02-27 2015-02-10 Ca, Inc. System and method for isolated virtual image and appliance communication within a cloud environment
US9331938B2 (en) 2012-04-13 2016-05-03 Nicira, Inc. Extension of logical networks across layer 3 virtual private networks
US9325562B2 (en) 2012-05-15 2016-04-26 International Business Machines Corporation Overlay tunnel information exchange protocol
US8862883B2 (en) 2012-05-16 2014-10-14 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment
US10454760B2 (en) 2012-05-23 2019-10-22 Avago Technologies International Sales Pte. Limited Layer-3 overlay gateways
US8488577B1 (en) 2012-06-06 2013-07-16 Google Inc. Apparatus for controlling the availability of internet access to applications
US9304801B2 (en) 2012-06-12 2016-04-05 TELEFONAKTIEBOLAGET L M ERRICSSON (publ) Elastic enforcement layer for cloud security using SDN
US8913507B2 (en) 2012-06-21 2014-12-16 Breakingpoint Systems, Inc. Virtual data loopback and/or data capture in a computing system
JP5986310B2 (ja) 2012-06-29 2016-09-06 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. 情報を処理するための方法、転送プレーンデバイスおよび制御プレーンデバイス
US9325569B2 (en) 2012-06-29 2016-04-26 Hewlett Packard Enterprise Development Lp Implementing a software defined network using event records that are transmitted from a network switch
WO2014000304A1 (zh) 2012-06-30 2014-01-03 华为技术有限公司 一种控制和转发解耦架构下的转发面隧道资源的管理方法
US9661522B2 (en) 2012-07-09 2017-05-23 Cisco Technology, Inc. System and method associated with a service flow router
US9608901B2 (en) 2012-07-24 2017-03-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for enabling services chaining in a provider network
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9678801B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
US8989192B2 (en) 2012-08-15 2015-03-24 Futurewei Technologies, Inc. Method and system for creating software defined ordered service patterns in a communications network
US8825851B2 (en) 2012-08-17 2014-09-02 Vmware, Inc. Management of a virtual machine in a storage area network environment
US10397074B2 (en) 2012-08-24 2019-08-27 Red Hat, Inc. Providing message flow analysis for an enterprise service bus
US10203972B2 (en) 2012-08-27 2019-02-12 Vmware, Inc. Framework for networking and security services in virtual networks
US9104492B2 (en) 2012-09-04 2015-08-11 Wisconsin Alumni Research Foundation Cloud-based middlebox management system
US9106561B2 (en) 2012-12-06 2015-08-11 A10 Networks, Inc. Configuration of a virtual service network
US9843484B2 (en) * 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9036476B2 (en) 2012-09-28 2015-05-19 Juniper Networks, Inc. Maintaining load balancing after service application with a network device
US9178715B2 (en) 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
US9148367B2 (en) 2012-10-02 2015-09-29 Cisco Technology, Inc. System and method for binding flows in a service cluster deployment in a network environment
US8855127B2 (en) 2012-10-02 2014-10-07 Lsi Corporation Method and system for intelligent deep packet buffering
US10044596B2 (en) 2012-10-05 2018-08-07 Carl D. Ostrom Devices, methods, and systems for packet reroute permission based on content parameters embedded in packet header or payload
US9071609B2 (en) * 2012-10-08 2015-06-30 Google Technology Holdings LLC Methods and apparatus for performing dynamic load balancing of processing resources
US20140101656A1 (en) 2012-10-10 2014-04-10 Zhongwen Zhu Virtual firewall mobility
US9571507B2 (en) 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure
IN2015DN03823A (zh) 2012-11-02 2015-10-02 Silverlake Mobility Ecosystem Sdn Bhd
EP2822241B1 (en) 2012-11-19 2016-02-10 Huawei Technologies Co., Ltd. Packet switching resource allocation method and device
US20140164477A1 (en) * 2012-12-06 2014-06-12 Gary M. Springer System and method for providing horizontal scaling of stateful applications
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9203748B2 (en) 2012-12-24 2015-12-01 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
US9197549B2 (en) 2013-01-23 2015-11-24 Cisco Technology, Inc. Server load balancer traffic steering
WO2014118938A1 (ja) 2013-01-31 2014-08-07 株式会社日立製作所 通信経路の管理方法
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US20140269724A1 (en) 2013-03-04 2014-09-18 Telefonaktiebolaget L M Ericsson (Publ) Method and devices for forwarding ip data packets in an access network
US9049127B2 (en) 2013-03-11 2015-06-02 Cisco Technology, Inc. Methods and devices for providing service clustering in a trill network
US9300627B2 (en) 2013-03-14 2016-03-29 Time Warner Cable Enterprises Llc System and method for automatic routing of dynamic host configuration protocol (DHCP) traffic
US9619542B2 (en) 2013-04-06 2017-04-11 Citrix Systems, Inc. Systems and methods for application-state distributed replication table hunting
US9497281B2 (en) 2013-04-06 2016-11-15 Citrix Systems, Inc. Systems and methods to cache packet steering decisions for a cluster of load balancers
WO2014169251A1 (en) 2013-04-12 2014-10-16 Huawei Technologies Co., Ltd. Service chain policy for distributed gateways in virtual overlay networks
US10069903B2 (en) * 2013-04-16 2018-09-04 Amazon Technologies, Inc. Distributed load balancer
US10038626B2 (en) * 2013-04-16 2018-07-31 Amazon Technologies, Inc. Multipath routing in a distributed load balancer
US10075470B2 (en) 2013-04-19 2018-09-11 Nicira, Inc. Framework for coordination between endpoint security and network security services
US9407540B2 (en) 2013-09-06 2016-08-02 Cisco Technology, Inc. Distributed service chaining in a network environment
US9794379B2 (en) 2013-04-26 2017-10-17 Cisco Technology, Inc. High-efficiency service chaining with agentless service nodes
US9178828B2 (en) 2013-04-26 2015-11-03 Cisco Technology, Inc. Architecture for agentless service insertion
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US9826025B2 (en) 2013-05-21 2017-11-21 Cisco Technology, Inc. Chaining service zones by way of route re-origination
WO2014186963A1 (zh) 2013-05-23 2014-11-27 华为技术有限公司 业务路由系统、设备和方法
US9503378B2 (en) * 2013-06-07 2016-11-22 The Florida International University Board Of Trustees Load-balancing algorithms for data center networks
US9495296B2 (en) 2013-06-12 2016-11-15 Oracle International Corporation Handling memory pressure in an in-database sharded queue
EP3008861B1 (en) 2013-06-14 2017-12-06 Microsoft Technology Licensing, LLC Fault tolerant and load balanced routing
US9137165B2 (en) 2013-06-17 2015-09-15 Telefonaktiebolaget L M Ericsson (Publ) Methods of load balancing using primary and stand-by addresses and related load balancers and servers
US9621642B2 (en) 2013-06-17 2017-04-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods of forwarding data packets using transient tables and related load balancers
US20140372616A1 (en) 2013-06-17 2014-12-18 Telefonaktiebolaget L M Ericsson (Publ) Methods of forwarding/receiving data packets using unicast and/or multicast communications and related load balancers and servers
US9686192B2 (en) 2013-06-28 2017-06-20 Niciria, Inc. Network service slotting
US9350657B2 (en) 2013-07-08 2016-05-24 Nicira, Inc. Encapsulating data packets using an adaptive tunnelling protocol
US9742666B2 (en) 2013-07-09 2017-08-22 Nicira, Inc. Using headerspace analysis to identify classes of packets
US9755959B2 (en) 2013-07-17 2017-09-05 Cisco Technology, Inc. Dynamic service path creation
US9509615B2 (en) 2013-07-22 2016-11-29 Vmware, Inc. Managing link aggregation traffic in a virtual environment
US9231863B2 (en) 2013-07-23 2016-01-05 Dell Products L.P. Systems and methods for a data center architecture facilitating layer 2 over layer 3 communication
US9331941B2 (en) 2013-08-12 2016-05-03 Cisco Technology, Inc. Traffic flow redirection between border routers using routing encapsulation
US9952885B2 (en) 2013-08-14 2018-04-24 Nicira, Inc. Generation of configuration files for a DHCP module executing within a virtualized container
US9887960B2 (en) 2013-08-14 2018-02-06 Nicira, Inc. Providing services for logical networks
WO2015029420A1 (ja) 2013-08-26 2015-03-05 日本電気株式会社 通信システムにおける通信装置、通信方法、制御装置および管理装置
US9203765B2 (en) 2013-08-30 2015-12-01 Cisco Technology, Inc. Flow based network service insertion using a service chain identifier
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active L3 gateways for logical networks
US9680748B2 (en) 2013-09-15 2017-06-13 Nicira, Inc. Tracking prefixes of values associated with different rules to generate flows
US9258742B1 (en) 2013-09-30 2016-02-09 Juniper Networks, Inc. Policy-directed value-added services chaining
US9596126B2 (en) * 2013-10-10 2017-03-14 Nicira, Inc. Controller side method of generating and updating a controller assignment list
US9264330B2 (en) 2013-10-13 2016-02-16 Nicira, Inc. Tracing host-originated logical network packets
US9385950B2 (en) 2013-10-14 2016-07-05 Cisco Technology, Inc. Configurable service proxy local identifier mapping
US9264313B1 (en) 2013-10-31 2016-02-16 Vmware, Inc. System and method for performing a service discovery for virtual networks
US20150124622A1 (en) * 2013-11-01 2015-05-07 Movik Networks, Inc. Multi-Interface, Multi-Layer State-full Load Balancer For RAN-Analytics Deployments In Multi-Chassis, Cloud And Virtual Server Environments
US9578141B2 (en) 2013-11-03 2017-02-21 Ixia Packet flow modification
US9363180B2 (en) * 2013-11-04 2016-06-07 Telefonkatiebolaget L M Ericsson (Publ) Service chaining in a cloud environment using Software Defined Networking
US9634938B2 (en) 2013-11-05 2017-04-25 International Business Machines Corporation Adaptive scheduling of data flows in data center networks for efficient resource utilization
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9300585B2 (en) 2013-11-15 2016-03-29 Cisco Technology, Inc. Shortening of service paths in service chains in a communications network
US9392025B2 (en) 2013-11-21 2016-07-12 Cisco Technology, Inc. Subscriber dependent redirection between a mobile packet core proxy and a cell site proxy in a network environment
US9231871B2 (en) 2013-11-25 2016-01-05 Versa Networks, Inc. Flow distribution table for packet flow load balancing
US10104169B1 (en) 2013-12-18 2018-10-16 Amazon Technologies, Inc. Optimizing a load balancer configuration
US9548896B2 (en) 2013-12-27 2017-01-17 Big Switch Networks, Inc. Systems and methods for performing network service insertion
CN104767629B (zh) 2014-01-06 2017-12-12 腾讯科技(深圳)有限公司 分配服务节点的方法、装置及系统
US9825856B2 (en) 2014-01-06 2017-11-21 Futurewei Technologies, Inc. Service function chaining in a packet network
US9992103B2 (en) 2014-01-24 2018-06-05 Cisco Technology, Inc. Method for providing sticky load balancing
US9514018B2 (en) 2014-01-28 2016-12-06 Software Ag Scaling framework for querying
CN105684505B (zh) 2014-01-29 2019-08-23 华为技术有限公司 通信网络、设备和控制方法
US9467382B2 (en) 2014-02-03 2016-10-11 Cisco Technology, Inc. Elastic service chains
US9215213B2 (en) 2014-02-20 2015-12-15 Nicira, Inc. Method and apparatus for distributing firewall rules
US9880826B2 (en) 2014-02-25 2018-01-30 Red Hat, Inc. Installing of application resources in a multi-tenant platform-as-a-service (PaS) system
CN103795805B (zh) 2014-02-27 2017-08-25 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法
JP6217839B2 (ja) 2014-03-04 2017-10-25 日本電気株式会社 パケット処理装置、パケット処理方法およびプログラム
CN109101318B (zh) 2014-03-12 2022-04-05 华为技术有限公司 一种虚拟机迁移控制方法及装置
US9344337B2 (en) 2014-03-13 2016-05-17 Cisco Technology, Inc. Service node originated service chains in a network environment
EP2922252B1 (en) 2014-03-21 2017-09-13 Juniper Networks, Inc. Selectable service node resources
CN104954274B (zh) 2014-03-25 2018-03-16 华为技术有限公司 生成转发信息的方法、控制器和业务转发实体
US9602380B2 (en) 2014-03-28 2017-03-21 Futurewei Technologies, Inc. Context-aware dynamic policy selection for load balancing behavior
US9985896B2 (en) 2014-03-31 2018-05-29 Nicira, Inc. Caching of service decisions
US9215210B2 (en) 2014-03-31 2015-12-15 Nicira, Inc. Migrating firewall connection state for a firewall service virtual machine
US9503427B2 (en) 2014-03-31 2016-11-22 Nicira, Inc. Method and apparatus for integrating a service virtual machine
US9473410B2 (en) 2014-03-31 2016-10-18 Sandvine Incorporated Ulc System and method for load balancing in computer networks
US10264071B2 (en) 2014-03-31 2019-04-16 Amazon Technologies, Inc. Session management in distributed storage systems
US10178181B2 (en) 2014-04-02 2019-01-08 Cisco Technology, Inc. Interposer with security assistant key escrow
US9363183B2 (en) 2014-04-10 2016-06-07 Cisco Technology, Inc. Network address translation offload to network infrastructure for service chains in a network environment
US9917781B2 (en) 2014-06-05 2018-03-13 KEMP Technologies Inc. Methods for intelligent data traffic steering
US10013276B2 (en) 2014-06-20 2018-07-03 Google Llc System and method for live migration of a virtualized networking stack
US9602308B2 (en) 2014-06-23 2017-03-21 International Business Machines Corporation Servicing packets in a virtual network and a software-defined network (SDN)
US9419897B2 (en) 2014-06-30 2016-08-16 Nicira, Inc. Methods and systems for providing multi-tenancy support for Single Root I/O Virtualization
US9634936B2 (en) 2014-06-30 2017-04-25 Juniper Networks, Inc. Service chaining across multiple networks
US9692698B2 (en) 2014-06-30 2017-06-27 Nicira, Inc. Methods and systems to offload overlay network packet encapsulation to hardware
US9455908B2 (en) 2014-07-07 2016-09-27 Cisco Technology, Inc. Bi-directional flow stickiness in a network environment
US10003530B2 (en) 2014-07-22 2018-06-19 Futurewei Technologies, Inc. Service chain header and metadata transport
EP3157206B1 (en) 2014-07-23 2018-09-19 Huawei Technologies Co., Ltd. Service message forwarding method and apparatus
US20160057687A1 (en) 2014-08-19 2016-02-25 Qualcomm Incorporated Inter/intra radio access technology mobility and user-plane split measurement configuration
US20160065503A1 (en) 2014-08-29 2016-03-03 Extreme Networks, Inc. Methods, systems, and computer readable media for virtual fabric routing
CN107078957B (zh) 2014-09-19 2021-04-09 诺基亚通信公司 通信网络中的网络服务功能的链接
US20170250902A1 (en) 2014-09-23 2017-08-31 Nokia Solutions And Networks Oy Control of communication using service function chaining
US9804797B1 (en) * 2014-09-29 2017-10-31 EMC IP Holding Company LLC Using dynamic I/O load differential for load balancing
US9755898B2 (en) 2014-09-30 2017-09-05 Nicira, Inc. Elastically managing a service node group
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US9548919B2 (en) 2014-10-24 2017-01-17 Cisco Technology, Inc. Transparent network service header path proxies
US9590902B2 (en) 2014-11-10 2017-03-07 Juniper Networks, Inc. Signaling aliasing capability in data centers
US9705775B2 (en) 2014-11-20 2017-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Passive performance measurement for inline service chaining
WO2016082167A1 (zh) 2014-11-28 2016-06-02 华为技术有限公司 业务处理装置及方法
US20160164826A1 (en) 2014-12-04 2016-06-09 Cisco Technology, Inc. Policy Implementation at a Network Element based on Data from an Authoritative Source
WO2016090552A1 (zh) 2014-12-09 2016-06-16 华为技术有限公司 一种自适应流表的处理方法及装置
US9866472B2 (en) 2014-12-09 2018-01-09 Oath Inc. Systems and methods for software defined networking service function chaining
US9660909B2 (en) 2014-12-11 2017-05-23 Cisco Technology, Inc. Network service header metadata for load balancing
CN105743822B (zh) 2014-12-11 2019-04-19 华为技术有限公司 一种处理报文的方法及装置
US9571405B2 (en) 2015-02-25 2017-02-14 Cisco Technology, Inc. Metadata augmentation in a service function chain
KR101989333B1 (ko) 2014-12-17 2019-09-30 후아웨이 테크놀러지 컴퍼니 리미티드 소프트웨어 정의 네트워킹에서의 데이터 전달 방법, 기기 및 시스템
US20160182668A1 (en) 2014-12-18 2016-06-23 Limelight Networks, Inc. Acceleration nodes for improving web traffic quality of service
US9462084B2 (en) 2014-12-23 2016-10-04 Intel Corporation Parallel processing of service functions in service function chains
US9680762B2 (en) 2015-01-05 2017-06-13 Futurewei Technologies, Inc. Method and system for providing QoS for in-band control traffic in an openflow network
US10129180B2 (en) 2015-01-30 2018-11-13 Nicira, Inc. Transit logical switch within logical router
WO2016127398A1 (zh) 2015-02-13 2016-08-18 华为技术有限公司 控制接入的装置、系统和方法
US9749225B2 (en) 2015-04-17 2017-08-29 Huawei Technologies Co., Ltd. Software defined network (SDN) control signaling for traffic engineering to enable multi-type transport in a data plane
US10116464B2 (en) 2015-03-18 2018-10-30 Juniper Networks, Inc. EVPN inter-subnet multicast forwarding
US10594743B2 (en) 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US10785130B2 (en) 2015-04-23 2020-09-22 Hewlett Packard Enterprise Development Lp Network infrastructure device to implement pre-filter rules
US9762402B2 (en) 2015-05-20 2017-09-12 Cisco Technology, Inc. System and method to facilitate the assignment of service functions for service chains in a network environment
US10021216B2 (en) 2015-05-25 2018-07-10 Juniper Networks, Inc. Monitoring services key performance indicators using TWAMP for SDN and NFV architectures
US9985869B2 (en) 2015-06-09 2018-05-29 International Business Machines Corporation Support for high availability of service appliances in a software-defined network (SDN) service chaining infrastructure
US11310655B2 (en) 2015-06-10 2022-04-19 Soracom, Inc. Communication system and communication method for providing access to IP network to wireless cable
US10742544B2 (en) 2015-06-15 2020-08-11 Telefonaktiebolaget Lm Ericsson (Publ) Method and network nodes for scalable mapping of tags to service function chain encapsulation headers
US10742722B2 (en) 2015-06-26 2020-08-11 Hewlett Packard Enterprise Development Lp Server load balancing
US9680706B2 (en) 2015-06-30 2017-06-13 Nicira, Inc. Federated firewall management for moving workload across data centers
US11204791B2 (en) 2015-06-30 2021-12-21 Nicira, Inc. Dynamic virtual machine network policy for ingress optimization
US9749229B2 (en) 2015-07-01 2017-08-29 Cisco Technology, Inc. Forwarding packets with encapsulated service chain headers
CN106330714B (zh) 2015-07-02 2020-05-29 中兴通讯股份有限公司 一种实现业务功能链的方法和装置
US10367728B2 (en) 2015-07-15 2019-07-30 Netsia, Inc. Methods for forwarding rule hopping based secure communications
US10069639B2 (en) 2015-07-28 2018-09-04 Ciena Corporation Multicast systems and methods for segment routing
US9923984B2 (en) 2015-10-30 2018-03-20 Oracle International Corporation Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) message loop detection and mitigation
US9894103B2 (en) 2015-08-28 2018-02-13 Nicira, Inc. Performing source network address translation based on remote device management attributes
US10432520B2 (en) 2015-08-28 2019-10-01 Nicira, Inc. Traffic forwarding between geographically dispersed sites
US9667518B2 (en) 2015-09-11 2017-05-30 Telefonaktiebolaget L M Ericsson (Publ) Method and system for delay measurement of a traffic flow in a software-defined networking (SDN) system
WO2017071743A1 (en) 2015-10-28 2017-05-04 Huawei Technologies Co., Ltd. Control traffic in software defined networks
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US9912788B2 (en) 2015-11-10 2018-03-06 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods of an enhanced state-aware proxy device
US9860079B2 (en) 2015-11-20 2018-01-02 Oracle International Corporation Redirecting packets for egress from an autonomous system using tenant specific routing and forwarding tables
CN106788911A (zh) 2015-11-25 2017-05-31 华为技术有限公司 一种报文重传的方法和装置
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
CN106936939B (zh) 2015-12-31 2020-06-02 华为技术有限公司 一种报文处理方法、相关装置及nvo3网络系统
US10075393B2 (en) 2015-12-31 2018-09-11 Fortinet, Inc. Packet routing using a software-defined networking (SDN) switch
US11044203B2 (en) 2016-01-19 2021-06-22 Cisco Technology, Inc. System and method for hosting mobile packet core and value-added services using a software defined network and service chains
US20170214627A1 (en) 2016-01-21 2017-07-27 Futurewei Technologies, Inc. Distributed Load Balancing for Network Service Function Chaining
US10412048B2 (en) 2016-02-08 2019-09-10 Cryptzone North America, Inc. Protecting network devices by a firewall
US10547692B2 (en) 2016-02-09 2020-01-28 Cisco Technology, Inc. Adding cloud service provider, cloud service, and cloud tenant awareness to network service chains
US10158568B2 (en) 2016-02-12 2018-12-18 Huawei Technologies Co., Ltd. Method and apparatus for service function forwarding in a service domain
US10187306B2 (en) 2016-03-24 2019-01-22 Cisco Technology, Inc. System and method for improved service chaining
EP3229418B1 (en) 2016-04-07 2019-01-09 Telefonica, S.A. A method to assure correct data packet traversal through a particular path of a network
US10320681B2 (en) 2016-04-12 2019-06-11 Nicira, Inc. Virtual tunnel endpoints for congestion-aware load balancing
US10931793B2 (en) 2016-04-26 2021-02-23 Cisco Technology, Inc. System and method for automated rendering of service chaining
US10171350B2 (en) 2016-04-27 2019-01-01 Cisco Technology, Inc. Generating packets in a reverse direction of a service function chain
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10355983B2 (en) 2016-05-09 2019-07-16 Cisco Technology, Inc. Traceroute to return aggregated statistics in service chains
US10097402B2 (en) 2016-05-11 2018-10-09 Hewlett Packard Enterprise Development Lp Filter tables for management functions
US10284390B2 (en) 2016-06-08 2019-05-07 Cisco Technology, Inc. Techniques for efficient service chain analytics
US20170364794A1 (en) 2016-06-20 2017-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Method for classifying the payload of encrypted traffic flows
US10382596B2 (en) 2016-06-23 2019-08-13 Cisco Technology, Inc. Transmitting network overlay information in a service function chain
CN107925624B (zh) 2016-07-01 2021-02-23 华为技术有限公司 基于业务功能链sfc的报文转发方法、装置和系统
CN107666438B (zh) 2016-07-27 2021-10-22 中兴通讯股份有限公司 报文转发方法及装置
US10225270B2 (en) 2016-08-02 2019-03-05 Cisco Technology, Inc. Steering of cloned traffic in a service function chain
WO2018037266A1 (en) 2016-08-26 2018-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Improving sf proxy performance in sdn networks
US10361969B2 (en) 2016-08-30 2019-07-23 Cisco Technology, Inc. System and method for managing chained services in a network environment
US11277338B2 (en) 2016-09-26 2022-03-15 Juniper Networks, Inc. Distributing service function chain data and service function instance data in a network
US11824863B2 (en) 2016-11-03 2023-11-21 Nicira, Inc. Performing services on a host
US10187263B2 (en) 2016-11-14 2019-01-22 Futurewei Technologies, Inc. Integrating physical and virtual network functions in a service-chained network environment
US9906401B1 (en) 2016-11-22 2018-02-27 Gigamon Inc. Network visibility appliances for cloud computing architectures
US10715607B2 (en) 2016-12-06 2020-07-14 Nicira, Inc. Performing context-rich attribute-based services on a host
GB2558205B (en) 2016-12-15 2019-07-03 Arm Ip Ltd Enabling communications between devices
EP3340581B1 (en) 2016-12-20 2022-02-23 InterDigital CE Patent Holdings Method for managing service chaining at a network equipment, corresponding network equipment
US10212071B2 (en) 2016-12-21 2019-02-19 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10574652B2 (en) 2017-01-12 2020-02-25 Zscaler, Inc. Systems and methods for cloud-based service function chaining using security assertion markup language (SAML) assertion
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US10673785B2 (en) 2017-02-16 2020-06-02 Netscout Systems, Inc. Flow and time based reassembly of fragmented packets by IP protocol analyzers
US10243856B2 (en) 2017-03-24 2019-03-26 Intel Corporation Load balancing systems, devices, and methods
US10462047B2 (en) 2017-04-10 2019-10-29 Cisco Technology, Inc. Service-function chaining using extended service-function chain proxy for service-function offload
US10587502B2 (en) 2017-05-16 2020-03-10 Ribbon Communications Operating Company, Inc. Communications methods, apparatus and systems for providing scalable media services in SDN systems
US10333822B1 (en) 2017-05-23 2019-06-25 Cisco Technology, Inc. Techniques for implementing loose hop service function chains price information
US10628236B2 (en) 2017-06-06 2020-04-21 Huawei Technologies Canada Co., Ltd. System and method for inter-datacenter communication
US10757138B2 (en) 2017-07-13 2020-08-25 Nicira, Inc. Systems and methods for storing a security parameter index in an options field of an encapsulation header
US10432513B2 (en) 2017-07-14 2019-10-01 Nicira, Inc. Asymmetric network elements sharing an anycast address
US11296984B2 (en) 2017-07-31 2022-04-05 Nicira, Inc. Use of hypervisor for active-active stateful network service cluster
CN111052686B (zh) 2017-08-27 2022-03-29 Nicira股份有限公司 在公共云中执行在线服务的方法和机器可读介质
US10637828B2 (en) 2017-09-17 2020-04-28 Mellanox Technologies, Ltd. NIC with stateful connection tracking
US10721095B2 (en) 2017-09-26 2020-07-21 Oracle International Corporation Virtual interface system and method for multi-tenant cloud networking
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US10708229B2 (en) 2017-11-15 2020-07-07 Nicira, Inc. Packet induced revalidation of connection tracker
US10757077B2 (en) 2017-11-15 2020-08-25 Nicira, Inc. Stateful connection policy filtering
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10536285B2 (en) 2018-01-25 2020-01-14 Juniper Networks, Inc. Multicast join message processing by multi-homing devices in an ethernet VPN
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
EP3673628A1 (en) 2018-01-26 2020-07-01 Nicira, Inc. Specifying and utilizing paths through a network
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
CN110113291B (zh) 2018-02-01 2020-10-13 上海诺基亚贝尔股份有限公司 用于在业务功能链域之间进行互通的方法和设备
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US10749751B2 (en) 2018-05-02 2020-08-18 Nicira, Inc. Application of profile setting groups to logical network entities
US11283676B2 (en) 2018-06-11 2022-03-22 Nicira, Inc. Providing shared memory for access by multiple network service containers executing on single service machine
US10897392B2 (en) 2018-06-11 2021-01-19 Nicira, Inc. Configuring a compute node to perform services on a host
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
CN112673596B (zh) 2018-09-02 2023-05-02 Vm维尔股份有限公司 逻辑网关处的服务插入方法、设备和系统
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11012353B2 (en) 2018-11-02 2021-05-18 Cisco Technology, Inc. Using in-band operations data to signal packet processing departures in a network
US10944630B2 (en) 2018-11-20 2021-03-09 Cisco Technology, Inc. Seamless automation of network device migration to and from cloud managed systems
US10855588B2 (en) 2018-12-21 2020-12-01 Juniper Networks, Inc. Facilitating flow symmetry for service chains in a computer network
US10965592B2 (en) 2019-05-31 2021-03-30 Juniper Networks, Inc. Inter-network service chaining

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249199A1 (en) * 1999-07-02 2005-11-10 Cisco Technology, Inc., A California Corporation Load balancing using distributed forwarding agents with application based feedback for different virtual machines
US7698458B1 (en) * 2004-10-29 2010-04-13 Akamai Technologies, Inc. Load balancing network traffic using race methods
CN101594358A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 三层交换方法、装置、系统和宿主机
CN101729412A (zh) * 2009-11-05 2010-06-09 北京超图软件股份有限公司 地理信息服务的分布式层次集群方法和系统
US20110276695A1 (en) * 2010-05-06 2011-11-10 Juliano Maldaner Continuous upgrading of computers in a load balanced environment
US20120144014A1 (en) * 2010-12-01 2012-06-07 Cisco Technology, Inc. Directing data flows in data centers with clustering services
US20140282526A1 (en) * 2013-03-15 2014-09-18 Avi Networks Managing and controlling a distributed network service platform
CN103516807A (zh) * 2013-10-14 2014-01-15 中国联合网络通信集团有限公司 一种云计算平台服务器负载均衡系统及方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769162A (zh) * 2018-05-16 2018-11-06 上海携程商务有限公司 分布式消息均衡处理方法、装置、电子设备、存储介质
CN108769162B (zh) * 2018-05-16 2021-01-12 上海携程商务有限公司 分布式消息均衡处理方法、装置、电子设备、存储介质
CN108768878A (zh) * 2018-06-06 2018-11-06 北京奇艺世纪科技有限公司 一种负载均衡系统、方法、装置及负载均衡设备
CN112749107A (zh) * 2019-10-29 2021-05-04 三星电子株式会社 用于在存储附近进行分级排序加速的系统和方法
CN112749107B (zh) * 2019-10-29 2023-07-25 三星电子株式会社 用于在存储附近进行分级排序加速的系统和方法
CN115022334A (zh) * 2022-05-13 2022-09-06 深信服科技股份有限公司 流量分配方法、装置、电子设备及存储介质
CN116527586B (zh) * 2023-07-05 2023-09-19 北京亿赛通科技发展有限责任公司 一种基于多链路负载均衡网络的串接代理系统

Also Published As

Publication number Publication date
EP3709600A1 (en) 2020-09-16
US20160094452A1 (en) 2016-03-31
CN113660329A (zh) 2021-11-16
US20210359945A1 (en) 2021-11-18
US20160094631A1 (en) 2016-03-31
EP3201761A4 (en) 2018-05-23
US9774537B2 (en) 2017-09-26
US10341233B2 (en) 2019-07-02
EP3709600B1 (en) 2023-01-04
US20160094642A1 (en) 2016-03-31
US20160094643A1 (en) 2016-03-31
EP3201761A1 (en) 2017-08-09
US20190288947A1 (en) 2019-09-19
CN107077340B (zh) 2021-08-24
EP3201761B1 (en) 2020-05-06
US10320679B2 (en) 2019-06-11
US20160094451A1 (en) 2016-03-31
WO2016053373A1 (en) 2016-04-07
US10135737B2 (en) 2018-11-20
US11075842B2 (en) 2021-07-27
US10257095B2 (en) 2019-04-09

Similar Documents

Publication Publication Date Title
CN107077340A (zh) 负载均衡
US11983577B2 (en) Monitoring and optimizing interhost network traffic
US11115466B2 (en) Distributed network services
US10491502B2 (en) Software tap for traffic monitoring in virtualized environment
CN103930882B (zh) 具有中间盒的网络架构
CN102664786B (zh) 虚拟交换机截取器
CN107005584A (zh) 内联服务交换机
CN107852368A (zh) 用于网络服务的高度可用的服务链
US11570108B2 (en) Distribution of network traffic to software defined network based probes
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
CN109587063A (zh) 一种数据的引流方法及装置
Gracia et al. Software-Defined Networking in Cloud Computing

Legal Events

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