CN101989896A - 一种arq连接的反馈方法及装置 - Google Patents
一种arq连接的反馈方法及装置 Download PDFInfo
- Publication number
- CN101989896A CN101989896A CN2010105461966A CN201010546196A CN101989896A CN 101989896 A CN101989896 A CN 101989896A CN 2010105461966 A CN2010105461966 A CN 2010105461966A CN 201010546196 A CN201010546196 A CN 201010546196A CN 101989896 A CN101989896 A CN 101989896A
- Authority
- CN
- China
- Prior art keywords
- feedback
- block
- information
- type
- bsn
- 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.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种ARQ连接的反馈方法,用于实现对ARQ反馈类型的正确选择,以保证用尽量少的ARQ Feedback IE反馈尽量多的信息块。所述方法包括:确定接收窗口中第一个未接收到的信息块的序列号BSN;判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQ Feedback IE;发送ARQ Feedback IE组成的反馈净荷。本发明还公开了用于实现所述方法的装置。
Description
技术领域
本发明涉及无线通信领域,特别涉及一种ARQ连接的反馈方法及装置。
背景技术
为了减少到达网络链路层的信息差错率,节省空口带宽资源,提高系统的业务吞吐量,IEEE802.16标准在MAC层引入了ARQ(Automatic Repeat request,自动重传请求)技术。ARQ(Automatic Repeat-reQuest,自动重传请求)是一种实现通信节点之间信号可靠传输的技术,通过接收方请求发送方重传出错的数据报文来重新接收出错的报文,以及发送方在收到接收方的确认信息之前采取自动重传机制,是通信中用于处理信道所带来的差错的方法之一。
ARQ的每个传输的基本单位信息块(block)都有自己唯一的块序列号(BSN)。ARQ将所有信息块的确认信息均封装在ARQ反馈净荷(ARQFeedback Payload)中。一个ARQ反馈净荷可以包含一个或多个ARQ FeedbackInformation Element(ARQ反馈信息元素,即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反馈时可能出现的问题得到一定程度上的均衡。
附图说明
图1A为本发明实施例中类型0ARQ Feedback IE的示意图;
图1B为本发明实施例中类型1ARQ Feedback IE的示意图;
图1C为本发明实施例中类型2ARQ Feedback IE的示意图;
图1D为本发明实施例中类型3ARQ Feedback IE的示意图;
图2A为本发明实施例中ARQ连接的反馈装置的主要结构图;
图2B为本发明实施例中ARQ连接的反馈装置的详细结构图;
图2C为本发明实施例中带有计时器模块的ARQ连接的反馈装置的详细结构图;
图3为本发明实施例中ARQ连接反馈的主要流程图;
图4为本发明实施例中ARQ连接反馈的详细流程图;
图5为本发明实施例中当不选择生成类型1ARQ Feedback IE时判断是否能生成类型2ARQ Feedback IE的ARQ连接反馈的详细流程图;
图6为本发明实施例中当不选择生成类型1ARQ 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:如图1A。现有协议中规定该类型的ARQ Feedback IE由四个位图(bitmap)组成,每个bitmap包括16个bit(比特),每个bit反馈一个信息块,一共可以反馈64个块。如果今后协议发生变化,则该数值也可以相应改变。针对每个信息块都反馈一次,在发送端及接收端都需要逐个处理每个bit。
类型1:如图1B。该类型的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生成类型1ARQ Feedback IE,此时类型1ARQFeedback IE已经可以反馈完接收窗口中所有的信息块,并且类型1ARQFeedback IE较容易生成和解析,生成和解析的复杂程度是常数值。此时取ARQFeedback IE反馈信息中的BSN为该第一个未接收到的信息块的BSN的前一个值。如果第一个未接收到的信息块的BSN不等于HightestBSN,则不选择生成类型1ARQ Feedback IE,可以选择生成类型0ARQ Feedback IE、类型3ARQFeedback IE或类型2ARQ Feedback IE,且判断模块202可以继续进行后续判断,以选择更为合适的类型。以下介绍判断模块202继续判断的过程:判断模块202可以继续判断所有序列的总长度是否满足第二设定条件,当所有序列的总长度满足第二设定条件时,生成类型3ARQ Feedback IE。此时类型3ARQFeedback IE可以保证反馈完接收窗口中最多的信息块甚至接收窗口中所有的信息块,并且在反馈同样多信息块的前提下选择类型3ARQ Feedback IE时带宽消耗最少。其中,所述第二设定条件为接收窗口内所有序列的总长度不小于第一设定值,例如第一设定值为64,或者接收窗口内所有序列的总长度等于第一个未接收到的信息块的BSN和HightestBSN之间的差值;或者,如果第一个未接收到的信息块的BSN不等于HightestBSN,则不选择生成类型1ARQFeedback IE,判断模块202可以继续判断所有序列的总长度是否满足第一设定条件,其中,第一设定条件可以是所有序列的总长度小于第一设定值,例如第一设定值为64。或者所有序列的总长度小于第一个未接收到的信息块的BSN和HightestBSN之间的差值。当判断结果为否时,继续其它执行过程,当判断结果为是时,判断接收窗口起始位置对应的信息块是否已收到,其中,处理模块205维护一个长度与接收窗口相同大小的状态数组,连续的环回存储从接收窗口起始位置开始的接收窗口内所有信息块的接收状态。如果接收窗口收到一个信息块,则根据该信息块在接收窗口内的位置,相应标记状态数组中对应位置数组元素的值为已接收,其中,状态数组中的首元素对应接收窗口的起始位置。判断模块202在该状态数组中查询并判断接收窗口起始位置对应的信息块是否已收到,如果已收到,则生成模块203生成类型2ARQ Feedback IE,此时,因为类型2ARQ Feedback IE的BSN字段具有类型反馈作用,类型2ARQFeedback IE会比类型0ARQ Feedback IE多反馈BSN字段标记的信息块之前的信息块,因为此时所有信息块的序列长度之和小于第一设定值,例如第一设定值为64,则类型2ARQ Feedback IE比类型0ARQ Feedback IE反馈的信息块也多。或者生成类型0ARQ Feedback IE和类型1ARQ Feedback IE,或者生成类型3ARQ Feedback IE,如果接收窗口起始位置对应的信息块未收到,则生成模块203生成类型0ARQ Feedback IE,或者生成类型3ARQ Feedback IE。因为窗口起始位置对应的信息块未收到,所以不选择生成类型2ARQ FeedbackIE,而因为此时所有信息块的序列长度之和小于第一设定值,例如第一设定值为64,因此类型0ARQ Feedback IE比类型3ARQ Feedback IE反馈的信息块要多。其中,生成ARQ Feedback IE都是根据状态数组中所记录的信息块的接收状态来生成,根据状态数组中记录的信息块的接收状态,从序列记录的BSN开始依次设置ARQ Feedback IE中每个块的接收状态,用来反馈对应信息块的接收状态。协议规定ARQ发送端和ARQ接收端都必须支持类型1ARQFeedback IE,而协议可能会不支持其它三种ARQ Feedback IE。判断模块202还需判断数据传输的两端是否支持所选择的ARQ的反馈类型,如果不支持,则生成另外的类型。例如,如果数据传输的两端不支持类型3ARQ Feedback IE,则判断模块202判断接收窗口起始位置对应的信息块是否已收到,如果接收窗口起始位置对应的信息块已收到,则生成模块203生成类型2ARQ FeedbackIE,如果接收窗口起始位置对应的信息块未收到,则生成模块203生成类型0ARQ Feedback IE;如果数据传输的两端不支持类型2ARQ Feedback IE,则判断模块202判断数据传输的两端是否支持类型0ARQ Feedback IE,如果支持类型0ARQ Feedback IE,则生成模块203生成类型0ARQ Feedback IE和类型1ARQ Feedback IE来代替类型2ARQ Feedback IE,如果数据传输的两端也不支持类型0ARQ Feedback IE,则判断模块202继续数据传输的两端是否支持类型3ARQ Feedback IE,如果数据传输的两端支持类型3ARQ Feedback IE,则生成模块203生成类型3ARQ Feedback IE,如果数据传输的两端不支持类型3ARQ Feedback IE,则生成模块203生成类型1ARQ Feedback IE;如果数据传输的两端不支持类型0ARQ Feedback IE,则生成模块203生成类型3ARQFeedback IE来代替类型0ARQ Feedback IE。继续反馈剩余的信息块。如果以上几种情况均不能得到解决,且判断模块202判定不选择使用类型1ARQFeedback IE,则此次不做ARQ反馈。其中,因为HightestBSN是接收到的信息块所对应的BSN中最大的BSN值加1,考察信息块的时候就是考察接收窗口内第一个未接收到的信息块到最后一个接收到的信息块之间的信息块,因此所有序列的总长度只会小于或等于第一个未接收到的BSN与HightestBSN之间的差值,而不会出现所有序列的总长度大于第一个未接收到的BSN与HightestBSN之间的差值的情况。
生成模块203用于生成不同的ARQ Feedback IE类型。生成模块203用于在不同应用场景下生成类型0ARQ Feedback IE、类型1ARQ 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,不选择生成类型1ARQ Feedback IE,则处理模块205可以从接收窗口中第一个未接收到的信息块开始,将接收窗口内所有的信息块按照接收状态依次组成连续的序列,较佳的,最多可以组成12个长度小于第一设定值的序列,其中,对于类型3ARQ Feedback IE最多有4个bitmap,每个bitmap最多用3个块序列,3*4=12。该第一设定值可以为64,其中,64个信息块是类型0ARQ 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生成类型0ARQ 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:生成类型1ARQ Feedback IE。
步骤304:发送ARQ Feedback IE组成的反馈净荷。
参见图4,本发明实施例中ARQ连接反馈的详细方法流程如下:
步骤401:查找与接收窗口的位置对应的状态数组。
步骤402:判断第一个未接收到的信息块的BSN是否等于HightestBSN。当判断结果为是时,执行步骤403,否则执行步骤404。
步骤403:生成类型1ARQ 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:生成类型0ARQ Feedback IE。执行步骤410。
步骤410:发送ARQ Feedback IE组成的反馈净荷。
参见图5,本发明实施例中当不选择生成类型1ARQ Feedback IE时判断是否能生成类型2ARQ Feedback IE的ARQ连接反馈的详细方法流程如下:
步骤501:查找与接收窗口的位置对应的状态数组。
步骤502:判断第一个未接收到的信息块的BSN是否等于HightestBSN。当判断结果为是时,执行步骤503,否则执行步骤504。
步骤503:生成类型1ARQ 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:生成类型0ARQ Feedback IE。执行步骤510。
步骤510:将ARQ Feedback IE组成反馈净荷,进行发送。
步骤511:执行其它流程。例如,其它流程可以是继续进行是否可以构造类型3ARQ Feedback IE的判断过程。
参见图6,本发明实施例中当不选择生成类型1ARQ Feedback IE时判断是否能生成类型3ARQ Feedback IE的ARQ连接反馈的详细方法流程如下:
步骤601:查找与接收窗口的位置对应的状态数组。
步骤602:判断第一个未接收到的信息块的BSN是否等于HightestBSN。当判断结果为是时,执行步骤603,否则执行步骤604。
步骤603:生成类型1ARQ 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,不选择生成类型1ARQ Feedback IE后,进行是否能生成类型0ARQ Feedback IE、类型2ARQ Feedback IE或类型3ARQ Feedback IE的判断,该三个判断过程的顺序可以任意,可以不局限于图4、图5及图6所示的流程,例如,可以根据条件进行选择如何设置判断顺序等。图4、图5及图6所示的流程仅为本发明实施例的优选实施例,不能看作是对本发明的限制。
步骤611:将ARQ Feedback IE组成反馈净荷,进行发送。
步骤612:继续其它判断过程。例如可以继续进行是否可以生成类型2ARQFeedback IE或类型0ARQ 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反馈时可能出现的问题得到一定程度上的均衡。当判断结果为不选择生成类型1ARQ Feedback IE时,可以继续判断是否可以生成类型0ARQ Feedback IE、类型2ARQ Feedback IE或类型3ARQ Feedback IE,尽量减小带宽开销及对中间网元或发送端网元对反馈消息处理的压力,减少不必要的拥塞,且该三个判断过程的顺序可以任意,例如可以根据条件进行选择如何设置判断顺序,实现灵活,可以适应不同需要。设置了反馈最大时间间隔计时器,防止出现信息块不能得到全部反馈的现象,使信息块得到完全反馈,有利于及时更新发送窗口,避免出现链路拥塞,同时保证所有信息块都能收到正确的反馈。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种自动重传请求ARQ连接的反馈方法,其特征在于,包括以下步骤:
确定第一个未接收到的信息块的序列号BSN;
判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQFeedback IE;
发送ARQ Feedback IE组成的反馈净荷。
2.如权利要求1所述的方法,其特征在于,当判断结果为否时,判断所有序列的总长度是否满足第一设定条件,当判断结果为是时,判断接收窗口起始位置对应的信息块是否已收到,当接收窗口起始位置对应的信息块未收到时,生成类型0ARQ Feedback IE。
3.如权利要求1所述的方法,其特征在于,所述HightestBSN为收到的信息块所对应的BSN中最大的BSN值加1。
4.如权利要求2所述的方法,其特征在于,在生成类型0ARQ Feedback IE之前还包括步骤:判断数据传输的两端是否支持类型0ARQ Feedback IE,当数据传输的两端不支持类型0ARQ Feedback IE时,生成类型3ARQ FeedbackIE。
5.如权利要求2所述的方法,其特征在于,所述第一设定条件为所有序列的总长度小于第一设定值,或者所有序列的总长度小于第一个未接收到的信息块的BSN和HighestBSN之间的差值。
6.如权利要求2所述的方法,其特征在于,当接收窗口起始位置对应的信息块已收到时,生成类型2ARQ Feedback IE。
7.如权利要求2或6所述的方法,其特征在于,判断接收窗口起始位置对应的信息块是否已收到的步骤包括:在状态数组中查询并判断接收窗口起始位置对应的信息块是否已收到。
8.如权利要求6所述的方法,其特征在于,在生成类型2ARQ Feedback IE之前还包括步骤:判断数据传输的两端是否支持类型2ARQ Feedback IE,当数据传输的两端不支持类型2ARQ Feedback IE时,判断数据传输的两端是否支持类型0ARQ Feedback IE,当数据传输的两端支持类型0ARQ Feedback IE时,生成类型0ARQ Feedback IE和类型1ARQ Feedback IE,当数据传输的两端不支持类型0ARQ Feedback IE时,判断数据传输的两端是否支持类型3ARQ Feedback IE,当数据传输的两端支持类型3ARQ Feedback IE时,生成类型3ARQ Feedback IE,当数据传输的两端不支持类型3ARQ Feedback IE时,生成类型1ARQ Feedback IE。
9.如权利要求1所述的方法,其特征在于,判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为否时,判断所有序列的总长度是否满足第二设定条件,当所有序列的总长度满足第二设定条件时,生成类型3ARQ Feedback IE。
10.如权利要求9所述的方法,其特征在于,在生成类型3ARQ FeedbackIE之前还包括步骤:判断数据传输的两端是否支持类型3ARQ Feedback IE,当判断结果为不支持类型3ARQ Feedback IE时,判断接收窗口起始位置对应的信息块是否已收到,当判断结果为已收到时,生成类型2ARQ Feedback IE;当判断结果为未收到时,生成类型0ARQ Feedback IE。
11.如权利要求9所述的方法,其特征在于,所述第二设定条件为,接收窗口内所有序列的总长度不小于第一设定值,或者接收窗口内所有序列的总长度等于第一个未接收到的信息块的BSN和HightestBSN之间的差值。
12.如权利要求1,2,3,4,5,6,8,9,10或11所述的方法,其特征在于,在反馈执行完毕后,判断反馈的信息块所对应的BSN中最大的BSN值加一是否等于HightestBSN,当反馈的信息块所对应的BSN中最大的BSN值加一不等于HightestBSN时,遍历接收窗口中从该最大的BSN值所对应的信息块开始到接收窗口结束位置之间的信息块,生成类型0ARQ Feedback IE。
13.一种自动重传请求ARQ连接的反馈装置,其特征在于,包括:
查找模块,用于确定接收窗口中第一个未接收到的信息块的序列号BSN;
判断模块,用于判断第一个未接收到的信息块的块序列号BSN是否等于HightestBSN;
生成模块,用于当判断结果为是时,生成类型1自动重传请求反馈信息元素ARQ Feedback IE;
收发模块,用于发送ARQ Feedback IE组成的反馈净荷。
14.如权利要求13所述的装置,其特征在于,所述判断模块还用于当判断结果为否时,判断所有序列的总长度是否满足第一设定条件,当判断结果为是时,判断接收窗口起始位置对应的信息块是否已收到,所述生成模块还用于当接收窗口起始位置对应的信息块未收到时,生成类型0ARQ Feedback IE。
15.如权利要求13所述的装置,其特征在于,所述判断模块用于判断第一个未接收到的信息块的块序列号BSN是否等于最大块序列号HightestBSN,当判断结果为否时,判断所有序列的总长度是否满足第二设定条件;所述生成模块用于当所有序列的总长度满足第二设定条件时,生成类型3ARQ FeedbackIE。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010546196.6A CN101989896B (zh) | 2010-11-15 | 2010-11-15 | 一种arq连接的反馈方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010546196.6A CN101989896B (zh) | 2010-11-15 | 2010-11-15 | 一种arq连接的反馈方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101989896A true CN101989896A (zh) | 2011-03-23 |
CN101989896B CN101989896B (zh) | 2014-12-17 |
Family
ID=43746264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010546196.6A Active CN101989896B (zh) | 2010-11-15 | 2010-11-15 | 一种arq连接的反馈方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101989896B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227264A (zh) * | 2014-06-27 | 2016-01-06 | 深圳市中兴微电子技术有限公司 | 一种无线链路控制层错误数据检测方法及装置 |
CN110168987A (zh) * | 2017-01-05 | 2019-08-23 | 诺基亚技术有限公司 | 可扩展的反馈报告 |
CN112291047A (zh) * | 2020-11-16 | 2021-01-29 | 北京升哲科技有限公司 | 传输确认方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914844A (zh) * | 2003-12-29 | 2007-02-14 | 韩国电子通信研究院 | 移动通信系统中重传分组的方法和其上记录程序的计算机可读介质 |
CN101816146A (zh) * | 2007-10-03 | 2010-08-25 | 三星电子株式会社 | 用于在通信系统中发送和接收自动重发请求反馈信息元素的装置和方法 |
US20100265903A1 (en) * | 2009-04-16 | 2010-10-21 | Nokia Siemens Networks Oy | Adaptive arq block size for wireless networks |
-
2010
- 2010-11-15 CN CN201010546196.6A patent/CN101989896B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914844A (zh) * | 2003-12-29 | 2007-02-14 | 韩国电子通信研究院 | 移动通信系统中重传分组的方法和其上记录程序的计算机可读介质 |
CN101816146A (zh) * | 2007-10-03 | 2010-08-25 | 三星电子株式会社 | 用于在通信系统中发送和接收自动重发请求反馈信息元素的装置和方法 |
US20100265903A1 (en) * | 2009-04-16 | 2010-10-21 | Nokia Siemens Networks Oy | Adaptive arq block size for wireless networks |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227264A (zh) * | 2014-06-27 | 2016-01-06 | 深圳市中兴微电子技术有限公司 | 一种无线链路控制层错误数据检测方法及装置 |
CN105227264B (zh) * | 2014-06-27 | 2019-07-09 | 深圳市中兴微电子技术有限公司 | 一种无线链路控制层错误数据检测方法及装置 |
CN110168987A (zh) * | 2017-01-05 | 2019-08-23 | 诺基亚技术有限公司 | 可扩展的反馈报告 |
CN110168987B (zh) * | 2017-01-05 | 2021-12-31 | 诺基亚技术有限公司 | 可扩展的反馈报告 |
CN112291047A (zh) * | 2020-11-16 | 2021-01-29 | 北京升哲科技有限公司 | 传输确认方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101989896B (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101467798B1 (ko) | 무선통신시스템에서의 상태정보 전송 방법 및 수신장치 | |
TWI259674B (en) | Method and apparatus for reducing transmission errors in a third generation cellular system | |
US5664091A (en) | Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol | |
CN102113368B (zh) | 通信装置以及发送数据生成方法 | |
JP6374945B2 (ja) | 限定されたharqプロセスを伴う分散型ネットワークトポロジにおけるより多くの伝送機会を使用するための方法および装置 | |
CN105450785B (zh) | 一种文件传输方法和装置 | |
CN107959555B (zh) | 一种基于lwaap的数据传输方法、装置及存储介质 | |
WO2018171641A1 (zh) | 网络管理信息的收发方法、装置、发送设备和接收设备 | |
CN103532680A (zh) | 非预期的下行链路子帧的harq-ack处置 | |
CN101459973A (zh) | 无线通信设备和无线通信方法 | |
TW200405691A (en) | System for efficient recovery of node-b buffered data following MAC layer reset | |
CN103974422A (zh) | 一种通信处理方法及装置 | |
CN103905300A (zh) | 一种数据报文发送方法、设备及系统 | |
WO2017016351A1 (zh) | 一种上行数据的传输方法及装置 | |
CN102857354A (zh) | 告警信息上报方法、装置及系统 | |
CN103875192B (zh) | Harq反馈的传输方法和装置 | |
CN102118236B (zh) | 一种基于竞争资源的反馈方法和装置 | |
CN108886713B (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN101369879B (zh) | 一种请求数据重传的方法及装置 | |
WO2023185353A1 (zh) | 数据传输方法、电子设备和存储介质 | |
JP4772553B2 (ja) | データ送受信装置及びデータ送受信方法 | |
JP4763343B2 (ja) | ネットワークにおいて資源を割り当てるための方法および装置 | |
CN101989896B (zh) | 一种arq连接的反馈方法及装置 | |
CN105763375A (zh) | 一种数据包发送方法、接收方法及微波站 | |
KR100859499B1 (ko) | 데이터 송수신 방법 및 그에 따른 통신 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |