CN102007812B - Tcp流控制的方法和设备 - Google Patents
Tcp流控制的方法和设备 Download PDFInfo
- Publication number
- CN102007812B CN102007812B CN200980104957.8A CN200980104957A CN102007812B CN 102007812 B CN102007812 B CN 102007812B CN 200980104957 A CN200980104957 A CN 200980104957A CN 102007812 B CN102007812 B CN 102007812B
- Authority
- CN
- China
- Prior art keywords
- logic
- entity
- tcp
- section
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000004891 communication Methods 0.000 claims abstract description 122
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000007689 inspection Methods 0.000 claims abstract description 4
- 239000003795 chemical substances by application Substances 0.000 claims description 120
- 239000000872 buffer Substances 0.000 claims description 65
- 230000001360 synchronised effect Effects 0.000 claims description 22
- 238000012790 confirmation Methods 0.000 claims description 11
- 238000012423 maintenance Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 43
- 238000004590 computer program Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012892 rational function Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
通信实体位于高等待时间通信链路的一端,以支持第一收发机实体和第二收发机实体之间的传输控制协议(TCP)通信。所述通信实体包含被安排成检查接收的段的代理逻辑,并且所述代理逻辑响应于识别出所述接收的段不包含数据,透明地允许多个同步段经由所述代理逻辑在第一收发机实体和第二收发机实体之间传递,使得所述代理逻辑根据同步段和检查的接收段,本地生成至少一个确认消息。
Description
技术领域
本发明涉及TCP(传输控制协议)流控制,具体(但并不仅仅)涉及无线通信系统中的TCP流控制。
背景技术
传输控制协议(TCP)是通信协议中的公知TCP/IP(网际协议)族中的一个协议(关于TCP协议的完整说明,参见[RFC793])。TCP提供面向连接的可靠的字节流服务,并且最初是为差错率很低的有线网络设计的。
TCP使用基于窗口的流控制机制,该机制限制发送者传送的未被确认数据的量。这种限制基于拥塞窗口(cwnd)和通告窗口(awnd)中的最小一个。拥塞窗口由TCP数据的发送者控制,并且基于公知的慢启动和拥塞避免机制。慢启动用于当TCP流开始时,缓慢地增加系统中未被确认数据的量,并且当检测到遗失的分组时,拥塞避免使系统中未被确认数据的量减半,并且然后缓慢地把未被确认数据再次增加回到其正常流量水平。awnd是根据接收机的处理更多数据的能力而被控制的。“awnd”的初始值由在TCP协议栈中配置的参数来控制。
如上所述,TCP是为低差错率的网络设计的。因此在基于TCP的通信网络中发生的任何分组丢失被认为归因于网络拥塞,于是如上所述接着是“cwnd”的减小,从而发送者的数据速率降低。
然而,这并不适合于无线网络,无线网络是差错率固有地较高的系统。因此,第三代合作伙伴计划(3GPP)标准提供了被称为无线电链路控制(RLC)的自动重复请求(ARQ)功能(如在3GPP技术规范3GPPTS25.322中所述),该功能允许由于通过空中接口的传送而出错的数据分组被重传。通过利用由RLC接收实体响应于预定触发而向RLC发射实体回送的RLC确认消息(ACK),来维持传递数据分组的可靠性。例如,触发可以基于定时器,基于收到一定数量的接收分组,或者检测到分组已丢失。按照这种方式,可向发射机指出丢失或者受损的数据段或数据分组,并且可以重新发送这些丢失或者受损的数据段或数据分组。另外,请注意,在最新版本的3GPP(它支持HSDPA和E-DCH)中,位于公知的OSI协议的层1(L1)和媒体访问控制(MAC)层中的混合自动请求(HARQ)功能提供了另外的重传方案。
然而,ARQ(和HARQ)方案的使用导致数据分组无序到达。从而,在能够传递数据分组以便进行TCP处理之前,数据分组必须被缓存。缓存的使用造成延迟增大,并且会导致RTT(往返时间)增大。
许多无线数据系统具有很大的空中接口吞吐量,但也具有高的等待时间,比如由3GPP标准组定义的长期演进(LTE)和竞争WiMax通信标准。因此,由于典型无线系统内的TCP操作,出现了明显的问题。例如,由于等待时间高,因此TCP速率需要相对长的时间才能使用高的空中接口吞吐量,同时慢启动正在运行,于是通信链路利用不足。当为每个相对小的对象打开多个TCP连接时,例如,当移动用户正在进行web浏览时,这尤其成为问题。
多数个人计算机(PC)TCP栈中使用的典型“awnd”值较低(为8192字节的数量级)。这意味着除非修改“awnd”,否则不能充分使用高等待时间的无线系统中的通信链路。一般来说,“awnd”值应被设置成链路的带宽延迟乘积。然而,这仅仅提供了一种使空中接口能够被充分用于下行链路(DL)方向,即从网络到最终用户的TCP数据流的手段。在上行链路(UL)中,即从移动(或固定)用户到网络,“awnd”由网络中的服务器规定,并且显然不存在能够按照类似方式改变“awnd”的方式。于是,随着可达到的UL速率日益增高,在许多情况下,ULTCP速率将受到服务器“awnd”的限制,而不是受到主要的空中接口条件的限制。
与在等待时间高的无线系统中简单地增大awnd相关联的另一个问题在于:因核心网络中的拥塞而丢失任何数据分组导致DLTCP速率受到严重影响,并且由于相关联的等待时间较高,因此恢复时间较长。如前所述,有益的是使用极大的awnd值来充分利用高数据速率高延迟的空中接口通信链路(例如,“100000”数量级的“awnd”值)。当出现丢失的数据分组时,“cwnd”被减小到该值的一半。这种减半的值一般不足以充分利用通信链路,从而观察到的吞吐量被降低。
在等待时间高的无线系统中,简单地增大“awnd”对于TCP性能并不是一种可接受的解决方案。
现在参见图1,图中示例了TCP数据流100的一种已知机制。TCP数据流100被安排在个人计算机(PC)105、诸如移动电话的用户设备(UE)110、无线电接入网络(RAN)115和通信服务器120之间。在这种已知机制中,通过空中接口发送TCPACK。如前所述,典型的TCP网络可另外在UE110和RAN115之间的无线网络内采用无线电链路控制(RLC)层通信130和混合自动重复请求(HARQ)135纠错。
发明人认识并且理解到,通过空中接口发送的TCP确认消息(TCPACK)大部分不是必需的,只是宝贵的空中接口资源的浪费。这是因为底层的RLC和HARQ重传方案(它们本身也采用ACK消息)将确保空中接口中的丢失被校正,从而使TCP的重传功能变得多余,从而不需要通过空中接口发送TCPACK。如图1中所示,对TCP数据分组来说,存在三级数据流控制/重传功能,这被认为不是最理想的。
现在参见图2,图中示例了减轻与在无线系统内采用TCP相关联的一些问题的TCP体系结构200。TCP数据流被安排在个人计算机(PC)205、诸如移动电话的用户设备(UE)210、无线电接入网络(RAN)215和通信服务器220之间。该TCP网络体系结构在UE210和RAN215之间的无线网络内采用无线电链路控制(RLC)层通信230和混合自动重复请求(HARQ)235纠错。
值得注意的是,通过在UE210和RAN215中并入执行TCP代理功能的逻辑,这种体系结构消除了端到端的TCP连接。其结果是,在TCP代理处有必要存在某种形式的流控制,以确保RLC缓冲器不会溢出。
由于端到端TCP功能被除去,因此在所述代理处能够完全除去IP和TCP首部,并且通过Uu接口只发送分组的基本数据部分,外加与RLC和MAC相关联的任何首部。接收代理随后将添加与存在于系统的这一端的TCP连接的状态相适合的TCP首部。
为了阐明在图2中的TCP网络体系结构200中采用的功能,下面考虑一个例证数据流。如果启动很大文件的文件传输协议(FTP)下载,那么如果位于RAN215的TCP代理逻辑没有流控制功能,则可能需要把整个FTP文件保存在RAN215内的RNCRLC缓冲器中。从而,在TCP代理处需要允许根据在发射RLC实体处可用的缓冲器占用率来控制“awnd”的某种流控制方法。在其中使用缓冲器占用率的单个度量来确定用信号通知的“awnd”值的已知设备中,有限地涉及到这一点。
在已知体系结构中,关于这种情况的潜在问题是:在维持连接的时候,会发生RLC移动接收窗口(MRW)命令或重置。RLCMRW命令指示发射实体已经放弃发送RLC协议数据单元(PDU),并且接收机必需向前移动其窗口,使得它跳过构成RLC-SDU的所有RLCPDU。在这种情况下,TCP流控制本可以在之前提供一种能够重传丢失的数据段的最终手段。没有上层TCP协议,就不会发生这样的重传。此外,借助在UE端和网络端的完全分离的TCP连接,难以提供克服该问题的另外的重传方案。
另外,在没有端到端TCP功能的流中,由于在PC侧和在网络侧发生不同(即,不同步)的TCP会话的事实,当UE改变小区时会发生潜在的问题。
现在参见图3,图中示例了利用已知的三次握手过程的数据流控制协议体系结构300。照常通过RAN协议栈,即,利用RLC/MAC/L1来发送三次握手310。值得注意的是,它与如图2中描述的完全非端到端的常规功能的情况不同。在图2中,在用户PC和UE侧代理以及服务器和网络侧代理之间会发生两个独立的三次握手,其中不通过空中接口发生三次握手。
由于端到端地采用三次握手,因此现在能够在空中接口的任一侧采用实际上“同步的”TCP代理。从而,尽管TCP协议未越过通信链路的空中接口部分,但从服务器和客户端的角度看来,该连接好像确实是端到端的。
从而,一种改进的解决TCP数据流,尤其是蜂窝无线通信网络内的TCP数据流的问题的机制应是有利的。
发明内容
按照本发明的第一方面,提供了一种位于第一收发机实体和第二收发机实体之间的高等待时间通信链路的一端的通信实体。所述通信实体包括支持第一收发机实体和第二收发机实体之间的传输控制协议(TCP)通信的通信逻辑和代理逻辑,所述代理逻辑被安排成检查接收的段,并且响应于识别出接收的段不包含数据,所述代理逻辑透明地允许多个同步段经由所述代理逻辑在第一收发机实体和第二收发机实体之间传递。所述代理逻辑根据多个同步段和检查的接收段,本地生成至少一个确认消息,并在接收来自所述第二收发机实体的通信之前发送所述至少一个ACK消息。
本发明的各个方面例如通过使所述代理逻辑能够同步空中接口的两端,允许通信系统中的通信资源的改进使用,而不需要跨越空中接口发送和接收确认(ACK)或否定确认(NACK)同步消息。
本发明的各个方面可允许例如通过减少数据重传的次数,来提高最终用户感受到的性能。由于重传次数的减少,本发明的各个方面可提供增大的吞吐率。
按照本发明的一个可选特征,代理逻辑可进一步被安排成当后续接收的段包含数据时,进行再同步,其中,再同步基于包含在后续接收的段中的序号。
按照本发明的一个可选特征,代理逻辑可进一步被安排成拒绝任何不包含数据的后续接收的段。
按照本发明的一个可选特征,代理逻辑进一步包括无线电链路控制(RLC)逻辑,所述RLC逻辑被安排成通过确定下述至少之一何时发生来识别数据段的丢失:移动接收窗口(MRW);重置。按照本发明的一个可选特征,RLC逻辑可用信号把所述丢失通知给代理逻辑/功能。按照这种方式,可以现有的MRW和重置命令的形式来使用标准RLC功能。标准功能被扩展为能够用信号把这些命令通知给代理逻辑。
按照本发明的一个可选特征,无线电链路控制逻辑可操作地与缓冲逻辑耦接,使得缓冲逻辑保存接收的数据段,直到RLC逻辑向缓冲逻辑指示所有数据段已被RLC确认(ACK)为止。按照这种方式,无线电链路控制逻辑使代理逻辑能够识别出RLC已发出例如MRW或重置命令。从而,代理逻辑能够重传与此相关联的TCP段。
按照这种方式,通过检查无线电链路控制层消息,可实现丢失分组的快速重传,而不在重传方面依赖于TCP。
按照本发明的一个可选特征,响应于来自RLC逻辑的所述指示,缓冲逻辑可从其缓冲器丢弃被确认的数据。
当通信实体位于高等待时间通信链路的接收侧时,如果未成功收到数据段的所有序号,那么RLC逻辑可请求重传遗失的数据。
按照本发明的一个可选特征,当通信实体位于高等待时间通信链路的发射侧时,RLC逻辑能够识别出通过高等待时间通信链路发送的至少一个数据段未被确认。响应于此,RLC逻辑可启动从缓冲逻辑重传未被确认的RLC数据段。
按照本发明的一个可选特征,同步信息可包含三次握手。例如,三次握手可包含下述至少之一:同步指示;同步确认指示;和确认指示。
按照本发明的一个可选特征,代理逻辑可包含发射缓冲逻辑和接收缓冲逻辑。发射缓冲逻辑和接收缓冲逻辑可被配置成观察下述至少之一在透明地通过发射实体和接收实体之间的通信实体的同步段内的维持:序号(SEQ);确认(ACK)号;窗口缩放;选择性确认;时间戳。
按照本发明的一个可选特征,代理逻辑可被配置成检查由接收实体生成的TCPACK,并确定ACK是否不包含数据。如果代理逻辑确定TCPACK不包含数据,那么代理逻辑可终止该TCPACK,并且不通过空中接口发送该TCPACK。
按照本发明的一个可选特征,代理逻辑可被安排成在接收实体接收发射的段之前,向发射实体发回TCPACK。
按照本发明的一个可选特征,通信实体可以是用户设备(UE)和网络实体之一,并被安排成支持第三代合作伙伴计划(3GPP)数据通信系统内的TCP通信。
按照本发明的第二方面,提供一种支持在位于第一收发机实体和第二收发机实体之间的高等待时间通信链路的一端的通信实体中的传输控制协议(TCP)通信的代理逻辑。所述代理逻辑包含被布置成检查接收的段的逻辑,所述代理逻辑响应于识别出接收的段不包含数据,透明地允许多个同步段经由代理逻辑在第一收发机实体和第二收发机实体之间传递;根据多个同步段至少之一和检查的接收段,生成至少一个确认(ACK)消息,并在接收来自所述第二收发机实体的通信之前发送所述至少一个ACK消息。
按照本发明的第三方面,提供一种由位于数据通信系统中的第一收发机实体和第二收发机实体之间的高等待时间通信链路的一端的通信实体提供传输控制协议(TCP)通信的方法。所述方法包括:由TCP代理逻辑检查接收的段,并且响应于确定接收的段不包含数据,透明地允许多个同步段经由代理逻辑在第一收发机实体和第二收发机实体之间传递。所述方法进一步包括:由代理逻辑根据多个同步段至少之一和检查的接收段,本地生成至少一个确认消息,并在接收来自所述第二收发机实体的通信之前发送所述至少一个ACK消息。
按照本发明的第四方面,提供一种包含程序代码的计算机程序产品,所述程序代码用于借助位于数据通信系统中的第一收发机实体和第二收发机实体之间的高等待时间通信链路的一端的通信实体,支持传输控制协议(TCP)通信。所述计算机程序产品包含用于借助TCP代理逻辑检查接收的段,并响应于确定接收的段不包含数据,透明地允许多个同步段经由代理逻辑在第一收发机实体和第二收发机实体之间传递的程序代码。所述计算机程序产品进一步包括用于借助代理逻辑,根据多个同步段至少之一和检查的接收段,本地生成至少一个确认消息的程序代码。
按照本发明的第五方面,提供一种数据通信系统,所述数据通信系统包括位于高等待时间通信链路的一端并且支持第一收发机实体和第二收发机实体之间的传输控制协议(TCP)通信的通信实体。所述数据通信系统包含位于通信实体中并被安排成检查接收段的代理逻辑,并且所述代理逻辑响应于识别接收的段不包含数据,透明地允许多个同步段经由代理逻辑在第一收发机实体和第二收发机实体之间传递,使得所述代理逻辑根据多个同步段至少之一和检查的接收段,本地生成至少一个确认消息,并在接收来自所述第二收发机实体的通信之前发送所述至少一个ACK消息。
根据下面描述的实施例,本发明的这些和其它方面、特征和优点是显而易见的,并将参考下面描述的实施例进行说明。
附图说明
图1示例了已知的TCP流控制协议体系结构。
图2示例了已知的数据流控制协议体系结构。
图3示例了利用三次握手过程的已知数据流控制协议体系结构。
将参考附图举例说明本发明的实施例,其中:
图4示例了适合于支持本发明实施例的无线蜂窝通信网络。
图5示例了按照本发明实施例的TCP协议加速器的数据流控制协议体系结构。
图6示例了按照本发明实施例的TCP协议加速器流控制的操作。
图7示例了按照本发明的实施例,在两个同步TCP代理中采用的缓冲逻辑功能。
图8示例了按照本发明的实施例,在同步TCP代理的发射侧和接收侧采用的缓冲逻辑功能。
图9示例了当段在核心网络中丢失时,协议加速器的操作的例子。
图10示例了按照本发明的实施例,当段在RAN中丢失时,协议加速器的操作的例子。
图11示例了按照本发明的实施例,当段在UE代理和客户端PC之间丢失时,协议加速器的操作的例子。
图12示例了可用于实现本发明实施例中的处理功能的典型计算系统。
具体实施方式
按照本发明的实施例,通过在RAN和UE两者中都设置“同步”TCP代理来减轻这些问题。特别地,在本发明的上下文中,握手过程,比如已知的三次握手,和包含数据的任意段被允许“透明地通过”“同步”TCP代理逻辑。即,它们未受到任何方式的修改,并被允许继续到达无线电接入网络的较低层(至少在下面说明的实施例中),并最终在接收侧代理逻辑处被接收,在接收侧代理逻辑处,它再次无修改地通过代理逻辑。
首先参见图4,UMTS无线电接入网络(UTRAN)系统400便利地被视为包括:终端/用户设备域410;UMTS地面无线电接入网络域420;和基础结构域430。
在终端/用户设备域410中,终端设备(TE)412经由有线或无线R接口与移动设备(ME)414连接。ME414还与用户服务身份模块(USIM)416连接;ME414和USIM416一起被视为用户设备(UE)418。例如,UE418可以是远程单元、移动站、通信终端或个人数字助理。UE418可与膝上型计算机或者嵌入式通信处理器耦接。
UE418经由无线Uu接口与无线电接入网络域420中的节点B(大体包含用作基站的功能元件和逻辑)传递分组数据。在无线电接入网络域420内,节点B422经由Iub接口与无线电网络控制器(RNC)424通信。RNC424经由Iur接口与其它RNC(未示出)通信。
Node-B422和RNC424一起构成UTRAN426。RNC424经由Iu接口与核心网络域430中的服务GPRS服务节点(SGSN)432通信。在核心网络域430中,SGSN432经由Gn接口与网关GPRS支持节点GGSN434通信。GGSN434经由Gi接口与公共数据网438通信。
从而,如图4中所示,按照惯例以分布在无线电接入网络域420和核心网络域430中的离散独立单元(在它们自己相应的软件/硬件平台上)的形式来提供元件RNC424、SGSN432和GGSN434。
RNC424是负责多个节点B422的资源的控制和分配的UTRAN元件;通常50-100个节点B可由一个RNC来控制。RNC还提供通过空中接口的用户业务的可靠传递。RNC经由Iur接口相互通信。SGSN432是负责会话控制的UMTS核心网络元件。SGSN432保持跟踪各个UE418的位置,并执行安全功能和接入控制。SGSN432是许多RNC的大型集中控制器。GGSN434是负责集中核心分组网络内的用户数据,并将其通过隧道达到最终目的地(例如,因特网服务提供商(ISP))的UMTS核心网络元件。诸如个人计算机(PC)的终端设备(TE)412可经由有线或无线R接口连接到移动设备(ME)414。ME414还与用户服务身份模块(USIM)416连接;ME414和USIM416一起被视为用户设备(UE)418。
在可从3GPP网站www.3gpp.org获得的第三代合作伙伴计划技术规范文档3GPPTS45.401、3GPPTS43.060和相关文档中更充分地描述了这种UTRAN系统及其操作,这里不需要更详细地说明。
按照本发明的一个实施例,提议图4中的体系结构适合于支持TCP代理逻辑和功能存在于Uu空中接口的两侧,从而导致不通过Uu空中接口应用TCP协议。从而,如下关于图5-11所述,在本发明的一个实施例中,RNC424和UE418已被调适成包含代理TCP逻辑。在备选实施例中,例如,就在3GPP长期演进(LTE)系统中的实现来说,代理TCP逻辑可驻留在增强的eNodeB中。本领域的技术人员会认识到,在其它系统中,代理TCP逻辑可驻留在其它元件中,因此,本发明的概念并不局限于这里说明的具体元件。
现在参见图5,按照本发明的实施例示例TCP协议加速器的另一种数据流控制协议体系结构。UE510和RNC515两者中的同步TCP代理都被配置成允许已知的三次握手(“SYN”540、“SYNACK”542和“ACK”544)透明地通过,用于PC505和比如说web服务器520之间的端到端通信。
从而,包含在这些“同步”TCP消息中的信息随后被用于同步TCP通信中的“ACK”和“SEQ”字段,使得UE510和RNC515中的TCP代理都能够生成好像来自于整个TCP连接的端点的TCPACK(和NACK)(例如,它们好像是端到端的)。在图5中,在已知的三次握手540、542和544之后,是在下行链路(DL)情况下从web服务器520传送到PC505的数据段546。
另外注意,代理的同步功能将扩展到检查关于所协商的TCP功能,比如选择性确认(RFC1072中的SACK)和窗口缩放(RFC793)的三次握手。如在下面的章节中所述,当代理生成本地ACK时,协商的这些TCP功能随后将被兑现。
如图5中所示,网络侧556和UE侧555的代理功能允许三次握手540、542和544直接通过代理(即使它们不包含任何数据,我们将看到,对不包含任何数据的其它段来说情况不是这样)。在本例中,发生下载,并且当从web服务器520发送第一个TCP段时,它直接通过位于网络侧和UE侧的代理。注意,不同于在图3中描述的常规TCP代理功能,TCP/IP首部不被除去(因为图3中的TCP完全终止于空中接口的任一侧)。在一个例子中,本领域的技术人员将认识到TCP/IP首部可被压缩。
当三次握手通过代理时,代理随后能够确保它们生成的任何后续TCPACK使用在三次握手中协商的恰当SEQ号。另外,当从代理生成ACK时,还可考虑另外的任何协商的选项,比如窗口缩放、选择性确认等。按照这种方式,本领域的技术人员将认识到,代理逻辑现在可被视为“同步代理”。
一旦网络侧代理允许数据段546通过“同步代理”,它就向服务器回送TCPACK552。按照与全功能的TCP栈处理ACK相同的方式返回所述ACK。从而,在图5中,由在网络的TCP代理生成的ACK552的内容几乎与由PC生成的ACK550完全相同。
ACK的内容方面的可能差异将是awnd(后面讨论)、时间戳字段(如果启用该TCP选项的话)并且最后是校验和,所述校验和是整个TCP内容的乘积。从而,如果“awnd”不同,那么校验和将不同。这样,代理生成一般被称为“提前ACK”的ACK。然而,这些ACK目前被正确地同步,因此系统仍然好像具有端到端特性。
在位于UE端的代理处检查由PC生成的TCPACK550,因为该TCPACK被确定为不包含任何数据,即,它只是TCPACK,因此该TCPACK被终止,并且不通过空中接口发送(因为位于网络端的代理已在步骤552中确认了数据段546)。
值得注意的是,如果用户PC生成的ACK550不得不经过空中接口,那么和该ACK相比,在服务器会快得多地收到ACK552。这导致与如果不存在代理逻辑的情况相比,快得多地发送段560。按照这种方式,吞吐量性能被提高,因为TCP连接在较短时间处于“慢启动”,从而RLC缓冲器保持充满。
另外注意,尽管图5示例了用于下载的情况,但有利的是在本发明的一个实施例中可对称地实现该功能,使得对上传来说也可按照相同的方式来实现代理功能。
另外值得注意的是,代理逻辑利用修改的但是实用的TCP栈,因此它能够恰当地检测比方说段何时在核心网络中丢失。本领域的技术人员会认识到,这种修改实际上是先前已讨论过的同步和半透明(例如,允许三次握手和数据段通过)功能。响应于此,代理逻辑能够用请求服务器重传适当的遗失分组的自己生成的TCPACK(例如,否定确认(NACK))进行应答。后面给出当段丢失时,同步TCP代理的操作的例子。
现在参见图6,按照本发明的实施例示例TCP协议加速器流控制600的操作。这里关于UE或RNC中的无线电链路控制(RLC)缓冲器610示例了所述流控制。RLC缓冲器610的概念图示出了部分充满保存数据的多个缓冲器612、614、616。在每个缓冲器的非阴影区620中示例了与TCP流相关联的每个无线电承载(RB)的备用缓冲容量630。
来自特定同步TCP代理的“awnd”640基于与单个备用RLC缓冲容量相关联(从而又与该TCP流映射到的RB相关联),又与涉及所有RLC缓冲器612、614、616的总备用RLC缓冲容量相关联的备用缓冲器占用率的功能。
因此,再参见图5,当在网络端的TCP代理向服务器发送TCPACK552时,根据在上面的段落中定义的函数来计算包含在ACK内的“awnd”字段。
在一个例子中,计算“awnd”的函数可以是下述形式(尽管任何合理的函数都是可能的):
awnd=Min(初始awnd,单个空闲缓冲器α,总空闲缓冲器β)
初始“awnd”是在三次握手中协商的值。“α”和“β”的值可以是经验常数值。
TCP协议加速器逻辑的目的是提供关于上行链路(UL)和下行链路(DL)TCP业务的提高。因此,在UE和RAN两者中都提供了接收侧和发射侧同步TCP代理功能。按照本发明的一个实施例,TCP协议加速器逻辑被安排成驻留在PDCP中。
上面提及的同步代理的一个特别有利的特征是处理在网络的任意下述部分中丢失的段的能力:
(i)核心网络,即在位于网络端的同步代理和服务器之间。
(ii)无线电接入网络,即,识别空中接口中不能被RLC(和/或HARQ功能)校正的丢失。
(iii)UE和PC之间的连接。
为了处理这三种情况中的一种或多种,在本发明的实施例中可以提供下面的缓冲逻辑:
(i)如下关于图7和图8描述的接收代理处的缓冲逻辑,使得能够保存无序段,直到收到适当的遗失段,从而能够顺序地向高层传送段。另外,需要缓冲来处理丢失的被传送到核心网络(或者UE和PC之间的链路)中的段,尽管这在与代理相关联的TCP栈功能中是固有的,并且这里不再另外考虑。
(ii)也可在发射代理处提供缓冲逻辑,使得当在无线电接入网络中发生未被校正的丢失(例如,由于在RLC中发生的MRW或者重置,由于空中接口中的持续错误),并且向代理逻辑报告该未被校正的丢失时,代理逻辑能够重传丢失的段。
现在参见图7,按照本发明的实施例,示例在同步的TCP代理555、556采用的缓冲逻辑功能700。在图7中,RNC515接收的将通过空中接口725发送的数据段被输入RLC逻辑715中。如果在发送/重发构成该段的PDU的固定次数的尝试之后,RNC515未从对等的RLC实体收到“ACK”,则相同的数据段还被输入发射缓冲器705,以便保存并且潜在地重传给接收实体。
如果SDU中的任意一个PDU达到允许重传RLCPDU的最大次数,那么RLC逻辑715放弃,发送MRW,并丢弃构成该SDU的所有PDU。
当向RNC515指示MRW或重置时,在710发送发射缓冲器705中的适当数据段。当RLC逻辑715收到MRW/重置的指示,并且在720成功发送了段中的所有PDU时,RLC逻辑715通知发射缓冲器705允许删除保存的段(等待潜在地被重传的段)。
在空中接口725的另一侧,UE510包括用于从RNC515接收数据段的RLC逻辑750,并把这些接收的数据段转发给接收缓冲逻辑755。如图所示,UE510还包括TCP代理逻辑555。在本发明的一个实施例中,接收缓冲逻辑755可操作地与重排逻辑(未示出)耦接,并且重排逻辑主要是为了使UE接收缓冲逻辑755被配置成确保向TCP端点的顺序传递而引入的。
图7的体系结构的一个操作基于由接收缓冲逻辑755实现的下一个预期TCP序号的维持。在本发明的一个实施例中,这将如下维持:
i.可根据在三次握手中协商的值来设置TCP序号的初始值。
ii.每当从接收缓冲逻辑755向服务器(或者PC)发出一个段时,下一个预期序号被增加该段中的TCP数据的大小。
本发明的一个例证实施例利用图8中所示形式的接收缓冲逻辑755。该接收缓冲逻辑755的特征可遵循下述规则:
(i)当收到段时,按照下述方式,根据段的SEQ把段放入接收缓冲逻辑755中:
a.如果段与下一个预期序号匹配,那么段被放置在缓冲器810的头部。
b.如果段与下一个预期序号不匹配,那么按SEQ顺序820分别缓存段。
(ii)当段占据缓冲器的头部时,它将在815被发送给服务器(或PC)。
(iii)当缓冲器的头部为空时,将搜索缓冲器的其余部分,以查看是否某一段能够被置于缓冲器的头部(下一个预期段序号已被更新)。
请注意,这种缓冲逻辑功能的操作涉及通过空中接口的TCP序号(或其压缩版本)的传输。再次重申,不同于图3中的体系结构,即使TCP协议实际不工作并且终止于相应的代理,这些实施例也确实通过空中接口传送TCP首部(或者至少压缩的TCP首部)。
发射同步代理还包括向发射TCP端点(位于用户PC或者服务器)提供提前ACK的逻辑。从而,如果RLC实体未能发送段(比方说,由于空中接口中的反复故障),那么同步代理被安排成重传该段(注意,TCP端点显然不能重传段,因为它已被确认)。
图8按照本发明的实施例,进一步示例了在发射侧采用的同步TCP代理的缓冲功能850。进入TCP代理556的每个TCP段855将被保存在发射缓冲逻辑755中。如图8中所示,按照和前面关于图5所述一样的方式来生成TCPACK875。
当存在来自发射RLC实体的表示构成段的所有PDU(注意,一个段可包含多个RLCPDU)已被对等的接收RLC实体确认的指示865时,从该发射缓冲逻辑755除去/删除段870。
然而,如果从发射RLC实体收到表示发生了RLCMRW或RLC重置的指示875时,那么在880,已被RLC放弃的所有段将被重新发送给RLC逻辑。例如,在未从接收RLC实体获得与一个或多个段相对应的多个RLCPDU已被正确接收的确认的情况下,发射实体停止尝试发送与一个或多个段相对应的多个RLCPDU。
现在参见图9,示例了当某一段在核心网络中丢失时协议加速器的操作的例子。网络包括在UE和网络中的同步TCP代理555、556,对于PC505和比如说web服务器520之间的端到端通信来说,TCP代理被配置成允许已知的三次握手(“SYN”,“SYNACK”和“ACK”)透明地通过。
从而,包含在这些TCP消息内的信息随后被用于确保TCP连接最初是PC505和服务器520之间的完全端到端连接。TCP代理观察在三次握手中使用的SEQ号和ACK号,加上协商的任何选项,比如窗口缩放或选择性确认。按照这种方式,TCP代理确保当生成由代理生成的ACK或提前ACK时,它们与TCP连接的实际端点理应生成的ACK(尽可能接近地)相匹配。
从而并且有利的是,只要服务器和PC相连接,则即使TCP实际上不再经过连接的空中接口部分运行,TCP连接仍然好像是端到端链接。
在本例中,我们假定已发生了三次握手,并且代理完全同步。
如图所示,“SEQ1000”和“SEQ2000”从web服务器520发给PC505。我们假定公知的延迟ACK功能在工作,从而一般每隔一个TCP段发送TCPACK。从而,在网络侧代理556看到具有SEQ2000的段之后,生成确认具有SEQ1000的段和具有SEQ2000的段两者的正确接收的TCPACK572。网络侧代理556允许这些段被发送给无线电接入网络中的较低层,随后通过位于UE的代理555把这些段发送给PC505。在570,PC生成ACK。然而,在位于UE的代理555处,该ACK被丢弃,因为段已被代理生成的ACK572确认。
当收到代理生成的ACK572时,服务器再发送两个具有SEQ3000的段905和具有SEQ4000的段910。如本例中所示,具有SEQ3000的段在核心网络中丢失。位于网络的代理按照如由TCP栈的操作定义的正常方式作出反应,并用确认具有SEQ4000的段的接收,但另外指示未收到SEQ3000的TCPACK920进行应答(注意这假定在三次握手中已协商了选择性确认)。
同时,通过位于网络的代理照常发送具有SEQ4000的段,并在点935在位于UE的代理收到具有SEQ4000的段。然而,图9中描述的功能意味着该段不被传给PC505,而是被缓存。
当收到TCPACK920时,服务器在步骤925重传具有SEQ3000的段。具有SEQ3000的段随后通过网络侧代理被发送,并最终到达位于UE的代理逻辑。图9中描述的缓冲/重排逻辑确保具有SEQ3000的段被发送给用户PC,随后是(先前保存的)具有SEQ4000的段。
用户PC随后发送确认段SEQ3000和SEQ4000的接收的响应590。有利的是,维持了段的顺序传递。随后,在UE的代理处丢弃该响应590。
按照和图9类似的方式,图10示例了按照本发明的实施例,当数据段“SEQ3000”1005在RAN中丢失(例如,由于RLC达到RLC协议数据单元(PDU)的最大重传尝试次数并因此放弃整个段)时,同步TCP代理的操作的例子。
位于网络的代理以响应消息1020来确认段SEQ3000和SEQ4000两者。随后,即使位于网络的发射RLC实体成功地发送了具有SEQ4000的段,它也放弃尝试发送具有SEQ3000的段(参见1040)。
代理逻辑被告知对于该段发生了MRW,因此,利用图10中讨论的功能,在消息1030中重传该段。在位于UE的接收侧代理处,这明显地意味着在具有SEQ3000的段之前收到具有SEQ4000的段。然而,和图9中讨论的情况一样,图10中讨论的缓冲和重排逻辑确保在点1035处保存具有SEQ4000的段。
一旦在位于UE的代理处收到具有SEQ3000的段,那么该段就被发送给用户PC,随后是保存的具有SEQ4000的段。
按照与图9和图10相似的方式,图11示例了按照本发明的实施例,当数据段“SEQ3000”1105在UE代理逻辑555和客户端PC505之间丢失时,协议加速器的操作的例子。
这里,与位于UE的代理相关联的标准TCP栈功能确保如果段在位于UE的代理和用户PC之间丢失,并且当PC505在消息1135中发送指示未收到具有SEQ3000的段,但是成功收到具有SEQ4000的段的TCPACK时,代理通过重传具有SEQ3000的段而作出响应。
值得注意的是,如上面提及的例子举例所示,引入位于空中接口两端的代理逻辑的附加逻辑确保了当识别丢失时,在实际的接收端点实际收到段之前,从代理向发送者返回TCPACK。
尽管本发明的一个实施例描述了可把位于空中接口的两端的代理逻辑用于3GPP网络的原理,但在其它例子中,本发明的原理适用于采用TCP的任何其它通信系统,比如未来的3GPP长期演进(LTE)系统。
本发明的实施例目的在于提供下述优点中的一个或多个:
(i)使用RLC用于快速重传丢失的分组,而不是在重传功能方面依赖于TCP。
(ii)位于空中接口两端的代理逻辑的使用消除了发射和接收ACK、NACK同步消息的需要。
图12示例了可用于实现本发明的实施例中的处理功能的典型计算系统1200。这种计算系统可以用在节点B(特别地,节点B的调度器)、诸如例如GGSN的核心网络部件、和RNC中。本领域的技术人员也将认识到如何利用其它计算机系统或架构来实现本发明。例如,计算系统1200可代表桌上型、膝上型或笔记本计算机、手持式计算装置(PDA、蜂窝电话机、掌上型电脑等)、主机、服务器、客户机,或者对于给定应用或环境来说合意或适当的任意其它类型的专用或通用计算装置。计算系统1200可包括一个或多个处理器,比如处理器1204。处理器1204可以利用通用或专用处理引擎,比如微处理器、微控制器或其它控制逻辑来实现。在本例中,处理器1204与总线1202或其它通信介质相连接。
计算系统1200还可包括主存储器1208,比如随机访问存储器(RAM)或其它动态存储器,用于保存信息和由处理器1204执行的指令。主存储器1208还可用于在由处理器1204执行的指令的执行过程中保存临时变量或其它中间信息。同样地,计算系统1200可包括与总线1202耦接的只读存储器(ROM)或其它静态存储装置,用于为处理器1204保存静态信息和指令。
计算系统1200还可包括信息存储系统1210,例如,信息存储系统1210可包括例如介质驱动器1212和可拆卸存储器接口1220。介质驱动器1212可包括支持固定或可拆卸存储介质的驱动器或其它机构,比如硬盘驱动器、软盘驱动器、磁带驱动器、光盘驱动器、压缩光盘(CD)或数字视频驱动器(DVD)读取或写入驱动器(R或RW),或者其它可拆卸或固定的介质驱动器。例如,存储介质1218可包括例如硬盘、软盘、磁带、光盘、CD或DVD、或者其它由介质驱动器1212读取和写入的固定或可拆卸介质。如这些例子举例所示,存储介质1218可包括其中保存有特定计算机软件或数据的计算机可读存储介质。
在备选实施例中,信息存储系统1210可包括允许计算机程序或者其它指令或数据被载入计算系统1200中的其它类似组件。例如,这样的组件可包括可拆卸存储单元1222和接口1220,比如程序盒式存储器和盒式存储器接口、可拆卸存储器(例如,闪速存储器或者其它可拆卸存储器模块)和存储器插槽、以及允许软件和数据从可拆卸存储单元1218转移到计算系统1200的其它可拆卸存储单元1222和接口1220。
计算系统1200还可包括通信接口1224。通信接口1224可被用于允许在计算系统1200和外部装置之间传送软件和数据。通信接口1224的例子可包括调制解调器、网络接口(比如以太网或其它NIC卡)、通信端口(诸如例如,通用串行总线(USB)端口)、PCMCIA插槽和卡等等。经由通信接口1224传送的软件和数据呈信号的形式,所述信号可以是能够被通信接口1224接收的电子信号、电磁信号、光信号或者其它信号。这些信号经由通道1228被提供给通信接口1224。通道1228可传送信号,并且可以利用无线介质、导线或电缆、光纤、或者其它通信介质来实现。通道的一些例子包括:电话线、蜂窝电话链路、RF链路、网络接口、局域网或广域网、和其它通信通道。
在本文中,术语“计算机程序产品”、“计算机可读介质”等通常可被用于指代诸如例如存储器1208、存储装置1218或存储单元1222的介质。这些和其它形式的计算机可读介质可保存供处理器1204使用的一个或多个指令,以使处理器执行指定的操作。当被执行时,通常被称为“计算机程序代码”(所述计算机程序代码可按计算机程序或其它分组的形式分类)的这种指令使计算系统1200能够实现本发明的实施例的功能。注意,该代码可直接使处理器执行指定操作,经编译使处理器执行指定操作,和/或与其它软件、硬件和/或固件元件(例如,执行标准函数的库)相结合地使处理器执行指定操作。
在利用软件实现各个部件的实施例中,软件可保存在计算机可读介质中,并利用例如可拆卸存储器驱动器1212、驱动器1212或通信接口1224被载入计算系统1200中。当由处理器1204执行时,控制逻辑(本例中,软件指令或计算机程序代码)使处理器1204执行这里所述的本发明的功能。
要认识到,为了清楚起见,上面的说明关于不同的功能单元和处理器描述了本发明的实施例。然而,在不脱离本发明的情况下,显然可以使用功能性在不同的功能单元、处理器或域之间的任何适当分布。例如,被示例为由分离的处理器或控制器执行的功能可由同一处理器或控制器执行。从而,对具体功能单元的引用只应被看作对提供所述功能的适当装置的引用,而不是表示严格的逻辑或物理结构或组织。
可用任何适当的形式,包括硬件、软件、固件或它们的任意组合来实现本发明的各个方面。可选的是,本发明至少可被部分实现成在一个或多个数据处理器和/或数字信号处理器上运行的计算机软件。从而,可按照任何适当的方式在物理上、功能上和逻辑上实现本发明的实施例的部件和组件。实际上,可用单一单元、多个单元、或者其它功能单元的一部分来实现功能。
尽管结合实施例说明了本发明,但本发明并不局限于这里陈述的具体形式。相反,本发明的范围仅由权利要求限定。另外,尽管某一特征看来是结合特定实施例说明的,但本领域的技术人员将认识到可按照本发明组合所描述的实施例的各个特征。
此外,尽管是分别列举的,但多个装置、部件或方法步骤可用例如单个单元或处理器实现。另外,尽管各个特征被包括在不同的权利要求中,但它们也可被有利地组合,并且包括在不同权利要求中并不意味特征的组合不可行和/或不利。并且,某一特征包含在一种类型的权利要求中并不意味着局限于这种类型,相反,该特征同样可酌情适用于其它权利要求类型。
此外,各个特征在权利要求中的顺序并不意味必须按其实现所述各个特征的任何特定顺序,具体地讲,方法权利要求中的各个步骤的顺序并不意味必须按该顺序执行各个步骤。相反,可按照任何适当的顺序执行各个步骤。另外,单数引用并不排除复数。从而,对“一个”、“第一”、“第二”等的引用并不排除复数。
Claims (13)
1.一种位于第一收发机实体和第二收发机实体之间的高等待时间通信链路的一端的通信实体(510,520),其中,所述高等待时间通信链路具有底层重传方案,所述通信实体包括:
用于支持第一收发机实体和第二收发机实体之间的传输控制协议(TCP)通信的通信逻辑,
用于检查由TCP端点发送的接收的段的代理逻辑,
其中,所述代理逻辑操作用于对于所述代理逻辑所观察到的所有TCP连接,透明地允许包含三次握手的多个同步段经由所述代理逻辑在第一收发机实体和第二收发机实体之间传递,
其中,所述通信实体(510,520)特征在于,所述代理逻辑进一步操作用于响应于识别出接收的段确实包含数据,根据所述多个同步段和接收的段,本地生成至少一个确认(ACK)消息,以允许接收的段在第一收发机实体和第二收发机实体之间传递,并在接收来自所述第二收发机实体的通信之前向所述TCP端点发送所述至少一个ACK消息,
其中,所述代理逻辑进一步操作用于拒绝不包含数据的至少一个后续接收的段,其中被拒绝的段是TCPACK消息和TCP否定确认(NACK)消息之一,
其中,所述代理逻辑进一步操作用于允许通过所述高等待时间通信链路发送的至少一个后续接收的数据段经由所述代理逻辑传递给所述TCP端点,而不跨越所述高等待时间通信链路发送任何ACK消息,
其中,所述三次握手包含:
同步指示;
同步确认指示;和
确认指示。
2.按照权利要求1所述的通信实体(510,520),其中,所述代理逻辑进一步操作用于当后续接收的段包含数据时进行再同步,其中,所述再同步基于包含在后续接收的段中的序号。
3.按照权利要求1所述的通信实体(510,520),其中,所述高等待时间通信链路是无线数据通信系统的空中接口。
4.按照权利要求1所述的通信实体(510,520),其中,代理逻辑进一步包括无线电链路控制逻辑,用于通过确定下述至少之一何时发生来识别数据段的丢失:
移动接收窗口(MRW);或
重置。
5.按照权利要求4所述的通信实体(510,520),其中,所述无线电链路控制逻辑可操作地与缓冲逻辑相耦接,并且所述缓冲逻辑操作用于执行包含下述的组中的至少一个:
保存接收的数据段,直到无线电链路控制逻辑向缓冲逻辑指示所有数据段已被无线电链路控制RLC确认;
响应于来自无线电链路控制逻辑的所述指示,从缓冲逻辑的缓冲器中丢弃被确认的数据。
6.按照权利要求4所述的通信实体(510,520),其中,所述通信实体位于:
所述高等待时间通信链路的接收侧,并且当由于无线电链路控制逻辑所宣称的MRW或重置未成功收到数据段的所有序号时,无线电链路控制逻辑操作用于请求重传遗失的数据;或
所述高等待时间通信链路的发射侧,并且所述无线电链路控制逻辑操作用于识别通过高等待时间通信链路发送的至少一个数据段已受到MRW或重置,从而未在接收RLC对等实体处被收到,并且操作用于响应于此,启动从缓冲逻辑重传未被确认的RLC数据段。
7.按照权利要求1所述的通信实体(510,520),其中,所述代理逻辑操作用于执行包含下述的组中的至少一个:
本地生成利用同步段被正确同步的否定TCP确认(NACK);
根据窗口缩放,接收在ACK或NACK消息中用信号通知的awnd值;
根据缓冲器占用率来计算awnd值;
响应于代理逻辑确定TCPACK不包含数据,终止TCPACK,并且不通过高等待时间通信链路发送TCPACK。
8.按照权利要求5所述的通信实体(510,520),其中,所述缓冲逻辑包含发射缓冲逻辑和接收缓冲逻辑,所述发射缓冲逻辑和接收缓冲逻辑操作用于观察下述至少之一在多个同步段内的维持:
序号(SEQ);
确认(ACK)号;
窗口缩放;
选择性确认;或者
时间戳。
9.按照权利要求8所述的通信实体(510,520),其中,所述代理逻辑操作用于根据观察到的在没有代理的情况下接收实体理应生成的下述至少之一的所述维持,生成提前ACK消息:
序号(SEQ);
确认(ACK)号;
窗口缩放;
选择性确认;或者
时间戳。
10.按照权利要求1所述的通信实体(510,520),其中,所述通信实体是下述之一:
用户设备(UE);或
网络实体;并且
所述通信逻辑操作用于支持第三代合作伙伴计划(3GPP)数据通信系统内的TCP通信。
11.一种位于第一收发机实体和第二收发机实体之间的高等待时间通信链路的一端的通信实体(510,520)中的用于支持传输控制协议TCP通信的代理装置,其中,所述高等待时间通信链路具有底层重传方案,所述代理装置包含:
用于检查由TCP端点发送的接收的段的检查逻辑,其中,所述检查逻辑操作用于对于所述代理装置所观察到的所有TCP连接,透明地允许包含三次握手的多个同步段经由所述代理装置在第一收发机实体和第二收发机实体之间传递;
其中,所述代理装置特征在于:
响应于识别出接收的段确实包含数据,根据多个同步段至少之一和所述接收的段,生成至少一个确认消息,以允许接收的段在第一收发机实体和第二收发机实体之间传递的确认逻辑;以及
在接收来自所述第二收发机实体的通信之前向所述TCP端点发送所述至少一个确认消息的发射机,
其中,所述代理装置进一步操作用于拒绝不包含数据的至少一个后续接收的段,其中被拒绝的段是TCPACK消息和TCP否定确认(NACK)消息之一,
其中,所述代理装置进一步操作用于允许通过所述高等待时间通信链路发送的至少一个后续接收的数据段经由所述代理装置传递给所述TCP端点,而不跨越所述高等待时间通信链路发送任何ACK消息,
其中,所述三次握手包含:
同步指示;
同步确认指示;和
确认指示。
12.一种由位于数据通信系统中的第一收发机实体和第二收发机实体之间的高等待时间通信链路的一端的通信实体提供传输控制协议TCP通信的方法,其中,所述高等待时间通信链路具有底层重传方案,所述方法包括:
在所述通信实体处:
由TCP代理逻辑检查由TCP端点发送的接收的段;
对于所述代理逻辑所观察到的所有TCP连接,透明地允许包含三次握手的多个同步段经由代理逻辑在第一收发机实体和第二收发机实体之间传递;
响应于识别出接收的段确实包含数据,由TCP代理逻辑根据多个同步段至少之一和接收的段,本地生成至少一个确认消息,以允许接收的段在第一收发机实体和第二收发机实体之间传递;以及
在接收来自所述第二收发机实体的通信之前向所述TCP端点发送所述至少一个确认消息;
其中,所述方法进一步包括:
由TCP代理逻辑拒绝不包含数据的至少一个后续接收的段,其中被拒绝的段是TCPACK消息和TCP否定确认(NACK)消息之一,
由TCP代理逻辑允许通过所述高等待时间通信链路发送的至少一个后续接收的数据段经由所述代理逻辑传递给所述TCP端点,而不跨越所述高等待时间通信链路发送任何ACK消息,
其中,所述三次握手包含:
同步指示;
同步确认指示;和
确认指示。
13.一种数据通信系统,所述数据通信系统包括位于高等待时间通信链路的一端,并且支持第一收发机实体和第二收发机实体之间的传输控制协议TCP通信的通信实体,其中,所述高等待时间通信链路具有底层重传方案,所述数据通信系统包含:
位于通信实体中的代理逻辑,其中,所述代理逻辑操作用于检查由TCP端点发送的接收的段,并且对于所述代理逻辑所观察到的所有TCP连接,透明地允许包含三次握手的多个同步段经由代理逻辑在第一收发机实体和第二收发机实体之间传递,
其中,所述数据通信系统特征在于,所述代理逻辑进一步操作用于响应于识别出接收的段确实包含数据,根据多个同步段至少之一和所述接收的段,本地生成至少一个确认消息,以允许接收的段在第一收发机实体和第二收发机实体之间传递,并在接收来自所述第二收发机实体的通信之前向所述TCP端点发送所述至少一个确认消息,
其中,所述代理逻辑进一步操作用于拒绝不包含数据的至少一个后续接收的段,其中被拒绝的段是TCPACK消息和TCP否定确认(NACK)消息之一,
其中,所述代理逻辑进一步操作用于允许通过所述高等待时间通信链路发送的至少一个后续接收的数据段经由所述代理逻辑传递给所述TCP端点,而不跨越所述高等待时间通信链路发送任何ACK消息,
其中,所述三次握手包含:
同步指示;
同步确认指示;和
确认指示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/030,185 US8320250B2 (en) | 2008-02-12 | 2008-02-12 | Method and arrangement for TCP flow control |
US12/030,185 | 2008-02-12 | ||
PCT/EP2009/051195 WO2009101004A1 (en) | 2008-02-12 | 2009-02-03 | Method and arrangement for tcp flow control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102007812A CN102007812A (zh) | 2011-04-06 |
CN102007812B true CN102007812B (zh) | 2015-11-25 |
Family
ID=40718508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980104957.8A Active CN102007812B (zh) | 2008-02-12 | 2009-02-03 | Tcp流控制的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8320250B2 (zh) |
EP (1) | EP2253176B1 (zh) |
JP (1) | JP5523350B2 (zh) |
KR (1) | KR20100127760A (zh) |
CN (1) | CN102007812B (zh) |
WO (1) | WO2009101004A1 (zh) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009020413A1 (en) * | 2007-06-14 | 2009-02-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Data block size management in a communication system utilizing hybrid automatic repeat requests with soft combining |
US9161378B2 (en) | 2008-06-23 | 2015-10-13 | Qualcomm Incorporated | Concentrator for multiplexing access point to wireless network connections |
CN101335603B (zh) * | 2008-07-17 | 2011-03-30 | 华为技术有限公司 | 数据传输方法和装置 |
US9769149B1 (en) * | 2009-07-02 | 2017-09-19 | Sonicwall Inc. | Proxy-less secure sockets layer (SSL) data inspection |
US9455897B2 (en) | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
EP2649858B1 (en) | 2010-12-07 | 2018-09-19 | Telefonaktiebolaget LM Ericsson (publ) | Method for enabling traffic acceleration in a mobile telecommunication network |
US8675474B2 (en) * | 2010-12-10 | 2014-03-18 | Htc Corporation | Method and system for handling error in LPP messages exchange |
EP3518504B1 (en) * | 2010-12-30 | 2020-09-16 | Peerapp, Ltd. | Methods and systems for transmission of data over computer networks |
CN107094176B (zh) | 2010-12-30 | 2021-07-30 | 皮尔爱普有限公司 | 用于对计算机网络上的数据通信进行缓存的方法和系统 |
US8767625B2 (en) * | 2011-03-18 | 2014-07-01 | Qualcomm Incorporated | Method for concurrent bandwidth aggregation using a second path on a second wireless network that utilizes the packet core network of a first path on a first wireless network |
US9451415B2 (en) | 2011-06-17 | 2016-09-20 | Qualcomm Incorporated | Cooperative data transport |
US9264353B2 (en) * | 2011-09-22 | 2016-02-16 | Qualcomm Incorporated | Dynamic subflow control for a multipath transport connection in a wireless communication network |
US20130250853A1 (en) * | 2012-03-20 | 2013-09-26 | Qualcomm Incorporated | Methods and apparatuses to improve round trip time in transfer control protocol using accelerated acknowledgement messages |
US9264365B2 (en) * | 2012-07-31 | 2016-02-16 | International Business Machines Corporation | Split transport control protocol (TCP) flow control management in a cellular broadband network |
WO2014037487A1 (en) * | 2012-09-07 | 2014-03-13 | Nokia Siemens Networks Oy | Mechanism and apparatus to perform cooperative resource management in wireless networks |
US9143454B2 (en) * | 2012-10-03 | 2015-09-22 | LiveQoS Inc. | System and method for a TCP mapper |
US8711690B2 (en) | 2012-10-03 | 2014-04-29 | LiveQoS Inc. | System and method for a TCP mapper |
CN104137507B (zh) * | 2013-01-31 | 2018-11-16 | 华为技术有限公司 | 反馈丢包的消息处理方法及装置 |
US10326569B2 (en) | 2013-02-12 | 2019-06-18 | Altiostar Networks, Inc. | Inter-site carrier aggregation with physical uplink control channel monitoring |
US10009803B2 (en) | 2013-02-12 | 2018-06-26 | Altiostar Networks, Inc. | Long term evolution radio access network |
JP6539588B2 (ja) | 2013-02-21 | 2019-07-03 | アルティオスター ネットワークス, インコーポレイテッド | 基地局におけるフレームタイプ検出に基づく複数のデータパケットの協働送信のためのシステム及び方法 |
JP6335198B2 (ja) | 2013-02-21 | 2018-05-30 | アルティオスター ネットワークス, インコーポレイテッド | 基地局におけるアプリケーション検出に基づく複数のデータパケットのスケジューリングのためのシステム及び方法 |
WO2014160718A1 (en) | 2013-03-25 | 2014-10-02 | Altiostar Networks, Inc. | Optimization of a backhaul connection in a mobile communications network |
EP2979408B1 (en) | 2013-03-25 | 2017-09-27 | Altiostar Networks, Inc. | Systems and methods for scheduling of data packets based on delay tolerance of applications |
US10069602B2 (en) * | 2013-03-25 | 2018-09-04 | Altiostar Networks, Inc. | Transmission control protocol proxy in long term evolution radio access network |
CN104641719B (zh) * | 2013-05-20 | 2018-07-03 | 华为技术有限公司 | 一种确认报文发送方法及其设备 |
US9832133B2 (en) | 2013-05-31 | 2017-11-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Network node for controlling transport of data in a wireless communication network |
CN104219215B (zh) * | 2013-06-05 | 2019-02-26 | 深圳市腾讯计算机系统有限公司 | 一种tcp连接的建立方法、装置、终端、服务器及系统 |
US9661657B2 (en) * | 2013-11-27 | 2017-05-23 | Intel Corporation | TCP traffic adaptation in wireless systems |
GB2523394B (en) * | 2014-02-25 | 2020-10-28 | Mclaren Applied Tech Ltd | Vehicle data communication |
US9397939B2 (en) * | 2014-06-24 | 2016-07-19 | International Business Machines Corporation | Hybrid approach for performance enhancing proxies |
KR102176653B1 (ko) * | 2014-09-04 | 2020-11-09 | 삼성전자주식회사 | 무선 통신 시스템에서 전송 제어를 위한 방법 및 장치 |
US10004019B2 (en) | 2015-09-08 | 2018-06-19 | Parallel Wireless, Inc. | RAN for multimedia delivery |
US9967077B2 (en) | 2015-10-22 | 2018-05-08 | Harris Corporation | Communications device serving as transmission control protocol (TCP) proxy |
WO2017177224A1 (en) | 2016-04-08 | 2017-10-12 | Altiostar Networks, Inc. | Wireless data priority services |
US10791481B2 (en) | 2016-04-08 | 2020-09-29 | Altiostar Networks, Inc. | Dual connectivity |
US10624034B2 (en) | 2016-12-13 | 2020-04-14 | Altiostar Networks, Inc. | Power control in wireless communications |
WO2018202934A1 (en) * | 2017-05-02 | 2018-11-08 | Airo Finland Oy | Elimination of latency in a communication channel |
US11240353B2 (en) | 2017-08-24 | 2022-02-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Data transmission in wireless communications networks |
US10623980B1 (en) | 2018-03-12 | 2020-04-14 | Sprint Communications Company L.P. | Transmission control protocol (TCP) based control of a wireless user device |
CN110995750B (zh) * | 2019-12-18 | 2021-09-28 | 展讯通信(上海)有限公司 | 终端设备 |
CN111641480B (zh) * | 2020-05-22 | 2023-08-25 | 广东小天才科技有限公司 | 一种tcp重传次数的控制方法及终端设备、存储介质 |
CN114844958B (zh) * | 2022-04-21 | 2023-06-23 | 京信网络系统股份有限公司 | Rlc层数据传输方法、装置、基站和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1582583A (zh) * | 2001-02-15 | 2005-02-16 | 讯捷通讯公司 | 用于无线接口上tcp性能改善的双重代理方法 |
CN1613233A (zh) * | 2001-11-15 | 2005-05-04 | 艾利森电话股份有限公司 | 用于重传的方法和系统 |
CN101119183A (zh) * | 2007-09-06 | 2008-02-06 | 上海华为技术有限公司 | 重传控制方法及传输设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2576780B2 (ja) * | 1993-12-17 | 1997-01-29 | 日本電気株式会社 | プロトコル終端方式 |
EP1393497B1 (en) * | 2001-05-18 | 2006-11-02 | Bytemobile, Inc. | Dual mode service platform within network communication system |
WO2003069870A2 (en) | 2002-02-15 | 2003-08-21 | Koninklijke Philips Electronics N.V. | Modifications to tcp/ip for broadcast or wireless networks |
US7058058B2 (en) * | 2003-11-05 | 2006-06-06 | Juniper Networks, Inc. | Transparent optimization for transmission control protocol initial session establishment |
EP1959693A1 (en) | 2007-02-19 | 2008-08-20 | Siemens Networks S.p.A. | Cross-layer error recovery optimisation in wireless systems |
US7743160B2 (en) * | 2007-03-29 | 2010-06-22 | Blue Coat Systems, Inc. | System and method of delaying connection acceptance to support connection request processing at layer-7 |
-
2008
- 2008-02-12 US US12/030,185 patent/US8320250B2/en active Active
-
2009
- 2009-02-03 WO PCT/EP2009/051195 patent/WO2009101004A1/en active Application Filing
- 2009-02-03 EP EP09710296.6A patent/EP2253176B1/en active Active
- 2009-02-03 KR KR1020107018547A patent/KR20100127760A/ko not_active Application Discontinuation
- 2009-02-03 JP JP2010545445A patent/JP5523350B2/ja active Active
- 2009-02-03 CN CN200980104957.8A patent/CN102007812B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1582583A (zh) * | 2001-02-15 | 2005-02-16 | 讯捷通讯公司 | 用于无线接口上tcp性能改善的双重代理方法 |
CN1613233A (zh) * | 2001-11-15 | 2005-05-04 | 艾利森电话股份有限公司 | 用于重传的方法和系统 |
CN101119183A (zh) * | 2007-09-06 | 2008-02-06 | 上海华为技术有限公司 | 重传控制方法及传输设备 |
Non-Patent Citations (1)
Title |
---|
"Cross-Layer Error Control Optimization in 3G LTE";Kliazovich,D.et.al:;《Global Telecommunications Conference,2007.GLOBECOM"07.IEEE》;20071231;第2527页第1栏第1-4段,第7段,2527页第2栏第7段-第2528页第1栏第4段,附图3-4 * |
Also Published As
Publication number | Publication date |
---|---|
JP2011515032A (ja) | 2011-05-12 |
JP5523350B2 (ja) | 2014-06-18 |
KR20100127760A (ko) | 2010-12-06 |
US20090201813A1 (en) | 2009-08-13 |
EP2253176B1 (en) | 2017-04-05 |
EP2253176A1 (en) | 2010-11-24 |
US8320250B2 (en) | 2012-11-27 |
CN102007812A (zh) | 2011-04-06 |
WO2009101004A1 (en) | 2009-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102007812B (zh) | Tcp流控制的方法和设备 | |
US9860915B2 (en) | Apparatus and method for moving a receive window in a radio access network | |
US7965674B2 (en) | Sub-segment based transport layer protocol for wireless medium | |
JP5342012B2 (ja) | ハンドオーバ性能を改良する装置および方法 | |
US8588784B2 (en) | Mobile communication system, wireless base station and hand over reconnection method for use therewith including an accumulation portion for holding data | |
EP3443697B1 (en) | Apparatuses and methods for using arq processes in a relay device | |
CN111543079A (zh) | 无线链路控制(rlc)确认模式(am)数据接收 | |
US8769137B2 (en) | Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP) | |
CN102201901A (zh) | 数据重传方法及装置 | |
CN107888341B (zh) | 一种数据传输方法及装置 | |
WO2021064656A1 (en) | User plane in integrated access and backhaul |
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: NVIDIA CORP. Free format text: FORMER OWNER: IP WIRELESS INC. Effective date: 20130305 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20130305 Address after: American California Applicant after: Nvidia Corp. Address before: American California Applicant before: IP Wireless Inc. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |