CN101536417B - 消除冗余连接的方法 - Google Patents
消除冗余连接的方法 Download PDFInfo
- Publication number
- CN101536417B CN101536417B CN2006800564192A CN200680056419A CN101536417B CN 101536417 B CN101536417 B CN 101536417B CN 2006800564192 A CN2006800564192 A CN 2006800564192A CN 200680056419 A CN200680056419 A CN 200680056419A CN 101536417 B CN101536417 B CN 101536417B
- Authority
- CN
- China
- Prior art keywords
- equipment
- connects
- connection
- network address
- address translation
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000013519 translation Methods 0.000 claims description 62
- 238000013507 mapping Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 7
- 230000008014 freezing Effects 0.000 claims 2
- 238000007710 freezing Methods 0.000 claims 2
- 230000008030 elimination Effects 0.000 claims 1
- 238000003379 elimination reaction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000036829 Device dislocation Diseases 0.000 description 1
- 238000002266 amputation Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
描述了一种消除冗余连接的方法和***,包括:传输将两个连接合并的请求;终止第一连接的第一部分,第一连接实现第一设备与第二设备之间的通信;终止第二连接的第一部分,第二连接实现第一设备与第三设备之间的通信,其中,第一连接和第二连接中每一个均通过第四连接而实现;以及将第一连接的第二部分和第二连接的第二部分合并。一种合并连接的方法和***,包括:接收将两个连接合并的请求;终止第一连接的第一部分,第一连接实现第一设备与第二设备之间的通信;终止第二连接的第一部分,第二连接实现第一设备与第三设备之间的通信,其中,第一连接和第二连接中每一个均通过第四设备而实现;以及将第一连接的第二部分和第二连接的第二部分合并。
Description
技术领域
本发明涉及联网技术,具体涉及使用TCP/UDP连接的设备。
背景技术
联网技术的发展方便了不同设备的通信并使得应用可以涉及多个设备。通常出于不同目的而设计的这些设备具有不同的计算能力、存储能力和功耗。因此,当诸如文件共享和文件下载之类的应用涉及这些设备时,对这些设备有不同的需求。
图1示出了示例家庭连网环境,其中,无线接入点连接至英特网(经由基于网络地址转换(network address translation)(NAT)的路由器(网络转换设备))。还存在网络附加存储(network attached storage)(NAS)设备(目的地存储设备/存储设备)、台式计算机和以及若干无线客户端(例如膝上型计算机、个人数字助理(PDA))。本文所使用的“/”将被阐释为表示组件的可选名称。在如图1所示的示例环境中,文件共享应用涉及4种设备:远程文件(数据)服务器(源数据服务器/源设备)、网络附加存储(NAS)、接入点以及至少一个移动客户端(例如,膝上型计算机或PDA)。尽管膝上型计算机和PDA配备有功能强大的CPU和用户友好界面,但是并未将它们设计成始终是通电的。另一方面,无线接入点和NAS通常是具有较慢CPU和较小存储器的小型嵌入式***。它们多数时间处于通电状态。
这些设备所使用的通信协议通常是TCP。然而,TCP的端对端特性将所有参与的设备结合在一起并需要这些设备在会话期间处于活动状态。然而,并非总是需要所有的设备。例如,PDA可以用来发起文件下载。真正需要的是,直接从远程文件(数据)服务器(源设备)将文件下载至NAS磁盘(存储设备),这样当下载开始时可以中止(suspend)PDA。出于多种原因不可能指示NAS直接那样做。首先, NAS可能是哑设备(dumb device),其中无法控制所述哑设备发起连接。其次,初始连接建立过程可能需要复杂的认证并从而需要人交互,例如,填写用户名和口令、解释脚本(例如,java脚本)、或解决图形难题(graph puzzle)。
按照惯例,建立并保持多个连接,以便应用正常工作。然而,该方法具有若干缺点。首先,对于所有参与者在会话期间处于活动状态的需求限制了移动设备的移动性。由于应用的适当功能依赖于活动的TCP端点/设备,所以不能将设备断开或中止。然而,通常并不期望那些设备始终保持通电状态。例如,可能需要或期望使用笔记本计算机来工作,或PDA可能具有有限电池寿命。其次,冗余连接消耗更多的资源。消耗功率来保持那些设备活动;需要额外的带宽来在设备之间传输数据;需要CPU循环以执行校验和(checksum)计算;需要存储器来缓冲分组。最后,冗余连接通常不会提高应用的可靠性和性能,相反,冗余连接带来了更多的故障点、更多的瓶颈链路(bottle necklink)和更长的等待时间。例如,无线连接通常容易引起分组丢失和连接中断(drop)。应用涉及越多的无线链路,数据通信实际上越不可靠。
在现有方法中,在网络地址转换设备上布置代理。可以通过代理来进行和保持与外界的连接。多个设备首先可以连接至网络地址转换设备并请求相同的连接。从而移动设备可以建立连接并指示另一设备使用该连接。然而,该方法仅使能共享特定主机之间的连接;该方法并未降低连接的数目。此外,一些哑设备(例如,NAS)甚至不能发起与网络地址转换设备的连接。此外,由于在网络地址转换设备上额外数目的连接,网络转换设备需要更多资源,例如,数据拷贝以及校验和计算、分组缓冲等(packet buffering)。TCP接合(splicing)是类似的现有方法,但是该方法关注的是提高针对在客户端与服务器之间的连接的代理性能。该方法仅涉及三种设备:客户端、服务器和代理。另一现有方法Msock利用TCP接合来解决相同设备的移动性问题,即,当主机移动时在传输级保持该主机的连接。Msock还需要改变移动设备上的应用以与特定的库链接。
发明内容
本发明针对一种在应用涉及多个设备时消除冗余TCP/UDP连接的方法,所述方法使能从一个设备向另一设备透明迁移(transparent migrate)通信会话并且方便了移动设备的移动性。
根据本发明的方法具有许多优点,包括不限制移动设备的TCP实现方式。为了使两个连接匹配从而可以将这两个连接合并(merge),这两个连接应当具有类似的扩展特征,例如,窗口比例(window scale)、选择性确认(selective acknowledgement)、时间戳。可以利用一些额外开销在网络地址转换设备上实现这些特征当中的某些特征。
描述了一种消除冗余连接的方法和***,包括:传输将两个连接合并的请求;终止第一连接的第一部分,第一连接实现第一设备与第二设备之间的通信;终止第二连接的第一部分,第二连接实现第一设备与第三设备之间的通信,其中第一连接和第二连接中每一个均通过第四设备而实现;以及将第一连接的第二部分和第二连接的第二部分合并。还描述了一种合并连接的方法和***,包括:接收将两个连接合并的请求;终止第一连接的第一部分,第一连接实现第一设备与第二设备之间的通信;终止第二连接的第一部分,第二连接实现第一设备与第三设备之间的通信,其中,第一连接和第二连接中每一个均通过第四设备而实现;以及将第一连接的第二部分和第二连接的第二部分合并。应当注意的是,在连接部分为连接一半的情况下描述了本发明。
还描述了一种合并连接的方法和***,包括:终止第一设备与第二设备之间的第一映射、终止第一设备与第三设备之间的第二映射、以及创建第二设备与第三设备之间的映射。
附图说明
当结合附图阅读时,根据以下详细描述,将更好地理解本发明。附图包括以下简要描述的图:
图1示出了示例家庭连网环境。
图2是根据本发明原理的连接合并过程的示意图。
具体实施方式
图1示出了示例家庭连网环境,其中无线接入点连接至英特网。接入点可以直接连接至英特网,或可以经由基于网络地址转换(NAT)的路由器(网络地址转换设备)来连接接入点。还存在网络附加存储(NAS)设备(目的地存储设备)、台式计算机以及若干无线客户端(例如,膝上型计算机、PDA)。在如图1所示的示例环境中,文件共享应用涉及4种设备:远程文件(数据)服务器、网络附加存储(NAS)设备、接入点以及至少一个移动客户端(例如,膝上型计算机或个人数字助理(PDA))。尽管膝上型计算机和PDA配备有功能强大的CPU和用户友好界面,但是并未将它们设计成始终是通电的。另一方面,无线接入点和NAS通常是具有较慢CPU和较小存储器的小型嵌入式***。它们多数时间处于通电状态。
本发明针对具有冗余连接的数据/文件共享或数据/文件下载类型应用,其典型地与TCP和UDP通信协议一起出现。对于多数数据/文件共享或文件下载应用来说,尽管还可以与流(streaming)和VoIP应用一起使用本发明,但并不像在交互式应用中一样迫切地需要数据。注意,尽管关于文件/数据下载描述了本发明,然而本发明还将用于文件/数据上载应用,在这种情况下设备的角色将颠倒。源设备变成目的地设备,目的设备变成源设备。
在一个实施例中,本发明针对基于TCP的应用。参照图2,移动设备使用第一连接发起与源数据服务器(源设备)S的连接,并使用第二连接将内容保存至目的地存储服务器/存储设备D。两个连接都经过网络地址转换设备。即,移动设备与源设备之间的连接经过网络地址转换设备,移动设备与存储设备之间的连接也同样经过网络地址转换设备。在连接建立之后,移动设备请求网络地址转换设备合并这两个连接,以使源设备S直接向存储设备D传送数据。应当注意,图2中的连接具有双箭头,其指示通信是两个方向上的。在本发明方法的描述中使用以下符号。
S:源设备/源数据服务器
M:移动设备
D:目的地存储服务器/存储设备
N:网络地址转换主机/网络地址转换设备
定义元组,以针对连接的每一方向记录协议状态信息。元组包括两个字段:
T(snd_max,ack_max)
元组针对连接的一个方向记录网络地址转换设备所见的最大序列号和最大确认号。可以认为每一元组是相应设备的协议状态的延时镜像。然而,与必须保持状态的正确性的终端设备不同,网络地址转换设备仅保持记录。例如,终端设备必须缓存失序(out-of-sequence)分组,而网络地址转换设备在正常操作期间不缓存任何分组。因此,由于在终端设备与网络地址转换设备之间的网络内仍存在分组,所以认为所述状态被延时。该方法的优点在于,在终端设备处保持协议的复杂性,而在网络地址转换设备上不需要代理。
根据本发明的原理,在建立过程中,在网络地址转换设备上使用四个元组。
Tsm:针对从源主机至移动设备的半连接(half-connection)的元组
Tms:针对从移动主机至源设备的半连接的元组
Tmd:针对从移动主机至目的地设备的半连接的元组
Tdm:针对从目的地主机至移动设备的半连接的元组
这四个元组与两个连接相对应,(Tms,Tsm)针对经由网络地址转换设备在源设备与移动设备之间的连接,以及(Tmd,Tdm)针对经由网络地址转换设备在移动设备与目的地/存储设备之间的连接。因此,在建立期间,移动设备发起与源设备(源数据服务器或数据服务器)的第一连接。然后移动设备发起与存储设备的第二连接。这两个步骤可以互换。移动设备然后从源设备获得文件/数据。最后,移动设备向存储设备转发文件/数据。
当移动设备决定合并这两个连接时,移动设备首先向网络地址转 换设备发送消息,该消息指示要合并的两个连接以及合并方式,在这种情况下,消除涉及移动设备的连接。网络地址转换设备等待对未确认的数据的确认,然后将移动设备与源设备之间的连接的移动设备侧终止。在对已接收的缓冲数据进行处理之后,移动设备向网络地址转换设备发送另一消息,该消息指示与存储设备的通信结束。在接收第二消息时,网络地址转换设备可以开始合并连接。可以按照以下阶段来合并连接:
阶段1:正常操作
在网络地址转换设备上,需要针对可能与另一连接合并的每一连接来跟踪协议信息。从具有SYN标志组的分组的序列号开始,记录网络地址转换设备所见的最大序列号和确认号,尽管由于分组丢失或再排序使得另一侧可能尚未接收到所有的先前分组。终端设备将实施对丢失分组的重传。例如,具有序列号Psm.seq和确认号Psm.ack的、从源设备发送至移动设备的分组Psm按以下方式对相应的元组进行更新:
If(Tsm.snd_max<Psm.seq)
Tsm.snd_max=Psm.seq;
If(Tsm.ack_max<Psm.ack)
Tsm.ack_max=Psm.ack;
阶段2:“终止”第一连接
当移动设备请求合并两个连接时,其发送消息以通知网络地址转换设备。网络地址转换设备然后冻结针对移动设备与源设备之间的第一连接的两个元组。从此刻开始,仅可以在这两者之间转发具有较低序列号和确认号的分组。这些分组在网络内被延时或由于错误而被重传。如果特定有效载荷的序列号超过相应元组的“snd_max”,则截除(truncate)所述有效载荷。由于移动主机/设备和源主机/设备都不能见到比网络地址转换设备所见的最大序列号更大的序列号,因此将确认号比相应元组的“ack_max”大的分组丢弃。由于执行合并操作所花费的时间应当小于TCP的超时值(timeout value),因此终端设备应 当能够在分组丢失时检测到所丢弃的分组并执行重传。作为实现方式的改进,网络地址转换设备可以根据网络地址转换设备的可用存储器来选择对某些分组进行缓冲,这些分组的有效载荷超过“snd_max”。
在正确接收到分组之后,网络地址转换设备发起主动的关闭并向移动设备发送FIN。从移动设备的角度来看,终止了连接。网络地址转换设备然后等待FIN、来自移动设备的确认,然后网络地址转换设备发送最后确认。即,将移动设备与源设备之间连接的一半终止,其中移动设备通过这一半连接从源设备接收数据。
阶段3:“终止”第二连接
移动设备继续对来自源设备的缓冲数据进行处理,然后向网络地址转换设备发送消息,该消息指示与存储设备的连接结束。该消息由应用来定义,并在发送至存储设备的所有数据都得以确认之后发送该消息。即,将移动设备与存储设备之间连接的一半终止,其中存储设备通过这一半连接从移动设备接收数据。
在另一实施例中,移动设备向存储设备发送具有FIN的分组。在该实施例中,网络地址转换设备截取(intercept)FIN消息而不将其转发至目的地。这实质上是被动关闭,网络地址转换设备以FIN和ACK对移动设备作出响应并等待来自移动设备的最后ACK。如果应用发送消息而不使用FIN消息,则网络地址转换设备如在前述阶段中一样终止与移动设备的半连接。
在该阶段中,对针对第二连接的元组进行更新,直到接收到终止消息和具有FIN消息的分组为止。然后冻结针对第二连接的元组。从该时刻开始,如在前述阶段中一样仅接受序列号小于snd_max并确认号小于ack_max的分组。
在将移动设备和存储设备之间针对移动设备的那一半连接终止之后,网络地址转换设备在存储设备和源设备之间创建新的映射,并准备在它们之间转发分组。如果FIN用来终止连接,则将snd_max指定为FIN减1的序列号。
阶段4:合并的完成
这两个连接的序列号和确认号是独立的。不能仅在源设备与存储 设备之间直接转发分组。需要修改分组使得所述分组看似来自移动设备,即使现在该移动设备并未包含在这两个连接中。例如,对于来自源设备的分组,将源设备发送序列空间(sequence space)映射到由移动设备使用的发送序列空间,以向存储设备发送分组。同样修改确认使得所述确认落入存储设备所使用的发送空间中。如下修改序列号:
Psm.seq=Psm.seq-Tsm.snd_max+Tmd.snd_max;
如下修改ACK:
Psm.ack=Psm.ack-Tms.snd_max+Tdm.snd_max;
针对从源设备至移动设备的分组的详细操作如下:
Psm.dst_ip=D.ip(改变至目的地(存储设备)的目的地ip)
Psm.dst_port=D.port
Psm.src_ip=M.ip
Psm.src_port=M.port(用来与D进行通信的端口)
Psm.seq=Psm.seq-Tsm.snd_max+Tmd.snd_max
Psm.ack=Psm.ack-Tms.snd_max+Tdm.snd_max
第三和第四指令一起使目的地(存储设备)认为数据/文件是来自移动设备的,而实际上数据/文件来自源设备。
针对从存储设备至移动设备的分组的详细操作如下:
Pdm.dst_ip=S.ip
Pdm.dst_port=S.port
Pdm.src_ip=N.ip
Pdm.dst_port=N.port
Pdm.seq=Pdm.seq-Tdm.snd_max+Tms.snd_max
Pdm.ack=Pdm.ack-Tmd.snd_max+Tms.snd_max
上述操作所完成的是对第一连接和第二连接各自另一(第二)半的合并。即,源设备经由网络地址转换设备向存储设备发送数据/文件/分组,网络地址转换设备对分组报头进行修改,使得在存储设备看来数据/分组来自于不再涉及的移动设备。这有效地合并或终止了从移动设备至源设备以及从存储设备至移动设备的通信。
注意,N.port是对远程数据源服务器(远程源设备)可见的端口。 根据网络地址转换设备实现方式,N.port可能不同于移动设备与源设备连接所使用的端口。M.port是对存储设备可见的端口。在上述示例中,存储设备与移动设备在相同网络内,从而M.port与移动设备所使用的端口相同。在上述修改之后,计算或递增地再计算TCP报头与IP报头的校验和。
在另一实施例中,应用使用UDP作为传输协议。移动设备首先连接至源设备,并且网络地址转换设备保持在移动设备所使用的UDP端口与源设备所使用的端口之间的映射。当移动设备决定向存储设备迁移(migrate)会话时,移动设备首先向存储设备发起UDP会话(移动设备或存储设备可以根据实现方式来发起会话)。然后移动设备指示网络地址转换设备将移动设备M与源设备S之间的映射改变成存储设备D与源设备S之间的映射。
对于从源设备传输至移动设备的分组,网络地址转换设备执行以下操作:
Psm.src_ip=M.ip
Psm.src_port=M.port(用来与D进行通信的端口)
Psm.dst_port=D.port
Psm.dst_ip=D.ip
对于被从存储设备传输至移动设备的分组,网络地址转换设备执行以下操作:
Pdm.dst_ip=S.ip
Pdm.dst_port=S.port
Pdm.src_ip=N.ip
Pdm.dst_port=N.port
除了根据本发明的方法中所述的文件共享应用以外,本发明的方法具有其他应用,例如,如下:
1、将流会话透明地(transparently)从一个设备切换至另一设备。
使用本发明的方法,使用户可以开始对来自个人计算机(PC)或PDA的流视频进行观看的流客户端随后可以将所述流视频合并至同样使用TCP/UDP的TV(或具有机顶盒的TV)。如 果流应用仅使用TCP,(例如,RTSP上的RTP(RTP overRTSP)),则移动设备首先将应用状态传送至存储设备,然后将TCP连接迁移至存储设备。如果流应用使用TCP(例如,RTSP)和UDP(RTP),则移动设备首先将应用状态(RTSP状态)和RTP状态传送至存储设备,然后将TCP和UDP连接迁移至存储设备。
2、从“观看”流会话透明地切换到将流“存储”到本地存储器。除了以下情况以外该应用类似于上述应用:存储设备将流存储在本地存储器中,而不将流呈现/显示在例如TV之类的设备上。
3、将VoIP透明地从一个设备切换至另一设备,或从一个用户的电话切换至另一用户的电话。该应用类似于上述两个应用,并且也是通过首先将应用状态传送至存储设备然后迁移TCP/UDP连接来实现的。
对于不使用附加状态或仅在会话的开始处使用一些状态的应用来说,运行在移动设备和存储设备上的应用可以保持不变。然而,对于必须在会话期间保持一些状态的应用来说,必须对这样的应用修改成:传送那些状态并使用如本文所述的本发明的方法来迁移基本连接。
为了发起连接的合并,网络地址转换设备可以提供基于公共网关接口(CGI)的web接口。客户端可以访问CGI脚本,以获得当前所跟踪连接的列表,并指出网络地址转换设备应当合并的连接。另一实施例是,在网络地址转换设备上布置守护进程(demon process),并为移动设备定义通信接口以发送合并指令。
应当理解的是,可以采用各种形式的硬件、软件、固件、专用处理器或其组合来实现本发明。优选地,可以将本发明实现为硬件和软件的组合。此外,优选地可以将软件实现为在程序存储设备上有形体现的应用程序。应用程序可以被上载至包括任何适合体系结构的机器或由所述机器来执行。优选地,在具有诸如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)、以及输入/输出(I/O)接口)之类的硬件的计算机平台上实现所述机器。计算机平台还包括操作*** 和微指令代码。本文所述的各种过程和功能可以是经由操作***而执行的微指令代码的一部分或应用程序的一部分(或其组合)。各种其他***设备(例如附加数据存储设备和打印设备)也可以连接至计算机平台。
还应当理解的是,由于附图中示出的一些组成***组件和方法步骤优选地是以软件来实现的,因此***组件(或过程步骤)之间的实际连接可以根据对本发明进行编程所采用的方式的不同而不同。根据本文示教,本领域的普通技术人员将能够想到本发明的这些或类似的实现方式或配置。
Claims (22)
1.一种消除冗余连接的方法,所述方法包括:
网络地址转换设备接收来自第一设备的将两个连接合并的请求;
网络地址转换设备终止第一连接的第一部分,所述第一连接实现第一设备与第二设备之间的通信,第一连接的第一部分是从第二设备到第一设备的连接,第一连接的第二部分是从第一设备到第二设备的连接;
网络地址转换设备终止第二连接的第一部分,所述第二连接实现所述第一设备与第三设备之间的通信,第二连接的第一部分是从第一设备到第三设备的连接,第二连接的第二部分是从第三设备到第一设备的连接,其中,所述第一连接和所述第二连接中每一个均通过网络地址转换设备而实现;以及
网络地址转换设备通过以下方式将所述第一连接的第二部分和所述第二连接的第二部分合并:在第三设备和第二设备之间创建新的映射,所述新映射修改数据分组中的序列号、确认号、源IP地址、目的地IP地址、源端口号和目的地端口号,使得在所述第三设备看来所述分组如同是由所述第一设备传输的。
2.根据权利要求1所述的方法,其中,所述终止第一连接的第一部分还包括:
终止所述第一设备与第二设备之间的连接;
对所述第一设备从所述第二设备接收的缓冲数据进行处理;以及
网络地址转换设备向第一设备发送指示所述第一设备与所述第二设备之间通信结束的消息。
3.根据权利要求2所述的方法,其中,所述终止第二连接的第一部分还包括:
将来自所述第一设备的缓冲数据发送至所述第三设备;以及
所述网络地址转换设备接收来自第一设备的指示所述第一设备与所述第三设备之间通信结束的消息。
4.根据权利要求1所述的方法,还包括:建立所述第一设备与所述第二设备之间的所述第一连接,以及建立所述第一设备与所述第三设备之间的所述第二连接。
5.根据权利要求2所述的方法,其中,所述终止第二连接的第一部分还包括:
截取从第一设备向第三设备发送的FIN消息而不将其转发至第三设备;
以FIN和ACK对第一设备作出响应并等待来自第一设备的最后ACK。
6.一种合并连接的方法,其中,所述方法包括:
网络地址转换设备接收来自第一设备的将两个连接合并的请求;
网络地址转换设备终止第一连接的第一部分,所述第一连接实现第一设备与第二设备之间的通信,第一连接的第一部分是从第二设备到第一设备的连接,第一连接的第二部分是从第一设备到第二设备的连接;
网络地址转换设备终止第二连接的第一部分,所述第二连接实现所述第一设备与第三设备之间的通信,第二连接的第一部分是从第一设备到第三设备的连接,第二连接的第二部分是从第三设备到第一设备的连接,其中,所述第一连接和所述第二连接中每一个均通过网络地址转换设备而实现;以及
网络地址转换设备通过以下方式将所述第一连接的第二部分和所述第二连接的第二部分合并:在第三设备和第二设备之间创建新的映射,所述新映射修改数据分组中的序列号、确认号、源IP地址、目的地IP地址、源端口号和目的地端口号,使得在所述第三设备看来所述分组如同是由所述第一设备传输的。
7.根据权利要求6所述的方法,其中,所述终止第一连接的第一部分还包括:
等待对接收到任何先前传输的、但未确认的数据的确认;
冻结与经由所述第一连接来通信的设备之间的协议状态有关的信息;以及
网络地址转换设备向第一设备发送指示所述第一设备与所述第二设备之间通信结束的消息。
8.根据权利要求7所述的方法,其中,所述终止第二连接的第一部分还包括:
更新与经由所述第二连接来通信的设备之间的协议状态有关的信息;
网络地址转换设备接收来自第一设备的指示所述第一设备与所述第三设备之间通信结束的消息;以及
冻结与经由所述第二连接来通信的设备之间的协议状态有关的信息。
9.根据权利要求6所述的方法,其中,针对每一个连接记录最大序列号。
10.根据权利要求6所述的方法,其中,针对每一个连接记录最大确认号。
11.一种用于消除冗余连接的设备,包括:
用于接收来自第一设备的将两个连接合并的请求的装置;
用于终止第一连接的第一部分的装置,所述第一连接实现第一设备与第二设备之间的通信,第一连接的第一部分是从第二设备到第一设备的连接,第一连接的第二部分是从第一设备到第二设备的连接;
用于终止第二连接的第一部分的装置,所述第二连接实现所述第一设备与第三设备之间的通信,第二连接的第一部分是从第一设备到第三设备的连接,第二连接的第二部分是从第三设备到第一设备的连接,其中,所述第一连接和所述第二连接中每一个均通过所述用于消除冗余连接的设备而实现;以及
用于通过以下方式将所述第一连接的第二部分和所述第二连接的第二部分合并的装置:在第三设备和第二设备之间创建新的映射,所述新映射修改数据分组中的序列号、确认号、源IP地址、目的地IP地址、源端口号和目的地端口号,使得在所述第三设备看来所述分组如同是由所述第一设备传输的。
12.根据权利要求11所述的设备,其中,所述用于终止第一连接的第一部分的装置还包括:
用于将所述第一设备与所述第二设备之间的连接终止的装置;
用于对所述第一设备从所述第二设备接收的缓冲数据进行处理的装置;以及
用于向第一设备发送指示所述第一设备与所述第二设备之间通信结束的消息的装置。
13.根据权利要求12所述的设备,其中,所述用于终止第二连接的第一部分的装置还包括:
用于将来自所述第一设备的缓冲数据发送至所述第三设备的装置;以及
用于接收来自第一设备的指示所述第一设备与所述第三设备之间通信结束的消息的装置。
14.根据权利要求11所述的设备,还包括:用于建立所述第一设备与所述第二设备之间的所述第一连接的装置,以及用于建立所述第一设备与第三设备之间的所述第二连接的装置。
15.根据权利要求12所述的设备,其中,所述用于终止第二连接的第一部分的装置还包括:
用于截取从第一设备向第三设备发送的FIN消息而不将其转发至目的地的装置;以及用于以FIN和ACK对第一设备作出响应并等待来自第一设备的最后ACK的装置。
16.一种用于合并连接的设备,包括:
用于接收来自第一设备的将两个连接合并的请求的装置;
用于终止第一连接的第一部分的装置,所述第一连接实现第一设备与第二设备之间的通信,第一连接的第一部分是从第二设备到第一设备的连接,第一连接的第二部分是从第一设备到第二设备的连接;
用于终止第二连接的第一部分的装置,所述第二连接实现所述第一设备与第三设备之间的通信,第二连接的第一部分是从第一设备到第三设备的连接,第二连接的第二部分是从第三设备到第一设备的连接,其中,所述第一连接和所述第二连接中每一个均通过所述用于合并连接的设备而实现;以及
用于通过以下方式将所述第一连接的第二部分和所述第二连接的第二部分合并的装置:在第三设备和第二设备之间创建新的映射,所述新映射修改数据分组中的序列号、确认号、源IP地址、目的地IP地址、源端口号和目的地端口号,使得在所述第三设备看来所述分组如同是由所述第一设备传输的。
17.根据权利要求16所述的设备,其中,所述用于终止第一连接的第一部分的装置还包括:
用于等待对接收到任何先前传输的、但未确认的数据的确认的装置;
用于冻结与经由所述第一连接来通信的设备之间的协议状态有关的信息的装置;以及
用于向第一设备发送指示所述第一设备与所述第二设备之间通信结束的消息的装置。
18.根据权利要求17所述的设备,其中,所述用于终止第二连接的第一部分的装置还包括:
用于更新与经由所述第二连接来通信的设备之间的协议状态有关的信息的装置;
用于接收来自第一设备的指示所述第一设备与所述第三设备之间通信结束的消息的设备;以及
用于冻结与经由所述第二连接来通信的所述设备之间的协议状态有关的信息的装置。
19.根据权利要求18所述的设备,其中,针对每一个连接记录最大序列号。
20.根据权利要求18所述的设备,其中,针对每一个连接记录最大确认号。
21.一种合并连接的方法,所述方法包括:
终止第一设备与第二设备之间的第一映射;
终止所述第一设备与第三设备之间的第二映射;以及
创建所述第二设备与所述第三设备之间的映射,其中所述创建还包括修改分组报头使得在所述第三设备处接收到的缓冲数据如同是由所述第一设备传输的,并且分组报头的修改包括对序列号、确认号、源IP地址、目的地IP地址、源端口号和目的地端口号的修改。
22.一种用于合并连接的设备,包括:
用于终止第一设备与第二设备之间的第一映射的装置;
用于终止所述第一设备与第三设备之间的第二映射的装置;以及
用于创建所述第二设备与所述第三设备之间的映射的装置,其中,所述创建还包括修改分组报头使得在所述第三设备处接收到的缓冲数据如同是由所述第一设备传输的,并且分组报头的修改包括对序列号、确认号、源IP地址、目的地IP地址、源端口号和目的地端口号的修改。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2006/044941 WO2008063166A1 (en) | 2006-11-20 | 2006-11-20 | Method for eliminating redundant connections |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101536417A CN101536417A (zh) | 2009-09-16 |
CN101536417B true CN101536417B (zh) | 2013-06-12 |
Family
ID=39429981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800564192A Expired - Fee Related CN101536417B (zh) | 2006-11-20 | 2006-11-20 | 消除冗余连接的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9231784B2 (zh) |
EP (1) | EP2084852A4 (zh) |
JP (1) | JP4903270B2 (zh) |
CN (1) | CN101536417B (zh) |
BR (1) | BRPI0622122A2 (zh) |
WO (1) | WO2008063166A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI433674B (zh) | 2006-12-28 | 2014-04-11 | Infinity Discovery Inc | 環杷明(cyclopamine)類似物類 |
US7493383B1 (en) | 2006-12-29 | 2009-02-17 | F5 Networks, Inc. | TCP-over-TCP using multiple TCP streams |
US7877490B1 (en) * | 2007-12-28 | 2011-01-25 | Violin Memory, Inc. | Method and apparatus for efficient TCP connection handoff |
US7979557B2 (en) * | 2008-04-11 | 2011-07-12 | Mobitv, Inc. | Fast setup response prediction |
US8473625B1 (en) * | 2010-12-10 | 2013-06-25 | Sprint Communications Company L.P. | Preservation of network address translation (NAT) state across wireless sessions |
US10204524B2 (en) | 2011-02-22 | 2019-02-12 | Theatro Labs, Inc. | Observation platform for training, monitoring and mining structured communications |
US9602625B2 (en) | 2011-02-22 | 2017-03-21 | Theatrolabs, Inc. | Mediating a communication in an observation platform |
US9542695B2 (en) * | 2011-02-22 | 2017-01-10 | Theatro Labs, Inc. | Observation platform for performing structured communications |
US10375133B2 (en) | 2011-02-22 | 2019-08-06 | Theatro Labs, Inc. | Content distribution and data aggregation for scalability of observation platforms |
US10069781B2 (en) | 2015-09-29 | 2018-09-04 | Theatro Labs, Inc. | Observation platform using structured communications with external devices and systems |
US11605043B2 (en) | 2011-02-22 | 2023-03-14 | Theatro Labs, Inc. | Configuring, deploying, and operating an application for buy-online-pickup-in-store (BOPIS) processes, actions and analytics |
US11636420B2 (en) | 2011-02-22 | 2023-04-25 | Theatro Labs, Inc. | Configuring, deploying, and operating applications for structured communications within observation platforms |
GB2501654B (en) | 2011-02-22 | 2016-03-23 | Theatro Labs Inc | Observation platform for using structured communications |
US11599843B2 (en) | 2011-02-22 | 2023-03-07 | Theatro Labs, Inc. | Configuring , deploying, and operating an application for structured communications for emergency response and tracking |
US10134001B2 (en) | 2011-02-22 | 2018-11-20 | Theatro Labs, Inc. | Observation platform using structured communications for gathering and reporting employee performance information |
US10699313B2 (en) | 2011-02-22 | 2020-06-30 | Theatro Labs, Inc. | Observation platform for performing structured communications |
US9407543B2 (en) | 2011-02-22 | 2016-08-02 | Theatrolabs, Inc. | Observation platform for using structured communications with cloud computing |
US10814233B2 (en) | 2017-11-08 | 2020-10-27 | Take-Two Interactive Software, Inc. | System and method for session management in a multiplayer network gaming environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US20040203385A1 (en) * | 2003-03-14 | 2004-10-14 | Sathya Narayanan | Session endpoint management method for ad-hoc networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3961660B2 (ja) | 1998-03-02 | 2007-08-22 | 株式会社日立製作所 | 通信接続切替方法及び通信接続切替装置 |
CN1628450B (zh) | 2001-05-01 | 2010-05-26 | Meta4hand公司 | 无线网络计算 |
US7076564B2 (en) * | 2001-09-17 | 2006-07-11 | Micromuse Ltd. | Method and apparatus for determining and resolving missing topology features of a network for improved topology accuracy |
EP1667411B1 (en) | 2004-12-01 | 2018-11-21 | Thomson Licensing | System and method for content playback |
-
2006
- 2006-11-20 WO PCT/US2006/044941 patent/WO2008063166A1/en active Application Filing
- 2006-11-20 EP EP06838097.1A patent/EP2084852A4/en not_active Withdrawn
- 2006-11-20 BR BRPI0622122-0A patent/BRPI0622122A2/pt not_active IP Right Cessation
- 2006-11-20 CN CN2006800564192A patent/CN101536417B/zh not_active Expired - Fee Related
- 2006-11-20 JP JP2009537131A patent/JP4903270B2/ja not_active Expired - Fee Related
- 2006-11-20 US US12/312,625 patent/US9231784B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US20040203385A1 (en) * | 2003-03-14 | 2004-10-14 | Sathya Narayanan | Session endpoint management method for ad-hoc networks |
Also Published As
Publication number | Publication date |
---|---|
WO2008063166A1 (en) | 2008-05-29 |
US9231784B2 (en) | 2016-01-05 |
JP4903270B2 (ja) | 2012-03-28 |
BRPI0622122A2 (pt) | 2011-12-27 |
EP2084852A1 (en) | 2009-08-05 |
CN101536417A (zh) | 2009-09-16 |
EP2084852A4 (en) | 2013-07-31 |
JP2010510715A (ja) | 2010-04-02 |
US20090254667A1 (en) | 2009-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101536417B (zh) | 消除冗余连接的方法 | |
US6920501B2 (en) | Communication socket migration among different devices | |
US7929422B2 (en) | Method of moving a transport connection among network hosts | |
US8335853B2 (en) | Transparent recovery of transport connections using packet translation techniques | |
US7664067B2 (en) | Preserving socket connections over a wireless network | |
JP5523350B2 (ja) | Tcpフロー制御のための方法及び装置 | |
US7672223B2 (en) | Method and apparatus for replicating a transport layer protocol stream | |
CN101924771B (zh) | 一种用于加速应用代理的核心级tcp连接粘合方法 | |
US20040156393A1 (en) | Architecture and API for of transport and upper layer protocol processing acceleration | |
US20060221946A1 (en) | Connection establishment on a tcp offload engine | |
WO2021063147A1 (zh) | 异构网络的报文转发方法及装置 | |
CN101027644A (zh) | 透明的tcp连接故障切换 | |
US20150373135A1 (en) | Wide area network optimization | |
Natarajan et al. | SCTP: What, why, and how | |
US8862682B2 (en) | Accelerated sockets | |
CN102315918B (zh) | 一种tcp连接与sctp连接互通的方法及装置 | |
Farber et al. | Thinwire protocol for connecting personal computers to the Internet | |
CN103607311B (zh) | 一种无缝重建tcp连接的***及方法 | |
CN102055774A (zh) | 基于包处理的http服务器及其数据处理方法 | |
JP2005136684A (ja) | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム | |
Bhagwat et al. | MSOCKS+: an architecture for transport layer mobility | |
CN115333677A (zh) | 云业务处理方法、***、装置、设备及存储介质 | |
Trammell et al. | Post sockets: Towards an evolvable network transport interface | |
JPH11249978A (ja) | データ転送方法および装置 | |
Caini et al. | DTNperf_2: a Performance Evaluation tool for Delay/Disruption Tolerant Networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130612 Termination date: 20161120 |