用于蜂窝电信的链路层确认和重发的制作方法

文档序号:7612578阅读:255来源:国知局
专利名称:用于蜂窝电信的链路层确认和重发的制作方法
背景1.发明领域本发明涉及移动电信,具体地涉及用于较高层协议,诸如传输控制协议/互联网协议(TCP/IP),的分组交换的数据的接收确认和重发。
2.相关技术和其它考虑最初商业移动或蜂窝电信系统主要应用于话音呼叫,例如,电路交换连接。然而,近年来,蜂窝电信系统已应用于数据传输(分组交换的数据),用户设备采取不同于移动电话的形式。例如,用户设备,诸如移动膝上型电脑,可以通过无线链路发送数据,以及通过蜂窝电信系统发送到有线计算机网络,诸如因特网。
蜂窝电信系统利用在(移动)用户设备单元与基站(BS)之间的无线链路(例如,空中接口)。基站具有发送机和接收机,用于与多个用户设备单元进行无线连接。一个或多个基站(例如通过地面线路或微波)被连接到无线网控制器(RNC)[在某些网络中也被称为基站控制器(BSC)]以及由该无线网控制器管理。无线网控制器又通过控制节点被连接到核心电信网。
控制节点可以取各种形式,这取决于控制节点被连接到的业务或网络的类型。对于连接到面向连接的、电路交换网络,诸如PSTN和/或ISDN,控制节点可以是移动交换中心(MSC)。为了连接到分组交换数据业务,诸如互联网(举例来说),控制节点可以是网关数据支持节点,通过它进行连接到有线数据网,并且或许是一个或多个服务的节点。被称为通用分组无线业务(GPRS)[在欧洲在全球移动通信系统(GSM)语境中提供]的特定的分组数据业务的例子由以下的专利申请提供(这些专利申请在此引入,以供参考)1998年4月30日提交的、题目为“DynamicAllocation of Packet Data Channels(分组数据信道的动态分配)”的美国专利申请,序列号No.09/069,969;1998年4月30日提交的、题目为“Allocation of Channels for Packet Data Services(用于分组数据业务的信道的分配)”的美国专利申请,序列号No.09/069,939;以及1998年6月4日提交的、题目为“Data Packet Radio Service WithEnhanced Mobility Management(具有增强的移动性管理的数据分组无线业务)”的美国专利申请,序列号No.09/090,186。
如上所述,分组交换数据业务可包括互联网业务。在互联网连接方面,传输控制协议/互联网协议(TCP/IP)得到广泛的接受。虽然二者通常一起起作用,但互联网协议(/IP)和传输控制协议(TCP)实际上是分开的协议,TCP比IP(在网络层上)处在更高的层上(传输层)。
TCP有多种实施方案,每个具有不同的特性,RENO实施方案或许是最通用的。通常,TCP支持各种各样的更高层协议(ULP)。ULP可以通过TCP发送连续的数据流。TCP把数据流分解为封装的分段,每个分段包括适当的寻址和控制信息。TCP把分段传送到网络层(例如IP)。
IP层把TCP分段包入IP分组或互联网数据报中。正是互联网数据报使得能够路由到其它网络的源和目的地TCP。因此,IP用来例如组装IP数据报,以及使得IP数据报能够在被包括在IP数据报报头中的IP地址之间(例如在主机之间)路由。
TCP提供IP所缺乏的可靠性。具体地,TCP实行数据报的分段和重新组装功能,以便匹配帧的尺寸和数据链路层协议。另外,TCP执行附加的功能,诸如在主机内的寻址,丢失分组的重发,和流量控制。底层支持TCP/IP的一般概念可以从多种出版物得到了解,包括Freeman,“Telecommunication System Engineering(电信系统工程)”,ThirdEdition,John Wiley&Sons,Inc.,(1996),以及W.R.Stevens,“TCP/IPIllustrated,Volume IThe Protocol(TCP/IP说明第一卷协议)”(Addison-Wesley)。
在传统的有线链路上出现因为误码造成的数据丢失,但这样的丢失是非常少的,以致基本上是不存在的(例如,在铜线上传输为10-6量级,以及在光纤上为10-9量级)。通过传统的有线链路主干的这样的丢失几乎只来源于路由器中缓冲器的溢出。TCP被设计来对抗这些情形,因此,分组丢失被认为是拥塞的网络。在检测到丢失后,不同的TCP实施方案调用不同的拥塞避免机制,但通常所有这样的拥塞避免机制都降低传输速度。
在空中接口上提供了某些代码型错误恢复能力(例如,卷积编码),但这样的代码型错误恢复不能对抗大的错误。在空中接口上,错误恢复是通过本地重发协议本地地执行的,其中在发送缓冲器中所有的数据被高速缓存,直至它被成功地传送到接收机为止。实际上,任何丢失的数据在TCP有机会检测丢失之前,通过本地重发协议快速地发送。通过本地地重发数据,可以进行更快速的恢复,最重要地,TCP将不检测丢失,并且因此将不调用TCP拥塞避免机制(除非在不同于空中接口的某些场合下数据被丢失)。
因此,使用本地重发协议的任务是如何快速地了解数据被丢失,以及如何重发丢失的数据。传统上,在本地恢复时利用两种主要的策略(1)TCP分组的传输层恢复,和(2)被称为分段或帧的更小的数据单元的链路层恢复(例如,自动重复请求[ARQ])。在两种通用的策略中,通常宁愿采用ARQ型策略。
链路层恢复重发协议的两个例子是SSCOP(参阅ITU-T建议Q.2110,1994)和无线链路控制(RLC)。SSCOP和RLC协议是类似的,RLC是SSCOP的改进的变例。

图13A显示SSCOP运行的情景,其中分段S213A被丢失。下一个分段S313A的接收触发一个否定确认消息(USTAT(S2))。不幸地,如图13A所示,否定确认消息(USTAT(S2))被丢失。而且,分段S513A也被丢失。所以,分段S613A的发送触发一个否定确认消息(USTAT(S5)),以便恢复分段S513A。否定确认消息(USTAT(S5))成功地传递到发送机,然后它重发分段S513A。在这个接合点,分段S213A仍旧没有被恢复。当由SSCOP维持的轮询定时器期满时,通过在分段S913A的报头中设置一个轮询比特,轮询消息被发送到接收机。在接收到轮询消息S913A后,接收机检验它的接收缓冲器,并通知分段S213A丢失。在检测到分段S213A丢失后,发送机发送一个STAT消息,具体地是STAT(S2)。STAT消息是一个可选择的确认消息,它可建议在接收缓冲器中的一个或多个分段的间隙。在接收到STAT(S2)消息后,分段S213A被重发。
图13B显示RLC运行的类似的情景,其中分段S213B被丢失。下一个S313B的接收触发否定确认消息(USTAT(S2))的发送以及EPC定时器(估计的PDU计数器)的启动,以便保护USTAT消息不丢失。但来自接收机的USTAT(S2)消息被丢失,正如来自发送机的分段S513A那样。EPC定时器在从发送USTAT(S2)消息起计数的第三分段中期满,由此触发(USTAT(S2))消息的重发。虽然分段S513B也已丢失,但在分段S213B的恢复完成之前,不能开始分段S513B的恢复。所以,EPC定时器被停止,以及被重新启动(为了恢复分段S213B)。当USTAT(S2)消息成功以及接收到分段S213B时,EPC定时器被停止,以及检查接收缓冲器。在这时,分段S513B被告知丢失,以及以USTAT(S5)消息开始恢复。分段S513B的恢复成功,以及数据分组的传输可以继续进行。
这两个示例的链路层恢复重发协议(SSCOP和RTL)可以相当好地管理小量的丢失,但随着误块率(BLER)增长,由于填充的发送窗口造成的慢的重发和发送失速,这两个协议是不合适的。
所以,所需要的东西和本发明的目的是链路层恢复技术,它即使在差的传输条件期间,也保持良好的传输利用。
发明概要移动电信系统包括移动用户设备单元,以及至少一个节点,通过这个节点在用户设备单元与数据网之间建立分组交换数据会话。节点和用户设备单元中的一个用作为数据分组的分段的发送机,以及节点和用户设备单元中的另一个用作为数据分组的分段的接收机。如果第一个丢失的分段不重新发送和在定时的间隔期间被成功地接收,以及如果第二个丢失的分段在定时的间隔期间也丢失,则在定时的间隔期满后,接收机发送确认消息给发送机,请求重发第一个丢失的分段和第二个丢失的分段。
系统的确认消息具有独特的格式,它包括开始序列号字段和可变尺寸的位图。起始序列号(ssn)被映射为接收缓冲器中第一个未接收的分组;在位图中的第一个比特映射为具有的序列号等于起始序列号的分段。在位图中的比特被设置为第一预定数值,表示接收到多个分段的各个分段,或第二预定数值,表示未接收到多个分段的各个分段。在不同的实施例中,确认消息的位图可以具有或不具有停止比特。当使用停止比特时,被设置为第二预定值的最后的比特描绘位图的信息子集的结尾。
发送机具有轮询定时器,它按照新颖的定时器运行规则被启动/重新启动和被取消。具体地,在出现以下中的任何一个后,启动/重新启动发送机中的轮询定时器(1)从发送机发送到接收机的分段的序列号大于或等于V(a)+MaxWin-MaxP,其中V(a)是在发送窗口中第一分段的序列号,MaxWin是发送窗口的尺寸,以及MaxP是小于MaxWin的预定的整数;(2)如果轮询定时器已在运行,则要把一个或多个分段从发送机重发到接收机;以及(3)要被发送的分段是缓冲器中最后的分段。整数MaxP被动态地确定,以及可取决于(1)允许的多个接连丢失的确认消息和(2)否定确认消息的频率两者之一。用于轮询定时器的超时数值也被动态地确定。
附图简述通过如附图所示的优选实施例的、以下的更详细的说明,将明白本发明的上述和其它的目的、特性和优点,图中参考字符是指各个图上相同的部分。附图并不一定是按比例的,而是把重点放在说明本发明的原理上。
图1是利用本发明的电信系统的实施例的示意图。
图2是显示参加图1的电信系统的移动用户设备单元中提供的功能性的图。
图3是被包括在图2的移动用户设备单元中的硬件部件的示意图。
图4是按照本发明的实施例的无线网控制器(RNC)节点的示意图。
图5是按照本发明的实施例的基站(BS)节点的示意图。
图6是按照本发明的实施例的重发/确认单元的示意图。
图7A是显示在图6重发/确认单元的发送机一侧的运行的状态图。
图7B是显示在图6重发/确认单元的接收机一侧的运行的状态图。
图8A-8C是显示对于三种各自的轮询定时器启动/重新启动条件的不同的情景的图。
图9A是按照本发明的确认消息CSACK的第一示例格式的图。
图9B是按照本发明的确认消息CSACK的第二示例格式的图。
图10A-10D是显示按照本发明的模式的分段发送、确认、和分段重发的不同情景的图。
图11是显示在按照本发明的模式、确定参量MaxP的自适应控制中涉及的步骤的图。
图12A和12B是显示在按照本发明的模式、确定轮询定时器和接收机定时器的超时数值的自适应控制中涉及步骤的图。
图13A和13B是分别显示按照现有技术SSCOP和RLC协议的分段发送、确认和分段重发的不同情景的图。
图14是显示可以如何按照允许的、接连丢失的肯定确认消息的数目设置MaxP的矩阵。
附图详细说明在以下的说明中,为了解释而不是限制,阐述了特定的细节,诸如特定的结构,接口,技术等等,以便提供对本发明的透彻的了解。然而,本领域技术人员将会看到,本发明可以在不同于这些特定细节的其它实施例中被实施。在其它实例下,熟知设备、电路和方法的详细的说明被省略,以免用不必要的细节遮蔽对本发明的说明。
图1显示电信网18,其中用户设备单元20通过空中接口(例如无线接口)23与一个或多个基站22通信。基站22通过地面线路(或微波)被连接到无线网控制器(RNC)24[在某些网络中也被称为基站控制器(BSC)]。无线网控制器(RNC)24又通过被称为移动交换中心26的控制节点被连接到由云28代表的电路交换电话网(PSTN/ISDN)。另外,无线网控制器(RNC)24被连接到服务的GPRS支持节点(SGSN)25,和通过骨干网27连接到网关GPRS支持节点(GGSN)30,并通过该节点进行与由云32代表的分组交换网(例如,互联网,X.25外部网)的连接。
网关GRPS支持节点(GGSN)30提供到外部IP分组网和X.25网的接口。网关GPRS支持节点(GGSN)30解译数据格式,信令协议和地址信息,以便允许在不同的网络之间进行通信。骨干网27是互联网协议(IP)网络。服务的GPRS支持节点(SGSN)25提供路由到或来自SGSN服务区域的分组,以及服务于物理上位于SGSN服务区域内的GPRS用户。服务的GPRS支持节点(SGSN)25提供诸如鉴权、加密、移动性管理、收费数据、和逻辑链路管理等功能给用户设备单元。GPRS用户可以取决于位置由网络中任何的SGSN提供服务。GPRS业务从服务的GPRS支持节点(SGSN)25路由到基站控制器(BSC)24,以及经过基站(BS)22路由到用户设备单元20。服务的GPRS支持节点(SGSN)25和网关GPRS支持节点(GGSN)30的功能性可被组合在同一个节点中,或可以存在于分开的节点中,如图1所示。
正如本领域技术人员将会看到的,当用户设备单元20参加移动电话连接时,信令信息和来自用户设备单元20的用户信息的帧通过空中接口23在指定的无线信道上发送到一个或多个基站22。基站具有无线收发信机,它们发送和接收在连接或会话中牵涉到的无线信号。对于从用户设备单元20到连接中牵涉到的另一方的上行链路上的信息,基站把通过无线电得到的信息变换成数字信号,然后把这些信号转发到无线网控制器(RNC)24。无线网控制器(RNC)24使在连接或会话中牵涉到的多个基站22的参加和谐地结合起来,因为用户设备单元20可能在地理上移动,并且相对于基站22可能发生越区切换。在上行链路上,无线网控制器(RNC)24拾取来自一个或多个基站22的用户信息的帧,以产生在用户设备单元20与另一方之间的连接,不管该方是在PSTN/ISDN28还是在分组交换网(例如,互联网)32中。
本发明有特别用途的一种用户设备单元20是带有移动终接的计算机,诸如膝上型电脑(举例来说)。用于本发明的适合的用户设备单元20的说明性实施例被提供于图2中。如图2所示,用户设备单元20具有以下的、与本发明有关的功能实体移动终接实体(MT)40;终端适配器(TA)42;终端设备44;和一组应用46。虽然在下面描述了这些功能中的每个,但应当看到,本发明并不限于在功能实体之间具有相同的物理分离的用户设备单元,以及本发明可以用不同于上述的功能配置来实施。
移动终接实体(MT)40,有时被称为移动设备(ME),包含无线发送机/接收机TX/RX 60(带有天线61)以及到网络18的通信控制62,例如,无线连接的建立和释放,越区切换等等。移动终接实体(MT)40可以是标准移动分组电话(例如,GSM电话)或在用户设备单元20内的电话卡。
终端适配器(TA)42起到在移动终接实体(MT)40与在应用组46中的应用之间的适配的作用。终端适配器(TA)42典型地被实现为在PCMCIA(个人计算机存储器卡国际联合会)卡上实施的调制解调器,它被插入到终端设备44的插槽中。终端适配器(TA)42具有CPU 63以及RAM 64和MT接口(I/F)65。
终端设备44通常是小的计算机(或计算机平台),这样,它包括硬件和软件。终端设备44因此具有典型的计算机平台的特征,例如,处理器,操作系统,和中间件(例如,互联网协议组),在图2上总的用参考数字70表示。另外,终端设备44具有控制逻辑块72(由处理器执行),用于控制终端适配器(TA)42。控制逻辑块72执行到和来自网络18的呼叫的建立和释放。
如图2所示,对于示例的实施例所显示的应用组46包括互联网浏览器80;文件传送程序(FTP)82;电子邮件程序84;以及话音业务86。
在应用组46中的每个应用通常是一个程序,它由终端设备44的处理器执行,以及通过例如数据输入设备(诸如键盘和/或鼠标)和输出或显示设备与用户互动。这些应用通常可以运行在任何个人计算机(有或者没有无线接入)上。应用组46中的应用使用多个到用户终端44的应用编程接口(API)。一个或几个这样的API是用于与网络18进行的通信。API的例子是Unix BSD套接字,WinSock或多个电信专用的API,诸如Microsoft Intel Telephony API,AT&T,和Novell TSAPI或OnTheMoveMobile API。因此,虽然在图2上应用组46被给出为是与终端设备44分开的实体,但应当看到,如果终端设备44是通用计算机,具有使用由终端设备44提供的API被执行的应用,则应用组46在终端设备44上执行。
图3显示图2所示的移动台的功能实体如何被映射为移动台20的硬件部件。实际上,图3显示终端设备44,其中移动终接实体(MT)40和终端适配器(TA)42是被放置在卡槽中的卡。终端适配器(TA)42通过总线102被连接到中央处理单元(CPU)100。移动终接实体(MT)通过电缆被连接到终端适配器(TA)42的MT接口65。
终端设备44的存储器,具体地是只读存储器(ROM)104和随机存取存储器(RAM)106,也通过总线102被连接到中央处理单元(CPU)100。在RAM 106中存储有TA控制逻辑72,应用组46和TCP/IP堆栈108。
终端设备44通过输入设备110和输出设备112与用户相接口,每个设备通过各自的适当的接口120和122连接到总线102。输入设备110可以例如是键盘和/或鼠标,而输出设备112可以取显示设备的形式,诸如LCD显示板(举例来说)。
图4上显示示例的无线网控制器(RNC)24的更多细节,它包括交换机240。交换机240由RNC控制单元242控制,它具有多个端口,被连接到无线网控制器(RNC)24的各个单元和接口。RNC控制单元242被连接到无线网控制器(RNC)24的每个单元,包括定时单元241;分集切换单元(DHU)245;和输入/输出单元247。无线网控制器(RNC)24通过信令接口243被连接到信令网络。被连接到交换机240的端口的接口包括服务节点接口单元244;RNC I/F单元246;以及基站接口单元248。服务节点接口单元244被连接到适当的移动交换中心26和GRPS控制节点30。RNC接口单元246由RNC间输送链路232被连接到其它的(未示出)无线网控制器(RNC)24。基站接口单元248被连接到由无线网控制器(RNC)24服务的基站(BS)22。输入/输出单元247被连接到交换机240的适当的核心端口。输入/输出单元247和它的组成信道交换单元在与本申请同时提交的、题目为“Channel Switching in MobileTelecommunications With TCP Considerations(带有TCP考虑的移动电信中的信道交换)”的、同伴的美国专利申请,序列号No.09/441,883中更详细地描述,该专利申请在此引入,以供参考。
通过空中接口(空中链路)23的传输典型地是双向的。也就是,某些数据分组会话从用户设备单元20通过空中接口23发送到分组交换网32(例如,相对于用户设备单元20的上行链路);另一些数据分组会话以相反方向从分组交换网32发送到用户设备单元20(相对于用户设备单元20的下行链路)。因此,用户设备单元20和无线网控制器(RNC)24都具有链路层重发/确认单元RAU。在这方面,如上所述,用户设备单元20具有在它的终端适配器(TA)42中的重发/确认单元RAUUE(见图2和图3)。类似地,无线网控制器(RNC)24具有在分组I/O单元247中的重发/确认单元RAURNC(见图4)。
图6上显示被包括在代表性重发/确认单元RAU 600中的功能。重发/确认单元RAU 600包括接口602;链路接口604;发送缓冲器610;发送控制器612;接收缓冲器620;和接收控制器622。取决于重发/确认单元RAU 600是被利用于用户设备单元20还是被利用于节点,接口602分别是到节点的接口或到用户设备单元20的剩余部分的接口。发送缓冲器610和接收缓冲器612是FIFO型缓冲器。从接口602发送的分段被存储在发送缓冲器610,它们在发送控制器612的监管下路由到链路接口604。相反,从链路接口604接收的分段被存储在接收缓冲器620,它们在接收控制器622的监管下路由到接口602。因此,在图6所示的时刻,发送缓冲器610中存储有TCP分段SSSN(T)到SSSN+k(T),其中在下标中,(1)SSN代表在缓冲器中开始的或第一序列号码,(2)“k”代表发送缓冲器610的尺寸;以及(3)括号T代表发送方向。接收缓冲器620中存储有TCP分段SSSN(R)到SSSN+k(R),其中在下标中,(1)SSN还是代表在缓冲器中开始的或第一序列号码,(2)“k”代表接收缓冲器620的尺寸;以及(3)括号R代表接收方向。
如图6所示,发送控制器612尤其包括与本发明有关的轮询功能630和重发功能632。由发送控制器612执行的基本运行,包括轮询功能630和重发功能632,被显示于图7A上,以及结合该图进行说明。接收控制器622包括与本发明有关的确认功能640。类似地,由接收缓冲器620执行的基本运行,包括确认功能640,被显示于图7B上。
确认功能640的一个目的是产生确认消息,用于发送到发送机。在本发明中,有三种基本类型的确认消息,它们都用总的符号CSACK表示。正如这里使用的,符号CSACK有时包含一个自变量,具有形式CSACK(q),其中q是分段序列号。分段序列号q的重要性取决于发送的确认消息的类型。三种确认消息包括(1)在通常情形下的纯累积确认消息(在图8A上随后被显示为消息CSACK(a));(2)在接收到发送缓冲器中最后的分段后发送的纯累积确认消息(在图8C上随后被显示为消息CSACK(x));(3)选择性确认消息,它出现在检测到丢失的分段后。头两种确认消息CSACK合在一起也被称为“肯定的”确认消息CSACK,其中没有检测到分组丢失。正如这里使用的,词组“发送窗口”是指在发送机需要接收来自接收机的确认消息之前可被发送的接连分段的数目。
本发明的所有三种类型的确认消息CSACK优选地具有相同的格式。图9A上显示了确认消息CSACK的一个实施例的格式的例子。图9A的确认消息CSACK从它的第一个八位位组中的控制消息标识比特C开始,它后面按次序跟随起始序列号(ssn)和位图。起始序列号(ssn)桥接累积的选择性确认消息的第一和第二个八位位组。位图是具有相应于分段的比特位置的可变尺寸位图。位图的第一比特相应于起始序列号(ssn),位图的最后的比特被映射为在起始序列号字段中的起始序列号。因此,对于图9A的确认消息CSACK的格式遵循以下的规则(1)起始序列号(ssn)总是被映射为接收缓冲器中第一个未接收的分段;(2)丢失的分段在位图中用“1”表示;(3)接收的分段在位图中用“0”表示;以及(4)在位图中的第一个比特被映射为具有的序列号等于起始序列号(ssn)的分段。因此,在图9A的确认消息CSACK的位图中没有停止比特。
图9B上显示了确认消息CSACK的另一个实施例的格式的例子。像图9A的格式一样,图9B的格式具有一个控制消息标识比特C,后面跟随起始序列号(ssn),再跟随一个位图。图9A的格式的四个规则也施加到图9B的格式上。另外,图9R的格式还有以下的格式规则(5)从位图的末尾计数的头一个“1”表示位图的有效部分的结尾(因此,它用作为停止序列号字段,例如,停止比特);以及(6)如果确认消息CSACK具有固定的尺寸,以及位图太大而不适合于位图字段,则位图被截断,以及在截断的位图中的最后比特被设置为“1”。因此,与图9A的格式相反,图9B的格式确实采用停止比特。
在无线网控制器(RNC)24和用户设备单元20的RAU之间的传输中出现的确认消息CSACK必须与图9A的格式或图9B的格式中的一个格式一致。也就是说,在两个单元的确认消息CSACK之间不能混合图9A和图9B的格式。图9B的停止比特在使得发送机能够释放选择地缓存的分组方面是特别有利的。如果例如在具有流类型数据传递的小的移动应用中缓冲器尺寸是关键性的,则会需要这个特性。在突发型传输中,例如TCP,不需要停止比特。
为了说明(图9B的格式的)停止比特的好处,考虑以下的情景CSACK位图尺寸被限制为8比特(第一比特是最左的比特),以及分段1,2,3,4和6-15被已被成功地发送。不带有停止比特的确认消息CSACK(图9A的格式)用以下的格式请求重发分段5ssn=5,位图=10000000。这个确认消息CSACK可提供的唯一信息是,分段5已丢失,以及直到(和包括)分段4的所有的分段都已传送到。另一方面,如果利用图9B的格式(带有停止比特),则确认消息CSACK为如下ssn=5,位图=10000001。在这种情形下图9B的格式的确认消息CSACK不单告知分段5丢失,以及直到(和包括)分段4的所有的分段都已传送到,而且也表示分段6-11被正确地传送,以及可以从发送缓冲器中去除。应当指出,虽然分段12-15被正确地传送,但这个确认消息CSACK会由于它的短的位图尺寸[见规则(5)]而不能报告该事实。然而,通过更大的位图,分段12-15可被确认。例如,如果图9B的格式的位图尺寸改为16比特,则确认消息CSACK的内容为如下ssn=5;位图=1000000000010000。这16比特字段使得确认消息CSACK能够有效地覆盖所有传送的分段以及请求重发丢失的分段5。
在接下来的讨论中,图7A的运行描述了发送机重发/确认单元的发送控制器612的活动,而图7B的运行涉及接收机重发/确认单元的接收控制器622的活动。如上所提及的,取决于会话的方向,用户设备单元20和无线网控制器(RNC)24中的一个是发送机RAU,以及用户设备单元20和无线网控制器(RNC)24中的另一个是接收机重发/确认单元RAU。因此,虽然图7A和图7B的以下的讨论是参考关于发送和接收运行的图6的参考数字,但应当看到,对于一个方向的发送,图7A的发送功能在一个设备中执行,而图7B的接收功能在另一个设备中执行。
在讨论发送控制器612和接收控制器622的运行之前,应当提出,发送控制器612在它的轮询功能块630中有一个轮询定时器。通常,轮询定时器用来确保(1)从接收机接收反馈;以及(2)在发送缓冲器的发送窗口中最后的分段被传送。除非轮询消息已被发送,否则轮询定时器决不活动。轮询消息可以是,以及典型地是,其数据报头中的轮询比特已被设置的分段。为了避免发送不必要的轮询消息,一旦必要的信息已到达,轮询定时器就必须被取消。这意味着,如果所请求的反馈丢失,则轮询定时器不应当期满。在本发明中,当三种启动/重新启动条件中的任一种启动条件出现时,轮询定时器被启动(或重新启动)。另外,当轮询定时器被启动(或重新启动)时,在分段的数据报头中设置轮询比特。当两个轮询定时器停止条件的任一个出现时,轮询定时器被取消或被停止。
三种替换的轮询定时器启动/重新启动条件的第一种条件是要被发送的数据分组的序列号大于或等于表示式1。
表示式1V(a)+MaxWin-MaxP在表示式1中,V(a)是在发送窗口中第一分段的序列号(例如,最早的或第一个未确认的分段),MaxWin是窗口尺寸,以及MaxP是小于MaxWin的预定的整数。在一个测试中,MaxP被设置为MaxWin/2,以及MaxWin被设置为30。如果第一轮询定时器已在运行,则该轮询定时器启动/重新启动条件并不应用来重新启动该轮询定时器。
图8A上显示描绘第一轮询定时器启动/重新启动条件的运行的情景,其中MaxWin被设置为12,以及MaxP等于5。第一未确认的分段是V(a)。如图8A所示,当发送达到分段V(a)+7时,第一轮询定时器启动/重新启动条件被满足,这样,轮询比特被设置以及轮询定时器被启动。当返回确认消息CSACK时,它是没有丢失指示的累积的确认,以及SSN=V(a)+7。
第二轮询定时器启动/重新启动条件是在该轮询定时器已在运行的情况下,重发一个或多个分段。图8B上显示描绘第一轮询定时器启动/重新启动条件的运行的情景。在图8B上,分段x被丢失。下一个接收的分段触发CSACK消息,具体是CSACK(x)消息。然后EPC定时器被启动。在CSACK(x)消息处在输送中时,发送机发送轮询消息以及启动轮询定时器。在接收到CSACK(x)消息后,轮询定时器必须被重新启动,这样轮询定时器不会太早期满。重发的分段的轮询比特也被设置。应当指出,CSACK消息并不在轮询消息y上发送,而是在消息CSACK(z)被发送以便确认所有接收的分段之前等待分段x。当CSACK(z)到达时,第二轮询定时器停止条件(以后讨论)被满足,以及轮询定时器被安全地取消。
第三轮询定时器启动/重新启动条件是要被发送的分段是缓冲器中的最后的分段,例如,LastTx=1。图8C上显示描绘第一轮询定时器启动/重新启动条件的运行的情景。在图8C上,分段x是发送缓冲器中的最后的分段。因此,分段中的LastTx标志被设置。因此,依据第三种轮询定时器启动/重新启动条件,该轮询定时器比特被设置,以及该轮询定时器被启动。在接收到确认消息CSACK(x)后,第一轮询定时器停止条件(以后讨论)被满足,以及轮询定时器被安全地关断。
当(1)发送缓冲器中最后的分段已被发送(例如,LastTx=1),(2)已接收到累积的确认消息,以及(3)确认消息CSACK的起始序列号字段大于最后发送的分段的序列号(Seqno)时,出现第一轮询定时器停止条件。图8C(先前讨论的)上显示描绘第一轮询定时器停止条件的运行的情景。
当(1)要被发送的分段不是发送缓冲器中最后的分段(例如,LastTx=0),以及(2)已接收到任何累积的确认消息,它包括大于发送窗口中第一分段(V(a))的起始序列号(ssn)时,出现第二轮询定时器停止条件。图8A和图8B上显示描绘第二轮询定时器停止条件的运行的情景。
启动或重新启动轮询定时器的这三个替换的条件和取消轮询定时器的两个停止条件,在这里被称为轮询定时器运行规则。本发明的分段的确认消息CSACK的供应,连同轮询定时器及其相关的轮询定时器运行规则一起提供保护,即使是对于纯累积的确认消息和从发送窗口发送的最后的分段。
图7A显示在本发明推动下,由发送控制器612执行的基本操作和由发送控制器612假设的状态。状态7A-1显示发送控制器612为监视发送缓冲器610填充来自接口602的分段,然后从发送缓冲器610读出分段到链路接口604。以类似的方式,状态7B-1显示接收控制器622监视接收缓冲器620填充来自链路接口604的分段,以及腾空接收缓冲器620,分段被加到接口602。
首先考虑如图7A所示的发送机RAU的运行,当第一或第二轮询定时器启动/重新启动规则(以上讨论的)中任一个规则被满足时,发送控制器612改变到状态7A-2,由图7A的事件7A-A表示。在状态7A-2,发送机RAU的发送控制器612发送轮询消息到接收机RAU。在发送状态7A-2的轮询消息后,发送控制器612自动进到状态7A-3,用于设置在它的轮询功能块630中的轮询定时器,然后自动返回状态7A-1,用于监视发送缓冲器610。
当发送机RAU从接收机RAU接收确认消息CSACK(图7A上由事件7A-D表示)时,发送控制器612从状态7A-1进到状态7A-4。在状态7A-4,发送控制器612处理确认消息CSACK。在接收到确认消息CSACK后,采取三个行动过程的任一个,这取决于所接收到的确认消息CSACK的类型(由它的位图表示[见图9A或图9B])。
在接收到纯累积的确认消息CSACK(肯定的CSACK)后(这出现在正常的传输情形下),发生三个潜在的行动过程的第一个行动过程。换句话说,两个轮询定时器停止运行条件/规则的任一个被满足(如上所述),以及直到在确认消息CSACK中规定的起始序列号的所有分段已从发送控制器612被释放。在这样的情形下,正如行动7A-E表示的,发送控制器612停止轮询定时器(在状态7A-5)。轮询消息发送后在状态7A-3重新启动轮询定时器,然后,发送控制器612恢复状态7A-1,如行动7A-C和7A-F表示的。
在接收到由发送窗口中最后分段的接收所触发的纯累积的确认消息CSACK后,发生三个潜在的行动过程的第二个行动过程。如果确认消息CSACK中规定的起始序列号大于从发送控制器612释放的最后分段的序列号,则实施第二行动过程。在这个第二行动过程中,正如图7A的箭头7A-G表示的,发送控制器612进到状态7A-6,以从发送缓冲器610释放已传送的分段(直到具有在确认消息CSACK的ssn字段中标识的起始序列号的分段)。如果确认消息CSACK的位图表示没有分段丢失,则发送控制器返回到状态7A-1,如箭头7A-J和7A-F表示的。如果轮询定时器停止规则的任一个规则被满足,则发送控制器612在返回到状态7A-1之前停止轮询定时器(在状态7A-5)。
如果从发送缓冲器610释放分段后确认消息CSACK的位图表示一个或多个分段丢失,则发送控制器612进到状态7A-7,如箭头7A-I表示。在状态7A-7,发送控制器612把丢失的分段从发送缓冲器610重发到接收机RAU。从状态7A-7,当轮询定时器第二启动/重新启动运行规则不满足时,发送控制器612进到状态7A-1(如箭头7A-L表示),或当轮询定时器第二启动/重新启动运行规则满足时,发送控制器612进到状态7A-2(如箭头7A-M表示)。
在接收到具有表示一个或多个分段丢失的位图的选择性累积确认消息CSACK(否定的CSACK)后,发生三个潜在的行动过程的第三个行动过程。在这样的情形下,正如箭头7A-H表示的,发送控制器612进到状态7A-7,从发送缓冲器610重发丢失的分段到接收机RAU。如上所指示的,从状态7A-7,当轮询定时器第二启动/重新启动运行规则不满足时,发送控制器612进到状态7A-1(如箭头7A-L表示),或当轮询定时器第二启动/重新启动运行规则满足时,发送控制器612进到状态7A-2(如箭头7A-M表示)。
接着考虑图7B所示的接收机RAU的运行,当在步骤7B-1监视接收缓冲器620时,在接收到按次序的分段后,接收控制器622转移到状态7B-2,如箭头7B-B所表示的。
如果指出在状态7B-2释放来自接收缓冲器620的所有的按次序的分段后,没有丢失的分段(或所有先前丢失的分段已被接收到),则如箭头7B-A表示的,接收控制器622转移到状态7B-4。在状态7B-4,接收控制器622停止接收机定时器EPC,然后(如箭头7B-C表示的)返回到状态7B-1。
如果在状态7B-2释放来自接收缓冲器620的所有的按次序分段,指出最后接收的分段是轮询消息(即,在接收的分段中轮询比特被设置),以及接收机定时器EPC没有在运行,则如箭头7B-G表示的,接收控制器622转移到状态7B-3。在状态7B-3,确认消息CSACK由接收控制器622的确认功能块640产生和被发送到发送机RAU,此后,接收控制器622转移回到状态7B-1,如箭头7B-H显示的。通过做到这一点,接收控制器622的确认功能块640产生肯定的确认消息CSACK。
如果在状态7B-2释放来自接收缓冲器620的所有的按次序的分段,指出最后接收的分段是轮询消息(即,在接收的分段中轮询比特被设置),接收机定时器EPC正在运行,以及不是所有丢失的分段都被恢复,则如箭头7B-E表示的,接收控制器622转移回到状态7B-1。
在出现以下四个情形的任一个情形后,接收控制器622从状态7B-1直接转移到状态7B-3(如箭头7B-F表示的)(1)检测到一个或多个丢失的分段以及接收机定时器EPC没有在运行;或(2)接收机定时器EPC正在运行,以及除了重发的分段(RTX)以外的某些内容到达发送机RAU;或(3)EPC定时器已经期满;或(4)EPC定时器正在运行,已检测到一个或多个丢失的分段以及在发送机RAU接收到最后重发的分段。当(1)检测到一个或多个丢失的分段以及接收机定时器EPC没有在运行;或(2)接收机定时器EPC正在运行,以及除了RTX以外的某些内容到达发送机RAU时,接收控制器622从状态7B-3(发送确认消息CSACK)转移到状态7B-5(如箭头7B-I表示的)。在状态7B-5,接收定时器EPC被设置。在设置接收机定时器EPC后,接收控制器622从状态7B-5转移到状态7B-1,如箭头7B-D表示的。
假设在发送机RAU把分段从发送缓冲器610发送到接收机RAU的处理过程中,一个分段被丢失。例如,考虑图10A的情景,其中(1)分段S110A已从发送机正确地发送到接收机;(2)分段S210A被丢失(例如没有被接收机接收);以及(3)分段S310A在接收机RAU处被接收。在这样的情形下,在状态7A-1在它监视接收缓冲器620时,接收控制器622确定第一丢失的分段消失,即,分段S210A。在检测到丢失后,接收控制器622进入状态7B-3。在状态7B-3,接收机RAU的接收控制器622把累积的选择性确认消息CSACK(S2)10A发送到发送机RAU,如图10A中消息CSACK(S2)10A表示的。按照图9B的格式,图10A的累积的选择性确认消息CSACK(S2)10A具有内容ssn=(S2)10A;位图=101。在累积的选择性确认消息CSACK(S2)10A的位图中,第一个“1”表示分段(S2)10A的丢失,“0”表示分段(S3)10A被成功地接收;以及最后的“1”表示位图的结尾。如果按照图9A的格式没有使用停止比特,则位图将是10000。而且,在发送累积的选择性确认消息CSACK(S2)10A后,接收控制器622在返回状态7B-1之前进入状态7B-5,设置接收机定时器EPC。
在接收图10A的累积的选择性确认消息CSACK(S2)10A后,发送机RAU确定由累积的选择性确认消息CSACK(S2)10A报告的最后的分段是在S1A后两分段,即S3A。相应于位图比特的所有分段的序列号可以相对于在累积的选择性确认消息中载送的起始序列号(SSN)被确定。
在发送机RAU处接收图10A的累积选择性确认消息CSACK(S2)10A,造成发送控制器612进入状态7A-4,用于处理累积的选择性确认消息CSACK(S2)10A(见图7A)。在状态7A-4处理累积的选择性确认消息CSACK(S2)10A时,接收控制器622从位图得知分段S210A的丢失,随之转移到状态7A-7,用于重发分段S210A。在状态7A-7的重发后,发送控制器612返回到状态7A-1。如果接收机RAU成功地接收丢失的分段,则接收机RAU的接收控制器622从状态7B-1改变到状态7B-2,以及在通知释放所有丢失的分段后,在返回到状态7B-1之前在状态7B-4停止接收机定时器EPC。
以上参照图10A描述的情形显示使用累积的选择性确认消息CSACK,来报告单个分段的丢失,例如使用累积的选择性确认消息CSACK(S2)10A,来报告分段S210A的丢失。本发明的累积的选择性确认消息也可报告多个分段的丢失,如图10B所示。具体地,在图10B上分段S510到达后,接收机RAU的接收控制器622获知分段S210B到S410B还没有被接收到接收缓冲器620中。所以,如图10B所示,累积的选择性确认消息CSACK(S2,S3,S4)10B在状态7B-3从接收机RAU被发送到发送机RAU,该累积的选择性确认消息CSACK(S2,S3,S4)10B在它的位图中包括指示每个分段S210B到S410B没有被接收到。换句话说,累积的选择性确认消息CSACK(S2,S3,S4)10B的内容,对于图9B的格式,是ssn=(S2)10B,位图=1111000;以及对于图9A的格式,是ssn=(S2)10B,位图=1110000。另外,由位图的每个比特引用的具体分段是通过参照累积的选择性确认消息CSACK(S2,S3,S4)10B的起始序列号(ssn)被确定的。
图10C显示把本发明的运行与图13A和图13B上显示的情景相对比的情形。在图10C上,分段S210C被丢失。下一个分段S310C的接收触发否定确认消息(CSACK(S2)10C)的发送和启动接收机定时器EPC,以便保护(CSACK(S2)10C)不丢失。否定确认消息(CSACK(S2)10C)在状态7B-3被发送,定时器EPC在状态7B-5被设置(见图7B)。但来自接收机RAU的(CSACK(S2)10C)消息确实已丢失,正如来自发送机的分段S510C那样。EPC定时器在从(CSACK(S2)10C)消息被发送起计数的第三分段处期满。在检测到EPC定时器已期满后,接收控制器622再次进入到状态7B-3,产生另一个确认消息CSACK,以及复位EPC定时器(在状态7B-5)。第二确认消息CSACK覆盖丢失的分段S210C和S510C,所以被表示为CSACK(S2,S5)10C。确认消息CSACK(S2,S5)10C具有内容ssn=(S2)10C,位图=100101000,对于图9B的格式;以及ssn=(S2)10C,位图=1001000,对于图9A的格式。在接收确认消息CSACK(S2,S5)10C后,在状态7A-7,发送控制器612重发丢失的分段S2和S5。在成功地接收分段S2和S5的重发后,在状态7B-4,接收控制器622从接收缓冲器620中释放分段S2和S5,以及停止接收机定时器EPC。此后,接收控制器622返回状态7B-1,以便处理另外的分段。
图10C的、它延时报告分段S5c的丢失的情形确实导致分段S510C的重发延时一个或几个帧。但只要发送窗口不被关闭,则这样的延时并不影响总的性能。依赖于以前的确认消息关系到多少分段以及使用多少带宽,延时可以改变。通常,这样的带宽的好处将多于补偿这样的延时的代价。
在图10D的情景中,分段S210D被丢失,这样,分段S310D的接收触发选择性累积的确认消息CSACK(S2)10D[在状态7B-3],以及启动接收机定时器[在状态7B-4]。分段S410D和S510D也被丢失,正如是确认消息CSACK(S2)10D。当接收机定时器EPC期满时,出现从状态7B-1到状态7B-3的转移。在状态7B-3,接收控制器622监视接收缓冲器620,以及确定分段S210D,S410D和S510D都丢失。在状态7B-3,接收控制器622发送另一个选择性累积的确认消息CSACK(S2,S4,S5)10D以及接收机定时器EPC被重新启动。在重发的分段S210D,S410D和S510D都被接收后,接收机定时器EPC被取消。
应当指出,在图10D的情景中,如果CSACK(S2)10D被成功地发送和接收,以及分段S210D被正确地重发和接收,则第二选择性累积的确认消息是消息CSACK(S4,S5)10D。
以上说明了本发明的准则,当第一分段被丢失以及确认消息CSACK已被产生时,在(1)第一分段被恢复或(2)接收机定时器EPC已期满之前,不恢复随后的分段丢失。如果第一分段被恢复,则接收机定时器EPC被取消。如果接收机定时器EPC期满,则它不能被取消。在这两种情形下,接收缓冲器620被监视,以及如果任何分段(直接包括不同于第一分段的分段)被检测为丢失,则所有丢失的分段被包括在一个确认消息CSACK中,以及重新发起恢复。如结合图9A和9B说明的、确认消息CSACK的格式促进这种运行和恢复。
图9A的确认消息格式不确认发送窗口中的间隙。在图9A和图9B的格式中,在接收到累积的选择性确认消息CSACK以后,具有直到和包括确认消息的起始序列号(SSN)的序列号的分段从发送缓冲器310中被释放。
本发明的各种参量可被做成是可调整的。正如下面讨论的,这些参量包括MaxP值(在三种替换的轮询定时器启动/重新启动条件的第一种条件的表示式1中利用),在发送控制器612中的轮询定时器的超时或期满的数值;以及该接收机定时器EPC的超时或期满的数值。
回想到MaxP是小于MaxWin的预定的整数。则由于几个原因,有一个确定MaxP的数值的自适应控制方案是有利的。在空中接口上有高的故障密度(例如,许多丢失的帧)的情形下,把MaxP设置为高的数值,意味着在由于全发送窗口造成的发送失速以前将有更多的时间用于恢复。另一方面,对于良好的无线条件,把MaxP设置为低的数值,意味着不要求太经常的反馈(例如,确认消息),由此浪费较少的资源。
因此,在参照图11描述的一个模式中,本发明估计丢失帧的数目(术语“帧”是可与“分段”互换使用的),以及根据估计的数值,而相应设置MaxP的数值。正如从以上的例子中看到的,在下行链路方向上(从网络到用户设备)的丢失帧通过接收的分段的序列号中的间隙被检测。通过使用在图11上被显示为11-1的、本发明的确认消息CSACK,用户设备请求无线网控制器(RNC)24重发丢失的分段。确认消息CSACK在它的位图上(见图9A和图9B的格式)包括信息,有关自从上一个确认消息CSACK发布以来被丢失的分段的数目。接收控制器622可以使用这个有关丢失的分段数目的信息来估值误块率(BLER)。在这方面,以及如图11上步骤11-2所显示的,估值BLER(上一次)可被计算为在确认消息CSACK中报告的丢失的分段数目除以自从先前的确认消息CSACK被接收以来从发送机RAU发送到接收机RAU的分段数目。然后,如由图11的步骤11-3反映的,为了平滑BLER(上一次)的估值,可以使用标准型的低通滤波器,正如参照表示式(2)看到的。
表示式(2)BLER(估计)=a*BLER(上一次)+(1-a)*BLER(老的)在表示式(2)中,BLER(老的)是BLER(上一次)的再前一个计算,以及a是从0到1的范围内的参量。参量a被利用来控制BLER估值的反应性。在这方面,把a设置为等于0意味着BLER(估计)根本不被更新;而把a设置为等于1意味着BLER(估计)等于BLER(上一次)。在0与1之间的数值给出上一次测量的BLER[BLER(上一次)]与先前的BLER[例如BLER(老的)]的估值的加权和值。表1显示计算正在进行的BLER(估计)的估值的例子,其中参量a被指配一个数值0.10,以及丢失帧的百分数(即,BLER(上一次))在4%和8%之间交替。
通过使用诸如以上的方式确定的BLER(估计)数值,如图11的步骤11-3所示的,可以选择MaxP的数值。例如,发送控制器612可查询查找表,以及使用BLER(估计)数值作为索引,得出对于MaxP的相应的数值。在步骤11-4确定的新的MaxP数值然后可以在步骤11-5被采用,因为表示式1被评估以便确定新的轮询消息应当何时被发送到(如步骤11-6)用户设备(例如,移动台)。
通常,MaxP的数值取决于(1)许可的接连丢失的肯定确认消息的数目,保持发送失速的风险低于一定的界限(发送失速界限被设置得越低,MaxP增长越大);或(2)否定确认的频率(否定确认的频率越高,MaxP值越低)。图14是显示MaxP如何按照许可的接连丢失的肯定确认消息的数目被设置的矩阵(即,上面提到的准则(1))。
发送失速的风险(p)按照表示式3进行计算,其中N被设置成使得p小于界限。表示式(4)显示如何使用N来计算MaxP。
表示式(3)p=(BLER)N表示式(4)MaxP=BW/PS*((1+N)*RTT+N*POLLT)在表示式(4)中,BW是带宽(以比特/秒计);PS是分段尺寸(以比特计);RTT是往返行程时间(以秒计),以及POLLT是轮询定时器数值(以秒计)。在该例子中,使用相应于图14的矩阵中的变暗区的N数值,对于给定的BLER是安全的。在图14中,RTT(往返行程时间)=0.05秒;BW(带宽)=32768比特/秒;PS(分段尺寸)=320比特;以及POLLT(轮询定时器数值)=0.04秒。例如,在19%BLER下,N=3产生33的安全的MaxP数值。如果考虑否定确认,则MaxP值可被减小。
在发送控制器612中轮询定时器的超时或者期满数值以及接收机定时器EPC的超时或者期满数值也可被自适应地控制,如图12A所示。至此,没有考虑输送延时(除了由空中接口引入的延时以外)。然而,延时可出现在输送网络,以及在涉及到的节点(例如,基站节点22;无线网控制器(RNC)24,和用户设备)中的处理延时。有利的是设置轮询定时器和接收机定时器EPC的超时数值,以便适应这些输送网络延时和处理延时。
如图12A和12B所示,接收机RAU(例如,在图12的情形中的接收机)测量从发送确认消息CSACK(在步骤12-1)到由确认消息CSACK覆盖的重发分段被接收(步骤12-4)的时间的时间间隔。测量的时间间隔作为TACK(上一次)的数值被使用[步骤12-5],它被利用来(在步骤12-6)通过使用与以上参照BLER描述的类似的低通滤波技术得出估值TACK(估计)。估值的TACK(估计)然后被使用于接收机定时器EPC的新的超时或者期满数值。
本发明的确认策略只需要接收机中的一个定时器(EPC),但这样的定时器应当被精确地调整,而不管带宽改变和不管有多少分段要被重发。任何类型的定时器都可工作,只要它满足可调整的精度的准则,而不管(1)带宽改变和(2)多少分段要被重发。
关于轮询定时器的超时数值,发送机RAU(在图12A的情形下,它位于网络中)测量在发送轮询消息和接收相应的确认消息CSACK之间的时间间隔(见图12B)。测量的时间间隔作为数值TPOLL(上一次)被使用[步骤12-2],它被利用来(在步骤12-3)也通过使用与以上参照BLER描述的类似的低通滤波技术而得出估值的TPOLL(估计)。估值的TPOLL(估计)然后被使用于轮询定时器的新的超时或者期满数值。应当指出,如果轮询定时器被重新启动,则重新发起测量。
本发明使用轮询确认策略连同丢失驱动确认策略。按照本发明,当分段不是很频繁地丢失时,次数足够多地发送确认消息发送以提供良好的反馈,但次数还要足够少以避免在确认链路上的不必要的负荷。然后,随着丢失增长,丢失驱动的确认负责提供足够的反馈给发送机。在这方面,累积的选择性确认消息把关于哪些分段已丢失和发送缓冲器中哪些分段可被去除(例如,释放)的反馈提供给发送机。为了使得所需要的带宽最小化,累积的选择性确认消息通常应当尽可能小。
因此本发明的丢失驱动的确认提供带宽优点。通过有效的限制机制,该协议可以使得发送的确认消息量很小,而仍旧提供足够的反馈。把限制机制与累积的选择性确认消息相组合,提供鲁棒的和经济的确认策略。
通过使用本发明的轮询和确认策略,即使在极大的丢失条件期间,链路层重发协议的性能也能持续存在。这意味着,即使系统处在非常繁重的负荷条件下时,仍旧可以得到满意的端到端TCP性能。
积极的确认降低丢失确认的重发时间,特别是在有过多丢失的情形下。轮询-确认机制确保除了由于大量丢失(即,所有的分段被丢失)造成的结果以外,不出现失速。使用丢失自适应轮询机制使得在所有时间所需要的确认量最小,而同时保持尽可能高的链路利用。
当不需要选择的算法时,图9A的确认格式使得缓冲器的解除分配是无关紧要的。
虽然本发明是结合当前认为是最实际的和优选的实施例的情形描述的,但应当看到,本发明并不限于所揭示的实施例,而相反,打算覆盖被包括在附属权利要求的精神和范围内的各种修正和等价的安排。例如,虽然为了简明起见,发送控制器612和接收控制器622在这里被描述为两个分开的控制器,但应当看到,发送控制器612和接收控制器622的功能可以由单个控制器来实施。
表一BLER(上一次)% BLER(老的)% BLER(估计)%0.000.00 0.004.000.00 0.408.000.40 1.164.001.16 1.448.001.44 2.104.002.10 2.298.002.29 2.864.002.86 2.978.002.97 3.484.003.48 3.538.003.53 3.984.003.98 3.988.003.98 4.384.004.38 4.348.004.34 4.714.004.71 4.648.004.64 4.974.004.97 4.888.004.88 5.194.005.19 5.078.005.07 5.364.005.36 5.238.005.23 5.504.005.50 5.358.005.35 5.624.005.62 5.468.005.46 5.714.005.71 5 548.005.54 5.79
权利要求
1.一种移动电信系统,它包括移动用户设备单元(20);至少一个节点(24),通过这个节点在该用户设备单元与一数据网(32)之间建立分组交换数据会话,该节点和用户设备单元中的一个用作为数据分组的分段的发送机,以及该节点和用户设备单元中的另一个用作为数据分组的分段的接收机;其特征在于,当接收机检测到第一丢失分段的丢失时接收机发送第一确认消息(CSACK)给发送机,以及如果(1)在定时的间隔内没有接收到该第一丢失的分段和(2)接收机确定在定时的间隔期间一第二丢失的分段已丢失,则在定时的间隔期满处,接收机发送第二确认消息给发送机,该第二选择性确认消息表示第一丢失分段和第二丢失分段的丢失。
2.如权利要求1的系统,其中该第一确认消息在接收机接收到排序在第一丢失分段后面的分段后,被发送到该发送机。
3.如权利要求1的系统,还包括用来计时该定时的间隔的定时器,该定时器是可调节的。
4.如权利要求1的系统,其中如果接收机确定在定时的间隔期间另外的丢失分段已丢失,则第二选择性确认消息也表示该另外的丢失分段的丢失。
5.如权利要求1的系统,其中第一确认消息和第二确认消息中的至少一个确认消息包括起始序列号字段和位图字段,其中起始序列号被映射为第一未接收的分段;以及其中在位图字段中的比特被设置为第一预定数值,以表示接收到多个分段的各个分段,或被设置为第二预定数值,以表示未接收到多个分段的各个分段。
6.如权利要求5的系统,其中第一确认消息和第二确认消息中的至少一个确认消息的位图字段确实包括停止序列号字段。
7.如权利要求6的系统,其中该停止序列号字段是一个停止比特。
8.如权利要求6的系统,其中如果位图太大而不适合该位图字段,则位图被截断,以及该截断的位图中的最后的比特被设置为第二预定数值。
9.如权利要求5的系统,其中发送机具有一轮询定时器,以及其中在出现以下任一个情形时,该轮询定时器被启动/重新启动(1)要从发送机发送到接收机的分段的序列号大于或等于V(a)+MaxWin-MaxP,其中V(a)是在发送窗口中第一分段的序列号,MaxWin是发送窗口的尺寸,以及MaxP是小于MaxWin的整数;(2)如果该轮询定时器已在运行,则要把一个或多个分段从发送机重发到接收机;(3)要被发送的分段是缓冲器中最后的分段。
10.如权利要求9的系统,其中整数MaxP被动态地确定。
11.如权利要求9的系统,其中整数MaxP取决于允许的多个接连丢失的确认消息。
12.如权利要求11的系统,其中MaxP通过以下的表示式来确定MaxP=BW/PS*((1+N)*RTT+N*POLLT)其中BW是带宽;PS是分段尺寸;RTT是往返行程时间,以及POLLT是轮询定时器数值,以及N被设置以提供低于一个界限的发送失速风险p。
13.如权利要求9的系统,其中整数MaxP取决于否定的确认消息的频率。
14.如权利要求9的系统,其中轮询定时器的超时数值被动态地确定。
15.如权利要求9的系统,其中如果有以下情况,则轮询定时器被取消(1)要被发送的分段是发送缓冲器中最后的分段;以及(2)已接收到确认消息,它具有的起始序列号字段大于最后发送的分段的序列号。
16.如权利要求9的系统,其中如果有以下情况,则轮询定时器被取消(1)要被发送的分段不是发送缓冲器中最后的分段;以及(2)接收任何的确认消息,它包括的起始序列号大于在发送窗口中的第一分段(V(a))。
17.一种运行移动电信系统的方法,该移动电信系统包括至少一个节点(24),通过这个节点在一用户设备单元(20)与数据网(32)之间建立分组交换数据会话,该方法包括使用该节点和用户设备单元中的一个作为数据分组的分段的发送机,以及使用该节点和用户设备单元中的另一个作为数据分组的分段的接收机;当接收机检测到第一丢失分段的丢失时,从接收机发送第一确认消息到发送机;其特征在于当(1)在定时的间隔内没有接收到第一丢失的分段和(2)在该定时的间隔期间第二个丢失的分段被丢失时,该方法还包括在发送第二选择性确认消息到发送机的定时的间隔期满后,从接收机发送表示第一丢失分段和第二丢失分段的丢失的第二选择性确认消息。
18.如权利要求17的方法,还包括在接收机处接收到排序在第一丢失分段后面的分段以后,发送第一确认消息到发送机。
19.如权利要求17的方法,其中一定时器计时该定时的间隔,以及其中该方法还包括调节定时器。
20.如权利要求17的方法,还包括,如果在定时的间隔期间另外的丢失分段被丢失,则也使用第二选择性确认消息来表示该另外的丢失分段的丢失。
21.如权利要求17的方法,还包括格式化第一确认消息和第二确认消息中的至少一个确认消息成包括起始序列号字段和位图字段,其中起始序列号被映射为第一个未接收的分段;以及其中在位图字段中的比特被设置为第一预定数值,以表示接收到多个分段的各个分段,或被设置为第二预定数值,以表示未接收到多个分段的各个分段。
22.如权利要求21的方法,还包括格式化第一确认消息和第二确认消息中的至少一个确认消息的位图字段成包括停止序列号字段。
23.如权利要求22的方法,还包括格式化位图字段成包括一个停止比特作为停止序列号字段。
24.如权利要求21的方法,还包括格式化位图字段,由此如果位图太大而不适合该位图字段,则位图被截断,以及该截断的位图中的最后的比特被设置为第二预定数值。
25.如权利要求17的方法,其中发送机具有轮询定时器,以及还包括在出现以下任一个情形时,启动/重新启动该轮询定时器(1)要从发送机发送到接收机的分段的序列号大于或等于V(a)+MaxWin-MaxP,其中V(a)是在发送窗口中第一分段的序列号,MaxWin是发送窗口的尺寸,以及MaxP是小于MaxWin的预定的整数;(2)如果该轮询定时器已在运行,则要把一个或多个分段从发送机重发到接收机;(3)要被发送的分段是缓冲器中最后的分段。
26.如权利要求25的方法,其中整数MaxP被动态地确定。
27.如权利要求25的方法,其中整数MaxP取决于允许的多个接连丢失的确认消息。
28.如权利要求27的方法,其中MaxP通过以下的表示式来确定MaxP=BW/PS*((1+N)*RTT+N*POLLT)其中BW是带宽;PS是分段尺寸;RTT是往返行程时间,以及POLLT是轮询定时器数值,以及N被设置以提供低于一个界限的发送失速风险p。
29.如权利要求25的方法,其中整数MaxP取决于否定的确认消息的频率。
30.如权利要求25的方法,其中该轮询定时器的超时数值被动态地确定。
31.如权利要求20的方法,还包括如果有以下情形,则取消该轮询定时器(1)要被发送的分段是发送缓冲器中最后的分段;以及(2)已接收到确认消息,它具有的起始序列号字段大于最后发送的分段的序列号。
32.如权利要求20的方法,还包括如果有以下情形,则取消该轮询定时器(1)要被发送的分段不是发送缓冲器中最后的分段;以及(2)接收任何的确认消息,它包括的起始序列号大于在发送窗口中的第一分段(V(a))。
33.一种移动电信系统,它包括移动用户设备单元(20);至少一个节点(24),通过这个节点在该用户设备单元与一数据网(32)之间建立分组交换数据会话,该节点和用户设备单元中的一个用作为数据分组的分段的发送机,以及该节点和用户设备单元中的另一个用作为数据分组的分段的接收机;以及其特征在于,在出现预定的条件后接收机发送确认消息(CSACK)给发送机,该确认消息包括起始序列号字段和位图字段,该起始序列号被映射为第一个未接收的分段;以及位图字段中的比特被设置为第一预定数值,以表示接收到多个分段的各个分段,或被设置为第二预定数值,以表示未接收到多个分段的各个分段。
34.如权利要求33的系统,其中第一确认消息和第二确认消息中的至少一个确认消息的位图字段确实包括停止序列号字段。
35.如权利要求34的系统,其中停止序列号字段是一个停止比特。
36.如权利要求33的系统,其中如果位图太大而不适合该位图字段,则位图被截断,以及该截断的位图中的最后的比特被设置为第二预定数值。
37.如权利要求33的系统,其中预定的条件是丢失的分段的检测。
38.如权利要求33的系统,其中预定的条件是在接收机处接收到轮询消息。
39.如权利要求33的系统,其中预定的条件是在接收机处接收到分段的完全的发送窗口。
40.一种运行移动电信系统的方法,该移动电信系统包括至少一个节点(24),通过这个节点在一用户设备单元(20)与数据网(32)之间建立分组交换数据会话,该方法包括使用该节点和用户设备单元中的一个作为数据分组的分段的发送机,以及使用该节点和用户设备单元中的另一个作为数据分组的分段的接收机;在出现预定的条件后从接收机发送确认消息(CSACK)到发送机;其特征在于格式化确认消息成包括起始序列号字段和位图字段,该起始序列号被映射为第一个未接收的分段;以及位图字段中的比特被设置为第一预定数值,以表示接收到多个分段的各个分段,或被设置为第二预定数值,以表示未接收到多个分段的各个分段。
41.如权利要求40的方法,还包括格式化第一确认消息和第二确认消息中的至少一个确认消息的位图字段成包括停止序列号字段。
42.如权利要求41的方法,还包括格式化位图字段成包括一个停止比特作为该停止序列号字段。
43.如权利要求40的方法,还包括格式化位图字段,由此如果位图太大而不适合该位图字段,则位图被截断,以及该截断的位图中的最后的比特被设置为第二预定数值。
44.如权利要求40的方法,其中预定的条件是丢失的分段的检测。
45.如权利要求40的方法,其中预定的条件是在接收机处接收到轮询消息。
46.如权利要求40的方法,其中预定的条件是在接收机处接收到分段的完全的发送窗口。
47.一种移动电信系统,它包括移动用户设备单元(20);至少一个节点(24),通过这个节点在该用户设备单元与一数据网(32)之间建立分组交换数据会话,该节点和用户设备单元中的一个用作为数据分组的分段的发送机,以及该节点和用户设备单元中的另一个用作为数据分组的分段的接收机;以及其特征在于一轮询定时器和缓冲器被包括在该发送机内,以及在出现以下任一个情形时,该轮询定时器被启动/重新启动(1)要从发送机发送到接收机的分段的序列号大于或等于V(a)+MaxWin-MaxP,其中V(a)是在发送窗口中第一分段的序列号,MaxWin是发送窗口的尺寸,以及MaxP是小于MaxWin的预定的整数;(2)如果该轮询定时器已在运行,则要把一个或多个分段从发送机重发到接收机;(3)要被发送的分段是缓冲器中最后的分段。
48.如权利要求47的系统,其中整数MaxP被动态地确定。
49.如权利要求47的系统,其中整数MaxP取决于允许的多个接连丢失的确认消息。
50.如权利要求49的系统,其中MaxP通过以下的表示式来确定MaxP=BW/PS*((1+N)*RTT+N*POLLT)其中BW是带宽;PS是分段尺寸;RTT是往返行程时间,以及POLLT是轮询定时器数值,以及N被设置以提供低于一个界限的发送失速风险p。
51.如权利要求47的系统,其中整数MaxP取决于否定的确认消息的频率。
52.如权利要求47的系统,其中轮询定时器的超时数值被动态地确定。
53.如权利要求47的系统,其中如果有以下情况,则轮询定时器被取消(1)要被发送的分段是发送缓冲器中最后的分段;以及(2)已从该接收机接收到确认消息,它具有的起始序列号字段大于最后发送的分段的序列号。
54.如权利要求47的系统,其中如果有以下情况,则轮询定时器被取消(1)要被发送的分段不是发送缓冲器中最后的分段;以及(2)接收任何的确认消息,它包括的起始序列号大于在发送窗口中的第一分段(V(a))。
55.一种运行移动电信系统的方法,该移动电信系统包括至少一个节点(24),通过这个节点在一用户设备单元(20)与数据网(32)之间建立分组交换数据会话,该方法包括使用该节点和用户设备单元中的一个作为数据分组的分段的发送机,以及使用该节点和用户设备单元中的另一个作为数据分组的分段的接收机,发送机具有缓冲器;以及其特征在于在出现以下任一个情形时,启动/重新启动发送机中的轮询定时器(1)要从发送机发送到接收机的分段的序列号大于或等于V(a)+MaxWin-MaxP,其中V(a)是在发送窗口中第一分段的序列号,MaxWin是发送窗口的尺寸,以及MaxP是小于MaxWin的预定的整数;(2)如果该轮询定时器已在运行,则要把一个或多个分段从发送机重发到接收机;(3)要被发送的分段是缓冲器中最后的分段。
56.如权利要求55的方法,其中整数MaxP被动态地确定。
57.如权利要求55的方法,其中整数MaxP取决于允许的多个接连丢失的确认消息。
58.如权利要求57的方法,其中MaxP通过以下的表示式来确定MaxP=BW/PS*((1+N)*RTT+N*POLLT)其中BW是带宽;PS是分段尺寸;RTT是往返行程时间,以及POLLT是轮询定时器数值,以及N被设置以提供低于一个界限的发送失速风险p。
59.如权利要求55的方法,其中整数MaxP取决于否定的确认消息的频率。
60.如权利要求55的方法,其中轮询定时器的超时数值被动态地确定。
61.如权利要求55的方法,还包括如果有以下情况,则取消该轮询定时器(1)要被发送的分段是发送缓冲器中最后的分段;以及(2)已接收到确认消息,它具有的起始序列号字段大于最后发送的分段的序列号。
62.如权利要求55的方法,还包括如果有以下情况,则取消该轮询定时器(1)要被发送的分段不是发送缓冲器中最后的分段;以及(2)接收任何的确认消息,它包括的起始序列号大于在发送窗口中的第一分段(V(a))。
63.一种移动电信系统,它包括移动用户设备单元(20);至少一个节点(24),通过这个节点在该用户设备单元与一数据网(32)之间建立分组交换数据会话,该节点和用户设备单元中的一个用作为数据分组的分段的发送机,以及该节点和用户设备单元中的另一个用作为数据分组的分段的接收机,该接收机发送确认消息;其特征在于发送机具有一轮询定时器,以及在出现以下任一个情形时,该轮询定时器被启动/重新启动(1)要从发送机发送到接收机的分段的序列号大于或等于V(a)+MaxWin-MaxP,其中V(a)是在发送窗口中第一分段的序列号,MaxWin是发送窗口的尺寸,以及MaxP是小于MaxWin的整数;(2)如果该轮询定时器已在运行,则要把一个或多个分段从发送机重发到接收机;(3)要被发送的分段是缓冲器中最后的分段。
64.如权利要求63的系统,其中整数MaxP被动态地确定。
65.如权利要求63的系统,其中整数MaxP取决于允许的多个接连丢失的确认消息。
66.如权利要求64的系统,其中MaxP通过以下的表示式来确定MaxP=BW/PS*((1+N)*RTT+N*POLLT)其中BW是带宽;PS是分段尺寸;RTT是往返行程时间,以及POLLT是轮询定时器数值,以及N被设置以提供低于一个界限的发送失速风险p。
67.如权利要求63的系统,其中整数MaxP取决于否定的确认消息的频率。
68.如权利要求63的系统,其中轮询定时器的超时数值被动态地确定。
69.一种运行移动电信系统的方法,该移动电信系统包括至少一个节点(24),通过这个节点在一用户设备单元(20)与数据网(32)之间建立分组交换数据会话,该方法包括使用该节点和用户设备单元中的一个作为数据分组的分段的发送机,以及使用该节点和用户设备单元中的另一个作为数据分组的分段的接收机;当接收机检测到分段的丢失时,从接收机发送一确认消息到发送机;其特征在于在出现以下任一个情形时,启动/重新启动发送机中的轮询定时器(1)要从发送机发送到接收机的分段的序列号大于或等于V(a)+MaxWin-MaxP,其中V(a)是在发送窗口中第一分段的序列号,MaxWin是发送窗口的尺寸,以及MaxP是小于MaxWin的预定的整数;(2)如果该轮询定时器已在运行,则要把一个或多个分段从发送机重发到接收机;(3)要被发送的分段是缓冲器中最后的分段。
70.如权利要求69的方法,其中整数MaxP被动态地确定。
71.如权利要求69的方法,其中整数MaxP取决于允许的多个接连丢失的确认消息。
72.如权利要求71的方法,其中MaxP通过以下的表示式来确定MaxP=BW/PS*((1+N)*RTT+N*POLLT)其中BW是带宽;PS是分段尺寸;RTT是往返行程时间,以及POLLT是轮询定时器数值,以及N被设置以提供低于一个界限的发送失速风险p。
73.如权利要求69的方法,其中整数MaxP取决于否定的确认消息的频率。
74.如权利要求69的方法,其中轮询定时器的超时数值被动态地确定。
全文摘要
移动电信系统包括移动用户设备单元(20),以及至少一个节点(24),通过这个节点在用户设备单元与数据网(32)之间建立分组交换数据会话。节点和用户设备单元中的一个用作为数据分组的分段的发送机,以及节点和用户设备单元中的另一个用作为数据分组的分段的接收机。如果第一丢失的分段未在定时的间隔内被接收,以及如果第二丢失的分段在该定时的间隔期间也被丢失,则在该定时的间隔期满处,接收机发送选择性确认消息(CSACK)给发送机,请求重发第一丢失分段和第二丢失分段。系统的确认消息具有独特的格式,它包括开始序列号和可变尺寸的位图字段。
文档编号H04L1/18GK1423869SQ0081837
公开日2003年6月11日 申请日期2000年11月17日 优先权日1999年11月17日
发明者S·约翰松, W·里希宁 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1