CN104756466A - 负载平衡器绕过 - Google Patents
负载平衡器绕过 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet 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所述的方法,其特征在于,验证所述发送者的身份的动作包括验证所述消息包含来自所述第一源侧消息的数据。
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)
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)
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)
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)
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 |
-
2012
- 2012-10-16 US US13/652,718 patent/US9246998B2/en active Active
-
2013
- 2013-10-16 WO PCT/US2013/065159 patent/WO2014062752A1/en active Application Filing
- 2013-10-16 EP EP13785712.4A patent/EP2909999B1/en active Active
- 2013-10-16 CN CN201380054147.2A patent/CN104756466B/zh active Active
- 2013-10-16 BR BR112015007738-2A patent/BR112015007738B1/pt active IP Right Grant
-
2015
- 2015-12-17 US US14/972,951 patent/US9826033B2/en active Active
Patent Citations (6)
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)
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 |