一种arq连接的反馈方法及装置的制作方法

文档序号:7765322阅读:468来源:国知局
专利名称:一种arq连接的反馈方法及装置的制作方法
技术领域
本发明涉及无线通信领域,特别涉及一种ARQ连接的反馈方法及装置。
背景技术
为了减少到达网络链路层的信息差错率,节省空口带宽资源,提高系统的业务吞吐量,IEEE802. 16 标准在 MAC 层引入了 ARQ(Automatic Repeat request,自动重传请求) 技术。ARQ(Automatic Reat-reQuest,自动重传请求)是一种实现通信节点之间信号可 靠传输的技术,通过接收方请求发送方重传出错的数据报文来重新接收出错的报文,以及 发送方在收到接收方的确认信息之前采取自动重传机制,是通信中用于处理信道所带来的 差错的方法之一。ARQ的每个传输的基本单位信息块(block)都有自己唯一的块序列号(BSN)。ARQ 将所有信息块的确认信息均封装在ARQ反馈净荷(ARQFeedback Payload)中。一个ARQ反 馈净荷可以包含一个或多个ARQ FeedbackInformation Element (ARQ反馈信息元素,S卩ARQ Feedback IE)。在IEEE802. 16标准中,ARQ Feedback IE有四种类型选择型的反馈(类 型0)、累积型的反馈(类型1)、选择累积型的反馈(类型2)及累积的块序列型的反馈(类型3)。ARQ需要选择合适的反馈类型以保证用尽量少的ARQ Feedback IE反馈尽量多的 信息块。同时,应选择正确的反馈时机,在保证协议两端状态机正常协作的情况下,尽量减 少反馈的ARQ Feedback IE,以减少ARQ Feedback IE对带宽和网元处理能力的消耗。在确定反馈时机时,要求收到报文要及时反馈,但这样反馈消息过多,反馈消息会 占用较大的带宽开销,同时也加大了中间网元或发送端网元对反馈消息处理的压力。同时 要求将收到的大量报文一起反馈,但这可能会影响发送窗口的及时更新,造成不必要的拥塞。

发明内容
本发明实施例提供一种ARQ连接的反馈方法,用于实现对ARQ反馈类型的正确选 择,以保证用尽量少的ARQ Feedback IE反馈尽量多的信息块。—种自动重传请求ARQ连接的反馈方法,包括以下步骤确定接收窗口中第一个未接收到的信息块的序列号BSN ;判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号 HightestBSN,当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQFeedback IE ;发送ARQ Feedback IE组成的反馈净荷。一种自动重传请求ARQ连接的反馈装置,包括查找模块,用于确定接收窗口中第一个未接收到的信息块的序列号BSN ;判断模块,用于判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号 HightestBSN ;生成模块,用于当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQ Feedback IE ;收发模块,用于发送ARQ Feedback IE组成的反馈净荷。本发明实施例中确定第一个未接收到的信息块的序列号BSN ;判断第一个未接收 到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为是时,生成 类型1自动重传请求反馈信息元素ARQ Feedback IE ;将ARQ Feedback IE组成反馈净荷, 进行发送。第一个未收到的信息块之前的信息块均已收到,且其BSN连续,因此用累积的方 式来进行反馈,从而在确定ARQ反馈时机之后完成了对ARQ反馈类型的较佳选择,以保证用 尽量少的ARQ Feedback IE反馈尽量多的信息块,使ARQ反馈时可能出现的问题得到一定 程度上的均衡。


图IA为本发明实施例中类型OARQ Feedback IE的示意图;图IB为本发明实施例中类型IARQ Feedback IE的示意图;图IC为本发明实施例中类型2ARQ Feedback IE的示意图;图ID为本发明实施例中类型3ARQ Feedback IE的示意图;图2A为本发明实施例中ARQ连接的反馈装置的主要结构图;图2B为本发明实施例中ARQ连接的反馈装置的详细结构图;图2C为本发明实施例中带有计时器模块的ARQ连接的反馈装置的详细结构图;图3为本发明实施例中ARQ连接反馈的主要流程图;图4为本发明实施例中ARQ连接反馈的详细流程图;图5为本发明实施例中当不选择生成类型IARQ Feedback IE时判断是否能生成 类型2ARQ Feedback IE的ARQ连接反馈的详细流程图;图6为本发明实施例中当不选择生成类型IARQ Feedback IE时判断是否能生成 类型3ARQ Feedback IE的ARQ连接反馈的详细流程图;图7为本发明实施例中确定反馈时机的详细流程图。
具体实施例方式本发明实施例中确定第一个未接收到的信息块的序列号BSN ;判断第一个未接收 到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为是时,生成 类型1自动重传请求反馈信息元素ARQ Feedback IE ;将ARQ Feedback IE组成反馈净荷, 进行发送。第一个未收到的信息块之前的信息块均已收到,且其BSN连续,因此用累积的方 式来进行反馈,从而在确定ARQ反馈时机之后完成了对ARQ反馈类型的正确选择,以保证用 尽量少的ARQ Feedback IE反馈尽量多的信息块,使ARQ反馈时可能出现的问题得到一定 程度上的均衡。以下具体说明每种ARQ Feedback IE类型的特点类型0 如图IA。现有协议中规定该类型的ARQ Feedback IE由四个位图(bitmap) 组成,每个bitmap包括16个bit (比特),每个bit反馈一个信息块,一共可以反馈64个块。如果今后协议发生变化,则该数值也可以相应改变。针对每个信息块都反馈一次,在发 送端及接收端都需要逐个处理每个bit。类型1:如图IB。该类型的ARQ Feedback IE可以反馈接收窗口内第一个未收 到的信息块之前所有的信息块。当有一个信息块未收到或接收异常时,将该信息块在ARQ Feedback IE中的位置的前一个信息块的BSN设为BSN字段,窗口中该BSN字段之前的信息 块都被正确接收。可将窗口的起始位置设置为ARQFeedback IE中BSN字段的值加1。类型2 如图1C。该类型ARQ Feedback IE中有一个BSN字段,表示接收窗口内该 BSN字段前的信息块都被正确接收。该ARQ Feedback IE包含4个16bit的bitmap,其中 BSN字段之后的bitmap表示该BSN字段后的信息块的接收状态,其中也包括BSN字段对应 的信息块。类型3 如图1D。该类型ARQ Feedback IE中有一个BSN字段,表示接收窗口内该 BSN字段前的信息块都被正确接收。该ARQ Feedback IE包含4个16bit的bitmap,每个 bitmap的第一个bit表示bitmap的类型。类型0的bitmap,第2、3两个bit表示信息块序 列接收状态,其后连续的两个6个bit的bitmap表示对应信息块序列长度。每个序列长度 最大值为26-1 = 63个。类型1的bitmap,第2、3、4三个bit表示信息块序列接收状态,其 后连续的三个4个bit的bitmap表示对应信息块序列长度。每个序列长度最大值为24-1 =15个。以上的具体数字均为现有协议中的规定,如果今后协议发生变化,则以上数字也 可以相应改变。ARQ发送端可以根据每组的长度按段处理反馈的信息块。但接收生成反馈 时,需要考察接收到的信息块,以确定采用何种类型的bitmap可以反馈较多的信息块。参见图2A,本发明实施例中,ARQ连接的反馈装置包括查找模块201、判断模块 202、生成模块203及收发模块204。所述装置位于ARQ接收端,即数据接收端。查找模块201用于确定接收窗口中第一个未接收到的信息块的BSN。查找模块 201查找接收窗口中接收到的信息块,当查找到第一个未接收到的信息块时,确定该信息块 的BSN。反馈执行完毕后查找模块201遍历接收窗口,如果检查到还有没有反馈的信息块, 则生成模块203生成类型0 ARQ Feedback IE。判断模块202用于判断第一个未接收到的信息块的BSN是否等于最大块序列号 (HightestBSN)。其中,连续的信息块对应的BSN也是连续的。当确定反馈时机后,查找模 块201从接收窗口起始位置开始查找,当查找到第一个未接收到的信息块时,判断模块202 判断该信息块的BSN是否等于HightestBSN,其中HightestBSN为收到的信息块所对应的 BSN中最大的BSN值加1,即HightestBSN对应的块和其后对应的块都没有收到。例如,如 果接收窗口从BSN为1的块开始,BSN为1、3、4、5块都已收到,这个时候收到的信息块所对 应的BSN中最大的BSN就是5,HightestBSN就是6,第一个没有收到的BSN就是2。如果2 也收到了,那么第一个未收到块的BSN就是6,和HightestBSN相等。这两个值相等说明窗 口内收到的块都是连续的。如果收到了一个BSN为6的块,就把HightestBSN更新为6+1 =7。该HightestBSN可以记录在判断模块202中,如果该第一个未接收到信息块的BSN 等于HightestBSN,则生成模块203生成类型IARQ Feedback IE,此时类型IARQFeedback IE已经可以反馈完接收窗口中所有的信息块,并且类型IARQFeedback IE较容易生成和 解析,生成和解析的复杂程度是常数值。此时取ARQFeedback IE反馈信息中的BSN为该 第一个未接收到的信息块的BSN的前一个值。如果第一个未接收到的信息块的BSN不等于HightestBSN,则不选择生成类型IARQ Feedback IE,可以选择生成类型OARQ Feedback IE、类型3ARQFeedback IE或类型2ARQ Feedback IE,且判断模块202可以继续进行后续判 断,以选择更为合适的类型。以下介绍判断模块202继续判断的过程判断模块202可以继 续判断所有序列的总长度是否满足第二设定条件,当所有序列的总长度满足第二设定条件 时,生成类型3ARQ Feedback IE。此时类型3ARQFeedback IE可以保证反馈完接收窗口中 最多的信息块甚至接收窗口中所有的信息块,并且在反馈同样多信息块的前提下选择类型 3ARQ Feedback IE时带宽消耗最少。其中,所述第二设定条件为接收窗口内所有序列的总 长度不小于第一设定值,例如第一设定值为64,或者接收窗口内所有序列的总长度等于第 一个未接收到的信息块的BSN和HightestBSN之间的差值;或者,如果第一个未接收到的信 息块的BSN不等于HightestBSN,则不选择生成类型IARQFeedback IE,判断模块202可以 继续判断所有序列的总长度是否满足第一设定条件,其中,第一设定条件可以是所有序列 的总长度小于第一设定值,例如第一设定值为64。或者所有序列的总长度小于第一个未接 收到的信息块的BSN和HightestBSN之间的差值。当判断结果为否时,继续其它执行过程, 当判断结果为是时,判断接收窗口起始位置对应的信息块是否已收到,其中,处理模块205 维护一个长度与接收窗口相同大小的状态数组,连续的环回存储从接收窗口起始位置开始 的接收窗口内所有信息块的接收状态。如果接收窗口收到一个信息块,则根据该信息块在 接收窗口内的位置,相应标记状态数组中对应位置数组元素的值为已接收,其中,状态数组 中的首元素对应接收窗口的起始位置。判断模块202在该状态数组中查询并判断接收窗口 起始位置对应的信息块是否已收到,如果已收到,则生成模块203生成类型2ARQ Feedback IE,此时,因为类型2ARQ Feedback IE的BSN字段具有类型反馈作用,类型2ARQFeedback IE会比类型OARQ Feedback IE多反馈BSN字段标记的信息块之前的信息块,因为此时所 有信息块的序列长度之和小于第一设定值,例如第一设定值为64,则类型2ARQ Feedback IE比类型OARQ Feedback IE反馈的信息块也多。或者生成类型OARQ Feedback IE和类 型IARQ Feedback IE,或者生成类型3ARQ Feedback IE,如果接收窗口起始位置对应的信 息块未收到,则生成模块203生成类型OARQ Feedback IE,或者生成类型3ARQ Feedback IE。因为窗口起始位置对应的信息块未收到,所以不选择生成类型2ARQ FeedbacklE,而因 为此时所有信息块的序列长度之和小于第一设定值,例如第一设定值为64,因此类型OARQ Feedback IE比类型3ARQ Feedback IE反馈的信息块要多。其中,生成ARQ Feedback IE都 是根据状态数组中所记录的信息块的接收状态来生成,根据状态数组中记录的信息块的接 收状态,从序列记录的BSN开始依次设置ARQ Feedback IE中每个块的接收状态,用来反馈 对应信息块的接收状态。协议规定ARQ发送端和ARQ接收端都必须支持类型IARQFeedback IE,而协议可能会不支持其它三种ARQ Feedback IE。判断模块202还需判断数据传输的 两端是否支持所选择的ARQ的反馈类型,如果不支持,则生成另外的类型。例如,如果数据 传输的两端不支持类型3ARQ Feedback IE,则判断模块202判断接收窗口起始位置对应的 信息块是否已收到,如果接收窗口起始位置对应的信息块已收到,则生成模块203生成类 型2ARQ FeedbacklE,如果接收窗口起始位置对应的信息块未收到,则生成模块203生成类 型OARQ Feedback IE ;如果数据传输的两端不支持类型2ARQ Feedback IE,则判断模块202 判断数据传输的两端是否支持类型OARQ Feedback IE,如果支持类型OARQ Feedback IE, 则生成模块203生成类型OARQ Feedback IE和类型IARQ Feedback IE来代替类型2ARQFeedback IE,如果数据传输的两端也不支持类型OARQ Feedback IE,则判断模块202继 续数据传输的两端是否支持类型3ARQ Feedback IE,如果数据传输的两端支持类型3ARQ Feedback IE,则生成模块203生成类型3ARQ Feedback IE,如果数据传输的两端不支持类 型3ARQ Feedback IE,则生成模块203生成类型IARQ Feedback IE ;如果数据传输的两端不 支持类型OARQ Feedback IE,则生成模块203生成类型3ARQFeedback IE来代替类型OARQ Feedback IE。继续反馈剩余的信息块。如果以上几种情况均不能得到解决,且判断模块202 判定不选择使用类型IARQFeedback IE,则此次不做ARQ反馈。其中,因为HightestBSN是 接收到的信息块所对应的BSN中最大的BSN值加1,考察信息块的时候就是考察接收窗口内 第一个未接收到的信息块到最后一个接收到的信息块之间的信息块,因此所有序列的总长 度只会小于或等于第一个未接收到的BSN与HightestBSN之间的差值,而不会出现所有序 列的总长度大于第一个未接收到的BSN与HightestBSN之间的差值的情况。生成模块203用于生成不同的ARQ Feedback IE类型。生成模块203用于在不同 应用场景下生成类型 OARQ Feedback IE、类型 IARQ Feedback IE、类型 2ARQ Feedback IE 或类型 3ARQ Feedback IE。收发模块204用于发送ARQ Feedback IE组成的反馈净荷。收发模块204还用于 接收PDU (Packet Data Unit,分组数据单元)。收发模块204包含一个接收窗口,所有接收 到的信息块及反馈净荷均放置于此接收窗口中,同时还包括一个发送窗口,所有待发送的 信息块均位于此发送窗口中。其中,发送窗口将信息块发送后,需等待数据接收端的ARQ反 馈消息,如果数据接收端发送的ARQ反馈消息中标记数据接收端已收到了某信息块,则将 该信息块从发送窗口中删除,否则需根据设置进行重传。接收窗口中每个位置都对应一个 信息块,如果接收窗口中某位置所对应的信息块没有收到,则该信息块在ARQFeedback IE 中所对应的bitmap的位置会被置为零。参见图2B,所述装置还可以包括处理模块205及计算模块206。处理模块205用于对接收窗口内接收到的信息块进行处理。如果第一个未接 收到的信息块的块序列号BSN不等于最大块序列号HightestBSN,不选择生成类型IARQ Feedback IE,则处理模块205可以从接收窗口中第一个未接收到的信息块开始,将接收窗 口内所有的信息块按照接收状态依次组成连续的序列,较佳的,最多可以组成12个长度小 于第一设定值的序列,其中,对于类型3ARQ Feedback IE最多有4个bitmap,每个bitmap 最多用3个块序列,3*4 = 12。该第一设定值可以为64,其中,64个信息块是类型OARQ Feedback IE和类型2ARQ Feedback IE可以反馈的不连续的信息块的最大值。处理模块 205记录下每个序列中信息块的接收状态,记录每个序列中第一个信息块的BSN,及每个序 列中信息块的数目。如果生成类型3ARQ Feedback IE,则处理模块205依次处理每个序列, 如果计算模块206计算出的当前序列和下一个序列的长度之和大于第二设定值,例如该第 二设定值可以为45,其中,一个bitmap中最多用3个信息块,每个序列最多反馈15个信息 块,3*15 = 45,则此bitmap为0型,取2个序列,该2个序列的最大长度可以为第一设定值 减1,例如,第一设定值可以为64,则这2个序列的最大长度都可以为63,否则此bitmap为 1型,取3个序列,该3个序列的最大长度可以为第二设定值的三分之一,例如,第二设定值 可以为45,则该3个序列的最大长度可以为15。其中,本发明实施例中的具体数字,如12、 15、64、45、2、3、4等,均为现有协议中的规定,如果现有协议发生变化,则以上数字也可以相应更改。处理模块205用于当生成模块203生成完ARQ Feedback IE的类型后,将ARQ Feedback IE组成ARQ反馈净荷。处理模块205用于维护一个长度与接收窗口相同大小 的状态数组,连续的环回存储从接收窗口起始位置开始的接收窗口内所有信息块的接收状 态。如果接收窗口收到一个信息块,则根据该信息块在接收窗口内的位置,相应标记状态数 组中对应位置的状态为已接收。具体的,为了防止出现这样的现象接收窗口内只有很少的 几个信息块,未超过按信息块的个数反馈的门限值,如果不继续收到新的信息块则这几个 剩余的信息块就得不到反馈。采取以下操作当接收窗口中接收到第一个信息块,并将其对 应的状态数组中对应位置的状态标记为已接收时,启动反馈最大时间间隔计时器。如果该 反馈最大时间间隔计时器超时且接收窗口内仍然有信息块没有反馈,则重启该计时器,开 始选择ARQ Feedback IE的类型。以保证接收窗口内所有的信息块都能得到反馈。在反馈 执行完毕后,判断模块202判断反馈的信息块所对应的BSN中最大的BSN值加一是否等于 HightestBSN,当反馈的信息块所对应的BSN中最大的BSN值加一不等于HightestBSN时, 处理模块205遍历接收窗口中从该最大的BSN值所对应的信息块开始到接收窗口结束位置 之间的信息块,生成模块203生成类型OARQ Feedback IE。计算模块206用于计算所有序列的总长度。当处理模块205将接收窗口内所有 的信息块按照接收状态依次组成连续的序列之后,计算模块206计算所有序列的总长度, 及计算出第一个未接收到的信息块的BSN和HightestBSN之间的差值,判断模块202判断 计算模块206计算出的所有序列的总长度是否满足第二设定条件。其中,所述第二设定条 件为,所有序列的总长度不小于第一设定值,该第一设定值可以为64,或者所有序列的总 长度等于第一个未接收到的信息块的BSN和HightestBSN之间的差值,当计算出所有序 列的总长度满足第二设定条件时,生成模块203生成类型3ARQ Feedback IE。生成类型 3ARQFeedback IE,处理模块205依次处理每个序列,计算模块206还用于计算当前序列和 下一个序列的长度之和是否大于第二设定值,该第二设定值可以为45,如果当前序列和下 一个序列的长度之和大于第二设定值,则此bitmap为0型,取两个序列,否则此bitmap为 1型,取3个序列。参见图2C,所述装置还可以包括获取模块207及计时器模块208。获取模块207用于获取当前PDU子包的起始BSN和分片长度。PDU可以有多个子 包,获取模块207对其分别进行处理。获取模块207将收发模块204接收到的PDU解封装, 解出PDU的子包或分片字头。获取模块207依次考察所有子包中的信息块,如果有的信息块 在收发模块204接收时未能成功放入接收窗口中,使该信息块位于接收窗口之外,则丢弃 该信息块。判断模块202可以将接收到的所有子包中的信息块所对应的BSN中最大的BSN 值(即HightestBSN)记录下来,如果当前PDU子包中信息块所对应的BSN中最大的BSN不 比该HightestBSN小,则将该HightestBSN的值取为该子包中最大的BSN值加1。计时器模块208用于计时。计时器模块208中至少包含反馈最大时间间隔计时 器,还可以包含其它与ARQ反馈相关的计时器。当收发模块204中的接收窗口中接收到第 一个信息块,并将其对应的状态数组中对应位置的状态标记为已接收时,启动计时器模块 208中的反馈最大时间间隔计时器。其中,取反馈最大时间间隔计时器的间隔=重传计时器 时间间隔-环回时延的最大值-常数C。具体的,环回时延为ARQ发送端从发出信息块到 接收到反馈ARQ FeedbackIE之间的时间间隔。在没有链路拥塞的情况下,上下行的环回时延基本相同。因此在本发明实施例中,ARQ接收端作为反向链路的ARQ发送端,可以获得环 回时延。常数C远小于重传计时器时间间隔减去环回时延的最大值后所得到的值,例如,常 数C可以取一帧的时延。查找模块201从收发模块204中的接收窗口起始位置开始查找, 当查找到第一个未接收到的信息块时,如果该信息块和接收窗口起始位置之间相隔的信息 块的数目超过一个常数A,则计时器模块208重启反馈最大时间间隔计时器,开始进行ARQ Feedback IE类型的选择,否则,如果该信息块和接收窗口起始位置之间相隔的信息块的数 目没有超过常数A,当反馈最大时间间隔计时器超时时,如果接收窗口内仍然有信息块没有 得到反馈,则重启反馈最大时间间隔计时器,开始进行ARQ Feedback IE类型的选择。其 中,从接收窗口起始位置开始连续收到的信息块的数目,取值的理论范围应为不小于0,且 小于第四设定值,例如第四设定值为1024,实际取值范围一般不会太大,因此设置一个常数 A,以判断接收到的信息块数目是偏多还是偏少。下面通过实现流程来介绍ARQ连接的反馈方法。参见图3,本发明实施例中ARQ连接反馈的主要方法流程如下步骤301 确定接收窗口中第一个未接收到的信息块的BSN。步骤302 判断第一个未接收到的信息块的BSN是否等于HightestBSN,当判断结 果为是时,继续步骤303。步骤303 生成类型 IARQ Feedback IE。步骤304 发送ARQ Feedback IE组成的反馈净荷。参见图4,本发明实施例中ARQ连接反馈的详细方法流程如下步骤401 查找与接收窗口的位置对应的状态数组。步骤402 判断第一个未接收到的信息块的BSN是否等于HightestBSN。当判断结 果为是时,执行步骤403,否则执行步骤404。步骤403 生成类型IARQ Feedback IE。执行步骤410。步骤404 将第一个未接收到的信息块之后的信息块计为序列。其中,从接收窗口 中第一个未接收到的信息块开始,将接收窗口内所有的信息块按照接收状态依次组成连续 的序列,最多组成12个长度小于第一设定值的序列,例如第一设定值可以为64,并记录下 每个序列的接收状态,及每个序列中第一个信息块的BSN及每个序列中信息块的数目。步骤405 判断所有序列的总长度是否满足第二设定条件。当判断结果为是时,执 行步骤406,否则执行步骤407。其中,第二设定条件可以是,所有序列的总长度不小于第一 设定值,例如第一设定值可以为64,或者所有序列的总长度等于接收窗口内第一个未接收 到的信息块的BSN和HightestBSN之间的差值。步骤406 生成类型3ARQ Feedback IE。执行步骤410。步骤407 判断接收窗口起始位置对应的信息块是否已收到。当判断结果为是时, 执行步骤408,否则执行步骤409。步骤408 生成类型2ARQ Feedback IE。执行步骤410。步骤409 生成类型OARQ Feedback IE。执行步骤410。步骤410 发送ARQ Feedback IE组成的反馈净荷。参见图5,本发明实施例中当不选择生成类型IARQ Feedback IE时判断是否能生 成类型2ARQ Feedback IE的ARQ连接反馈的详细方法流程如下
步骤501 查找与接收窗口的位置对应的状态数组。步骤502 判断第一个未接收到的信息块的BSN是否等于HightestBSN。当判断结 果为是时,执行步骤503,否则执行步骤504。步骤503 生成类型 IARQ Feedback IE。取 ARQ Feedback IE 的 BSN 为第一个未 接收到的信息块的BSN的前一个值。执行步骤510。步骤504 将第一个未接收到的信息块之后的信息块计为序列。步骤505:判断序列的总长度是否小于第一设定值。例如第一设定值为64。当判 断结果为否时,继续步骤506,否则执行步骤507。步骤506:判断序列的总长度是否小于第一个未接收到的信息块的BSN和 HightestBSN之间的差值。当判断结果为是时,执行步骤507,否则执行步骤511。步骤507 判断接收窗口起始位置对应的信息块是否已收到。当判断结果为是时, 执行步骤508,否则执行步骤509。步骤508 生成类型2ARQ Feedback IE。按照序列记录的接收状态设置bitmap。 如果bitmap中相应位置对应的信息块在状态数组中标记为已接收,则将bitmap中相应位 置置1,否则将bitmap中相应位置置0。执行步骤510。步骤509 生成类型OARQ Feedback IE。执行步骤510。步骤510 将ARQ Feedback IE组成反馈净荷,进行发送。步骤511 执行其它流程。例如,其它流程可以是继续进行是否可以构造类型3ARQ Feedback IE的判断过程。参见图6,本发明实施例中当不选择生成类型IARQ Feedback IE时判断是否能生 成类型3ARQ Feedback IE的ARQ连接反馈的详细方法流程如下步骤601 查找与接收窗口的位置对应的状态数组。步骤602 判断第一个未接收到的信息块的BSN是否等于HightestBSN。当判断结 果为是时,执行步骤603,否则执行步骤604。步骤603 生成类型 IARQ Feedback IE,取 ARQ Feedback IE 的 BSN 为第一个未接 收到的信息块的BSN的前一个值。执行步骤611。步骤604 将第一个未接收到的信息块之后的信息块计为序列。步骤605 判断所有序列的总长度是否不小于第一设定值。例如第一设定值为64。 当判断结果为否时,继续步骤606,否则执行步骤607。步骤606 判断所有序列的总长度是否等于接收窗口内第一个未接收到的信息块 所对应的BSN和HightestBSN之间的差值。当判断结果为是时,执行步骤607,否则执行步 骤 612。步骤607 生成类型 3ARQ Feedback IE。步骤608 判断当前序列和下一个序列的长度之和是否大于第二设定值。当判断 结果为是时,执行步骤609,否则继续步骤610。例如,第二设定值可以为45。步骤609 采用0型bitmap,取两个序列。如果当前序列和下一个序列的长度之和 大于第二设定值,则此bitmap为0型,则取两个序列。执行步骤611。步骤610 采用1型bitmap,取三个序列。如果当前序列和下一个序列的长度之和 不大于第二设定值,则此bitmap为1型,则取三个序列。执行步骤611。
其中,当第一个未接收到的信息块的BSN不等于HightestBSN,不选择生成类型 IARQ Feedback IE 后,进行是否能生成类型 OARQ Feedback IE、类型 2ARQ Feedback IE 或 类型3ARQ Feedback IE的判断,该三个判断过程的顺序可以任意,可以不局限于图4、图5 及图6所示的流程,例如,可以根据条件进行选择如何设置判断顺序等。图4、图5及图6所 示的流程仅为本发明实施例的优选实施例,不能看作是对本发明的限制。步骤611 将ARQ Feedback IE组成反馈净荷,进行发送。步骤612 继续其它判断过程。例如可以继续进行是否可以生成类型 2ARQFeedback IE 或类型 OARQ Feedback IE 的判断过程。参见图7,本发明实施例中确定反馈时机的详细方法流程如下步骤701 将接收到的PDU解封装。解出PDU的子包或分片字头。步骤702 获取当前PDU子包的起始BSN和分片长度。其中,分片长度即该PDU子 包的总长度,也就是该PDU子包中所有信息块的长度之和。如果有子包的信息块位于接收 窗口之外,则丢弃该信息块。步骤703 判断当前子包所有信息块所对应的BSN中的最大BSN是否小于 HightestBSN,当判断结果为否时,继续步骤704,否则继续步骤705。步骤704 取HightestBSN为该最大BSN的下一个位置。步骤705 将所有接收到的信息块的状态标记为已接收。其中,是在状态数组中进 行标记。步骤706 将接收窗口接收到的第一个信息块的状态标记为已接收后,启动反馈 最大时间间隔计时器。步骤707 查找接收窗口内第一个未接收到的信息块。从接收窗口起始位置开始 查找接收窗口内第一个未接收到的信息块。步骤708 判断该第一个未接收到的信息块与接收窗口起始位置之间的信息块数 目是否超过常数A。当判断结果为是时,继续步骤711,否则继续步骤709。步骤709 反馈最大时间间隔计时器超时。步骤710 判断接收窗口内是否有信息块没有反馈。当判断结果为是时,继续步骤 711,否则结束流程。步骤711 进行ARQ Feedback IE类型的选择。即进行如图5所示的流程。本发明实施例中确定第一个未接收到的信息块的序列号BSN ;判断第一个未接收 到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为是时,生成 类型1自动重传请求反馈信息元素ARQ Feedback IE ;将ARQ Feedback IE组成反馈净荷, 进行发送。第一个未收到的信息块之前的信息块均已收到,且其BSN连续,因此用累积的方 式来进行反馈,从而在确定ARQ反馈时机之后完成了对ARQ反馈类型的正确选择,以保证用 尽量少的ARQ Feedback IE反馈尽量多的信息块,使ARQ反馈时可能出现的问题得到一定 程度上的均衡。当判断结果为不选择生成类型IARQ Feedback IE时,可以继续判断是否可 以生成类型 OARQ Feedback IE、类型 2ARQ Feedback IE 或类型 3ARQ Feedback IE,尽量减 小带宽开销及对中间网元或发送端网元对反馈消息处理的压力,减少不必要的拥塞,且该 三个判断过程的顺序可以任意,例如可以根据条件进行选择如何设置判断顺序,实现灵活, 可以适应不同需要。设置了反馈最大时间间隔计时器,防止出现信息块不能得到全部反馈的现象,使信息块得到完全反馈,有利于及时更新发送窗口,避免出现链路拥塞,同时保证 所有信息块都能收到正确的反馈。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形 式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各 种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本 发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种自动重传请求ARQ连接的反馈方法,其特征在于,包括以下步骤确定第一个未接收到的信息块的序列号BSN;判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQFeedback IE;发送ARQ Feedback IE组成的反馈净荷。
2.如权利要求1所述的方法,其特征在于,当判断结果为否时,判断所有序列的总长度 是否满足第一设定条件,当判断结果为是时,判断接收窗口起始位置对应的信息块是否已 收到,当接收窗口起始位置对应的信息块未收到时,生成类型OARQ Feedback IE。
3.如权利要求1所述的方法,其特征在于,所述HightestBSN为收到的信息块所对应的 BSN中最大的BSN值加1。
4.如权利要求2所述的方法,其特征在于,在生成类型OARQFeedback IE之前还包括 步骤判断数据传输的两端是否支持类型OARQ Feedback IE,当数据传输的两端不支持类 型 OARQ Feedback IE 时,生成类型 3ARQ FeedbackIE。
5.如权利要求2所述的方法,其特征在于,所述第一设定条件为所有序列的总长度小 于第一设定值,或者所有序列的总长度小于第一个未接收到的信息块的BSN和HighestBSN 之间的差值。
6.如权利要求2所述的方法,其特征在于,当接收窗口起始位置对应的信息块已收到 时,生成类型 2ARQ Feedback IE。
7.如权利要求2或6所述的方法,其特征在于,判断接收窗口起始位置对应的信息块是 否已收到的步骤包括在状态数组中查询并判断接收窗口起始位置对应的信息块是否已收 到。
8.如权利要求6所述的方法,其特征在于,在生成类型2ARQFeedback IE之前还包 括步骤判断数据传输的两端是否支持类型2ARQ Feedback IE,当数据传输的两端不支持 类型2ARQ Feedback IE时,判断数据传输的两端是否支持类型OARQ Feedback IE,当数 据传输的两端支持类型OARQ Feedback IE时,生成类型OARQ Feedback IE和类型IARQ Feedback IE,当数据传输的两端不支持类型OARQ Feedback IE时,判断数据传输的两端是 否支持类型3ARQ Feedback IE,当数据传输的两端支持类型3ARQ Feedback IE时,生成类 型3ARQ Feedback IE,当数据传输的两端不支持类型3ARQ Feedback IE时,生成类型IARQ Feedback IE。
9.如权利要求1所述的方法,其特征在于,判断第一个未接收到的信息块的块序列号 BSN是否等于最大块序列号HightestBSN,当判断结果为否时,判断所有序列的总长度是否 满足第二设定条件,当所有序列的总长度满足第二设定条件时,生成类型3ARQ Feedback IE。
10.如权利要求9所述的方法,其特征在于,在生成类型3ARQFeedbackIE之前还包 括步骤判断数据传输的两端是否支持类型3ARQ Feedback IE,当判断结果为不支持类型 3ARQ Feedback IE时,判断接收窗口起始位置对应的信息块是否已收到,当判断结果为已 收到时,生成类型2ARQ Feedback IE ;当判断结果为未收到时,生成类型OARQ Feedback IE。
11.如权利要求9所述的方法,其特征在于,所述第二设定条件为,接收窗口内所有序列的总长度不小于第一设定值,或者接收窗口内所有序列的总长度等于第一个未接收到的 信息块的BSN和HightestBSN之间的差值。
12.如权利要求1,2,3,4,5,6,8,9,10或11所述的方法,其特征在于,在反馈执行完 毕后,判断反馈的信息块所对应的BSN中最大的BSN值加一是否等于HightestBSN,当反 馈的信息块所对应的BSN中最大的BSN值加一不等于HightestBSN时,遍历接收窗口中从 该最大的BSN值所对应的信息块开始到接收窗口结束位置之间的信息块,生成类型OARQ Feedback IE0
13.一种自动重传请求ARQ连接的反馈装置,其特征在于,包括查找模块,用于确定接收窗口中第一个未接收到的信息块的序列号BSN ;判断模块,用于判断第一个未接收到的信息块的块序列号BSN是否等于HightestBSN ;生成模块,用于当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQ Feedback IE ;收发模块,用于发送ARQ Feedback IE组成的反馈净荷。
14.如权利要求13所述的装置,其特征在于,所述判断模块还用于当判断结果为否时, 判断所有序列的总长度是否满足第一设定条件,当判断结果为是时,判断接收窗口起始位 置对应的信息块是否已收到,所述生成模块还用于当接收窗口起始位置对应的信息块未收 到时,生成类型OARQ Feedback IE。
15.如权利要求13所述的装置,其特征在于,所述判断模块用于判断第一个未接收到 的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为否时,判断所 有序列的总长度是否满足第二设定条件;所述生成模块用于当所有序列的总长度满足第二 设定条件时,生成类型3ARQ FeedbackIE0
全文摘要
本发明公开了一种ARQ连接的反馈方法,用于实现对ARQ反馈类型的正确选择,以保证用尽量少的ARQ Feedback IE反馈尽量多的信息块。所述方法包括确定接收窗口中第一个未接收到的信息块的序列号BSN;判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQ Feedback IE;发送ARQ Feedback IE组成的反馈净荷。本发明还公开了用于实现所述方法的装置。
文档编号H04L1/18GK101989896SQ20101054619
公开日2011年3月23日 申请日期2010年11月15日 优先权日2010年11月15日
发明者田旌熙 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1