CN104756466A - 负载平衡器绕过 - Google Patents

负载平衡器绕过 Download PDF

Info

Publication number
CN104756466A
CN104756466A CN201380054147.2A CN201380054147A CN104756466A CN 104756466 A CN104756466 A CN 104756466A CN 201380054147 A CN201380054147 A CN 201380054147A CN 104756466 A CN104756466 A CN 104756466A
Authority
CN
China
Prior art keywords
source
destination
message
machine
intermediary
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
CN201380054147.2A
Other languages
English (en)
Other versions
CN104756466B (zh
Inventor
H·库马
P·K·帕特尔
D·班塞尔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN104756466A publication Critical patent/CN104756466A/zh
Application granted granted Critical
Publication of CN104756466B publication Critical patent/CN104756466B/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
    • 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
    • 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/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

绕过最初出现在来自由源中介服务的源机器和由目标中介服务的目标机器的多消息流中的负载平衡器。该流的一个或多个原始网络消息(以及可能只是第一网络消息)从源中介到达负载平衡器,负载平衡器选择哪一机器作为目的地机器,并且它进而选择由目的地中介服务的该目的地机器。响应于接收到这一消息,目的地中介指令源中介将该流中的后续消息以绕过负载平衡器的方式进行传送。为了促进这一点,源中介可以修改来自源机器的后续流消息的寻址,使得它们在无需对负载平衡器进行寻址的情况下被重新路由到目的地机器。

Description

负载平衡器绕过
背景
负载平衡器允许多个机器与单个虚拟网络地址相关联。被寻址到该虚拟网络地址的网络消息由负载平衡器接收,它决定多个机器中的哪些要处理该网络消息。负载平衡器随后将该网络消息转发给目的地中介。目的地中介随后将该网络消息递送给指定机器。
简要概述
本文描述的至少一个实施例涉及从由源中介服务的源机器和由目的地中介服务的目的地机器绕过最初出现在多消息流中的负载平衡器。该流的一个或多个原始网络消息(以及可能只是第一个消息)从源中介到达负载平衡器处。负载平衡器选择要将该消息发送到哪一机器,并且它进而选择该目的地机器。负载平衡器随后将该网络消息分派给服务该目的地机器的目的地中介。响应于接收到这一消息,目的地中介指令源中介将该流中的后续消息以绕过负载平衡器的方式传送给该目的地机器。为了促进这一点,源中介可以修改来自源机器的后续流消息的寻址,使得它们在无需对负载平衡器进行寻址的情况下被重新路由到目的地机器。
本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
图1抽象地示出可在其中采用本文描述的一些实施例的计算系统;
图2抽象地示出主存多个虚拟机并通过管理程序提供对物理资源的访问的主机计算系统;
图3抽象地示出其中三个主机在通信并且其中负载平衡器跨可与不同主机上的虚拟机相对应的虚拟网络地址进行负载平衡的分布式环境;
图4示出分开指令实施例中的、源机器与目的地机器在多消息流中传递第一交换的方法的流程图;
图5A示出集成响应实施例中的、源机器与目的地机器在多消息流中传递第一交换的方法的流程图的第一半;
图5B示出图5A的流程图的第二半;
图6A到6G示出处理的各阶段中网络消息的各示例数据结构;以及
图7示出用于从源机器到目的地机器递送与同一流相关联的后续网络消息的方法的流程图。
详细描述
根据本文描述的各实施例,描述了对负载平衡器的绕过。负载平衡器最初出现在来自由源中介服务的源机器和由目的地中介服务的目的地机器的多消息流中。
该流的一个或多个原始网络消息(以及可能只是第一个消息)从源中介到达负载平衡器处。负载平衡器选择哪个机器要处理该消息,并且它进而选择该目的地机器。负载平衡器随后将该网络消息分派给服务该目的地机器的目的地中介。响应于接收到这一消息,目的地中介指令源中介将该流中的后续消息以绕过负载平衡器的方式进行传送。为了促进这一点,源中介可以修改来自源机器的后续流消息的寻址,使得它们在无需对负载平衡器进行寻址的情况下被重新路由到目的地机器。
尽管本文描述的网络消息可以是因特网协议(IP)层网络消息,但网络消息可发生在协议栈中的比这一层更高的层处,且甚至可以是应用层网络消息。源机器可以在云计算环境、公共因特网、或任何其他环境中操作。同样,目的地机器也可以在云计算环境、公共因特网、或任何其他环境中操作。此外,可存在源和目的地虚拟机的任何排列,包括1)源和目的地机器两者都是虚拟机,2)源和目的地机器两者都是物理机,3)源机器是虚拟机而目的地机器是物理机,以及4)源机器是物理机而目的地机器是虚拟机。
将参考图1来描述计算系统的一些介绍性讨论。随后,将参考图2描述虚拟机的操作原理。接着,将参考图3以及后续附图来描述绕过负载平衡器的原理。
计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理有形的处理器以及其上能含有可由处理器执行的计算机可执行指令的物理有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
如图1所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如此处所使用的那样,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可被实现在形成计算机程序产品的一个或多个计算机可读介质上。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可被存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。
这里描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。这里描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
已经参考图1描述了物理计算系统(或物理机),现在将描述虚拟计算系统(或虚拟机)的概念。一种类型的物理计算系统被称为主机计算系统(或简称为“主机”)。每个主机能够运行一个或更多个且潜在地许多个虚拟机。例如,图2更详细地抽象地解说了主机200。在图2的示例中,主机200被解说为运行包括虚拟机210A、210B和210C在内的三个虚拟机210。然而,省略号210D再次表示本文描述的原理不受到运行在主机200上的虚拟机的数目的限制。可以由少至零个虚拟机运行在主机上,而且唯一的上限是受到主机200的物理能力的限定。
在操作期间,虚拟机模拟完全可操作的计算系统,包括至少一个操作系统并且也许还包括一个或多个其他应用。每个虚拟机被分派一个特定的客户端,并且负责支持该客户端的桌面环境。
虚拟机生成桌面镜像或其他表示桌面的当前状态的呈现指令,并接着将该镜像或指令传送到客户端以供桌面的呈现。在用户与客户端处的桌面进行交互时,用户输入从客户端被传送到虚拟机。虚拟机处理用户输入,并且如果合适,则改变桌面状态。如果桌面状态中这样的改变将导致在所呈现的桌面中的改变,则虚拟机更镜像或呈现指令(如果合适的话),并将经更改的图像或呈现的指令传送到客户端计算系统以供合适的呈现。从用户的角度而言,就好像客户端计算系统本身在执行桌面处理。
主机200包括管理程序220,其使用从虚拟机210的视角抽象出的物理资源221来模拟虚拟机210的虚拟资源。管理程序221还提供虚拟机210之间的适当的隔离。因此,从任何给定的虚拟机的角度来看,管理程序220提供该虚拟机正与物理资源对接的错觉,即便该虚拟机仅仅与物理资源的表象(例如,虚拟资源)对接,而不是直接与物理资源对接。在图2中,物理资源221被抽象地表示为包括资源221A到221F。物理资源221的示例包括处理容量、存储器、盘空间、网络带宽、媒体驱动器等等。
图3示出包括三个中介的分布式系统300。在图3的情况下,通信机器是虚拟机,并且因此,这三个中介被示为主机计算系统310、320以及330(此后简称为“主机”)内的管理程序。每一主机310、320以及330可如以上针对图2的主机200所描述的那样被构造和操作。每一主机具有管理程序,如同主机200具有管理程序220一样。例如,主机310、320以及330具有相应的管理程序311、321以及331。
或者,如果虚拟机312改为是物理机,则管理程序311可由适用于物理机的另一中介替代,如虚拟机开关(vmswitch)。同样,如果虚拟机322改为是物理机,则管理程序321可由虚拟机开关来替代。此外,如果虚拟机332改为是物理机,则管理程序331也可由虚拟机开关来替代。因此,贯穿本说明书的其余部分,在引用术语“源虚拟机”和“源主机”时,这些术语可由相应术语“源物理机”和“源虚拟机开关”来替代。同样,在引用术语“目的地虚拟机”和“目的地主机”时,这些术语可由相应术语“目的地物理机”和“目的地虚拟机开关”来替代。然而,图4到7的示例将使用对虚拟机的具体示例中的交换的讨论来进行。
每一主机具有在其上运行的虚拟机,如同主机200具有在其上运行的虚拟机210一样。例如,主机310具有在其上运行的虚拟机312,包括虚拟机312A、312B以及312C,但省略号312D表示在主机310上运行的虚拟机的数量的灵活性。主机320具有在其上运行的虚拟机322,包括虚拟机322A、322B以及322C,但省略号322D表示在主机320上运行的虚拟机的数量的灵活性。主机330具有在其上运行的虚拟机332,包括虚拟机332A、332B以及332C,但省略号332D表示在主机330上运行的虚拟机的数量的灵活性。每一虚拟机能由可路由的设备标识符来寻址。例如,虚拟机312A、312B、312C、322A、322B、322C、332A、332B以及332C能由相应的可路由设备标识符313A、313B、313C、323A、323B、323C、333A、333B以及332C来寻址。
分布式系统300还包括获得针对虚拟网络地址341的话务的负载平衡器340。负载平衡器340被配置成使得负载平衡器342接收到的以及使用虚拟网络地址341寻址的消息被分发给与虚拟网络地址相关联的虚拟机群中的一个虚拟机。例如,存在与虚拟网络地址341相关联的三个虚拟机,包括虚拟机322B(由关联351来表示)、虚拟机322A(由关联352来表示)、以及虚拟机332C(由关联353来表示)。
负载平衡器340通过选择虚拟机332B、332A或332C中的一个以接收寻址到虚拟网络的消息来执行负载平衡,并将该网络消息分派给所选虚拟机。省略号342表示负载平衡器340也可以针对其他虚拟网络地址执行这一负载平衡功能,该其他虚拟网络地址可以与不同的一组一个或多个虚拟机相关联。虚拟网络地址包括虚拟因特网协议(IP)地址。在以下阐述的示例中,虚拟机312A将是特定消息流的源虚拟机,源主机310将是该消息流的源主机,虚拟机322A将是该消息流的目的地虚拟机,并且主机320将是该消息流的目的地主机。
存在指令源主机绕过负载平衡器的两个实施例。一个实施例将被称为“分开指令”实施例,其中目的地主机提供与对关联于该流的第一源侧网络消息的响应分开且分离的绕过指令。这一第一实施例在其中例如可能不存在对源侧网络消息的响应的情况下是有用的。第二实施例将被称为“集成响应”实施例,其中目的地主机在对源侧网络消息的响应内提供绕过指令。
图4示出源主机上的源虚拟机与由目的地主机主存的目的地虚拟机在多消息流中传递“第一”交换的方法400的流程图。图4具体阐述了分开指令实施例。图5示出了与图4的方法相类似的方法的流程图,除了它阐述集成响应实施例之外。在本说明书和权利要求书中,术语“第一”、“第二”等不旨在暗示实际时间次序,而仅仅将一个项与另一个项区分开。例如,图4中所示的“第一”交换不必是源虚拟机与目的地虚拟机之间的实际第一交换,甚至不必是特定消息流中的实际第一交换。然而,图4和5A及5B的交换发生在图7的后续消息之前。
在图4和图5A及5B中,由源虚拟机(例如,源虚拟机312A)执行的那些操作在图4和5的左栏中的标题“源虚拟机”下方。由源主机或管理程序(例如,主机310或管理程序311)执行的那些动作在左侧第二栏中的标题“源主机”下方。由负载平衡器(例如,负载平衡器340)执行的那些动作在中间栏中的标题“负载平衡器”下方。由目的地主机或管理程序(例如,主机320或管理程序321)执行的那些动作在右侧第二栏中的标题“目的地主机”下方。由目的地虚拟机(例如,目的地虚拟机322A)执行的那些动作在右栏中标题“目的地虚拟机”下方。方法400和500将被并发地描述到“分开指令”和“集成响应”实施例分叉的地方。
方法400和500以源虚拟机生成源侧网络消息开始(动作401和501)。在本说明书和权利要求书中,“源侧”网络消息指的是由源虚拟机、管理程序或主机生成的网络消息,而“目的地侧”网络消息指的是由目的地虚拟机、管理程序或主机生成的网络消息。
目的地地址具有通过负载平衡器路由的目的地虚拟网络地址以及包括对源虚拟机进行寻址的可路由设备标识符的源地址。在本文描述的实施例中,虚拟网络地址和可路由设备标识符是网络级地址。然而,本文描述的原理也适用于在协议栈的其他层(如应用层)处的地址。在下文进一步描述的实施例中,虚拟网络地址是虚拟因特网协议(IP)或(VIP)地址,且可路由设备标识符是设备IP(或DIP)地址。
图6A示出由源虚拟机在动作401和501中生成的源侧网络消息的示例数据结构。除了数据和TCP/IP头部之外,该网络消息包括负载平衡器的虚拟IP地址(VIPD)作为目的地地址,以及源虚拟机的可路由设备标识符(DIPS)作为源地址。
源主机(例如,源管理程序311)截取源侧网络消息(动作402和502)。源主机随后分派源侧网络消息(动作403和503),而不更改源或目的地地址。这可涉及一些配置以确保源地址不经历网络地址转换(NAT)并且因而保持不变。
源侧网络消息通过该网络被路由,并且因为目的地地址是由负载平衡器服务的虚拟网络地址,所以负载平衡器接收到该源侧网络消息(动作404和504)。例如,参考图3,负载平衡器340可以接收包括虚拟网络地址341作为目的地地址的网络消息。
负载平衡器随后选择与虚拟网络地址相关联的虚拟机群中的一个虚拟机作为目的地虚拟机(动作405和505)。例如,在图3中,虚拟机322B、322A和322C与虚拟网络地址341相关联。在该示例中,假定负载平衡器340选择虚拟机322A作为目的地虚拟机(并且因此主机320将是目的地主机)。
负载平衡器随后扩充源侧网络消息,以使其从负载平衡器到所选目的地虚拟机(动作406和506)。这一扩充可以通过例如用附加操作寻址头部来封装原始消息来完成。例如,图6B示出了与图6A相同的源侧网络消息,除了封装寻址层(它将用来路由该消息)包括包含寻址目的地虚拟机(例如,虚拟机322A)的可路由设备标识符(例如,DIPD)的目的地地址以及包含寻址负载平衡器(例如,MUX)的源地址。
负载平衡器随后将经扩充的源侧网络消息分派给所选目的地虚拟机(动作407和507)。例如,负载平衡器340可将图6B中所示的经扩充的源侧网络消息分派给目的地虚拟机322A。
目的地主机随后接收经扩充的源侧网络消息(动作408和508),并访问源侧网络消息的扩充前版本(动作409和509)。例如,在图6B的网络消息的上下文中,该消息可被解除封装以再次达到图6A的消息。
目的地主机随后确定源主机要将源自源虚拟机的且与同一多消息流相关联的后续网络消息以绕过负载平衡器的方式寻址到该目的地虚拟机(动作410和510)。例如,目的地管理程序321可能先前已被指令使得对经由负载平衡器到达的、来自任何源虚拟机的任何流发生重定向。
主机随后向源主机提供重定向指令。然而,如上所述,存在本文描述的用于提供这一指令的两个不同的实施例。在图4的实施例中,它描述了分开指令方法,该指令是在对源侧网络消息的任何响应的带外提供的。
在该分开指令方法中,源侧网络消息被传递给目的地虚拟机(动作411)。另外,指令消息从目的地主机分派给源主机(动作412),源主机接收该指令(动作413)。虽然指令消息被示为在源侧网络消息被传递(动作411)之后被分派(动作412)给目的地虚拟机,但这两个动作之间没有时间依赖性。目的地虚拟机接收源侧网络消息(动作414),并且如果要生成响应,则生成该响应(动作415),且将目的地侧网络消息(即,响应)分派给源虚拟机(动作416)。源虚拟机随后接收该响应(动作417)。
返回图5,并且在动作510,目的地主机确定该流要被重定向以绕过负载平衡器。目的地主机或管理程序随后修改源侧网络消息,使得目的地地址包括对源虚拟机进行寻址的可路由设备标识符(动作511)。例如,图6A示出了从接收自负载平衡器的经扩充的源侧网络消息提取的源侧网络消息。图6C示出了源侧网络消息,但在其中目的地地址从负载平衡器的虚拟网络地址(VIPD)改变为源虚拟机的可路由设备标识符(DIPD)。
参考图5B,源主机随后将经修改的源侧网络消息传递给目的地虚拟机(动作512),该目的地虚拟机接收经修改的源侧网络消息(动作513)。目的地虚拟机随后生成目的地侧网络消息(动作514),它此后将被简称为“响应”。图6D示出了对图6C的源侧网络消息的示例响应。源和目的地地址被反转,如任何响应中典型的那样。目的地地址包括对源虚拟机进行寻址的可路由设备标识符(DIPD),且源地址是对目的地虚拟机进行寻址的可路由设备标识符(DIPD)。
目的地主机访问(动作515)并修改该响应(动作516),使得源地址包括对负载平衡器进行寻址的虚拟网络地址。图6E示出了这样的经修改的响应。在这种情况下,虽然并非必需,但原始响应被由再次指定可路由设备标识符(DIPS)作为目的地地址的寻址头部进行封装,但负载平衡器的虚拟网络地址(VIPD)作为源地址。目的地主机随后将经扩充的响应分派给源虚拟机(动作517)。
源主机接收经扩充的响应(动作518),并从该响应中提取原始响应(动作519)。例如,在图6E的经封装的响应的情况下,源主机可解除该响应的封装,以获得由图6D中表示的原始生成的响应。源主机随后修改原始响应,使得源地址包括负载平衡器的目的地虚拟网络地址(动作520)。源主机还注意到目的地虚拟机的可路由设备标识符(例如,DIPD),以供用于此后描述的与后续源侧网络消息相关联的修改。作为示例,图6F示出了经修改的响应。源主机随后分派该响应(动作521),该响应由源虚拟机接收(动作522)。
从源虚拟机的观点来看,源虚拟机向虚拟网络地址发出消息,并接收到来自该虚拟网络地址的响应。在后台,源主机已被配置成将该流的来自源主机的后续消息重定向,以绕过负载平衡器。
在一些实施例中,为了促进源主机不能对重定向后续流消息的指令作出响应的情况,目的地主机也可返回对原始源侧网络消息的不包括指令的正常响应。例如,图6F再次示出了这样的响应的示例。与图6A的原始源侧网络消息相比,这样的,源和目的地地址被反转。因而,作为响应,甚至不能够对图6E中表示的指令作出响应的源主机也将识别出图6F的响应。因而,本文描述的原理可被以受控的方式展开。
图7示出用于从源虚拟机到目的地虚拟机递送与同一流相关联的后续网络消息的方法700的流程图。可针每一后续网络消息来执行方法700。从源和目的地虚拟机的观点来看,重定向是不明显的。源虚拟机仅仅分派第二(或第三,等等)源侧网络消息(动作701),该第二(或第三,等等)源侧网络消息具有包括对负载平衡器进行寻址的目的地虚拟网络地址的目的地地址且具有包括对源虚拟机进行寻址的可路由设备标识符的源地址。例如,这样的后续网络消息可如图6A所示地被结构化,并且因而动作701可以分别与图4和5的动作401和501相同。
源主机随后截取后续源侧网络消息(动作702),并修改网络消息的目的地地址以使用对目的地虚拟机进行寻址的可路由设备标识符作为目的地地址。例如,图6G示出了其中存在附加寻址结构的封装的网络消息。在这种情况下,目的地地址保持目的地虚拟机的可路由设备标识符(DIPD),但源地址被修改成源虚拟机的可路由设备标识符(DIPS)。这一经修改的消息被分派(动作703),且没有到达负载平衡器(因为虚拟网络地址VIPD没有在控制目的地地址字段中)。而是相反,该消息到达目的地主机(动作704)。目的地主机解除该消息的封装以提取源虚拟机发出的原始消息(动作705),并将该原始消息传递给目的地虚拟机(动作706)。负载平衡器没有参与这一递送。
本文描述的原理允许与一流相关联的大多数流消息被直接路由到目的地虚拟机,从而使得递送更加高效。此外,这是在允许由负载平衡器早期在该流中决定负载平衡的情况下完成的。因而,负载平衡一般仍然可被应用于该流。另外,如果负载平衡器出现故障,则该流可继续。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

Claims (10)

1.一种包括其中具有计算机可执行指令的一个或多个计算机可读存储介质的计算机程序产品,所述计算机可执行指令被结构化成使得在由服务参与来自由源中介服务的源机器的多消息流的目的地机器的目的地中介的一个或多个处理器执行时,使得所述目的地中介执行一种用于重定向所述多消息流以绕过在与所述多消息流相关联的一个或多个先前网络消息中使用的负载平衡器的方法,所述方法是响应于所述目的地中介从所述负载平衡器接收到属于所述多消息流的网络消息来执行的,所述方法包括:
确定所述源中介要将源自所述源机器的且与同一多消息流相关联的后续网络消息以绕过所述负载平衡器的方式寻址到所述目的地机器的动作;
指令所述源中介将来自所述源机器的且与同一多消息流相关联的后续网络消息以绕过所述负载平衡器的方式寻址到所述目的地机器的动作。
2.一种由源中介上的源机器将多消息流传递给目的地中介上的目的地机器的方法,所述方法包括:
所述源机器分派具有包括经由负载平衡器路由的目的地虚拟网络地址的目的地地址的源侧网络消息的动作,所述负载平衡器将寻址到所述虚拟网络地址的网络消息分发给与所述虚拟网络地址相关联的多个机器中的一个,其中所述目的地机器是与所述虚拟网络地址相关联的所述多个机器中的一个,所述源侧网络消息具有包括对所述源机器进行寻址的可路由设备标识符的源地址;以及
所述源中介接收后续目的地侧网络消息的动作,所述后续目的地侧网络消息能由所述源中介解释为指令所述源中介将与所述源侧网络消息相同的流相关的后续网络消息分派给对所述目的地机器进行寻址的可路由设备标识符。
3.如权利要求2所述的方法,其特征在于,所述后续目的地侧网络消息具有包括对所述目的地机器进行寻址的可路由设备标识符的源地址以及包括对所述源机器进行寻址的可路由设备标识符的目的地地址。
4.如权利要求3所述的方法,其特征在于,接收所述后续目的地侧网络消息的动作包括:
创建用封装地址信息对所述后续目的地侧网络消息进行封装的经封装的目的地侧网络消息的动作,所述经封装的地址信息包括包含对所述负载平衡器进行寻址的虚拟网络地址的源地址;以及
所述源中介解除所述经封装的目的地侧网络消息的封装并将所述经封装的信息解释成修改与同一流相关的后续源侧网络消息的指令的动作。
5.如权利要求2所述的方法,其特征在于,进一步包括:
所述源中介修改所述后续目的地侧网络消息以使得所述源地址包括所述负载平衡器的目的地虚拟网络地址的动作。
6.如权利要求2所述的方法,其特征在于,所述源侧网络消息是第一源侧网络消息,所述方法还包括:
所述源机器分派第二源侧网络消息的动作,所述第二源侧网络消息具有包括对所述负载平衡器进行寻址的目的地虚拟网络地址的目的地地址且具有包括对所述源机器进行寻址的可路由设备标识符的源地址。
7.如权利要求6所述的方法,其特征在于,进一步包括:
所述源中介截取所述第二源侧网络消息的动作;
所述源中介修改所述第二源侧网络消息以使用对所述目的地机器进行寻址的所述可路由设备标识符作为目的地地址的动作;以及
所述源中介以绕过所述负载平衡器的方式将经修改的第二源侧网络消息分发到所述目的地机器的动作。
8.如权利要求7所述的方法,其特征在于,在所述源中介处对所述第二网络消息的修改包括消息封装。
9.如权利要求8所述的方法,其特征在于,源中介接受所述经封装的消息的动作包括验证消息发送者的身份并在所述身份不能被验证的情况下拒绝所述消息。
10.如权利要求9所述的方法,其特征在于,验证所述发送者的身份的动作包括验证所述消息包含来自所述第一源侧消息的数据。
CN201380054147.2A 2012-10-16 2013-10-16 负载平衡器绕过方法和系统 Active CN104756466B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/652,718 US9246998B2 (en) 2012-10-16 2012-10-16 Load balancer bypass
US13/652,718 2012-10-16
PCT/US2013/065159 WO2014062752A1 (en) 2012-10-16 2013-10-16 Load balancer bypass

Publications (2)

Publication Number Publication Date
CN104756466A true CN104756466A (zh) 2015-07-01
CN104756466B CN104756466B (zh) 2018-05-25

Family

ID=49515490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380054147.2A Active CN104756466B (zh) 2012-10-16 2013-10-16 负载平衡器绕过方法和系统

Country Status (5)

Country Link
US (2) US9246998B2 (zh)
EP (1) EP2909999B1 (zh)
CN (1) CN104756466B (zh)
BR (1) BR112015007738B1 (zh)
WO (1) WO2014062752A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566441A (zh) * 2016-06-30 2018-01-09 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的方法及系统
CN107645444A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
CN108809985A (zh) * 2018-06-13 2018-11-13 东营汉威石油技术开发有限公司 一种移动平台系统
CN110022344A (zh) * 2017-11-01 2019-07-16 阿里巴巴集团控股有限公司 通信方法、非暂时性计算机可读存储介质、存储访问系统
CN110313163A (zh) * 2017-02-21 2019-10-08 微软技术许可有限责任公司 分布式计算系统中的负载平衡
CN113228571A (zh) * 2018-12-28 2021-08-06 阿里巴巴集团控股有限公司 用于从驻地网络访问云服务的网络优化的方法、设备和计算机可读存储介质

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612550B2 (en) 2011-02-07 2013-12-17 Microsoft Corporation Proxy-based cache content distribution and affinity
US9246998B2 (en) 2012-10-16 2016-01-26 Microsoft Technology Licensing, Llc Load balancer bypass
US9253245B2 (en) * 2013-03-15 2016-02-02 Profitbricks Gmbh Load balancer and related techniques
US9454314B2 (en) 2014-03-07 2016-09-27 ProfitBricks, Inc. Systems and methods for creating an image of a virtual storage device
US9361171B2 (en) 2014-03-07 2016-06-07 ProfitBricks, Inc. Systems and methods for storage of data in a virtual storage device
US9935834B1 (en) 2015-03-13 2018-04-03 Cisco Technology, Inc. Automated configuration of virtual port channels
US9954783B1 (en) 2015-03-31 2018-04-24 Cisco Technology, Inc. System and method for minimizing disruption from failed service nodes
US10110668B1 (en) 2015-03-31 2018-10-23 Cisco Technology, Inc. System and method for monitoring service nodes
US10103995B1 (en) 2015-04-01 2018-10-16 Cisco Technology, Inc. System and method for automated policy-based routing
US9985894B1 (en) * 2015-04-01 2018-05-29 Cisco Technology, Inc. Exclude filter for load balancing switch
US10079725B1 (en) 2015-04-01 2018-09-18 Cisco Technology, Inc. Route map policies for network switches
US10033631B1 (en) 2015-04-23 2018-07-24 Cisco Technology, Inc. Route distribution for service appliances
US10075377B1 (en) 2015-04-23 2018-09-11 Cisco Technology, Inc. Statistical collection in a network switch natively configured as a load balancer
US9935882B2 (en) 2015-05-13 2018-04-03 Cisco Technology, Inc. Configuration of network elements for automated policy-based routing
US20180054475A1 (en) * 2016-08-16 2018-02-22 Microsoft Technology Licensing, Llc Load balancing system and method for cloud-based network appliances
US10320895B2 (en) * 2016-11-15 2019-06-11 Microsoft Technology Licensing, Llc Live migration of load balanced virtual machines via traffic bypass
US10848432B2 (en) 2016-12-18 2020-11-24 Cisco Technology, Inc. Switch fabric based load balancing
US10965596B2 (en) 2017-10-04 2021-03-30 Cisco Technology, Inc. Hybrid services insertion
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
US10587517B2 (en) * 2017-11-30 2020-03-10 Juniper Networks, Inc. Optimizing fabric path forwarding for virtual nodes within an electronic device
US11106482B2 (en) 2019-05-31 2021-08-31 Microsoft Technology Licensing, Llc Connectivity migration in a virtual execution system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US20030056002A1 (en) * 2001-09-18 2003-03-20 Trethewey James R. Load balancing and fault tolerance for server-based software applications
CN1481635A (zh) * 2000-10-26 2004-03-10 普里斯梅迪亚网络有限公司 网络中大有效负载分布的方法和装置
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
CN101815033A (zh) * 2010-03-12 2010-08-25 成都市华为赛门铁克科技有限公司 负载均衡的方法、设备及系统
CN102436401A (zh) * 2011-12-16 2012-05-02 北京邮电大学 负载均衡系统及方法

Family Cites Families (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251205A (en) * 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US5305389A (en) 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5371852A (en) 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5793763A (en) 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5935207A (en) 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US6470389B1 (en) * 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US5924116A (en) 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
US6351775B1 (en) 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6070191A (en) 1997-10-17 2000-05-30 Lucent Technologies Inc. Data distribution techniques for load-balanced fault-tolerant web access
US6427187B2 (en) 1998-07-31 2002-07-30 Cache Flow, Inc. Multiple cache communication
US6438652B1 (en) 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6490615B1 (en) 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
US6496505B2 (en) * 1998-12-11 2002-12-17 Lucent Technologies Inc. Packet tunneling optimization to wireless devices accessing packet-based wired networks
US6587431B1 (en) * 1998-12-18 2003-07-01 Nortel Networks Limited Supertrunking for packet switching
US6748416B2 (en) * 1999-01-20 2004-06-08 International Business Machines Corporation Client-side method and apparatus for improving the availability and performance of network mediated services
US7145869B1 (en) 1999-03-17 2006-12-05 Broadcom Corporation Method for avoiding out-of-ordering of frames in a network switch
US6671259B1 (en) * 1999-03-30 2003-12-30 Fujitsu Limited Method and system for wide area network load balancing
US7299294B1 (en) 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
EP1049307A1 (en) * 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
WO2000068856A2 (en) 1999-05-11 2000-11-16 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US6970913B1 (en) 1999-07-02 2005-11-29 Cisco Technology, Inc. Load balancing using distributed forwarding agents with application based feedback for different virtual machines
US6704278B1 (en) 1999-07-02 2004-03-09 Cisco Technology, Inc. Stateful failover of service managers
US20010034752A1 (en) 2000-01-26 2001-10-25 Prompt2U Inc. Method and system for symmetrically distributed adaptive matching of partners of mutual interest in a computer network
US8291007B2 (en) 2000-02-22 2012-10-16 Flash Networks Ltd System and method to accelerate client/server interactions using predictive requests
US7024466B2 (en) 2000-04-07 2006-04-04 Movielink, Llc Network configured for delivery of content for download to a recipient
US6742044B1 (en) * 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US7039709B1 (en) * 2000-05-31 2006-05-02 International Business Machines Corporation Dynamically selection of most efficient transmission medium and route from a client browser
US6981056B1 (en) * 2000-06-28 2005-12-27 Cisco Technology, Inc. Wide area load balancing of web traffic
US6615317B2 (en) 2000-07-07 2003-09-02 Fitech Laboratories, Inc. Methods and systems for providing a highly scalable synchronous data cache
US6732237B1 (en) 2000-08-29 2004-05-04 Oracle International Corporation Multi-tier caching system
US20020032755A1 (en) 2000-09-13 2002-03-14 Marc Abrahams Registration system and method using a back end server
US7272653B2 (en) 2000-09-28 2007-09-18 International Business Machines Corporation System and method for implementing a clustered load balancer
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US6643357B2 (en) * 2000-12-14 2003-11-04 Nortel Networks Limited Distributed redirect server
US8112545B1 (en) 2000-12-19 2012-02-07 Rockstar Bidco, LP Distributed network address translation control
US7089328B1 (en) * 2000-12-29 2006-08-08 Cisco Technology, Inc. Method allocation scheme for maintaining server load balancers services in a high throughput environment
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US6549997B2 (en) 2001-03-16 2003-04-15 Fujitsu Limited Dynamic variable page size translation of addresses
US8244864B1 (en) * 2001-03-20 2012-08-14 Microsoft Corporation Transparent migration of TCP based connections within a network load balancing system
US6871347B2 (en) * 2001-04-13 2005-03-22 Interland, Inc. Method and apparatus for facilitating load balancing across name servers
US20020159458A1 (en) 2001-04-27 2002-10-31 Foster Michael S. Method and system for reserved addressing in a communications network
US7292571B2 (en) * 2001-04-30 2007-11-06 Aol Llc, A Delaware Limited Liability Company Load balancing with direct terminal response
US20030005080A1 (en) 2001-06-28 2003-01-02 Watkins James S. Systems and methods for accessing data
US20030033463A1 (en) 2001-08-10 2003-02-13 Garnett Paul J. Computer system storage
EP1315349B1 (en) 2001-11-21 2008-03-19 Sun Microsystems, Inc. A method for integrating with load balancers in a client and server system
US7289525B2 (en) 2002-02-21 2007-10-30 Intel Corporation Inverse multiplexing of managed traffic flows over a multi-star network
US6856991B1 (en) 2002-03-19 2005-02-15 Cisco Technology, Inc. Method and apparatus for routing data to a load balanced server using MPLS packet labels
US7512702B1 (en) 2002-03-19 2009-03-31 Cisco Technology, Inc. Method and apparatus providing highly scalable server load balancing
US7133905B2 (en) 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
US7020706B2 (en) 2002-06-17 2006-03-28 Bmc Software, Inc. Method and system for automatically updating multiple servers
US7280557B1 (en) 2002-06-28 2007-10-09 Cisco Technology, Inc. Mechanisms for providing stateful NAT support in redundant and asymetric routing environments
US8150951B2 (en) * 2002-07-10 2012-04-03 Cisco Technology, Inc. System and method for communicating in a loadbalancing environment
US7328237B1 (en) * 2002-07-25 2008-02-05 Cisco Technology, Inc. Technique for improving load balancing of traffic in a data network using source-side related information
US20040030765A1 (en) * 2002-08-12 2004-02-12 Zilbershtein Itai Ephraim Local network natification
US7561587B2 (en) 2002-09-26 2009-07-14 Yhc Corporation Method and system for providing layer-4 switching technologies
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US20080008202A1 (en) 2002-10-31 2008-01-10 Terrell William C Router with routing processors and methods for virtualization
US7191235B1 (en) * 2002-11-26 2007-03-13 Cisco Technology, Inc. System and method for communicating data in a loadbalancing environment
US7243351B2 (en) 2002-12-17 2007-07-10 International Business Machines Corporation System and method for task scheduling based upon the classification value and probability
US7890633B2 (en) 2003-02-13 2011-02-15 Oracle America, Inc. System and method of extending virtual address resolution for mapping networks
US7975043B2 (en) 2003-02-25 2011-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for monitoring a network
US20040167981A1 (en) 2003-02-25 2004-08-26 Douglas Christopher Paul Method and system for monitoring relationships between content devices in a content delivery network
US7324512B2 (en) * 2003-06-12 2008-01-29 International Business Machines Corporation MAC layer bridging of network frames between isolated and external networks
US7912954B1 (en) 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7606929B2 (en) 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US20070081530A1 (en) * 2003-09-11 2007-04-12 Yuji Nomura Packet relay apparatus
US9584360B2 (en) 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US20050097185A1 (en) 2003-10-07 2005-05-05 Simon Gibson Localization link system
US8572249B2 (en) 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
US7478173B1 (en) * 2003-12-18 2009-01-13 Wmware, Inc. Method and system for sharing a network connection in a virtual computer system
US20050188055A1 (en) 2003-12-31 2005-08-25 Saletore Vikram A. Distributed and dynamic content replication for server cluster acceleration
US8689319B2 (en) 2004-04-19 2014-04-01 Sollitionary, Inc. Network security system
US7813263B2 (en) 2004-06-30 2010-10-12 Conexant Systems, Inc. Method and apparatus providing rapid end-to-end failover in a packet switched communications network
US7565423B1 (en) 2004-06-30 2009-07-21 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US20060294584A1 (en) 2005-06-22 2006-12-28 Netdevices, Inc. Auto-Configuration of Network Services Required to Support Operation of Dependent Network Services
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
EP1669864B1 (en) 2004-12-03 2010-06-02 STMicroelectronics Srl A process for managing virtual machines in a physical processing machine, corresponding processor system and computer program product therefor
US8954595B2 (en) * 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US7886076B2 (en) * 2005-01-12 2011-02-08 International Business Machines Corporation Bypassing routing stacks using mobile internet protocol
US7334076B2 (en) 2005-03-08 2008-02-19 Microsoft Corporation Method and system for a guest physical address virtualization in a virtual machine environment
US7693050B2 (en) 2005-04-14 2010-04-06 Microsoft Corporation Stateless, affinity-preserving load balancing
US20070055789A1 (en) 2005-09-08 2007-03-08 Benoit Claise Method and apparatus for managing routing of data elements
EP1764970A1 (en) * 2005-09-19 2007-03-21 Matsushita Electric Industrial Co., Ltd. Multiple interface mobile node with simultaneous home- and foreign network connection
US7685109B1 (en) 2005-12-29 2010-03-23 Amazon Technologies, Inc. Method and apparatus for data partitioning and replication in a searchable data service
US7694011B2 (en) 2006-01-17 2010-04-06 Cisco Technology, Inc. Techniques for load balancing over a cluster of subscriber-aware application servers
US8274989B1 (en) 2006-03-31 2012-09-25 Rockstar Bidco, LP Point-to-multipoint (P2MP) resilience for GMPLS control of ethernet
US7769834B2 (en) * 2006-05-30 2010-08-03 Riverbed Technology, Inc. System for selecting a proxy pair based on configurations of autodiscovered proxies on a network
US8005022B2 (en) 2006-07-20 2011-08-23 Oracle America, Inc. Host operating system bypass for packets destined for a virtual machine
US7953889B2 (en) * 2006-08-03 2011-05-31 Citrix Systems, Inc. Systems and methods for routing VPN traffic around network disruption
US7730269B2 (en) 2006-08-29 2010-06-01 International Business Machines Corporation Load management to reduce communication signaling latency in a virtual machine environment
US20080201540A1 (en) 2007-02-16 2008-08-21 Ravi Sahita Preservation of integrity of data across a storage hierarchy
US7761664B2 (en) 2007-04-13 2010-07-20 International Business Machines Corporation Systems and methods for multi-level exclusive caching using hints
US7768907B2 (en) 2007-04-23 2010-08-03 International Business Machines Corporation System and method for improved Ethernet load balancing
US8561061B2 (en) 2007-05-14 2013-10-15 Vmware, Inc. Adaptive dynamic selection and application of multiple virtualization techniques
US8903938B2 (en) * 2007-06-18 2014-12-02 Amazon Technologies, Inc. Providing enhanced data retrieval from remote locations
US20090063706A1 (en) 2007-08-30 2009-03-05 International Business Machines Corporation Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing
US7383327B1 (en) * 2007-10-11 2008-06-03 Swsoft Holdings, Ltd. Management of virtual and physical servers using graphic control panels
US7697557B2 (en) 2007-12-26 2010-04-13 Alcatel Lucent Predictive caching content distribution network
US8031713B2 (en) * 2008-01-29 2011-10-04 International Business Machines Corporation General multi-link interface for networking environments
JP4973560B2 (ja) 2008-03-26 2012-07-11 富士通株式会社 サーバおよび接続先サーバ切替制御方法
US8281363B1 (en) * 2008-03-31 2012-10-02 Symantec Corporation Methods and systems for enforcing network access control in a virtual environment
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8041896B2 (en) * 2008-04-30 2011-10-18 Hewlett-Packard Development Company, L.P. Virtualization platform with dedicated cache access
CN101631110B (zh) 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
US8128279B2 (en) 2008-07-16 2012-03-06 GM Global Technology Operations LLC Cloud point monitoring systems for determining a cloud point temperature of diesel fuel
US8180896B2 (en) 2008-08-06 2012-05-15 Edgecast Networks, Inc. Global load balancing on a content delivery network
US20100036903A1 (en) 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
JP2010061283A (ja) 2008-09-02 2010-03-18 Fujitsu Ltd ロードバランサ設定プログラム,ロードバランサ設定方法及びロードバランサ設定装置
US7860100B2 (en) 2008-10-01 2010-12-28 Cisco Technology, Inc. Service path selection in a service network
US8201237B1 (en) * 2008-12-10 2012-06-12 Amazon Technologies, Inc. Establishing secure remote access to private computer networks
US7831661B2 (en) * 2008-12-18 2010-11-09 Vmware, Inc. Measuring client interactive performance using a display channel
US8769205B2 (en) * 2009-01-20 2014-07-01 Oracle International Corporation Methods and systems for implementing transcendent page caching
EP2804350B1 (en) * 2009-04-01 2019-07-24 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
US8433749B2 (en) 2009-04-15 2013-04-30 Accenture Global Services Limited Method and system for client-side scaling of web server farm architectures in a cloud data center
US9600332B2 (en) * 2009-04-28 2017-03-21 Cisco Technology, Inc. Server load balancing based on virtual utilization, physical utilization, and feedback
US8416692B2 (en) * 2009-05-28 2013-04-09 Microsoft Corporation Load balancing across layer-2 domains
US20100318609A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
US8533317B2 (en) 2009-06-22 2013-09-10 Citrix Systems, Inc. Systems and methods for monitor distribution in a multi-core system
US8737407B2 (en) 2009-06-22 2014-05-27 Citrix Systems, Inc. Systems and methods for distributed hash table in multi-core system
US8566822B2 (en) * 2009-07-22 2013-10-22 Broadcom Corporation Method and system for distributing hypervisor functionality over multiple physical devices in a network and configuring sub-hypervisor to control the virtual machines
US8873375B2 (en) * 2009-07-22 2014-10-28 Broadcom Corporation Method and system for fault tolerance and resilience for virtualized machines in a network
US8613085B2 (en) * 2009-07-22 2013-12-17 Broadcom Corporation Method and system for traffic management via virtual machine migration
JP5338555B2 (ja) 2009-08-11 2013-11-13 富士通株式会社 負荷分散装置、負荷分散方法および負荷分散プログラム
US7937438B1 (en) * 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
US8645508B1 (en) 2010-03-03 2014-02-04 Amazon Technologies, Inc. Managing external communications for provided computer networks
US8504556B1 (en) * 2010-03-08 2013-08-06 Amazon Technologies, Inc. System and method for diminishing workload imbalance across multiple database systems
US8266204B2 (en) * 2010-03-15 2012-09-11 Microsoft Corporation Direct addressability and direct server return
WO2011120000A2 (en) 2010-03-26 2011-09-29 Citrix Systems, Inc. Systems and methods for link load balancing on a multi-core device
US8619584B2 (en) 2010-04-30 2013-12-31 Cisco Technology, Inc. Load balancing over DCE multipath ECMP links for HPC and FCoE
US8533337B2 (en) * 2010-05-06 2013-09-10 Citrix Systems, Inc. Continuous upgrading of computers in a load balanced environment
US8493851B2 (en) * 2010-05-07 2013-07-23 Broadcom Corporation Method and system for offloading tunnel packet processing in cloud computing
US8611349B1 (en) * 2010-06-28 2013-12-17 Amazon Technologies, Inc. Methods and apparatus for internet-scale routing using small-scale border routers
US8902743B2 (en) * 2010-06-28 2014-12-02 Microsoft Corporation Distributed and scalable network address translation
US8547835B2 (en) 2010-10-21 2013-10-01 Telefonaktiebolaget L M Ericsson (Publ) Controlling IP flows to bypass a packet data network gateway using multi-path transmission control protocol connections
US8755283B2 (en) 2010-12-17 2014-06-17 Microsoft Corporation Synchronizing state among load balancer components
US8533343B1 (en) * 2011-01-13 2013-09-10 Google Inc. Virtual network pairs
US8402112B2 (en) 2011-01-14 2013-03-19 Microsoft Corporation Inter-cache communication using HTTP resource
US8612550B2 (en) * 2011-02-07 2013-12-17 Microsoft Corporation Proxy-based cache content distribution and affinity
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US8676980B2 (en) 2011-03-22 2014-03-18 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
US8751691B1 (en) * 2011-03-23 2014-06-10 Amazon Technologies, Inc. Methods and apparatus for remapping public network addresses on a network to an external network via an intermediate network
US20120303809A1 (en) * 2011-05-25 2012-11-29 Microsoft Corporation Offloading load balancing packet modification
CN106850444B (zh) 2011-08-17 2020-10-27 Nicira股份有限公司 逻辑l3路由
US9135269B2 (en) * 2011-12-07 2015-09-15 Egnyte, Inc. System and method of implementing an object storage infrastructure for cloud-based services
US20130159487A1 (en) 2011-12-14 2013-06-20 Microsoft Corporation Migration of Virtual IP Addresses in a Failover Cluster
US9083709B2 (en) 2012-05-11 2015-07-14 Cisco Technology, Inc. Virtual internet protocol migration and load balancing
US20140006681A1 (en) 2012-06-29 2014-01-02 Broadcom Corporation Memory management in a virtualization environment
US8805990B2 (en) 2012-07-12 2014-08-12 Microsoft Corporation Load balancing for single-address tenants
US9246998B2 (en) 2012-10-16 2016-01-26 Microsoft Technology Licensing, Llc Load balancer bypass
US20140115135A1 (en) * 2012-10-22 2014-04-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system of frame based identifier locator network protocol (ilnp) load balancing and routing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
CN1481635A (zh) * 2000-10-26 2004-03-10 普里斯梅迪亚网络有限公司 网络中大有效负载分布的方法和装置
US20030056002A1 (en) * 2001-09-18 2003-03-20 Trethewey James R. Load balancing and fault tolerance for server-based software applications
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
CN101815033A (zh) * 2010-03-12 2010-08-25 成都市华为赛门铁克科技有限公司 负载均衡的方法、设备及系统
CN102436401A (zh) * 2011-12-16 2012-05-02 北京邮电大学 负载均衡系统及方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566441B (zh) * 2016-06-30 2021-07-06 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的方法及系统
CN107566441A (zh) * 2016-06-30 2018-01-09 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的方法及系统
CN107645444A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
CN107645444B (zh) * 2016-07-21 2021-09-07 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
US11218537B2 (en) 2017-02-21 2022-01-04 Microsoft Technology Licensing, Llc Load balancing in distributed computing systems
CN110313163A (zh) * 2017-02-21 2019-10-08 微软技术许可有限责任公司 分布式计算系统中的负载平衡
CN110313163B (zh) * 2017-02-21 2022-03-04 微软技术许可有限责任公司 分布式计算系统中的负载平衡
CN110022344A (zh) * 2017-11-01 2019-07-16 阿里巴巴集团控股有限公司 通信方法、非暂时性计算机可读存储介质、存储访问系统
CN110022344B (zh) * 2017-11-01 2022-05-31 阿里巴巴集团控股有限公司 通信方法、非暂时性计算机可读存储介质、存储访问系统
CN108809985B (zh) * 2018-06-13 2021-01-26 山东云科汉威软件有限公司 一种移动平台系统
CN108809985A (zh) * 2018-06-13 2018-11-13 东营汉威石油技术开发有限公司 一种移动平台系统
CN113228571A (zh) * 2018-12-28 2021-08-06 阿里巴巴集团控股有限公司 用于从驻地网络访问云服务的网络优化的方法、设备和计算机可读存储介质
CN113228571B (zh) * 2018-12-28 2022-12-16 阿里巴巴集团控股有限公司 用于从驻地网络访问云服务的网络优化的方法和设备

Also Published As

Publication number Publication date
EP2909999B1 (en) 2019-11-20
BR112015007738B1 (pt) 2022-03-15
WO2014062752A1 (en) 2014-04-24
US20140108655A1 (en) 2014-04-17
CN104756466B (zh) 2018-05-25
BR112015007738A2 (pt) 2017-11-28
US9826033B2 (en) 2017-11-21
US20160105499A1 (en) 2016-04-14
EP2909999A1 (en) 2015-08-26
US9246998B2 (en) 2016-01-26

Similar Documents

Publication Publication Date Title
CN104756466A (zh) 负载平衡器绕过
US10700979B2 (en) Load balancing for a virtual networking system
CN103270492B (zh) 用于网络使能应用的硬件加速图形的方法和系统
US10664301B2 (en) Methods and systems for establishing connections associated with virtual machine migrations
CN104320350B (zh) 用于提供基于信用的流控制的方法及系统
US20170118311A1 (en) Methods Circuits Devices Systems and Functionally Associated Computer Executable Code for Facilitating Edge Computing on a Mobile Data Communication Network
CN103544043A (zh) 管理多个虚拟机的分级系统、方法和计算机程序
US11095716B2 (en) Data replication for a virtual networking system
CN107409096A (zh) 自适应负载平衡
CN104704471A (zh) 虚拟网络中的虚拟机多播/广播
WO2016159113A1 (ja) 制御装置、制御方法及びプログラム
CN113326101B (zh) 基于远程直接数据存储的热迁移方法、装置及设备
WO2016159192A1 (ja) 制御装置、制御方法及びプログラム
CN108574613B (zh) Sdn数据中心的二层互通方法及装置
US10362120B2 (en) Distributed gateways with centralized data center for high throughput satellite (HTS) spot beam network
CN110830574A (zh) 一种基于docker容器实现内网负载均衡的方法
CN115686729A (zh) 容器集群网络系统、数据处理方法、设备及计算机程序产品
US20240098142A1 (en) Migration of remote data processing between servers
EP3439249A1 (en) Network system, management method and device for same, and server
KR102651239B1 (ko) 가상화 기술을 이용한 통신 방법 및 이를 수행하는 전자 장치
CN108353017B (zh) 计算系统和用于操作多网关虚拟机上的多个网关的方法
Elek et al. Network function chaining in DCs: the unified recurring control approach
CN116389356A (zh) 一种跨可用区的通信方法及相关装置及云网络

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20171026

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant