一种基于丢失PDU检测机制发送状态PDU的方法转让专利

申请号 : CN200510080171.0

文献号 : CN1889414B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈伟峰汤正华

申请人 : 华为技术有限公司

摘要 :

本发明提供一种基于丢失PDU检测机制发送状态PDU的方法,其核心为:接收方接收AMD PDU,并获取该AMD PDU的序列号,所述接收方确定其当前期望的序列号和当前接收的最大序列号,所述接收方在根据所述当前期望的序列号、当前接收的最大序列号、所述获取的序列号确定发生了丢失PDU时,向发送方发送状态PDU。本发明通过将接收的AMD PDU的序列号与接收方当前期望的序列号和当前接收的最大序列号进行对比,不但能够及时发现丢失了PDU,而且还避免了反向频繁发送状态PDU的现象,从而实现了提高数据传输效率的目的。

权利要求 :

1.一种基于丢失PDU检测机制发送状态PDU的方法,其特征在于,包括:

a、接收方接收AMD PDU,并获取该AMD PDU的序列号;

b、所述接收方确定其当前期望的序列号和当前接收的最大序列号;

c、所述接收方在确定出所述获取的序列号与所述当前期望的序列号不相同、且与当前接收的最大序列号加1后的数值不相同,则确定发生了丢失PDU,向发送方发送状态PDU,否则,确定没有发生丢失PDU,不需要向发送方发送状态PDU。

2.如权利要求1所述的一种基于丢失PDU检测机制发送状态PDU的方法,其特征在于,所述步骤b中当前期望的序列号为所述接收方接收状态的Vr(R),所述Vr(R)为接收方当前期望接收的AMD PDU的序列号。

3.如权利要求1所述的一种基于丢失PDU检测机制发送状态PDU的方法,其特征在于,接收方对每个接收到的AMD PDU处理完成后再更新Vr(H),其中Vr(H)为所述步骤b中当前接收的最大序列号。

4.如权利要求1所述的一种基于丢失PDU检测机制发送状态PDU的方法,其特征在于,接收方在对每个接收到的AMD PDU处理前更新Vr(H),其中Vr(H)-1为所述步骤b中当前接收的最大序列号。

说明书 :

一种基于丢失PDU检测机制发送状态PDU的方法

技术领域

[0001] 本发明涉及网络通讯技术领域,具体涉及一种基于丢失PDU检测机制发送状态PDU的方法。

背景技术

[0002] 在UTRAN(Universal Terrestrial Radio Access Network通用陆地无线接入网络)中,RLC(无线链路控制)子层支持AM(确认模式)、UM(非确认模式)和TM(透明模式)三种模式。由于数据业务的QoS(服务质量)一般要求保证数据的可靠性,因此在数据业务中RLC子层通常采用AM。
[0003] 在AM下,RLC子层的PDU(协议数据单元)类型分为AMD PDU(确认模式的数据PDU)和控制PDU两大类。控制PDU又可以分为状态PDU、复位PDU和复位响应PDU三种。
[0004] RLC(无线链路控制)子层采用AM的工作流程图如附图1所示。
[0005] 在图1中,发送方的RLC子层接收到来自上层协议栈的PDU后,首先根据配置的RLC PDU的大小进行分段级联,然后添加RLC协议头组装成完整的AMD PDU,最后完成加密等操作后发送给下层协议栈;接收方的RLC子层接收来自下层协议栈的SDU,下层协议栈的SDU对应于RLC子层的AMD PDU,接收方的RLC子层首先对AMD PDU进行解密等操作,然后结合当前状态信息和AMD PDU中的Poll(轮循)标志判断是否需要向发送方发送状态PDU,最后,接收方通过解析并重组AMD PDU后,提交给接收方的上层协议栈。
[0006] 由于无线通信的具有传输误码率较高、带宽资源宝贵的特点,所以,链路控制子层的RLC协议被设计为请求重传,即只有在接收方明确要求重新传输AMD PDU的情况下才被重新传输,而不是采用类似TCP等协议的超时重传方式。接收方的RLC子层通过状态PDU通知发送方哪些AMD PDU需要重新传输,从而实现选择性重传,而不是go-back-N的完全重传,节省了无线通信系统中空中接口的带宽资源。
[0007] RLC子层利用状态PDU实现选择性重传的数据交互过程如附图2所示。
[0008] 在图2中,发送方的RLC子层顺序的将序列号为1、2、3的AMD PDU传输至接收方的RLC子层,由于序列号SN=2的AMD PDU在传输过程中丢失,接收方的RLC子层在确定SN=2的AMD PDU未正确接收时,向发送方发送状态PDU,发送方根据该状态PDU重新发送SN=2的AMD PDU。
[0009] 在上述过程中,接收方可基于丢失PDU(Missing Pdu)检测机制或基于周期性机制来发送状态PDU。
[0010] 下面对基于丢失PDU检测机制发送状态PDU的方法进行详细说明。
[0011] 在对该方法进行详细说明之前,先需要了解一下3GPP25.322协议中定义的流量控制的滑动窗口机制,具体如附图3所示:
[0012] 在图3中,VT(A)、VT(S)、VT(MS)、VR(R)、VR(H)和VR(MR)为协议定义的状态变量。
[0013] 在发送窗口中,VT(A)至VT(MS)之间的长度为发送窗口的大小,单位为AMD PDU的数量;VT(A)之前为已经按照顺序被发送方确认正确接收的AMD PDU;VT(A)至VT(S)之间为已经至少发送过一次、但还没有收到接收实体正确接收状态报告的AMD PDU;VT(S)至VT(MS)之间为允许发送的AMD PDU。如果发送方有新的AMD PDU需要发送时,VT(S)向后移动;如果发送方通过接收实体的状态报告确定序列号为VT(A)的AMDPDU已被正确接收时,VT(A)向后移动,VT(MS)也相应地向后移动。
[0014] 在接收窗口中,VR(R)至VR(MR)之间的长度为接收窗口的大小,单位为AMD PDU的数量;VR(R)之前为已经正确接收的AMD PDU;VR(R)至VR(MR)之间为允许接收的AMD PDU。如果接收方接收到序列号为VR(H)至VR(MR)之间的AMD PDU时,VR(H)向后移动;如果接收方接收到序列号为VR(R)的AMD PDU时,VR(R)向后移动,VR(MR)也相应地向后移动。
[0015] 从上面的介绍中可知,VR(R)之前为已经正确接收的AMD PDU,VR(R)为下一个期待接收的PDU,如果接收方接收的AMD PDU的SN不等于VR(R),则很明显必然有AMD PDU丢失,接收方向发送方发送状态PDU。
[0016] 下面结合附图4举例说明接收方基于丢失PDU检测机制发送状态PDU的方法。
[0017] 图4中,接收窗口在初始情况下Vr(R)等于Vr(H),且均为0,如果第一个SN为0的AMD PDU丢失,其后的SN为1至SN为18的AMD PDU均被正确接收,则对于SN为1至SN为18的AMD PDU,接收方每接收到一个AMD PDU均确定发生了丢失PDU,因而,接收方需要向发送方发送18次状态PDU,从而造成了状态PDU的频繁发送。
[0018] 由于状态PDU的发送占用反向带宽资源,特别是在反向信道同时有数据需要传输时,状态PDU的频繁发送会降低反向数据传输的效率。

发明内容

[0019] 本发明的目的在于,提供一种基于丢失PDU检测机制发送状态PDU的方法,以避免频繁发送状态PDU的现象,从而实现了提高数据传输效率的目的。
[0020] 为达到上述目的,本发明提供的一种基于丢失PDU检测机制发送状态PDU的方法,包括:
[0021] a、接收方接收AMD PDU,并获取该AMD PDU的序列号;
[0022] b、所述接收方确定其当前期望的序列号和当前接收的最大序列号;
[0023] c、所述接收方在根据所述当前期望的序列号、当前接收的最大序列号、所述获取的序列号确定发生了丢失PDU时,向发送方发送状态PDU。
[0024] 所述步骤b中当前期望的序列号为:所述接收方接收状态的Vr(R)。
[0025] 所述步骤b中当前接收的最大序列号为:所述接收方接收状态的Vr(H)。
[0026] 所述步骤b中当前接收的最大序列号为:所述接收方接收状态的Vr(H)-1。
[0027] 所述步骤c包括:
[0028] 所述接收方判断所述获取的序列号、所述当前期望的序列号和所述当前接收的最大序列号的大小;
[0029] 如果所述获取的序列号与所述当前期望的序列号相同或所述获取的序列号与所述当前接收的最大序列号加1后的数值相同,则确定未丢失PDU,本方法结束;
[0030] 否则,确定发生了丢失PDU,所述接收方向发送方发送状态PDU。
[0031] 通过上述技术方案的描述可知,本发明通过将接收的AMD PDU的序列号与接收方当前期望的序列号和当前接收的最大序列号进行对比,不但能够及时发现丢失PDU,而且还避免了反向频繁发送状态PDU的现象,从而通过本发明提供的技术方案实现了提高数据传输效率的目的。

附图说明

[0032] 图1是RLC子层采用AM的工作流程图;
[0033] 图2是RLC子层利用状态PDU实现选择性重传的数据交互流程图;
[0034] 图3是接收方和发送方的滑动窗口示意图;
[0035] 图4是现有技术的接收方基于丢失PDU检测机制发送状态PDU的方法示意图;
[0036] 图5是本发明的接收方基于丢失PDU检测机制发送状态PDU的方法流程图。

具体实施方式

[0037] 本发明的核心是:接收方接收AMD PDU,并获取该AMD PDU的序列号,所述接收方确定其当前期望的序列号和当前接收的最大序列号,所述接收方在根据所述当前期望的序列号、当前接收的最大序列号、所述获取的序列号确定发生了丢失PDU时,向发送方发送状态PDU。
[0038] 下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
[0039] 本发明的接收方在接收到AMD PDU时,首先需要获取该AMD PDU的序列号,然后将该序列号与接收方当前期望的序列号和当前接收的最大序列号进行对比,从而确定是否发生了丢失PDU。
[0040] 将序列号与当前期望的序列号和当前接收的最大序列号进行对比,是本发明提出的有效的丢失PDU检测机制,下面以接收方的接收状态为接收窗口为例,对本发明的丢失PDU检测机制进行说明。
[0041] 接收方接收窗口的Vr(R)、Vr(H)和Vr(Mr)为协议定义的状态变量,Vr(R)至Vr(Mr)之间的长度为接收窗口的大小,单位为AMD PDU的数量。
[0042] Vr(R)为接收方当前期望接收的AMD PDU的序列号,Vr(R)之前为已经正确接收的AMD PDU。由于接收方更新Vr(H)的时间不同,所以,接收方当前接收的最大序列号可以为Vr(H),也可以为Vr(H)-1,如当接收方对每个接收到的AMD PDU处理完成后再更新Vr(H)时,接收方当前接收的最大序列号为Vr(H),当接收方在对每个接收到的AMD PDU处理前更新Vr(H)时,则接收方当前接收的最大序列号为Vr(H)-1。
[0043] 接收方的接收窗口被Vr(H)分为两部分,一部分为Vr(R)至Vr(H),即SN∈[Vr(R),Vr(H))的部分,另一部分为Vr(H)至Vr(Mr),即SN∈[Vr(H),Vr(Mr))的部分。Vr(R)至Vr(H)之间的AMD PDU为发送方已经发送、接收方尚未完全正确接收的部分。Vr(H)至Vr(Mr)之间为接收方完全没有接收到任何AMD PDU的区域。
[0044] 对于接收方来说,发送方发送来的任何一个合法的AMD PDU其SN必然在Vr(R)和Vr(Mr)形成的接收窗口之内。如果接收方接收的AMD PDU的序列号SN∈[Vr(R),Vr(H)),则说明该AMD PDU是属于重传的AMD PDU,如果接收的AMD PDU的序列号SN∈[Vr(H),Vr(Mr))则属于新发送的AMD PDU。
[0045] 本发明提出的发生丢失PDU的判断准则为:
[0046] 对于新发送的AMD PDU,即SN∈[Vr(H),Vr(Mr))的AMD PDU,由于RLC协议规定发送方具有顺序发送的本质特性,所以,对于任何一个新发送的SN为X的AMD PDU,如果其前一个SN为X-1的AMD PDU没有被接收方接收,则必然发生了丢失PDU。也就是说,对于新发送的AMD PDU,如果该AMD PDU的序列号X不等于接收方当前接收的最大序列号加1后的数值,则确定必然发生了丢失PDU。
[0047] 对于重传的AMD PDU,即SN∈[Vr(H),Vr(Mr))的AMD PDU,由于RLC协议规定发送方在重传AMD PDU时,必然优先传输序列号低的AMD PDU,所以,如果接收方接收的SN不等于Vr(R),则必然发生了丢失PDU。也就是说,对于重传的AMD PDU,如果该AMD PDU的序列号X不等于接收方当前期望接收的序列号时,则必然发生了丢失PDU。
[0048] 下面根据本发明的发生丢失PDU的判断准则分析图4中的情况。
[0049] 在图4中,接收窗口在初始情况下,Vr(R)与Vr(H)相等、且均为0,即接收方当前期望的序列号为0。如果第一个SN为0的AMDPDU在传输过程中丢失,接收方接收到SN为1的AMD PDU时,由于该AMD PDU的SN为1,而Vr(R)为0,即接收方当前期望的序列号为
0,AMD PDU的SN与Vr(R)、Vr(H)均不相同,则确定发生了丢失PDU,接收方向发送方发送状态PDU,报告SN为0的AMD PDU丢失。
[0050] 接收方存储SN为1的AMD PDU,且Vr(H)向后移动,Vr(H)为2,Vr(R)仍然为0。
[0051] 接收方顺序接收SN为2的AMD PDU,由于该AMD PDU的SN为2,而Vr(R)为0,Vr(H)为2,即接收方当前期望的序列号为0、且接收方当前接收的最大序列号为1,AMD PDU的SN与当前接收的最大序列号+1后的数值相同,则确定没有发生丢失PDU,接收方不需要向发送方发送状态PDU。
[0052] 接收方存储SN为2的AMD PDU,且Vr(H)向后移动,Vr(H)为3,Vr(R)仍然为0。
[0053] 如果SN为3至18的AMD PDU顺序发送过来,接收方依照上述方法顺序接收SN为3至18的AMD PDU,并顺序存储SN为3至18的AMD PDU,Vr(H)为19,Vr(R)仍然为0、且均不需要向发送方发送丢失PDU的状态PDU。
[0054] 如果接收方接收到SN为0的AMD PDU,由于该AMD PDU的SN为0,而Vr(R)为0,即接收方当前期望的序列号为0,AMD PDU的SN与接收方当前期望的序列号相同,所以,确定没有发生丢失PDU,接收方不需要向发送方发送状态PDU。
[0055] 附图5为本发明的基于丢失PDU检测机制发送状态PDU的方法流程图。
[0056] 图5中,在步骤500,接收方接收AMD PDU。
[0057] 到步骤510,接收方获取该AMD PDU的序列号SN。
[0058] 到步骤520,接收方确定其当前期望的序列号和当前接收的最大序列号。
[0059] 到步骤530,接收方判断其接收的AMD PDU的SN是否与当前期望的序列号相同或上述接收的AMD PDU的SN是否与当前接收的最大序列号加1后的数值相同。如果SN与当前期望的序列号相同或SN与当前接收的最大序列号加1后的数值相同,到步骤540,确定没有发生丢失PDU,存储该AMD PDU,相应变更接收方当前期望的序列号或当前接收的最大序列号。到步骤500。
[0060] 在步骤530,如果接收方确定SN与当前期望的序列号和当前接收的最大序列号加1后的数值都不相同,则确定发生了丢失PDU,到步骤550,接收方向发送方发送状态PDU,且存储该AMD PDU,变更接收方当前接收的最大序列号。到步骤500。
[0061] 通过上述方法的描述可知,本发明提供了的检测丢失PDU发生机制的方法,能够有效及时的检测发生了丢失PDU,及时要求发送方重传丢失的AMDPDU,同时又避免了反向频繁传输状态PDU的现象,从而使反向传输的数据不受状态PDU的影响,在高速率、长时延的现代无线通信环境中有效的提高了数据传输效率。
[0062] 虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。