CN102238086A - 端点的透明迁移 - Google Patents
端点的透明迁移 Download PDFInfo
- Publication number
- CN102238086A CN102238086A CN201110118769XA CN201110118769A CN102238086A CN 102238086 A CN102238086 A CN 102238086A CN 201110118769X A CN201110118769X A CN 201110118769XA CN 201110118769 A CN201110118769 A CN 201110118769A CN 102238086 A CN102238086 A CN 102238086A
- Authority
- CN
- China
- Prior art keywords
- migration
- connection
- client computer
- server
- end points
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 78
- 238000013508 migration Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了用于端点的透明迁移的机制。公开了便于捕捉在客户机和中间服务器之间建立的连接的连接状态并且将该状态转发到一个或多个目标服务器的体系结构。目标服务器(以及中间服务器)处的软件组件使用该连接状态直接回复客户机,从而绕过中间服务器。在中间服务器处接收来自客户机的与请求有关的所有分组,并且随后将这些分组转发到目标服务器。可完成迁移,无需对客户机操作***和客户机应用程序进行改变,无需来自诸如负载平衡器之类的网关设备或来自网络的辅助,无需复制多个服务器之间的所有分组,并且无需对中间和目标服务器的传输层栈进行改变。
Description
技术领域
本发明涉及路由服务,更具体地涉及路由服务的状态迁移。
背景技术
在典型的高级请求路由服务中,诸如负载平衡器,当客户机发起连接请求时,它由请求路由器接受。然后客户机继续该请求数据,请求路由器查看该数据,以及基于该请求数据,请求路由器请求来自不同的(目标)服务器的实际内容。在这种情况下,请求路由器位于返回客户机的通信路径的中间。因此,需要返回客户机的所有数据是从目标服务器通过请求路由器被路由的。
在许多场景中这产生了不必要的网络活动。在一些情况下,请求路由器实际需要查看返回数据以高速缓存返回数据或以其它方式处理该数据。然而,在许多情况下,这种业务是完全不必要的,因为该方法不必要地消耗了较多的网络和网络设备带宽。
发明内容
下面提供了简化的概述,以便提供对此处所描述的一些新颖实施例的基本理解。本概述不是详尽的概述,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一的目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。
所公开的体系结构便于捕捉在客户机和中间网络设备(例如,服务器)之间建立的连接(归因于客户机请求)的连接状态,并且将该状态转发(迁移)到一个或多个目标设备(服务器)。在中间设备处接收来自客户机的与请求有关的所有分组,并且随后将其转发到目标设备。目标设备处的软件组件随后使用该连接状态直接回复客户机,从而绕过中间设备。
更具体地,该体系结构将所建立的连接(在传输层的)从一个端点迁移到另一个端点,而无需客户机操作***和客户机应用程序作出任何改变。另外,连接状态的迁移可在没有来自网络的辅助的情况下发生。而且,可在不复制多个设备(服务器)之间的所有分组的情况下迁移连接状态。
在服务器的上下文中,迁移技术基于连接状态迁移启用从目标服务器到客户机的直接服务器响应。可在无需改变中间和目标服务器的传输层(例如,TCP-传输控制协议)栈的情况下完成连接迁移的实现。然而,如果需要,也可在传输层中作出这些改变。
为了为实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其他优点和新颖特征将变得显而易见。
附图说明
图1示出根据所公开的体系结构的***。
图2示出采用迁移体系结构的***。
图3示出在端点迁移之后在端点协议栈中的通信。
图4示出包括可根据所公开的体系结构执行迁移的其它实体的***。
图5示出根据所公开的体系结构处理请求的方法。
图6示出图5的方法的其他方面。
图7示出处理请求的替换方法。
图8示出图7的方法的其他方面。
图9示出根据所公开的体系结构执行端点迁移的计算***的框图。
具体实施方式
在中间服务器处理客户机请求且将该请求转发到目标服务器以生成响应、并且随后将该响应发回到客户机的常规请求/响应处理***中,在以每个节点和相关网络基础结构上的业务量大约加倍为代价的情况下这有效增加了诸如可用于请求处理的存储器和CPU之类的计算资源。其发生的原因是中间服务器必须终止来自客户机的连接以便接收请求并使用请求内容来选择目标服务器处理该请求。例如,HTTP(超文本传输协议)首部中携带的用户名可用于决定哪个目标服务器应处理请求。
所公开的体系结构捕捉中间(例如,初始)服务器(设备或端点)(其中“中间”可以是客户机和目标服务器之间的任何服务器)处的TCP连接的连接状态,该中间服务器接收客户机请求(例如,URL统一资源定位符)并将连接状态转发到最终生成对客户机的响应的目标服务器(网络设备)。目标服务器处的软件组件使用该状态来直接回复客户机,从而绕过中间服务器使其在对客户机的响应过程中不再被涉及到。
所公开的体系结构可应用于应用程序请求路由(ARR),ARR是将IIS7.x变换成层7负载平衡器的IIS(因特网信息服务)扩展。(ARR和IIS两者是由微软公司开发的产品。)该体系结构使ARR能够实现直接服务器返回同时仍然执行ARR中的高级层7(对OSI(开放***互连)模型定义)功能。
现在将参考附图,全部附图中相同的附图标记用于表示相同的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以在没有这些具体细节的情况下实施各新颖实施例。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出根据所公开的体系结构的***100。***100对中间端点102和目标端点104中的每一个采用迁移组件(在此处将迁移组件不同地指定为:用于中间端点102的迁移组件106以及用于目标端点104的迁移组件108)。中间端点102的迁移组件106捕捉在客户机112和中间端点102之间建立的活动客户机连接110的连接状态。基于在中间端点102以及由中间端点所选择的目标端点104处接收的客户机请求114来建立连接110。目标端点104的迁移组件108创建对请求114的响应并基于连接状态将响应116直接发送到客户机112。
迁移组件(在此处一般指代迁移组件106和迁移组件108)在传输层操作。中间端点102的迁移组件106捕捉连接状态并基于应用于请求114的策略将连接状态转发到目标端点104。例如,该策略可以是基于目标服务器上的负载选择目标服务器。
迁移组件包括将请求转发到目标端点104的迁移移交库、驻留在传输层的迁移驱动器、以及处理控制分组通信的迁移控制器。迁移库访问连接状态的传输层统计,并且收集客户机112和中间端点102之间的连接状态的发送/接收信息和连接参数。迁移库基于所收集的信息和参数向目标端点104开放服务器连接118。中间端点102的迁移组件106基于与活动客户机连接110相关联的连接状态来指示目标端点104的迁移组件108将传出分组从目标端点104转移到客户机112的端口(例如,传输地址)。目标端点104的迁移组件108监视活动客户机连接110的连接复位并且响应于该连接复位将服务器连接118复位。
在该公开的体系结构中考虑了以下假设。如果满足下列条件则中间端点102的连接适于移交:当移交从中间端点102开始,不存在来自客户机112的、尚未递送到中间端点应用程序的未处理数据,且不存在从中间端点102到客户机112的未确认的未处理数据(所有数据已由客户机112确认)。
图2示出采用迁移体系结构的***200。如上所述,便于连接迁移的迁移组件的子组件包括:迁移移交库,其是移交对其它端点(例如,服务器)的连接的应用程序组件;安装在诸如中间端点102和目标端点104之类的端点(例如,服务器)上的迁移驱动器;以及同样安装在端点上(例如,中间端点102和目标端点104)的用于处理控制通信的迁移控制器。
迁移算法如下操作。客户机112形成对传输端点(例如,IP端口)的客户机连接以发送客户机请求114。中间端点102接受客户机连接110并接收来自客户机112的数据(正常发送确认)。一旦中间端点102已为客户机请求114确定目标端点104,则中间端点102利用下列信息调用其关联的迁移移交库202:插槽(客户机连接)、目标、端口、以及数据。
中间移交库202检索关于客户机连接110的TCP(传输控制协议)扩展统计(TCPESTATS)并且收集关于发送/接收序列号和诸如MSS(最大段大小)之类的其它连接参数的信息。中间迁移移交库20以从TCP扩展统计获得的适当连接参数向目标端点104开放前向TCP连接118,并将数据发送到目标端点104(如果存在数据丢失,则将数据从中间端点102重新传送到目标端点104)。该数据向目标端点104告知客户机请求。
此时,目标端点104已接收其对客户机112作出响应所需的所有请求相关数据。中间迁移移交库202检索关于前向连接118的TCP扩展统计,并且收集关于发送/接收序列号的信息。
中间迁移移交库202指示其关联的中间迁移控制器210以将连接110迁移至连接118。迁移控制器210指示迁移驱动器204执行网络地址转换(NAT)并通过提供两个连接(110和118)的地址和序列号信息将数据上的状态转换从客户机连接110传输到前向连接118。
中间迁移控制器210告知目标端点104上的目标迁移控制器206使用来自客户机连接110的IP和序列号信息针对前向连接118开始来自目标端点104的传出分组的NAT。目标迁移控制器206将从中间控制器210获得的参数向下传递到目标迁移驱动器208。在目标端点104发送任何数据时,目标迁移驱动器208应用适当的转换使得分组直接流向客户机112(线路上的分组具有与通过客户机连接110回来的分组相同的格式)。
当客户机112将确认和/或数据分组发送回IP端口时,中间端点102上的中间迁移驱动器204应用适当的转换并将这些分组发送到目标端点104。目标迁移驱动器208监视客户机连接110上的通过中间端点102的连接复位,并且一旦在客户机连接110上发生复位,目标迁移驱动器208则向中间端点102和目标端点104之间的前向连接118施加复位。每当前向连接118关闭时,中间迁移移交库202就关闭客户机连接110。
在替换实现中,中间迁移移交库202可信令诸如路由器或负载平衡器(未示出)之类的网络中的另一设备对向中间端点102传入的分组执行转换,从而进一步减少中间服务器上的负载。
图3示出在端点迁移之后在端点协议栈300中的通信。栈300包括中间端点栈302和目标端点栈304。来自客户机的分组通过物理层(NIC-网络接口卡)和作为NIC的API(应用程序编程接口)的NDIS(网络驱动器接口规范)进入中间栈302到达中间迁移驱动器204。中间迁移驱动器204捕捉在客户机和中间端点302之间建立的连接110的分组。
中间驱动器204对分组进行转换使得分组看起来是来自连接118的,并将该分组发送到目标端点304。目标迁移驱动器208允许请求通过直至目标端点应用程序306,该目标端点应用程序306接收请求并生成响应。响应向下传递到目标迁移驱动器208。驱动器对响应分组进行转换使得响应分组看起来是来自连接110的,并将响应分组直接发送到客户机。目标驱动器208对在连接118上生成的所有分组进行转换,包括由协议栈生成的控制分组。
图4示出包括可根据所公开的体系结构执行迁移的其它实体的***400。在此处,客户机请求114是通过负载平衡器402传达的,并且随后被路由到初始端点(例如,中间端点102)。初始端点建立连接,接收请求,对其进行分析,并且将请求114连同连接迁移状态一起路由到目标端点104。目标端点104随后用端点响应116直接对客户机112进行响应。
在另一场景中,中间端点102不知道目标端点104的位置并且将请求114重新定向到可能知道目标端点104的位置的第二中间端点404,该第二中间端点404在分析请求114之后且可能在生成部分响应之后将请求114转发到目标端点104用以对客户机112直接响应。情况可能是响应116通过第二中间端点404(以及相关联的第二中间迁移组件406)路由用以向客户机112直接传达。
在又一场景中,存在响应应返回客户机112的预定时间量(例如,几毫秒)。在这种情况下,如果不期望请求在所分配的时间内生成响应,则将请求传递到另一端点用于响应处理等等,直至在客户机112接收回响应。
在又一场景中,可将请求迁移到其它端点以在所分配的时间内得到结果或更多结果。例如,如果所分配的用于在客户机112处接收响应的时间是500毫秒,则可将请求114沿着这些端点迁移以在500毫秒时间帧内积累响应。
此处所包括的是一组代表用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流图或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在方法中示出的所有动作都是新颖实现所必需的。
图5示出根据所公开的体系结构处理请求的方法。在500处,在中间服务器处经由与该中间服务器的客户机连接接收来自客户机的请求。在502处,选择目标服务器来处理请求。在504处,捕捉客户机连接的所建立的连接状态。在506处,将连接状态转发到目标服务器。在508处,基于连接状态将在目标服务器处创建的响应直接发送到客户机。
图6示出图5的方法的其他方面。在600处,在传输层捕捉所建立的连接状态。在602处,任选地,基于所建立的连接状态的TCP扩展统计在中间服务器和目标服务器之间开放新的连接。注意,可对现存连接应用相同转换。在604处,在中间服务器处经由迁移驱动器执行网络地址转换以将数据从所建立的连接转换到新的连接。在606处,当客户机连接被复位时,将中间服务器和目标服务器之间的连接复位。在608处,当中间服务器和目标服务器之间的连接被关闭时,关闭客户机连接。在610处,通过中间服务器处理来自客户机的后续确认和数据用以迁移到目标服务器。
图7示出处理请求的替换方法。在700处,在中间服务器处经由与该中间服务器的客户机连接接收来自客户机的请求。在702处,选择用于处理请求的目标服务器。在704处,捕捉客户机连接的所建立的连接状态。在706处,基于所建立的连接状态在中间服务器和目标服务器之间开放新的连接。在708处,在中间服务器处执行网络地址转换以将数据从客户机连接转换到新的连接。在710处,将所建立的连接状态的一部分转发到目标服务器。在712处,基于连接状态将在目标服务器处创建的响应直接发送到客户机。
图8示出图7的方法的其他方面。在800处,通过中间服务器处理来自客户机的后续确认和数据用以迁移到目标服务器。在802处,信令目标服务器上的迁移控制器以开始转换传出分组至定向到客户机端口的新连接和序列号。在804处,转换传出分组用以重新定向到客户机。在806处,在目标服务器的应用层处理请求以生成响应而不会对生成响应的目标服务器的目标应用程序强加改变。
如在本申请中所使用的,术语“组件”和“***”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器、和/或磁存储介质驱动器)、以及计算机等有形组件,以及诸如运行在处理器上的进程、对象、可执行码、模块、执行的线程和/或程序等软件组件。作为说明,在服务器上运行的应用程序和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一台计算机上和/或分布在两台或更多的计算机之间。词语“示例性”此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。
现在参考图9,示出了根据所公开的体系结构执行端点迁移的计算***900的框图。为了提供用于其各方面的附加上下文,图9及以下讨论旨在提供对其中可实现各方面的合适的计算***900的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。
用于实现各方面的计算***900包括计算机902,其具有处理单元904、诸如***存储器906等的计算机可读存储、以及***总线908。处理单元904可以是各种市场上可买到的处理器中的任一种,包括单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,各新颖方法可用其它计算机***配置来实施,包括小型机、大型计算机、以及个人计算机(例如、台式、膝上型等)、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。
***存储器906可包括计算机可读存储(物理存储介质),如易失性(VOL)存储器910(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)912(如ROM、EPROM、EEPROM等)。基本输入/输出***(BIOS)可被存储在非易失性存储器912中,并且包括诸如在启动期间便于在计算机902内的组件之间传递数据和信号的基本例程。易失性存储器910还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
***总线908提供了用于包括,但不限于***存储器906的***组件对处理单元904的接口。***总线908可以是若干种总线结构中的任一种,这些总线结构还可使用各类可购买到的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器)以及***总线。
计算机902还包括用于机器可读存储子***914以及将存储子***914接口到***总线908和其他所需计算机组件的存储接口916。存储子***914(物理存储介质)可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,CD-ROM驱动器、DVD驱动器)中的一种或多种。存储接口916可包括诸如,例如EIDE、ATA、SATA和IEEE 1394等接口技术。
一个或多个程序和数据可被存储在存储器子***906、机器可读和可移动存储器子***918(例如,闪存驱动器形状因子技术)和/或存储子***914(例如,光、磁、固态)中,包括操作***920、一个或多个应用程序922、其他程序模块924以及程序数据926。
一个或多个应用程序922、其他程序模块924以及程序数据926可包括例如图1的***100的实体和组件、图2的***200的实体和组件、图3的***300的实体和组件、图4的***400的实体和组件、表500、以及图5-8的流程图所表示的方法。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其他软件组件等等。操作***920、应用程序922、模块924和/或数据926的全部或部分也可被高速缓存在诸如易失性存储器910等存储器中。应该明白,所公开的体系结构可以用各种市场上可购得的操作***或操作***的组合(例如,作为虚拟机)来实施。
存储子***914和存储器子***(906和918)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。这些指令当由计算机或其他机器执行时,可使得计算机或其他机器执行方法的一个或多个动作。执行动作的指令可被存储在一个介质上,或者可跨多个介质存储,使得指令共同出现在一个或多个计算机可读存储介质上,而不管所有指令是否都在同一介质上。
计算机可读介质可以是可由计算机902访问的任何可用介质,且包括易失性和非易失性、可移动和不可移动的内部和/或外部介质。对于计算机902,介质容纳适当的数字格式的数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质,如zip驱动器、磁带、闪存卡、闪存驱动器、磁带盒等来存储用于执行所公开的体系结构的新颖方法的计算机可执行指令。
用户可以使用诸如键盘和鼠标等外部用户输入设备928来与计算机902、程序和数据交互。其他外部用户输入设备928可包括话筒、IR(红外)遥控器、操纵杆、游戏手柄、照相机识别***、指示笔、触摸屏、姿势***(例如,眼移动、头移动等)和/或类似物。在计算机902是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备930来与计算机902、程序和数据交互。这些和其它输入设备通过输入/输出(I/O)设备接口932经由***总线904连接到处理单元908,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等等。I/O设备接口932还便于使用输出***设备934,如打印机、音频设备、照相机设备等,如声卡和/或板载音频处理能力。
一个或多个图形接口936(通常也称为图形处理单元(GPU))提供计算机902和外部显示器938(例如,LCD、等离子)和/或板载显示器940(例如,对于便携式计算机)之间的图形和视频信号。图形接口936也可作为计算机***板的一部分来制造。
计算机902可以使用经由有线/无线通信子***942到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机902描述的许多或所有元件。逻辑连接可包括到局域网(LAN)、广域网(WAN)热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在联网环境中使用时,计算机902经由有线/无线通信子***942(例如,网络接口适配器、板载收发机子***等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备944等通信。计算机902可包括用于通过网络建立通信的调制解调器或其他装置。在联网环境中,相对于计算机902的程序和数据可被存储在远程存储器/存储设备中,如与分布式***相关联。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机902可用于使用诸如IEEE 802.xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE 802.11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE 802.11x(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关介质和功能)。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。
Claims (15)
1.一种计算机实现的***(100),具有存储由处理器执行的可执行指令的计算机可读介质的,包括:
中间端点和目标端点中的每一个的迁移组件(106),
所述中间端点的所述迁移组件(106)捕捉在客户机和所述中间端点之间建立的活动客户机连接的连接状态,所述连接基于在所述中间端点以及由所述中间端点选择的所述目标端点处接收的客户机请求建立;以及
所述目标端点的所述迁移组件(108)创建对所述请求的响应并基于所述连接状态将所述响应直接发送到所述客户机。
2.如权利要求1所述的***,其特征在于,所述迁移组件在传输层操作。
3.如权利要求1所述的***,其特征在于,所述中间端点的所述迁移组件捕捉所述连接状态并且基于应用于所述请求的策略将所述连接状态转发到所述目标端点。
4.如权利要求1所述的***,其特征在于,所述迁移组件包括将所述请求转发到所述目标端点的迁移移交库、驻留在传输层的迁移驱动器、以及处理控制分组通信的迁移控制器。
5.如权利要求4所述的***,其特征在于,所述迁移库访问所述连接状态的传输层统计,并且收集在所述客户机和所述中间端点之间的所述连接状态的发送/接收信息和连接参数。
6.如权利要求5所述的***,其特征在于,所述迁移库基于所收集的信息和参数向所述目标端点开放服务器连接。
7.如权利要求6所述的***,其特征在于,所述目标端点的所述迁移组件监视所述活动客户机连接的连接复位并且响应于所述连接复位将所述服务器连接复位。
8.如权利要求1所述的***,其特征在于,所述中间端点的所述迁移组件基于与所述活动客户机连接相关联的连接状态来指示所述目标端点的所述迁移组件将传出分组从所述目标端点转移到所述客户机的传输地址。
9.一种通过处理器执行的计算机实现的方法,包括:
在中间服务器处经由与所述中间服务器的客户机连接从客户机接收请求(500);
选择用于处理所述请求的目标服务器(502);
捕捉所述客户机连接的所建立的连接状态(504);
将所述连接状态转发到所述目标服务器(506);以及
基于所述连接状态将在所述目标服务器处创建的响应直接发送到所述客户机(508)。
10.如权利要求9所述的方法,其特征在于,还包括在传输层捕捉所建立的连接状态。
11.如权利要求9所述的方法,其特征在于,还包括基于所建立的连接状态的TCP扩展统计在所述中间服务器和所述目标服务器之间开放任选的新的连接。
12.如权利要求11所述的方法,其特征在于,还包括在所述中间服务器处经由迁移驱动器执行网络地址转换以将数据从所建立的连接转换到所述新的连接。
13.如权利要求9所述的方法,其特征在于,还包括当所述客户机连接被复位时,将所述中间服务器和所述目标服务器之间的连接复位。
14.如权利要求9所述的方法,其特征在于,还包括当所述中间服务器和所述目标服务器之间的连接被关闭时,将所述客户机连接关闭。
15.如权利要求9所述的方法,其特征在于,还包括通过所述中间服务器处理来自所述客户机的后续确认和数据用以迁移到所述目标服务器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/768,750 | 2010-04-28 | ||
US12/768,750 US8478813B2 (en) | 2010-04-28 | 2010-04-28 | Transparent migration of endpoint |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102238086A true CN102238086A (zh) | 2011-11-09 |
CN102238086B CN102238086B (zh) | 2016-11-23 |
Family
ID=44859163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110118769.XA Active CN102238086B (zh) | 2010-04-28 | 2011-04-27 | 端点的透明迁移 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8478813B2 (zh) |
CN (1) | CN102238086B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016150169A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 一种安全通信方法、网关、网络侧服务器及*** |
CN109862088A (zh) * | 2019-01-23 | 2019-06-07 | 新华三云计算技术有限公司 | Tcp连接迁移方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2949081A4 (en) | 2013-01-27 | 2016-10-05 | Hewlett Packard Entpr Dev Lp | CONNECTION INTERFACE STATE TRANSFER |
US9614918B2 (en) | 2013-03-14 | 2017-04-04 | International Business Machines Corporation | Migration of network connection under mobility |
US9635114B2 (en) * | 2014-01-24 | 2017-04-25 | Netapp, Inc. | Externally initiated application session endpoint migration |
US10868836B1 (en) * | 2017-06-07 | 2020-12-15 | Amazon Technologies, Inc. | Dynamic security policy management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055435A1 (en) * | 2003-06-30 | 2005-03-10 | Abolade Gbadegesin | Network load balancing with connection manipulation |
US20050262411A1 (en) * | 2002-08-02 | 2005-11-24 | Marc Vertes | Migration method for software application in a multi-computing architecture, method for carrying out functional continuity implementing said migration method and multi-computing system provided therewith |
CN101015187A (zh) * | 2004-07-14 | 2007-08-08 | 国际商业机器公司 | 在网络协议处理的卸载中支持连接建立的设备和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6920501B2 (en) | 2001-12-17 | 2005-07-19 | Ntt Docomo, Inc. | Communication socket migration among different devices |
CN100547583C (zh) * | 2003-08-14 | 2009-10-07 | 甲骨文国际公司 | 数据库的自动和动态提供的方法 |
US20050086342A1 (en) | 2003-09-19 | 2005-04-21 | Andrew Burt | Techniques for client-transparent TCP migration |
US7668962B2 (en) * | 2005-02-07 | 2010-02-23 | Symantec Operating Corporation | System and method for connection failover using redirection |
US20080219271A1 (en) | 2006-04-25 | 2008-09-11 | Nokia Corporation | IP multicast based systems, apparatuses and methods for TCP connection migration |
US7565446B2 (en) | 2007-08-27 | 2009-07-21 | Gear Six, Inc. | Method for efficient delivery of clustered data via adaptive TCP connection migration |
US20100029275A1 (en) | 2008-07-31 | 2010-02-04 | Peter Bosch | Migration of TCP connections with layer 2 support in wireless environments |
-
2010
- 2010-04-28 US US12/768,750 patent/US8478813B2/en active Active
-
2011
- 2011-04-27 CN CN201110118769.XA patent/CN102238086B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262411A1 (en) * | 2002-08-02 | 2005-11-24 | Marc Vertes | Migration method for software application in a multi-computing architecture, method for carrying out functional continuity implementing said migration method and multi-computing system provided therewith |
US20050055435A1 (en) * | 2003-06-30 | 2005-03-10 | Abolade Gbadegesin | Network load balancing with connection manipulation |
CN101015187A (zh) * | 2004-07-14 | 2007-08-08 | 国际商业机器公司 | 在网络协议处理的卸载中支持连接建立的设备和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016150169A1 (zh) * | 2015-03-25 | 2016-09-29 | 中兴通讯股份有限公司 | 一种安全通信方法、网关、网络侧服务器及*** |
CN109862088A (zh) * | 2019-01-23 | 2019-06-07 | 新华三云计算技术有限公司 | Tcp连接迁移方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US8478813B2 (en) | 2013-07-02 |
US20110270908A1 (en) | 2011-11-03 |
CN102238086B (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6505172B2 (ja) | 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム | |
CN105554065B (zh) | 处理报文的方法、转换单元和应用单元 | |
US10044622B2 (en) | Load balancing for a virtual networking system | |
US9467420B2 (en) | Regional firewall clustering in a networked computing environment | |
Gilly et al. | An up-to-date survey in web load balancing | |
CN112104754B (zh) | 网络代理方法、***、装置、设备及存储介质 | |
CN103125141B (zh) | 移动宽带网络接口的聚合 | |
Fayos-Jordan et al. | Performance comparison of container orchestration platforms with low cost devices in the fog, assisting Internet of Things applications | |
CN102238086A (zh) | 端点的透明迁移 | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
JP2003528371A (ja) | サーバ用フェデレイテッドオペレーティングシステム | |
CN102770852A (zh) | 信息通信处理***、方法和网络节点 | |
CN108322530A (zh) | 上下文环境信息的传递方法、装置、服务网关及存储介质 | |
CN113301166A (zh) | 服务的调用方法及装置、存储介质、电子装置 | |
US20130054817A1 (en) | Disaggregated server load balancing | |
US8892745B2 (en) | Redirection of a request for information | |
JP6972182B2 (ja) | Apiコール処理を可能にするための加速システム | |
CN114518969A (zh) | 进程间通信方法、***、存储介质和计算机设备 | |
CN114945032B (zh) | 电力物联网终端数据接入***、方法、装置、设备及介质 | |
JP2004192647A (ja) | メッセージ記録手法の動的切り替え方法 | |
Zato et al. | Platform for building large-scale agent-based systems | |
WO2017135254A1 (ja) | 端末、中継装置選択装置、通信方法、中継装置選択方法、及びプログラム | |
CN113132218B (zh) | 一种家庭网关访问方法、装置、***处理器及存储介质 | |
US20130151905A1 (en) | Testing A Network Using Randomly Distributed Commands | |
Kar et al. | Multilayer software defined networking architecture for the internet of things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150729 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150729 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |