减少数据呼叫的建立时间的无线链路增强协议 发明背景一.发明领域
本发明涉及到无线通信领域。特别是,本发明涉及到一种改进的方法和系统,在建立无线链路协议(RLP)的数据呼叫中,要求减少建立时间。二.相关技术的描述
码分多址(CDMA)调制技术的使用是几种便于拥有大量系统用户的通信的技术之一。其他的多址接入通信系统技术,如时分多址(TDMA),频分多址(FDMA)以及AM调制方案如幅度压扩单边带(ACSSB)在技术中众所周知。这些技术被标准化来简化不同厂商生产的设备间的互联。码分多址接入技术通信系统已在美国电信工业协会TIA/EIA/IS-95B中被标准化,名为“MOBILE STATION-BASE STATION COMPATIBILITY STANDARD FORDUAL-MODE WIDEBAND SPREAD SPECTRUM CELLULAR SYSTEMS”(双模宽带扩展频谱蜂窝系统中移动站-基站的兼容性标准),通过引用包含于此,并且在以下称为IS-95。此外,一个码分多址通信系统的新的标准在美国电信工业协会PN-4431中被提出,将以TIA/EIA/IS-2000-5发表,名为“UPPERLAYER(LAYER3)SIGNALING STANDARD FOR cdma2000 SPREADSPECTRUM SYSTEMS”(cdma2000扩展频谱系统地顶层(第3层)信令标准),注明日期为1999年,7月11日,在这里作为引用,并且在以下称为IS-2000。
国际电信同盟近来要求提交已提出的方法,来提供无线通信信道上的高速数据和高质量的语音业务。这些提议中的第一个由电信工业协会发表,名为“cdma2000 ITU-R RTT候选提议”。这些提议中的第二个由欧洲电信标准学会(ETSI)发表,名为“ETSI UMTS陆地无线接入(UTRA)ITU-R RTT候选提议”,也被称为“宽带CDMA”,以下称为W-CDMA。第三个提议由U.S.TG8/1发表,名为“UWC-136候选提议”,在以下称为EDGE。这些提议的内容是公开资料,并在技术上众所周知。
IS-95最初是用于优化可变速率语音帧的传输。为了支持双向语音通信,例如以无线电话应用为代表,希望通信系统能提供相当恒定的和最小的数据延迟。由于这个原因,IS-95系统设计了强大的前向纠错(FEC)协议和语音编码器,适度地响应语音帧差错。差错控制协议需要帧重发过程,给语音传输加入了不能接受的延迟,所以没有设计进IS-95技术规范中。
使单独的IS-95技术规范理想于语音应用的优化措施,使分组数据应用的使用变得困难。在许多非语音的应用中,如网际协议(IP)数据的传送,通信系统的延时要求并不比在语音应用中严格。在传输控制协议(TCP)中,也许是IP网络中最流行的协议,事实上允许无限的传输延时来保证无差错传输。TCP使用IP数据报的重传,常被称为IP包,来提供这个传输可靠性。
IP数据报通常都太大了,以至于不能适合IS-95的单帧。即使在将IP数据报分成足够小的段来适合一系列的IS-95帧之后,为了使单一的IP数据报对TCP有用,整个系列的IS-95帧必须被无差错地接收。一个IS-95系统的典型帧误码率使单一数据报的所有段的无差错接收的概率降得非常低。
正如IS-95中所描述的,可选择的服务选项使其它类型的数据传输替代语音帧。TIA/EIA/IS-707-A,名为“扩展频谱系统的数据业务方案”,以下称为IS-707,描述了一个IS-95系统中传输数据包的方法。
无线链路协议(RLP)在TIA/EIA/IS-707-A.8中描述,名为“扩展频谱系统的数据服务选项:无线链路协议类型2”,以下称为RLP2,并在这里作为引用。RLP2在IS-95帧层上插入了一个帧重传步骤的差错控制协议。RLP是属于所知的基于NAK的ARQ协议的误差控制协议一类的,这在技术中众所周知。IS-707 RLP,有利于IS-95通信系统中字节流的传输,而不是一系列的语音帧。
一些协议层位于RLP层之上。例如,IP数据报在以字节流出现在RLP协议层之前被转换成端对端协议(PPP)字节流。由于RLP层忽视协议和更高层的帧同步,RLP传输的数据流被称为是“无特征的字节流”。
RLP最初被设计成满足在IS-95信道中发送大帧。例如,如果一个500字节的IP数据报要简单地由每个携带20字节的IS-95帧发送,IP数据报将填满25个连续的IS-95帧。如果没有某种差错控制层,为了使IP数据报对更高协议层有用,所有25个帧将不得不被无误差的接收。在一个有1%帧误码率的IS-95信道,IP数据报分发的有效误码率是(1-(0.99)25),或22%。与大多数支持网际协议业务的网络相比,这是一个非常高的误码率。RLP被设计成一个链路层协议,将减少IP业务的误码率至可与典型10base2以太网信道的误码率相比。
RLP是一个基于否认(NAK)的协议,其中发送NAK帧来提示由于通信差错造成丢失的数据帧的重传。NAK帧的传送定时是基于来回时间(RTT)的估计,该时间从一个RLP对话开始时确定。在现有版本的RLP中RTT确定需要三次握手,在其中两端都发送基于接收到的帧类型的特定帧类型。无数据发送到任何一方,直到三次握手结束。三次握手消耗了另外能用于传送数据的时间。
在一个典型的数据服务结构中,一台便携电脑连接到一个无线调制解调器来与基于RLP连接的网络通信。在一个典型的便携电脑应用中,如浏览因特网网页,电脑并不是不停地与网络交换数据。相反,电脑发送一条短的数据请求,其中包含了网页的地址。无线调制解调器通过与本地基站建立一个RLP会话作为响应,并且将请求从基站转发到网络。在这次RLP会话中,无线调制解调器随之接收到所请求的数据(如网页的内容),并且向用户显示数据。当用户在阅读所显示的数据的时候,无线调制解调器与基站或网络间无数据交换。
为了充分利用无线频谱,一个典型的网络使用“活动计时器”,在预先确定的链路不活动之后,中断RLP会话。如果这在便携电脑打算通过调制解调器发送更多的数据之前发生,那么另一个RLP会话就被建立来服务新的数据。新的RLP会话的重新建立产生与网络交换数据中的附加延时,它可以被称作便携电脑的“惰性”。
建立一个新的RLP会话来发送新的数据将总是比通过已存在的RLP会话发送新数据花更多时间。现存的RLP版本要求进行三次握手来建立RLP对话。因此,非常希望将建立RLP会话所需的开销减至最小,包括将三次握手中固有的延时减至最小或消除。
发明概述
本发明可以用于允许RLP数据传输,而无需三次握手结束。本发明可应用到任何使用在无线信道上字节流传输的通信系统。本发明适用于如cdma2000,W-CDMA,以及EDGE的系统,在其中字节流可以用通过空中的帧携带,由无线通信系统详细说明。
本发明包括用于议定RLP呼叫的初始RTT估计的方法。初始RTT估计,与其它RLP参数如NAK方案以及加密参数一起,在服务协商期间被议定。在服务协商的结果中,RLP通信链路的两端都设置了一个初始RTT估计并且可以无需进行三次握手而发送RLP数据帧。
本发明包括基站确定和更新初始RTT估计值的方法,这个值在服务协商期间产生。本发明也包括RLP通信链路两端都能动态地更新和精确RTT估计的方法,这估计在服务协商期间被详细说明。
附图简述
当与附图联系在一起时,本发明的特点、目的以及优点将通过下述详尽描述变得更明显,附图中相同的标号字符在整个附图表示中是一致的:
图1是一个根据本发明的一个实施例的数据通信系统的框图。
图2是一张使用RLP三次握手,用于建立RTT估计的消息流的图表。
图3a是一张根据本发明的一个实施例的具有RTT估计的用于建立一个由用户站产生的RLP呼叫的消息流的图表。
图3b是一张根据本发明的一个实施例的具有RTT估计的用于建立一个由基站产生的RLP呼叫的消息流的图表。
图4a是一张根据本发明的一个实施例的用户站初始化和使用RLP链路的步骤的流程图。
图4b是一张根据本发明的一个实施例的基站初始化和使用RLP链路的步骤的流程图。
图5是一张根据本发明的一个实施例的用于在RLP对话期间更新RTT估计的步骤的流程图。
图6是一个根据本发明的一个实施例的用于通过CDMA无线通信信道建立和使用RLP链路的设备框图。
较佳实施例的详细描述
图1是一个数据通信系统的框图,与本发明的一个实施例相一致。如图所示,用户站102通过无线通信信道106和基站104与网络108通信。
用户站102和基站104建立一条无线链路协议(PLR)通信链路来通过无线通信信道106传递数据字节流。通过基站104在用户站102和网络108之间进行交换的数据字节可能是转换成字节流的网际协议(IP)数据报,使用诸如端到端协议(PPP)的转换协议。技术上,IP和PPP协议都是众所周知的。
在任何数据能够在用户站102与基站104间交换之前,必须建立两者之间的RLP链路。建立一条RLP链路包括建立一个用户站102和基站104用于否认(NAK)定时的往返时间(RTT)。在本发明的一个示范实施例中,用户站102向基站104发送一条服务请求消息,来说明用户站102能够接收发自基站104的服务响应消息中的初始RTT估计。在接收服务请求消息后,基站104向用户站102发送一条服务响应消息,包括用户站102将要用的初始RTT估计。在基站104向用户站102提供了初始RTT估计之后,就不需要进行耗时的三次握手。其后,当任何一端传送一个NAK帧的时候,它就使用NAK帧传输和相应的重发帧的接收之间的延时来更新它的RTT估计,以在正在进行的RLP通信链路中使用。
图2显示了一个初始RTT估计在使用三次握手的常规的RLP通信链路中建立。用户站102在反向链路上传送SYNC帧202,SYNC/ACK帧204,ACK帧206,以及数据帧208到基站104。基站104在前向链路上,依次传送SYNC帧220,SYNC/ACK帧222,ACK帧224,以及数据帧226到用户站102。在所示的例子中,往返时间(RTT)230有8个帧长。产生第一RTT估计的整个同步时期232有12个帧长,或者是RTT长度的1.5倍。
在开始RLP同步的时刻240,两端都传送SYNC帧202和220。如图所示,用户站102在每一个帧周期传送一个SYNC帧。基站104同样通过在每一个帧周期传送一个SYNC帧来开始同步进程。
在时刻242,在第一RTT时期230的一半之后以及在用户站102发送了4个SYNC帧202a~202d之后,用户站102接收到基站104传送的第一个SYNC帧220。在接收这第一个SYNC帧220时,用户站停止传送SYNC帧而在每个帧周期传送一个SYNC/ACK帧204。同样在时刻242,基站104接收用户站102传送的第一个SYNC帧202a。在接收了这第一个SYNC帧202a时,基站104停止传送SYNC帧而在每个帧周期传送一个SYNC/ACK帧222。
在时刻244,用户站102接收基站104传送的第一个SYNC/ACK帧222。在接收这第一个SYNC/ACK帧222时,用户站停止发送SYNC/ACK帧而在每个帧周期发送一个ACK帧206。同样在时刻244,基站104接收用户站102传送的第一个SYNC/ACK帧204。在接收了这第一个SYNC/ACK帧204时,基站104停止传送SYNC/ACK帧而在每个帧周期传送一个ACK帧224。
在时刻246,用户站102接收基站104传送的第一个ACK帧224。在接收这第一个ACK帧224时,用户站停止发送ACK帧而能开始在每个帧周期发送数据帧206。同样在时刻246,基站104接收用户站102传送的第一个ACK帧206。在接收了这第一个ACK帧206时,基站104停止传送ACK帧而能开始在每个帧周期传送数据帧226。
时刻240与246之间期间是用于用户NAK帧定时的RTT232的1.5倍长。换句话说,传送第一个SYNC帧240和传送第一个数据帧246之间的时间是RTT232的1.5倍长。如果RTT230如图示是8个帧长,那么进行三次握手232所需时间是12个帧长。
如果任何SYNC,SYNC/ACK,或ACK帧在三次握手期间由于通信差错而丢失,这个同步时间就会变得更长。此外,这样的通信差错能导致所产生的RTT估计比RLP链路的实际RTT长。比RLP链路的实际RTT长的RTT估计,当先前的NAK帧丢失(同样,由于通信差错)时,将在发送附加NAK帧中导致不需要的延时。这样的延时将在协议内产生停滞并且将降低RLP链路的吞吐量。
图3a是一张改进的消息流程,为产生RLP呼叫的用户站建立一个RTT估计,与本发明的一个实施例相一致。基站104在建立RLP链路之前,向用户站102发送一个初始RTT估计来在一条通过空中的消息中使用,而不是进行三次握手。
在一个有代表性的实施例中,用户站102以向基站104传送一条服务请求消息302作为开始。在本发明的较佳实施例中,这条消息包括用户站102支持接收来自基站104的一个初始RTT而无需三次握手的指示。在较佳实施例中,服务请求消息302可任选地包括附加参数,如规定一条或多条由用户站102支持的NAK方案。服务请求消息302同样可任选地包括RLP通信链路的加密参数。
一种NAK方案可用(当相应的重发帧没有被接收时)在每一个NAK计时器终止之后发送的NAK帧的数量来表征。NAK方案的一个例子是一个1,2,3NAK方案,在其中第一个NAK被发送。如果与第一“轮”的NAK相联系的NAK计时器在没有收到相应的重发帧而过时,那么另一轮包括两个NAK帧的NAK被传送。如果与第二轮的NAK相联系的NAK计时器在没有收到至少一条相应的重发帧而过时,那么一个第三轮包括三个NAK帧被传送。其他可能的NAK方案包括一个五轮的1,1,1,1,1方案,一个两轮的1,2方案。作为选择,服务请求消息302可能指示一个无NAK方案供一个同步RLP协议适用,这在技术中众所周知。
基于接收指示无三次握手的服务请求消息302,基站104发送包括任何额外的或被提议的链路参数的修正的服务响应消息304。基于接收服务响应消息304,用户站102发送第二条服务请求消息306,指示出服务响应消息304中提出的参数的接收或拒绝。基于接收服务请求消息306,基站104发送服务连接消息308,指示将要用到的最终链路参数。服务响应消息304和308以及服务连接消息308都可能另外指示出上述的NAK方案或加密参数。
在发送服务连接消息308之后,基站104可能立刻在随后的帧周期开始发送数据帧310。基于接收服务连接消息308,用户站102可能立即开始向基站104发送数据帧312。如IS-2000中所讨论的,数据帧310和312的传送同样可能被延迟直到一个或多个先前消息中规定的“作用时间”或直到一条服务连接消息(未画出)被一端或两端接收。一个本领域的技术人员将理解到一个附加的“作用时间”参数或一条服务连接完成消息可能被使用而不用背离本发明。
基于接收第一条服务请求消息302,基站104也可能立即选择发送服务连接消息308。这种最简洁的办法使得没有必要花时间发送服务响应消息304和服务请求消息306。这样的简洁方法仅仅在,当服务连接消息中的基站104建议的参数被用户站102支持以及适合将在RLP通信链路上交换的数据类型时,起作用。
在较佳实施例中,如果在各种不同消息中没有指示特定的NAK方案,两端就都假定一个预先定义的默认NAK方案,例如上述的1,2,3方案。允许这样的一个预先定义的默认NAK方案能在服务协商期间维持消息空间和带宽。
在较佳实施例中,每一条消息(服务请求消息302,服务响应消息304和308以及服务连接消息308)的格式都在上述的IS-2000规范中描述。在较佳实施例中,每一条消息包括一个RLP_BLOB项,它是适合于RLP协商目的的一个新的BLOB形式。在IS-2000中,BLOB是“比特块”的缩写。在较佳实施例中,RLP_BLOB包括将要使用的初始RTT估计以及NAK方案。一个典型的RLP_BLOB格式在下述表1中描述。
表1 域 长度(比特) RLP_BLOB_ID 3 RTT 4 NAK_ROUNDS_FWD 3 NAK_ROUNDS_REV 3
下述NAK_ROUNDS_FWD的出现: NAK_PER_ROUND_FWD 3
下述NAK_ROUNDS_REV的出现: NAK_PER_ROUND_REV 3
在表1中,RLP_BLOB_ID域指示出RLP_BLOB格式的版本号,来说明余下的RLP_BLOB项的内容。RTT是初始RTT值,在呼叫中使用。NAK_ROUNDS_FWD指示出前向链路RLP传输中使用的NAK的轮数。NAK_ROUNDS_REV指示出反向链路RLP传输中使用的NAK的轮数。如所指出的,紧接着NAK_ROUNDS_REV域的是与NAK_ROUNDS_FWD域的值相一致的许多NAK_PER_ROUND_FWD域。紧接着最后一个NAK_PER_ROUND_FWD域的是与NAK_ROUNDS_REV的值相一致的许多NAK_PER_ROUND_REV域。如果NAK_ROUNDS_FWD域的值为0,那么NAK_PER_ROUND_REV域(若有的话)将立刻紧跟着NAK_ROUNDS_REV域。
例如,在一条指示既在前向链路又在反向链路上的一个1,2,3NAK方案的消息中,RLP_BLOB域有一个NAK_ROUNDS_FWD值为3以及一个NAK_ROUNDS_REV值为3。紧接着NAK_ROUNDS_REV域的是三个NAK_PER_ROUND_FWD域,各自的值为1,2,3。紧接着最后一个NAK_PER_ROUND_FWD域的是三个NAK_PER_ROUND_REV域,各自的值为1,2,3。
除了使用上述的消息类型之外,初始RTT时间,NAK方案以及加密参数可能使用其他类型的消息的RLP_BLOB项来协商。这样的消息类型包括但并不局限于在上述IS-2000中描述的广义越区切换指示消息(GHDM)和通用越区切换指示消息(UHDM)。
在较佳实施例中,任何忽略RLP_BLOB项的前述消息将以指示进行三次握手被说明。然后,NAK方案可能是一个预先定义的默认值,或在三次握手中被协商。
在一个备择实施例中,基站104可能进一步减少指定RLP呼叫的RTT和NAK方案所需的消息的数量。通过跟踪先前对于每个用户站RLP呼叫中支持的选项,基站104可以通过发送一条指定将要用到的参数的服务连接消息308来开始一次呼叫。在发送了服务连接消息308后,以及没有从用户站102接收到服务请求消息302或服务响应消息,基站104开始发送用户数据。
基站104可能使用几种方法在一次RLP呼叫开始时确定初始RTT估计来指定一个用户站。在一个较佳实施例中,基站104通过对先前呼叫加入一个预先定义的保护时间到在三次握手期间计算的RTT平均值中,来获得初始RTT估计。在一个备择实施例中,初始RTT估计在基站104中由无线服务操作者设定。
图3b是一张根据本发明的一个实施例的改进的消息流程的变体,为产生RLP呼叫的基站建立一个RTT估计。与用户站发起呼叫相反,在一个基站发起的呼叫中,服务请求消息342由基站104发送而服务相应消息由用户站102发送。服务连接消息308与上述的有相同的格式和内容。如图所示,基站104在服务连接消息308后立即开始发送前向RLP数据帧310。基于接收服务连接消息308,用户站102开始发送反向链路数据帧312。
在一个典型实施例中,服务请求消息342包括一个提议,就是链路的两端使用一个初始RTT估计而不是使用三次握手。如图所示,用户站102接受服务响应消息344中的提议,并且在服务连接消息308和RLP数据帧310和312间不进行三次握手。
所有连同用户站发起的RLP呼叫的相同的RLP参数可以在基站发起的RLP呼叫的消息中被协商。例如,服务请求消息342可能包括一个被提议的NAK方案,它在服务响应消息344中被接收。
图4a是一张根据本发明的一个实施例的用户站初始化和使用一条RLP通信链路的流程图。用户站发起的RLP呼叫的步骤已画出,如图3a所示,以及基站发起的RLP呼叫,如图3b所示。
在一个用户站发起的RLP呼叫400中,用户站通过发送第一条服务请求消息402,指示出用户站在服务协商期间协商一个初始RTT估计或其它被提议的RLP参数的能力。用户站然后接收并译码来自基站的响应404。接收到的响应的类型在步骤406被鉴定来确定是否要协商更多的RLP参数。如果接收到的消息是一条服务响应消息,也许提议改变先前发送的RLP参数,那么用户站发送另一条服务请求消息402。新的服务请求消息包含一组由基站提议的或者匹配或者修改新的RLP参数的参数。用户站然后等待,直到接收对应于最近服务请求消息的另一条响应404。
最后,在步骤406上发现响应类型,将是一个包含将要使用的RLP参数的服务连接消息。服务连接消息在步骤408被鉴定来确定是否服务连接消息指示进行三次握手。如果服务连接消息指示进行三次握手,那么在开始发送用户数据412前进行三次握手410。如果服务连接消息指示出没有必要进行三次握手,而改为指定一个将要使用的初始RTT估计,那么用户站可以立刻开始发送用户数据412。
如前所述,服务连接消息可能指示出无需三次握手,但不包括初始RTT估计。在这种情况下,用户站将使用一个预先定义的默认初始RTT估计。
在一个基站发起的RLP呼叫420中,用户站接收并译码来自基站的第一条服务请求消息422。这条服务请求消息可能指示出基站支持在服务协商期间指定一个初始RTT估计。用户站以发送一条服务响应消息424作为回答,指示出用户站同样支持使用一个在服务协商期间收到的初始RTT估计。然后,用户站接收并译码基站发送的下一条响应消息426。响应消息的类型在步骤428被鉴定。响应可能是另一条服务请求消息,例如提示用于特定NAK方案或其它附加RLP参数的提议。用户站然后发送另一条服务相应消息424,指示出对附加RLP参数的接收或拒绝。当接收到一条服务连接消息时,如前所述,进程从步骤428转到步骤408。
图4b是一张根据本发明相的一个实施例的基站初始化和使用一条RLP通信链路的流程图。用户站发起的RLP呼叫的步骤已画出,如图3a所示,以及基站发起的RLP呼叫,如图3b所示。
在一个用户站发起的呼叫450中,基站接收并译码第一条服务请求消息452,指示出用户站在服务协商期间协商一个初始RTT估计或其它被提议的RLP参数的能力。接着,服务请求消息中指示的RLP参数在步骤454被鉴定,来确定是否需要协商任何参数变化。如果是的话,基站在服务响应消息中发送新的一组被提议的参数并且将它发送到用户456。
如果步骤454鉴定的RLP参数能被基站接收,基站就发送一条服务连接消息470,指示出将要使用的RLP参数。基站然后在472判决,基于服务连接消息的内容,是否进行三次握手。如果是的话,基站就进行三次握手474并且然后开始发送用户数据。如果服务连接消息没有指示三次握手,那么基站就从步骤472直接转到476发送用户数据。
在一个基站发起的RLP呼叫460中,基站以向用户站发送一条服务请求消息462开始服务协商。这条服务请求消息指示出基站支持在服务协商期间指定一个初始RTT估计。基站然后接收并译码来自用户站464的服务响应消息。
服务响应消息中的RLP参数在466被鉴定来确定是否需要协商任何参数变化。如果是的话,基站退回步骤462并且在一条服务请求消息中发送新的一组被提议的RLP参数。否则,基站发送一条服务连接消息并且如前所述的从这个步骤继续下去。
图5是根据本发明的一个实施例的在RLP会话期间更新RTT估计的流程图。在初始RTT估计在服务协商期间被协商的情况下,对于两端来说,能够按照呼叫期间产生的测量响应调整它们的RTT估计,都是有利的。这个方法使用在NAK传输期间收集的信息和重发帧来在一次RLP呼叫期间动态地更新RTT估计,导致一个集成于NAK进程的RTT更新进程。为了方便起见,在一次RLP呼叫中,该过程在下面从用户站的角度来描述。本领域的技术人员将认识到该过程的实施例可能有用户站,基站,或两者进行,而无需背离本发明。
当用户站检测到一个序号空穴502时,RTT估计更新过程开始。用户站启动一个RTT计数器504来测量对于一个或多个将要发送的NAK帧来说,接收一条重发帧要多长时间。用户站同样以当前RTT估计初始化一个NAK计时器并启动NAK计时器506。用户站然后发送与当前NAK方案中的第一轮相关的NAK帧508的数量。
步骤510鉴定是否在NAK计时器到期前接收到一条相应的重发帧。如果是的话,RTT计数器在520被检查。如果当接收到重发帧时,RTT计数器不在运转,那么RTT计数器以及NAK计时器就必须被停止。如果当接收到重发帧时,RTT计数器仍在运转,那么将要为RLP呼叫使用的RTT估计就在522根据新的估计被更新。在一个典型的实施例中,新的RTT估计通过进行旧RTT估计值的加权平均以及RTT计时器和一个预先定义的保护时间的总和,来计算。本领域的技术人员将理解到各种其它组合方法可被使用而不背离本发明。这些其它的方法包括用RTT计时器和一个保护时间的总和来替换RTT估计。
在更新RTT估计522之后,RTT计数器和NAK计时器被停止,并且集成于NAK进程的RTT更新进程终止540。如果在步骤520,NAK计时器被发现没有运转,那么步骤522的RTT更新被跳过,并且方法从步骤520直接转到步骤524。
如果,在步骤510,用户站发现在接收相应的重发帧前NAK计时器期满,那么用户站在530估计已经通过了多少轮NAK,而没有接收到相应的重发帧。在呼叫起始时或上述的NAK_ROUNDS_REV域,由上述预先定义的默认NAK方案,确定当前NAK方案中NAK轮数的限定。如果已通过的NAK轮数等于此限定,那么就到达NAK限定值。如果到达NAK限定,那么对于相应的空穴就不允许更多的NAK轮,并且用户站转到步骤524。
如果,在步骤530中,没有到达NAK限定,用户站在532鉴定是否RLP呼叫的RTT估计被更新过。如果被先前更新过,那么用户站在再次启动NAK计时器506和发送下一轮NAK帧508之前,停止RTT计数器534。在发送另一轮NAK帧之前停止RTT计数器能防止重发帧的模棱两可,在RTT估计中引起错误。例如,如果一个重发帧在第二轮NAK帧发送后被接收,用户站将不知道重发帧是对应第一轮的NAK还是第二轮的NAK。错误地将这样的重发帧与最近NAK轮相匹配,将导致错误的RTT估计。
然而,在第一个NAK计时器期满后停止RTT计时器,另一个问题产生了。如果由于某种原因在服务协商期间指定的初始RTT估计太小,那么第一个NAK计时器可能在第一个重发帧有机会到达用户站之前到期。在这些情况下,错误的小RTT估计可能永远不会被更新,并且可能给RLP呼叫的持续期造成差性能。
在典型的实施例中,通过用户站在532确定RTT估计还未被更新的情况下,允许RTT计数器继续运转,这个问题可以被解决。如果RTT估计未被更新,那么步骤534被跳过,并且用户重新启动NAK计时器506,并且发送下一轮NAK帧508。在最坏的情况下,这将导致一个更新的RTT估计非常长,但这比太小的RTT估计更可取。相应地,在较佳实施例中,当RTT估计被第一次更新时,在加权平均中步骤522给予现存RTT估计小权或不加权。在备择的实施例中,在第一次更新中,现存RTT估计的权改变,基于第一个RTT估计超过现存RTT估计的数量以及接收一条重发帧前发送的NAK的轮数。
在另一个备择实施例中,步骤532的判决不是基于是否RTT估计曾被更新过,而是基于与到期的NAK计时器相应的空穴是否是RLP会话期间检测到的第一个空穴。如果是第一个检测到的空穴,那么RTT计数器在进入步骤506前不被停止。如果先前检测到其它空穴,那么RTT计数器在进入步骤506前在534被停止。
图6是一张根据本发明的一个实施例的用于在CDMA无线通信信道建立和使用一条RLP链路的设备的框图。为方便起见,设备在下面用用户站来描述。本领域的技术人员将认识到被描述的结构和它的变体可能同样地与无线基站一起被使用,而不用背离本发明。
所示的设备包括数据接口602,可能与一个外部输入/输出设备连接,例如一个显示终端或手持或便携电脑。如果用户站102进一步包括一个内部用户接口,例如键盘和显示器,那么数据接口602可以被省略。例如,用户站102可能是一个CDMA无线个人数字助理(PDA),能够与因特网交换数据并将数据显示在液晶显示器(LCD)上。
不论原始用户数据是通过数据接口602接收还是来自一些其它内部输入/输出接口,数据必须被控制处理器604处理。控制处理器604进行必需的格式化和协议封装,在无线链路上发送数据。在较佳实施例中,控制处理器604从数据接口602接收一字节流并且将它封装入RLP帧,来通过CDMA调制模块620传输。控制处理器604同样从通过CDMA解调模块640接收到的RLP帧中提取数据,并且向数据接口602提供合成的字节流。除了RLP帧之外,控制处理器604同样通过CDMA调制模块620和CDMA解调模块640,通过发送和接收服务请求,服务响应,服务连接以及其它上述消息进行服务协商。
控制处理器604与CDMA调制模块620连接并且提供传送帧。在较佳实施例中,控制处理器604向前向纠错(FEC)模块610提供传送帧,该模块以FEC码将帧编码。FEC模块610使用任何一种前向纠错技术,包括turbo编码,卷积编码,或其它形式的软判决或分组编码。产生的已编码的帧,由FEC模块610提供给交织器612,交织器交错数据来提供传送信号的时间分集。交织器612使用任何一个交叉技术,如分组交叉以及位反转交叉。交织器612的输出是二进制的,并被提供到Walsh扩展器614,它将用Walsh码扩展信号。在Walsh扩展之后,Walsh扩展器612的输出被提供到伪噪声(PN)扩展器616,它使用PN码进行扩展。PN扩展器616的输出被提供到发送器618,它被上变频,放大,并被提供到天线转换开关650,并且然后通过天线652被发送。
在较佳实施例中,PN扩展器616是一个复数PN扩展器,用复PN码与Walsh扩展器614的复输出相乘。在另一个实施例中,PN扩展器616用实(非复)PN码,与Walsh扩展器614的复输出相乘。
通过天线652接收的信号通过天线转换开关650,然后在接收器638中进行增益控制和下变换。从那里,信号被提供到CDMA解调模块640,在其中在PN解扩展器636中被PN解扩展,在Walsh解扩展器634中被Walsh解扩展,在解交织器632中被解交织以及在FEC解码器630中被FEC解码。FEC解码器630向控制处理器604提供所产生的接收到的帧。
在较佳实施例中,PN解扩展器636是一个复PN解扩展器,用复PN码,与来自接收器638的复采样流相乘。在另一个实施例中,PN解扩展器638,用实的(非复数)PN码,与来自接收器638的复采样流相乘。解交织器632使用任何解交织技术,如分组解交织以及位比特反转解交织。FEC解码器610使用任何前向纠错技术,包括turbo编码,卷积码,或其它形式的软判决或分组编码。
先前较佳实施例的描述提供给任何本领域的技术人员来使用本发明。这些实施例的多种修正,对于那些本领域的技术人员来说,将很容易明白,并且在此定义的一般原则可适合其它实施例而无需创造性劳动。这样,本发明并不想局限于在此呈现的实施例,而是要符合与在此公开的原则和新颖特性相一致的最宽泛的范畴。