CN102158386B - 系统管理程序级的分布式负载平衡 - Google Patents
系统管理程序级的分布式负载平衡 Download PDFInfo
- Publication number
- CN102158386B CN102158386B CN201010108968.8A CN201010108968A CN102158386B CN 102158386 B CN102158386 B CN 102158386B CN 201010108968 A CN201010108968 A CN 201010108968A CN 102158386 B CN102158386 B CN 102158386B
- Authority
- CN
- China
- Prior art keywords
- main frame
- virtual machine
- grouping
- address
- virtual
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000001914 filtration Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000003862 health status Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006854 communication Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 241000984642 Cura Species 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本发明公开了系统管理程序级的分布式负载平衡的方法和装置。在一方面,方法包括确定位置以引导分组。所述方法还包括分发所述分组以通过处理器处理所述分组。所述方法还包括将所述分组分配给客户机,从而使得将所述分组分发到所述客户机是基于算法的。所述方法还包括将所述分组的第一目的地地址改变为第二目的地地址。所述第二目的地地址可以是基于所述客户机的虚拟网络接口的。所述方法还包括基于所述第二目的地地址,使得所述客户机确信所述分组来自虚拟交换机。另外,所述方法包括调整将所述分组分发到所述客户机。所述方法还包括通过所述调整减少所述客户机的负载。
Description
技术领域
本公开一般涉及软件和虚拟机的技术领域,并且在一个实施例中,涉及系统管理程序级的分布式负载平衡的方法、系统和装置。
背景技术
在计算机联网中,负载平衡是在两个或更多计算机、网络链路、CPU、硬盘驱动器、或其它资源间均衡分配工作量的技术。负载平衡有助于使资源利用最优,吞吐量最大,响应时间最短,和/或避免过载。使用具有负载平衡的多个组件(例如,替代单个组件),可以通过冗余提高可靠性。负载平衡服务可以由专用程序或硬件设备(例如,多层交换机、DNS服务器)提供。负载平衡可以由物理硬件实现。硬件实现可能是昂贵的。
分布式负载平衡(DLB)是一种类型的负载平衡。与集中式负载平衡解决方案相比,DLB解决方案可以没有中心负载平衡器,因此没有性能瓶颈和单点故障。DLB可以在虚拟环境中在客户机操作系统(OS)级上实现。在OS级上实现DLB的效率低,因为每个进网(inbound network)分组可能需要被递送到DLB群集的每个客户机,并且分组的负载平衡决定可以在所有客户机之间进行。在具有很多客户机的环境中,这样的决定可能在时间和/或资源上是拥塞的,并且可能限制DLB群集的可扩展性。另外,客户机OS级实现可能对客户机的OS不透明。
发明内容
本发明公开了管理程序级分布式负载平衡的方法和装置。在一方面,一种方法包括确定位置以引导分组。所述方法还包括分发所述分组以通过处理器处理所述分组。分组(或网络分组)可以是具有包括数据段的目的地地址的相关联的包络(envelope)和/或元数据的数据段。所述方法还包括将所述分组分配给客户机,从而使得将所述分组分发到所述客户机是基于算法的。所述方法还包括将所述分组的第一目的地MAC地址改变为第二目的地MAC地址。所述第二目的地地址是基于所述客户机的虚拟网络接口的。所述方法还包括使得所述客户机确信所述分组意在供客户机使用。另外,所述方法包括调整将所述分组分发到所述客户机。所述方法还包括通过所述调整减少所述客户机的负载。所述方法还包括基于分组的分发(例如,决定),将分组引导到客户机。
在另一方面,一种方法包括基于减少客户机负载的算法,在处理器上确定分组的分派。所述方法还包括基于所述分派,将所述分组分发到所述客户机。所述方法还包括将所述分组的第一目的地MAC地址修改为第二目的地MAC地址。另外,所述方法还包括向所述客户机指明所述分组是供所述客户机使用的。所述方法还包括利用所述第二目的地MAC地址将所述分组引导到所述客户机。所述方法包括修改去往客户机的入站ARP请求,或来自客户机的出站ARP响应。
在另一方面,一种装置,包括管理过滤器模块,其基于减少客户机负载的算法确定分组的分发。所述装置还包括调度(dispatch)过滤器模块,其将分组引导到客户机,以及将所述分组的第一目的地MAC地址修改为第二目的地MAC地址。另外,所述装置还包括核心模块,其基于所述第二主机的第二状态(例如,当第二状态示出为故障时)调整所述分组的分发,以减少将所述分组分发到所述第二主机,以及增加将所述分组分发到所述第一主机(例如,所述第一主机的第一状态是活动的)。
本文公开的方法、系统和装置可以利用用于实现各个方面的任何手段实现,并且可以用机器可读介质的形式执行,所述机器可读介质包含一组指令,当由机器执行时,该组指令使得机器执行本文公开的任何操作。根据附图和以下的详细描述,其它特征将是显而易见的。
附图说明
示例性实施例通过实例阐明,并且不限于附图,在附图中,相同的附图标记表示相似的元件,并且其中:
图1是示出根据一个或多个实施例的在主机(例如;系统管理程序级)上的分布式负载平衡器(DLB)的实现的系统图。
图2是示出根据一个或多个实施例,执行负载分发的过程的系统图。
图3是示出根据示例性实施例,通过使用主机的过滤器模块进行负载平衡的系统图。
根据附图和以下的详细描述,本实施例的其它特征将是显而易见的。
具体实施方式
公开了系统管理程序级的分布式负载平衡的方法、系统和装置。可以明白的是,本文讨论的不同实施例不必属于同一组的示例性实施例,并且可以分组为本文没有明确公开的各个其它实施例。在以下描述中,为了说明的目的,详尽解释了许多具体细节,以便提供对各个实施例的全面理解。
图1是示出根据一个或多个实施例,在主机(例如;系统管理程序级)上的分布式负载平衡器(DLB)的实现的系统图。例如负载平衡的资源优化技术可以使得企业能够有效地管理所述过程和提供服务。负载平衡可以是在两个或更多网络段之间分发工作量(例如服务请求)的过程。网络段可以包括,但不限于服务器、虚拟机、计算机、处理器和数据存储设备。
根据一个实施例,本文描述的网络段可以指客户机1181-M,其可以处理到达的请求102,以基于该请求提供响应。在一个或多个实施例中,本文描述的客户机1181-M可以指虚拟环境中的虚拟机。DLB群集可以包括一个或多个客户机1181-M。在一个或多个实施例中,DLB群集可以被配置为具有虚拟IP地址(VIP)和虚拟媒体访问控制(VMAC)地址,其为到达的请求102的目的地IP和目的地MAC地址。在一个或多个实施例中,DLB可以是没有中心负载平衡器的负载平衡的种类。
客户端设备可以使用外部网络中的客户机1181-M的IP地址,将(例如,针对服务的)请求传送到客户机1181-M。到达的请求可以由客户端设备传送到外部网络中的物理交换机104。物理交换机104从客户端设备接收(例如,针对服务的)到达的请求102,以用于进一步处理。在一个或多个实施例中,物理交换机104可以是用于在网络段之间(例如,通过有线或无线)传送分组的硬件(例如,第2层设备)。物理交换机104可以将到达的请求102(例如,以分组的形式)广播到可通信地耦合到物理交换机104的一个或多个物理网络接口1061-N。关于物理交换机104为何广播到达的请求的原因将进一步说明。物理网络接口1061-N可以将分组传送到与物理网络接口1061-N耦合的群集(例如,一组客户机1181-M)。应该注意,下标M和N表示整数。
在一个或多个实施例中,物理网络接口1061-N可以是例如网络接口卡(NIC)的硬件设备(例如,第2层设备),所述网络接口卡使得能够在网络中的例如计算机、服务器或任何其它适当设备的数据处理设备之间进行通信。在一个或多个实施例中,物理网络接口1061-N可以在客户机1181-M和物理交换机104之间传送请求102和响应。在一个或多个实施例中,客户机1181-M可以是数据处理系统,例如,被配置为虚拟机的服务器。客户机1181-M可以包括例如处理器、存储器等的组件,以处理信息(例如,服务于所述请求)。
此外,在一个或多个实施例中,物理网络接口106A1-N和客户机1181-M之间的通信可以通过主机1201-N路由。在一个或多个实施例中,主机1201-N可以是由配置为管理客户机1181-M(例如,虚拟结合)的软件(例如,平台虚拟化软件、主机1201-N的其它支持软件和模块)支持的硬件设备。另外,主机1201-N可以被配置为控制物理网络接口106A1-N和客户机11821-M之间的所有通信。本文描述的主机1201-N可以包括虚拟交换机1081-N和过滤器模块1301-N。在一个或多个实施例中,主机1201-M可以是被配置为管理客户机1181-M(例如,虚拟机)的系统管理程序(例如,虚拟机监视器)。
负载平衡算法和相关软件可以在主机1201-N中实现来进行数据分发和负载平衡。因此,分组分派、负载平衡和分组分发可以由主机1201-N执行。在一个或多个实施例中,负载平衡算法可以是基于源因特网协议地址、第4层信息、和/或第7层信息等来确定分组分发的负载平衡程序。负载平衡算法协调和控制用于执行负载平衡的每个主机1201-N,由此减少主机1201-N之间的协调和通信。具体地,负载平衡算法在主机1201-N中实现过滤器模块1301-N,以在主机1201-N级(例如,系统管理程序级)上协调和实现负载平衡。在一个或多个实施例中,负载平衡算法可以减少用于在主机1201-N之间进行协调(例如,协商)的通信过程。本文描述的主机1201-N可以支持多种多样的客户机1181-M(例如,等)。另外,主机1201-N能够支持不同操作系统同时运行在主机1201-N上。
具体地,负载平衡算法可以在主机1201-N(例如,系统管理器、)中实现过滤器模块1301-N,以用于耦合到虚拟交换机1081-N的每个群集。在一个或多个实施例中,可以每个群集每个虚拟交换机1081-N实现一个过滤器模块1301-N。在一个或多个实施例中,可以是每个主机多于一个虚拟交换机。在一个或多个实施例中,属于群集的一个或多个客户机可以通过一个或多个主机1201-N的虚拟交换机1081-N连接。同样,在一个或多个实施例中,主机可以包括一个或多个虚拟交换机1081-N。
此外,在一个或多个实施例中,当与客户机1181-M关联的第一虚拟网络接口1061-M与虚拟交换机1081-N可通信地耦合时,过滤器模块1301-N产生内部端口,该内部端口的MAC地址可以是群集的VMAC,并且将过滤器模块1301-N的管理过滤器模块1121-N可通信地耦合到虚拟交换机1081-N。在一个或多个实施例中,对于每个DLB群集,在可通信地耦合到属于所述群集的一个或多个客户机(例如,虚拟机)的每个虚拟交换机上,可以存在内部端口和管理过滤器模块。在一个或多个实施例中,群集的内部虚拟交换机端口共享VMAC。此外,任何新添加的虚拟网络接口1062-M可以相应地配置。
则当属于DLB群集的虚拟网络接口1161-M被可通信耦合时,过滤器模块1301-N可以产生用于管理每个客户机1181-M的一个或多个调度过滤器模块1141-M。本文产生的调度过滤器模块1141-M可以可通信地耦合到管理过滤器模块1121-N。管理过滤器模块1201-N可以基于负载平衡算法,控制和/或协调与管理过滤器模块1121-N关联的调度过滤器模块1141-M的活动。此外,调度过滤器模块1141-M可以可通信耦合到与客户机1181-M关联的虚拟交换机1081-N和虚拟网络接口1161-M的端口。
在一个或多个实施例中,物理交换机104可以采用任何单播模式或者多播模式(例如,通过物理网络接口1061-N),将分组传送到主机1201-N。主机1201-N还可以将分组传送到客户机1181-M,如将进一步说明的。主机1201-N的虚拟交换机1081-N可以从物理网络接口1061-N接收分组,以将分组传送到客户机1181-M。另外,主机1201-N的虚拟交换机1081-N可以将其目的地MAC地址是VMAC的分组(例如入站客户端请求)转发到内部端口。在一个或多个实施例中,管理过滤器模块1121-N可以拦截去往内部端口的分组,以基于负载平衡算法执行负载平衡。在一个或多个实施例中,负载平衡算法在群集中配置管理过滤器模块1121-N,以接受或拒绝到达的分组。在一个或多个实施例中,负载平衡算法确定分组的特定目的地。例如,负载平衡算法可以确定特定DLB群集的特定客户机引导所述分组。在一个或多个实施例中,位置或目标可以是任何一个客户机1181-M(例如,目标虚拟机)。分组(其中VMAC是其目的地MAC)可以由指定的管理过滤器模块(例如,仅仅一个管理过滤器模块1121-N)接受,并且被进一步引导到指定客户机(例如,仅仅一个指定客户机1181-M)。
此外,基于负载平衡算法,管理过滤器模块1121-N确定该分组是否应该由耦合到虚拟交换机1081-N的任何一个客户机1181-M(例如,通过虚拟网络接口1061-M)接受。如果管理过滤器模块1121-N确定该分组必须被传送到客户机1181-M,则基于负载平衡算法,管理过滤器模块1121-N进一步确定该分组应该被(例如,通过虚拟网络接口1161-M)传送到哪个客户机1181-M。在一个或多个实施例中,在负载平衡过程期间,可能不需要主机之间的通信。在一个或多个实施例中,虚拟交换机1081-N上的管理过滤器模块1121-N可以对平衡负载独立地做出决定。
基于负载平衡算法,管理过滤器模块1121-N被配置为将所述分组(例如,通过虚拟网络接口1161-M)传送(例如,分发)到特定的客户机1181-M。在一个或多个实施例中,管理过滤器模块1121-N可以通过负载平衡算法配置为丢弃应由另一个指定的主机1201-N接受来进行处理的分组的副本。在另一个实施例中,管理过滤器模块1121-N可以将虚拟交换机1081-N配置为,如果所述分组已经由群集的另一个主机接受来进行处理,则拒绝该分组。
在一个或多个实施例中,基于负载平衡算法,将分组分配给客户机1181-M。在一个或多个实施例中,管理过滤器模块1121-N可以对来自虚拟交换机1081-N的用于VIP的地址解析协议(ARP)请求进行响应,并且调度过滤器模块1141-M可以被配置为丢弃这些ARP请求。在替换实施例中,管理过滤器模块1121-N可以被配置为不对ARP请求进行响应;而是客户机1181-M被配置为对ARP请求进行响应。然而,在客户机1181-M被配置为对ARP请求进行响应的实例中,响应于VMAC,调度过滤器模块1141-M可以被配置为拦截出站ARP响应和修改所回答的MAC地址。
此外,管理每个主机1201-N的负载平衡算法确保被传送来去往特定主机1201-N的特定分组应该由特定主机1201-N的特定管理过滤器模块1121-N处理,并且其余的管理过滤器模块1121-N丢弃该分组。在一个或多个实施例中,基于例如分组的源IP地址、第4层信息、和/或第7层信息等的不同参数,负载平衡算法确定用于处理分组的特定管理过滤器模块1121-N。主机1201-N的负载平衡算法可以确定处理该分组的特定客户机1181-M。
此外,管理过滤器模块1121-N可以将IP地址解析为MAC地址,以使得能够将分组传送到特定客户机1181-M。在一个或多个实施例中,IP地址可以是群集的VIP,以及MAC地址可以是群集的VMAC(例如,第一目的地地址)。过滤器模块1301-N的调度过滤器模块1141-M接收来自虚拟交换机1081-N的分组,该分组由管理过滤器模块1121-N重新引导。此外,调度过滤器模块1141-M可以将目的地MAC地址(例如,VMAC或管理过滤器模块端口的地址)修改为第二MAC地址(例如,虚拟网络接口1161-M的MAC地址)。此外,过滤器模块1301-N的调度过滤器模块1141-M可以(例如,通过虚拟网络接口1161-M)将分组传送到指定的客户机1181-M,用于进一步处理。同时,调度过滤器模块1141-M可以从虚拟交换机1081-N接收ARP请求。然而,当管理过滤器模块1121-N被配置为对ARP请求进行响应时,调度过滤器模块1141-M可以丢弃ARP请求,从而客户端从管理过滤器模块1121-N接收响应。
使客户机1181-M确信所述分组是供那个客户机使用的。具有第二目的地MAC地址的分组可以被客户机1181-M解释为是供那个客户机使用的分组。
此外,客户机1181-M可以基于请求102产生响应(例如,服务)。响应分组可以通过虚拟网络接口1161-M传送到调度过滤器模块1141-M。响应分组可以由调度过滤器模块1141-M收集,并且经由相同路由传送回客户端。
另外,核心模块1101-N可以在每个过滤器模块1301-N中实现。在一个或多个实施例中,核心模块1101-N可以监测其它主机1201-N的健康(health)(例如,起作用、空闲、活动、瘫痪等)。在一个或多个实施例中,核心模块1101-N可以被实现为广播或者多播协议。或者,核心模块1101-N可以在用户空间后台程序中实现(例如,使用因特网协议(IP)广播/多播执行核心程序),或在管理过滤器模块1121-N中实现(例如使用第2层广播/多播执行核心程序)等。在一个或多个实施例中,核心模块1101-N执行核心协议以与其它核心模块1101-N通信,从而确定其它主机1201-N的状态(例如,健康),和保持多个主机1201-N上的群集的成员。核心模块1101-N也可以被配置为定期地监测其它主机1201-N的健康,和相应地传送核心消息。
在一个或多个实施例中,DLB群集可以包括在一个主机和/或多个主机上的多个客户机1181-M。核心模块1101-N可以将核心程序(例如,核心消息)传送到其它主机1201-N上的其它核心模块1101-N,以保持为群集成员。在一个或多个实施例中,当客户机(例如,通过可通信地耦合到虚拟交换机的虚拟网络接口)加入群集或(例如,通过断开虚拟网络接口)离开群集,主机或虚拟交换机1081-N上的核心模块1101-N通知属于该群集的其它主机1201-N上的其它核心模块1101-N,然后负载平衡算法在主机1201-N上的核心模块1101-N之间进行协商以平衡负载。另外,核心模块1101-N监测属于同一群集的其它主机的状态。如果任何主机1201-N发生故障,则从该群集中丢弃所有与故障主机关联的客户机。在一个实施例中,如果核心模块1101-N检测到群集中的主机发生故障,则负载平衡算法从分发过程中移除该发生故障的主机,并且和其它主机1201-N协商以平衡负载。
在一个或多个实施例中,核心模块1101-N可以监测成员变化。成员变化的示例可以包括:1)新的客户机加入;2)客户机离开;3)主机发生故障,从而移除该故障主机上的所有客户机。负载分发中的变化可以由负载平衡算法管理。而且,在一个或多个实施例中,核心模块1101-N可以监测在它的主机上的客户机的健康状态(例如,虚拟机和它所提供的网络服务),如果任何客户机发生故障,则可以从群集中移除该故障客户机(例如,如同正常的客户机离开),并且可以向群集中的其它核心模块提供通知。
此外,核心模块1101-N也可以被配置为(例如,通过保留整个群集的本地示图以检测与该群集中的其它示图之间的不一致性)检测群集中的不一致性,和基于负载平衡算法,通过协商解决该不一致性。核心模块1101-N可以基于主机的状态调整分组的分发,以减少和/或增加将分组分发到主机。在一个或多个实施例中,当主机显示故障或忙碌状态时,核心模块1101-N可以调整分组的分发,以减少(例如,或停止)将分组分发到主机。另外,当其它主机的状态是运行和/或健康时,核心模块1101-N可以调整分组的分发,以增加将分组分发到另一个主机。然而,增加和/或减少负载分发可以基于用于平衡负载分配的负载平衡算法。
另外,核心模块1101-N也可以被配置为检测向现有群集增加和/或移除(例如,成员变化)资源(例如,客户机),以与其它核心模块1101-N协商,从而基于负载平衡算法分担工作量或重新分配工作量。核心模块1101-N可以检测对任何客户机的添加和/或移除,以及相应地启动和/或停止相关协议。在一个或多个实施例中,除了有助于传送和/或增加和/或删除客户机以外,核心模块1101-N可以由增加和/或移除协议、协商协议、核心协议、以及可以监测其它主机健康的其它协议支持。在一个或多个实施例中,核心模块1101-N也可以被配置为通过将电子消息传送到其它主机1201-N的其它核心模块,监测与各个主机1201-N关联的每个客户机1181-M的健康状态(例如,工作状况)。基于负载的分组分发可以基于与主机1201-N关联的健康的客户机1181-M的数目而相应地调整。
在一个或多个实施例中,客户机1181-M可能需要从一个主机转移到另一个主机。使用实时转移(例如,VMware公司的VMotionTM),客户机可以在主机之间转移而感觉不到当机时间。在一种情形中,转移可以包括迁移到具有与源客户机属于同一群集的客户机的目的主机。在另一种情形中,转移可以包括迁移到不具有属于同一群集的客户机的目的主机。在目的主机与源主机属于同一群集的转移的情形中,通过在目的主机的管理过滤器模块1121-N中记录客户机1181-M的信息,和将新的调度过滤器模块分配给被转移的客户机1181-M,客户机1181-M连同其负载平衡状态可以移动到目的主机。此外,在连接到目的主机后,客户机1181-M的负载平衡状态可以存储在目的主机上。在目的主机不具有属于同一群集的客户机的转移的情形中,可以在目的主机中产生新的管理过滤器模块,并且对应的调度过滤器模块被分配给被转移的客户机。另外,客户机1181-M的负载平衡状态可以存储在目的主机上。被转移的客户机的信息可以从源管理过滤器模块清除,并且核心模块1101-N可以基于负载平衡算法,使用适当的协议(例如,检查状态、发送核心消息、和协商一致性)协调负载平衡过程。同样,主机可以被配置为支持转移。
此外,在一个或多个实施例中,过滤器模块1301-N可以将硬件配置为以单播模式或多播模式传送分组。在单播模式中,群集的VMAC是单播MAC地址。由于客户机1181-M可以具有它们自己的MAC地址,物理交换机104不能根据出站分组知道VMAC。因此,如前面所述,物理交换机104将到达的请求102(其目的地MAC地址是VMAC)传送到主机1201-N。在一个或多个实施例中,在单播模式中,如果属于同一群集的客户机在不同主机上,并且所述主机由物理交换机104连接,则可以给每个管理过滤器模块分配唯一MAC地址,用作ARP响应的源MAC地址,以与群集中的其它管理过滤器模块的MAC地址进行区别,从而避免第2层交换机中的冲突。
在多播模式中,由管理过滤器模块1121-N共享的MAC(例如,群集的VMAC)是多播MAC地址。因此,物理交换机104可以被配置为将客户端请求转发到主机1201-N。此外,过滤模块1301-N可以将VMAC分配给与管理过滤器模块1121-N关联的内部端口。在一个或多个实施例中,VMAC可以由整个DLB群集共享。
图2是示出根据一个或多个实施例,执行负载分发的过程的系统图。来自客户端设备的分组可以通过物理交换机104传送到主机1201-N。在一个或多个实施例中,所述分组可以被传送(例如,广播或多播)到群集中的主机1201-N。在一个或多个实施例中,分组(例如进入的客户端请求)可以由目的地为客户机1181-M的群集中的主机1201-N(例如,使用分配给该群集的VIP)接收。
然而,主机1201-N的特定主机可以处理(例如,接受和传送到客户机1181-M)由负载平衡算法选择的包。特定选择的虚拟交换机1081-N的过滤器模块1301-N可以拦截被传送到内部端口的分组(例如,传送到VIP的分组和ARP分组)。此外,过滤器模块1301-N可以利用虚拟MAC地址来对针对虚拟IP地址的ARP请求202进行响应(例如,VIP被解析到VMAC,VMAC在ARP响应中将虚拟MAC地址表现为MAC地址回答)。同一群集的客户机1181-M可以共享外部虚拟IP202,以为客户端提供服务。此外,过滤器模块1301-N可以将分组的目的地MAC地址从虚拟MAC地址修改为虚拟网络接口1161-MMAC地址(例如,虚拟媒体访问控制地址2101和虚拟媒体访问控制地址2102)。
在一个或多个实施例中,(例如,调度过滤器模块的)虚拟媒体访问模块2041-M可以执行将分组的目的地MAC地址从虚拟MAC地址修改为虚拟网络接口1161-MMAC地址。在一个实施例中,对于每个客户机1181-M,可能存在虚拟媒体访问模块2041-M。此外,虚拟网络接口1161-M将具有虚拟网络接口1161-MMAC地址的分组传送到指定的客户机1181-M。此外,所指定的客户机1181-M可以处理请求分组并产生响应分组。此外,所指定的客户机1181-M可以将响应分组传送到虚拟网络接口1161-M。此外,虚拟网络接口1161-M可以将响应传送到过滤器模块1301-N。然后,可以使用客户端MAC地址,经由虚拟交换机108和物理网络接口106,通过物理交换机104,将响应分组传送到客户端设备。
图3是示出根据示例性实施例,通过使用主机的过滤器模块进行负载平衡的系统图。特别地,图3示出用于基于负载平衡算法执行由分发模块304控制的负载平衡过程的过滤器模块130。图3示出了被引导到过滤器模块130的到达的请求3021-N(例如,采用分组的形式)。客户机1181-3(例如,虚拟机)可通信地耦合到(例如,主机的)的过滤器模块1301-N,以用于处理请求。算法模块306的负载平衡算法可以管理分发模块304,以平衡工作量或将形式为分组3011-N的到达的请求分发到客户机1181-M,从而可以均衡地分发工作量。
在一个示例性实施例中,附图示出客户机1181正在处理请求3021,同时两个请求3022-3在排队等待。类似地,附图示出客户机1182正在处理请求3024,同时两个其它请求3025-6在排队等待。然而,客户机1183正在处理请求3027,同时仅有一个请求3028在排队等待。探测到新的到达的请求3029的负载平衡算法,可以确定将所述到达的请求传送到客户机1183以平衡负载。负载平衡算法可以(例如,通过分发模块304)与过滤器模块130通信,以将请求传送到客户机1183。在一个或多个实施例中,分发模块304可以控制负载平衡算法,以用于基于负载平衡算法将请求或负载传送到特定客户机。算法模块306可以包括负载平衡算法,和用于在主机级上实现负载分发的其它算法(例如,管理核心模块的算法等)。
本文描述的实施例可以结合到虚拟基础结构的管理模式中,来提供统一的管理接口(例如,vCenterTM)。此外,该架构可以与各种其它适当的管理概念结合。此外,在本文描述的架构中,群集成员客户机(或虚拟机)可以在单播模式中使用不同的MAC地址,从而实现配置和部署客户机。
另外,本文描述的架构可以支持与虚拟技术的结合。主机级(系统管理程序级)DLB可以与其它虚拟技术和解决方案协调和结合,比如应用软件健康检查、转移(例如,)、高可用性(HA)和分布式资源调度程序(DRS)。
另外,与其它架构相比,本文描述的架构可以实现分组流动,从而仅仅一个客户机(例如,虚拟机)可以接收和处理特定分组。换句话说,群集中的一个虚拟机可以接收供处理的分组。此外,通过特定虚拟机传送和处理分组的决定可以由主机确定。
虽然已经参考特定实施例描述了本发明,但是很明显的是,可以对这些实施例进行各种修改和改变,而不脱离各个实施例的广泛精神和范围。因此,说明书和附图被认为是说明性而不是限制性。
Claims (19)
1.一种在系统管理程序级进行分布式负载平衡的方法,包括:
在耦合至多个虚拟机的主机处接收分组,所述多个虚拟机由所述主机的系统管理程序来管理;
由所述主机中的过滤器模块执行步骤:
将所述分组分配给所述多个虚拟机中的一虚拟机,从而使得将所述分组分发到所述虚拟机是基于算法的,其中所述算法基于针对所述多个虚拟机中的虚拟机所确定的负载来选择所述虚拟机;
将所述分组的第一目的地地址改变为第二目的地地址,其中所述第二目的地地址是基于所述虚拟机的虚拟网络接口的;以及
基于所述分组的所述第二目的地地址将所述分组引导到所述虚拟机;
所述方法还包括:
实现所述主机的核心模块;
与所述主机的核心模块和另一个主机的另一个核心模块通信,以监测群集中的所述主机和所述另一个主机的会员状态的变化,其中所述群集中的所述主机和所述另一个主机的会员状态的变化基于虚拟机加入所述主机、虚拟机离开所述主机、和所述主机发生故障中的至少一种;
监测在所述群集中的主机上的每个所述虚拟机的第一健康状态,和将电子消息发送到所述群集中的其它主机的其它核心模块,以对在所述群集的所述主机中分发所述分组进行调整;以及
通过在所述群集中的所述主机的核心模块和所述另一个主机的另一个核心模块之间定期传送电子消息,监测在所述群集中的每个所述主机的健康状态,其中所述主机和所述另一个主机的健康状态基于所述主机和所述另一个主机传送和响应所述电子消息的能力而确定。
2.如权利要求1所述的方法,其中基于所述分组的所述第二目的地地址将所述分组引导到所述虚拟机还包括:
对被引导到虚拟因特网协议地址的所述分组进行重新引导;
调整所述分组的分发;以及
利用虚拟媒体访问控制地址,对所述虚拟因特网协议地址的地址解析协议请求进行响应。
3.如权利要求2所述的方法,还包括:
当第二过滤器模块接受所述分组时,所述过滤器模块拒绝所述分组;以及
通过所述拒绝,防止所述过滤器模块和所述第二过滤器模块两者接受所述分组,
其中另一主机包括所述第二过滤器模块。
4.如权利要求3所述的方法,其中,所述算法是分布式负载平衡程序,用于基于源因特网协议地址、第4层信息、和第7层信息中的一种确定所述分组的分发。
5.如权利要求4所述的方法,还包括:
拒绝虚拟交换机向由所述过滤器模块生成的调度过滤器模块的地址解析协议请求;以及
通过所述拒绝,确保地址解析协议响应从管理过滤器发出,
其中所述主机包括所述虚拟交换机和所述过滤器模块。
6.如权利要求1所述的方法,还包括:
当物理交换机接收到第一主机的第一地址解析协议响应和第二主机的第二地址解析协议响应时,减少所述物理交换机的冲突,以使用所述第一主机的第一媒体访问控制地址和所述第二主机的第二媒体访问控制地址,
其中所述物理交换机耦合至所述第一主机和所述第二主机。
7.如权利要求6所述的方法,还包括:
基于所述第二主机的第二状态调整所述分组的分发;
通过所述调整减少将所述分组分发到所述第二主机,其中所述第二状态是故障和忙碌中的至少一种;以及
增加将所述分组分发到所述第一主机,其中所述第一主机的第一状态是活动的。
8.如权利要求7所述的方法,还包括:
转移所述虚拟机和所述虚拟机的负载平衡状态,以将所述虚拟机从所述第一主机移动到所述第二主机。
9.如权利要求8所述的方法,还包括:
在系统管理程序级上确定所述分组的分发;以及
减少第一虚拟机和第二虚拟机之间的协商,
其中系统管理程序允许所述第一虚拟机的第一操作系统和所述第二虚拟机的第二操作系统同时运行在所述第一主机上。
10.如权利要求9所述的方法,还包括:
使得所述虚拟机确信所述分组是供所述虚拟机使用的,以向所述虚拟机提供具有所述第二目地的地址的所述分组,其中具有所述第二目的地地址的所述分组被认为是所述虚拟网络接口的所述分组,并且所述虚拟网络接口的所述分组被认为是供所述虚拟机使用的所述分组。
11.一种在系统管理程序级进行分布式负载平衡的方法,包括:
在与虚拟机的集合相关联的主机处接收分组,所述虚拟机的集合由所述主机的系统管理程序来管理;
使用负载平衡算法来确定是否应当由所述主机来处理所述分组以将所述分组分发至所述虚拟机的集合中的一个虚拟机,其中所述分组已经被分发至多个主机;
如果确定应当由所述主机处理所述分组,执行:
确定向所述多个虚拟机中的哪个虚拟机发送所述分组;
将所述分组的第一目的地地址修改为第二目的地地址,其中所述第二目的地地址是基于所述虚拟机的虚拟网络接口的;
将所述分组引导到所述虚拟机;
所述方法还包括:
实现所述主机的核心模块;
与所述主机的核心模块和另一个主机的另一个核心模块通信,以监测群集中的所述主机和所述另一个主机的会员状态的变化,其中所述群集中的所述主机和所述另一个主机的会员状态的变化基于虚拟机加入所述主机、虚拟机离开所述主机、和所述主机发生故障中的至少一种;
监测在所述群集中的主机上的每个所述虚拟机的第一健康状态,和将电子消息发送到所述群集中的其它主机的其它核心模块,以对在所述群集的所述主机中分发所述分组进行调整;以及
通过在所述群集中的所述主机的核心模块和所述另一个主机的另一个核心模块之间定期传送电子消息,监测在所述群集中的每个所述主机的健康状态,其中所述主机和所述另一个主机的健康状态基于所述主机和所述另一个主机传送和响应所述电子消息的能力而确定。
12.如权利要求11所述的方法,还包括:
在系统管理程序级上确定所述分组的分派;以及
减少第一虚拟机和第二虚拟机之间的协商,
其中系统管理程序允许所述第一虚拟机的第一操作系统和所述第二虚拟机的第二操作系统同时运行在第一主机上。
13.如权利要求12所述的方法,还包括:
当物理交换机接收到所述第一主机的第一地址解析协议响应和第二主机的第二地址解析协议响应时,减少所述物理交换机的冲突,以使用所述第一主机的第一媒体访问控制地址和所述第二主机的第二媒体访问控制地址,
其中所述物理交换机耦合至所述第一主机和所述第二主机。
14.如权利要求13所述的方法,还包括:
基于源因特网协议地址、第4层信息、和第7层信息中的一种,平衡所述虚拟机的负载;以及
通过所述平衡,调整去往所述虚拟机的所述分组的分派。
15.一种进行分布式负载平衡的装置,包括:
管理过滤器模块,用于基于减少虚拟机负载的算法确定分组的分发,所述分组在所述装置处被接收;
调度过滤器模块,用于将所述分组的第一目的地地址修改为第二目的地地址以指示所述虚拟机所述分组是用于所述虚拟机,其中所述第二目的地地址是基于虚拟机的虚拟网络接口的;以及
核心模块,用于基于第二主机的第二状态调整所述分组的分发,以减少将所述分组分发到所述第二主机,其中所述第二状态是故障和忙碌中的至少一种,以及增加将所述分组分发到第一主机,其中所述第一主机的第一状态是活动的。
16.如权利要求15所述的装置,其中,所述调度过滤器模块用于:
拒绝虚拟交换机的地址解析协议请求;以及
通过所述拒绝,确保地址解析协议响应从所述管理过滤器发出。
17.如权利要求16所述的装置,其中,所述管理过滤器模块用于:
对被引导到虚拟因特网协议地址的所述分组进行重新引导;
调整所述分组的分发;以及
利用虚拟媒体访问控制地址,对所述虚拟因特网协议地址的地址解析协议请求进行响应。
18.如权利要求17所述的装置,其中,所述算法是基于源因特网协议地址、第4层信息、和第7层信息中的一种而确定所述分组的分发的负载平衡程序。
19.如权利要求18所述的装置,其中,所述管理过滤器模块用于:
在系统管理程序级上确定所述分组的分派;以及
减少第一虚拟机和第二虚拟机之间的协商,
其中所述系统管理程序允许所述第一虚拟机的第一操作系统和所述第二虚拟机的第二操作系统同时运行在第一主机上。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010108968.8A CN102158386B (zh) | 2010-02-11 | 2010-02-11 | 系统管理程序级的分布式负载平衡 |
US12/792,861 US9037719B2 (en) | 2010-02-11 | 2010-06-03 | Hypervisor level distributed load-balancing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010108968.8A CN102158386B (zh) | 2010-02-11 | 2010-02-11 | 系统管理程序级的分布式负载平衡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102158386A CN102158386A (zh) | 2011-08-17 |
CN102158386B true CN102158386B (zh) | 2015-06-03 |
Family
ID=44353684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010108968.8A Active CN102158386B (zh) | 2010-02-11 | 2010-02-11 | 系统管理程序级的分布式负载平衡 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9037719B2 (zh) |
CN (1) | CN102158386B (zh) |
Families Citing this family (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8665886B2 (en) | 2009-03-26 | 2014-03-04 | Brocade Communications Systems, Inc. | Redundant host connection in a routed network |
US8369335B2 (en) | 2010-03-24 | 2013-02-05 | Brocade Communications Systems, Inc. | Method and system for extending routing domain to non-routing end stations |
US9231890B2 (en) | 2010-06-08 | 2016-01-05 | Brocade Communications Systems, Inc. | Traffic management for virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US9461840B2 (en) | 2010-06-02 | 2016-10-04 | Brocade Communications Systems, Inc. | Port profile management for virtual cluster switching |
US8989186B2 (en) | 2010-06-08 | 2015-03-24 | Brocade Communication Systems, Inc. | Virtual port grouping for virtual cluster switching |
US8625616B2 (en) | 2010-05-11 | 2014-01-07 | Brocade Communications Systems, Inc. | Converged network extension |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US9001824B2 (en) | 2010-05-18 | 2015-04-07 | Brocade Communication Systems, Inc. | Fabric formation for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US8885488B2 (en) | 2010-06-02 | 2014-11-11 | Brocade Communication Systems, Inc. | Reachability detection in trill networks |
US8634308B2 (en) | 2010-06-02 | 2014-01-21 | Brocade Communications Systems, Inc. | Path detection in trill networks |
US9608833B2 (en) | 2010-06-08 | 2017-03-28 | Brocade Communications Systems, Inc. | Supporting multiple multicast trees in trill networks |
US9628293B2 (en) | 2010-06-08 | 2017-04-18 | Brocade Communications Systems, Inc. | Network layer multicasting in trill networks |
US8446914B2 (en) | 2010-06-08 | 2013-05-21 | Brocade Communications Systems, Inc. | Method and system for link aggregation across multiple switches |
US9806906B2 (en) | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US9246703B2 (en) | 2010-06-08 | 2016-01-26 | Brocade Communications Systems, Inc. | Remote port mirroring |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
US9270572B2 (en) | 2011-05-02 | 2016-02-23 | Brocade Communications Systems Inc. | Layer-3 support in TRILL networks |
US8948056B2 (en) | 2011-06-28 | 2015-02-03 | Brocade Communication Systems, Inc. | Spanning-tree based loop detection for an ethernet fabric switch |
US8879549B2 (en) | 2011-06-28 | 2014-11-04 | Brocade Communications Systems, Inc. | Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch |
US9407533B2 (en) | 2011-06-28 | 2016-08-02 | Brocade Communications Systems, Inc. | Multicast in a trill network |
US9401861B2 (en) | 2011-06-28 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable MAC address distribution in an Ethernet fabric switch |
US9007958B2 (en) | 2011-06-29 | 2015-04-14 | Brocade Communication Systems, Inc. | External loop detection for an ethernet fabric switch |
US8885641B2 (en) | 2011-06-30 | 2014-11-11 | Brocade Communication Systems, Inc. | Efficient trill forwarding |
US9736085B2 (en) | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
US9699117B2 (en) | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
CN102724277B (zh) | 2012-05-04 | 2016-01-06 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群系统 |
US9152448B2 (en) * | 2012-05-11 | 2015-10-06 | Vmware, Inc. | Performance of load balancing modules with migration awareness |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
US10454760B2 (en) | 2012-05-23 | 2019-10-22 | Avago Technologies International Sales Pte. Limited | Layer-3 overlay gateways |
US9026625B2 (en) * | 2012-08-06 | 2015-05-05 | American Megatrends, Inc. | System and method of MAC address assignment using dynamic MAC address protocol |
US8792502B2 (en) * | 2012-08-07 | 2014-07-29 | Cisco Technology, Inc. | Duplicate MAC address detection |
US9602430B2 (en) | 2012-08-21 | 2017-03-21 | Brocade Communications Systems, Inc. | Global VLANs for fabric switches |
US9135051B2 (en) * | 2012-11-02 | 2015-09-15 | Red Hat Israel, Ltd. | Redirecting guest-generated events to an event aggregator in a networked virtualization environment |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9350680B2 (en) | 2013-01-11 | 2016-05-24 | Brocade Communications Systems, Inc. | Protection switching over a virtual link aggregation |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US9565113B2 (en) | 2013-01-15 | 2017-02-07 | Brocade Communications Systems, Inc. | Adaptive link aggregation and virtual link aggregation |
US9185088B1 (en) * | 2013-02-19 | 2015-11-10 | Amazon Technologies, Inc. | Secure and efficient communication through an intermediary |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
WO2014145750A1 (en) | 2013-03-15 | 2014-09-18 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
US9565028B2 (en) | 2013-06-10 | 2017-02-07 | Brocade Communications Systems, Inc. | Ingress switch multicast distribution in a fabric switch |
US9699001B2 (en) | 2013-06-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Scalable and segregated network virtualization |
US9686178B2 (en) * | 2013-07-22 | 2017-06-20 | Vmware, Inc. | Configuring link aggregation groups to perform load balancing in a virtual environment |
US9509615B2 (en) | 2013-07-22 | 2016-11-29 | Vmware, Inc. | Managing link aggregation traffic in a virtual environment |
US9806949B2 (en) | 2013-09-06 | 2017-10-31 | Brocade Communications Systems, Inc. | Transparent interconnection of Ethernet fabric switches |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US9921865B2 (en) * | 2014-01-30 | 2018-03-20 | Red Hat Israel, Ltd. | Population of system tables by hypervisor |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10120729B2 (en) * | 2014-02-14 | 2018-11-06 | Vmware, Inc. | Virtual machine load balancing |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9544219B2 (en) | 2014-07-31 | 2017-01-10 | Brocade Communications Systems, Inc. | Global VLAN services |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US10516568B2 (en) | 2014-09-30 | 2019-12-24 | Nicira, Inc. | Controller driven reconfiguration of a multi-layered application or service model |
US10257095B2 (en) | 2014-09-30 | 2019-04-09 | Nicira, Inc. | Dynamically adjusting load balancing |
US9531590B2 (en) | 2014-09-30 | 2016-12-27 | Nicira, Inc. | Load balancing across a group of load balancers |
US9524173B2 (en) | 2014-10-09 | 2016-12-20 | Brocade Communications Systems, Inc. | Fast reboot for a switch |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
US9934058B2 (en) | 2014-10-29 | 2018-04-03 | Red Hat Israel, Ltd. | Guest-influenced packet transmission |
US20160179582A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Techniques to dynamically allocate resources for local service chains of configurable computing resources |
US9628407B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US9626255B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Online restoration of a switch snapshot |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US9621461B2 (en) | 2015-01-27 | 2017-04-11 | Vmware, Inc. | Media access control (MAC) address table protection in a virtualized computing environment |
US9792138B2 (en) * | 2015-02-18 | 2017-10-17 | Red Hat Israel, Ltd. | Virtual machine migration to hyper visors with virtual function capability |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10594743B2 (en) | 2015-04-03 | 2020-03-17 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US9679006B2 (en) | 2015-05-14 | 2017-06-13 | Walleye Software, LLC | Dynamic join processing using real time merged notification listener |
US9971624B2 (en) | 2015-05-17 | 2018-05-15 | Nicira, Inc. | Logical processing for containers |
US10613886B2 (en) * | 2015-06-30 | 2020-04-07 | Vmware, Inc. | Protecting virtual computing instances |
US9992153B2 (en) | 2015-07-15 | 2018-06-05 | Nicira, Inc. | Managing link aggregation traffic in edge nodes |
US10243914B2 (en) | 2015-07-15 | 2019-03-26 | Nicira, Inc. | Managing link aggregation traffic in edge nodes |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US11025514B2 (en) | 2015-10-30 | 2021-06-01 | Nicira, Inc. | Automatic health check and performance monitoring for applications and protocols using deep packet inspection in a datacenter |
US10078526B2 (en) | 2015-11-01 | 2018-09-18 | Nicira, Inc. | Securing a managed forwarding element that operates within a data compute node |
US10880381B2 (en) | 2015-11-04 | 2020-12-29 | Micro Focus Llc | Direct connection limitation based on a period of time |
US10210325B2 (en) * | 2015-11-23 | 2019-02-19 | Armor Defense Inc. | Extracting and detecting malicious instructions on a virtual machine |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
US10063469B2 (en) | 2015-12-16 | 2018-08-28 | Nicira, Inc. | Forwarding element implementation for containers |
EP3341838A4 (en) | 2016-05-31 | 2019-05-08 | Avago Technologies International Sales Pte. Limited | HIGH AVAILABILITY FOR VIRTUAL MACHINES |
US10447591B2 (en) * | 2016-08-30 | 2019-10-15 | Oracle International Corporation | Executing multiple virtual private network (VPN) endpoints associated with an endpoint pool address |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
US10250496B2 (en) | 2017-01-30 | 2019-04-02 | International Business Machines Corporation | Router based maximum transmission unit and data frame optimization for virtualized environments |
US10191762B2 (en) * | 2017-01-31 | 2019-01-29 | Vmware, Inc. | Transparent deployment of intermediary manager into guest operating system network traffic |
US10866943B1 (en) | 2017-08-24 | 2020-12-15 | Deephaven Data Labs Llc | Keyed row selection |
US10831554B2 (en) * | 2017-09-20 | 2020-11-10 | Vmware, Inc. | Cohesive clustering in virtualized computing environment |
US10397186B2 (en) | 2017-10-06 | 2019-08-27 | Stealthpath, Inc. | Methods for internet communication security |
US10367811B2 (en) | 2017-10-06 | 2019-07-30 | Stealthpath, Inc. | Methods for internet communication security |
US10374803B2 (en) | 2017-10-06 | 2019-08-06 | Stealthpath, Inc. | Methods for internet communication security |
US10630642B2 (en) | 2017-10-06 | 2020-04-21 | Stealthpath, Inc. | Methods for internet communication security |
US10375019B2 (en) | 2017-10-06 | 2019-08-06 | Stealthpath, Inc. | Methods for internet communication security |
US10361859B2 (en) | 2017-10-06 | 2019-07-23 | Stealthpath, Inc. | Methods for internet communication security |
US10805181B2 (en) | 2017-10-29 | 2020-10-13 | Nicira, Inc. | Service operation chaining |
US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
CN108173767B (zh) * | 2017-12-25 | 2021-02-26 | 杭州迪普科技股份有限公司 | 一种基于vlan-if接口复用的报文转发方法及装置 |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | 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 |
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 |
US11201853B2 (en) | 2019-01-10 | 2021-12-14 | Vmware, Inc. | DNS cache protection |
CN109981731B (zh) * | 2019-02-15 | 2021-06-15 | 联想(北京)有限公司 | 一种数据处理方法和设备 |
US11467861B2 (en) | 2019-02-22 | 2022-10-11 | Vmware, Inc. | Configuring distributed forwarding for performing service chain operations |
US10855644B1 (en) * | 2019-09-09 | 2020-12-01 | Vmware, Inc. | Address resolution protocol entry verification |
US11558423B2 (en) | 2019-09-27 | 2023-01-17 | Stealthpath, Inc. | Methods for zero trust security with high quality of service |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
US11153406B2 (en) | 2020-01-20 | 2021-10-19 | Vmware, Inc. | Method of network performance visualization of service function chains |
US11659061B2 (en) | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
US11575646B2 (en) * | 2020-03-12 | 2023-02-07 | Vmware, Inc. | Domain name service (DNS) server cache table validation |
US11743172B2 (en) | 2020-04-06 | 2023-08-29 | Vmware, Inc. | Using multiple transport mechanisms to provide services at the edge of a network |
US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1426211A (zh) * | 2001-12-06 | 2003-06-25 | 富士通株式会社 | 服务器负载分担系统 |
CN101562799A (zh) * | 2007-01-31 | 2009-10-21 | 阿瓦亚公司 | 业务负载平衡 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353276B2 (en) * | 2003-02-13 | 2008-04-01 | Microsoft Corporation | Bi-directional affinity |
US7757231B2 (en) * | 2004-12-10 | 2010-07-13 | Intel Corporation | System and method to deprivilege components of a virtual machine monitor |
US8554981B2 (en) * | 2007-02-02 | 2013-10-08 | Vmware, Inc. | High availability virtual machine cluster |
US20080259797A1 (en) * | 2007-04-18 | 2008-10-23 | Aladdin Knowledge Systems Ltd. | Load-Balancing Bridge Cluster For Network Nodes |
AU2008317006A1 (en) * | 2007-10-21 | 2009-04-30 | Citrix Systems, Inc. | Systems and methods to adaptively load balance user sessions to reduce energy consumption |
GB2458154B (en) * | 2008-03-07 | 2012-06-27 | Hewlett Packard Development Co | Routing across a virtual network |
GB2458157B (en) * | 2008-03-07 | 2012-04-25 | Hewlett Packard Development Co | Virtual machine liveness check |
US8613085B2 (en) * | 2009-07-22 | 2013-12-17 | Broadcom Corporation | Method and system for traffic management via virtual machine migration |
-
2010
- 2010-02-11 CN CN201010108968.8A patent/CN102158386B/zh active Active
- 2010-06-03 US US12/792,861 patent/US9037719B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1426211A (zh) * | 2001-12-06 | 2003-06-25 | 富士通株式会社 | 服务器负载分担系统 |
CN101562799A (zh) * | 2007-01-31 | 2009-10-21 | 阿瓦亚公司 | 业务负载平衡 |
Also Published As
Publication number | Publication date |
---|---|
US9037719B2 (en) | 2015-05-19 |
CN102158386A (zh) | 2011-08-17 |
US20110194563A1 (en) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102158386B (zh) | 系统管理程序级的分布式负载平衡 | |
CN103166870B (zh) | 负载均衡集群系统及采用其提供服务的方法 | |
EP2559206B1 (en) | Method of identifying destination in a virtual environment | |
CN104954182B (zh) | 一种用于配置虚拟服务器集群的方法和装置 | |
EP3119047B1 (en) | Load balancing method, apparatus and system | |
US8855116B2 (en) | Virtual local area network state processing in a layer 2 ethernet switch | |
CN102857494B (zh) | 通用网络接口控制器 | |
CN107231221B (zh) | 数据中心间的业务流量控制方法、装置及系统 | |
EP2993838B1 (en) | Methods for setting a member identity of gateway device and corresponding management gateway devices | |
US8549120B2 (en) | System and method for location based address assignment in the distribution of traffic in a virtual gateway | |
JP5381998B2 (ja) | クラスタ制御システム、クラスタ制御方法、及びプログラム | |
US20140016470A1 (en) | Method for traffic load balancing | |
US20120246637A1 (en) | Distributed load balancer in a virtual machine environment | |
CN110313163A (zh) | 分布式计算系统中的负载平衡 | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
CN101030946A (zh) | 一种实现数据业务的方法及系统 | |
US10382391B2 (en) | Systems and methods for managing network address information | |
CN110830574B (zh) | 一种基于docker容器实现内网负载均衡的方法 | |
CN102333027A (zh) | 基于vrrpe备份组的流量负载分担实现方法及其装置 | |
US20140025800A1 (en) | Systems and methods for multi-blade load balancing | |
CN112187864B (zh) | 负载均衡方法、装置、存储介质及电子设备 | |
US20220166715A1 (en) | Communication system and communication method | |
US9729454B2 (en) | Methods, systems, and computer readable media for balancing diameter message traffic received over long-lived diameter connections | |
CN105721328A (zh) | 一种vrrp负载均衡的方法、装置和路由器 | |
EP2924925A1 (en) | Communication system, virtual-network management device, communication node, and communication method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: California, USA Patentee after: Weirui LLC Country or region after: U.S.A. Address before: California, USA Patentee before: VMWARE, Inc. Country or region before: U.S.A. |
|
CP03 | Change of name, title or address |