CN102065489A - 一种动态分配多速率重传次数的方法和设备 - Google Patents
一种动态分配多速率重传次数的方法和设备 Download PDFInfo
- Publication number
- CN102065489A CN102065489A CN2010106153163A CN201010615316A CN102065489A CN 102065489 A CN102065489 A CN 102065489A CN 2010106153163 A CN2010106153163 A CN 2010106153163A CN 201010615316 A CN201010615316 A CN 201010615316A CN 102065489 A CN102065489 A CN 102065489A
- Authority
- CN
- China
- Prior art keywords
- retransmissions
- packet loss
- speed
- allocated
- rate
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种动态分配多速率重传次数的方法和设备,其中方法为:选择待分配的速率,按照实际吞吐量由高到低的顺序依次为待分配的速率分配重传次数。假定为本档速率分配一个重传次数,计算分配之后的条件吞吐量,如果条件吞吐量大于下一档速率的实际吞吐量,则为本档速率分配该重传次数,并继续判断是否可以分配下一个重传次数;如果条件吞吐量小于下一档速率的实际吞吐量,则开始为下一档速率分配重传次数。本发明能够根据当前环境在多档速率之间动态分配总的重传次数,从而适应不同环境,并提高不同环境下系统的整体性能。
Description
技术领域
本发明涉及无线局域网(WLAN)技术领域,尤其涉及一种动态分配多速率重传次数的方法和设备。
背景技术
WLAN的无线环境变化多端,为了提高系统的性能,802.11协议规定物理层有多种可选的速率。在环境较好时,可以选用高的速率发包,以达到一个高的吞吐量;当环境变差时,高的速率会导致较高的丢包率,使整体吞吐量降低,因此需要使用低的速率发包。802.11协议并未规定该如何选择速率,只是提出一般原则,实际上各厂商享有相当大的自由。当前,许多厂商采用多速率重传的方式来保持整体的吞吐量,即给一个数据包选定多个发送速率及每个发送速率对应一个重传次数,当高速率的重传次数用完并且仍然丢包时,立即逐次地使用选定的低档速率重传。
目前,无线设备厂商实现的多速率重传一般是通过把总重传次数在多档速率之间进行静态的分配,例如,当具有4档速率、总重传次数为8时,每档速率各分配2次重传次数。这种方式至少存在以下缺点:1)不能适应不同的环境,可靠性较差;2)性能难以达到极限要求,当环境较好时,高速率得不到更多的发包机会,而环境较差时,高速率又浪费了较多的空口时间;3)需要手动分配各档速率的重传次数。
发明内容
本发明提出了一种动态分配多速率重传次数的方法,能够根据当前环境在多档速率之间动态分配总的重传次数,从而适应不同环境,并提高不同环境下系统的整体性能。
本发明还提出一种动态分配多速率重传次数的设备,能够根据当前环境在多档速率之间动态分配总的重传次数,适应不同环境,并提高不同环境下系统的整体性能。
本发明的技术方案是这样实现的:
一种动态分配多速率重传次数的方法,包括:
统计各档可用速率及其对应的原丢包率和实际吞吐量,从各档可用速率中选择实际吞吐量最大的N档速率作为待分配的速率,所述N为预先设定的自然数;
根据以下步骤按照实际吞吐量由高到低的顺序依次对(N-1)档待分配速率分配重传次数,当完成对第(N-1)档待分配速率分配后仍有重传次数剩余时,将剩余的重传次数分配给第N档待分配速率:
A、以所述原丢包率作为自变量、采用预先设置的条件丢包率函数计算条件丢包率,采用所述条件丢包率计算条件吞吐量,当所述条件丢包率小于预先设定的阈值并且所述条件吞吐量大于所述速率的下一档速率对应的实际吞吐量时,执行步骤B;否则,对下一档速率分配重传次数;
B、为所述速率再分配一个重传次数,将原丢包率的值设置为所述条件丢包率,继续执行步骤A。
一种动态分配多速率重传次数的设备,包括:
速率选取模块,用于统计各档可用速率及其对应的原丢包率和实际吞吐量,从各档可用速率中选择实际吞吐量最大的N档速率作为待分配的速率,所述N为预先设定的自然数;
循环分配模块,用于根据以下步骤按照实际吞吐量由高到低的顺序依次对(N-1)档待分配速率分配重传次数,当完成对第(N-1)档待分配速率分配后仍有重传次数剩余时,将剩余的重传次数分配给第N档待分配速率:A、以所述原丢包率作为自变量、采用预先设置的条件丢包率函数计算条件丢包率,采用所述条件丢包率计算条件吞吐量,当所述条件丢包率小于预先设定的阈值并且所述条件吞吐量大于所述速率的下一档速率对应的实际吞吐量时,执行步骤B;否则,对下一档速率分配重传次数;B、为所述速率再分配一个重传次数,将原丢包率的值设置为所述条件丢包率,继续执行步骤A。
可见,本发明提出的动态分配多速率重传次数的方法和设备,充分利用丢包率信息在各档速率之间动态分配重传次数,而不需要根据环境变化手动调整重传次数的分配,从而提高了系统的稳定性,并且在各种环境下都能达到较高的吞吐量。
附图说明
图1为本发明实施例的实现流程图;
图2为本发明提出的动态分配多速率重传次数的设备结构示意图。
具体实施方式
本发明提出一种动态分配多速率重传次数的方法,包括:
统计各档可用速率及其对应的原丢包率和实际吞吐量,从各档可用速率中选择实际吞吐量最大的N档速率作为待分配的速率,所述N为预先设定的自然数;
根据以下步骤按照实际吞吐量由高到低的顺序依次对(N-1)档待分配速率分配重传次数,当完成对第(N-1)档待分配速率分配后仍有重传次数剩余时,将剩余的重传次数分配给第N档待分配速率:
A、以所述原丢包率作为自变量、采用预先设置的条件丢包率函数计算条件丢包率,采用所述条件丢包率计算条件吞吐量,当所述条件丢包率小于预先设定的阈值并且所述条件吞吐量大于所述速率的下一档速率对应的实际吞吐量时,执行步骤B;否则,对下一档速率分配重传次数;
B、为所述速率再分配一个重传次数,将原丢包率的值设置为所述条件丢包率,继续执行步骤A。
上述原丢包率的初始值为实际丢包率。
上述的条件丢包率是在假定使用本档速率发送该包失败后计算出来的丢包率,这是一种在假设某些事件发生的条件下得到的值,因此称为条件丢包率。
条件丢包率函数可以按照一定的规律进行设置,条件丢包率可与原丢包率(记为old_per)和新丢包率(记为new_per)有关,则条件丢包率函数可以记为:f(old_per,new_per),该函数内容可以是:
上述按照实际吞吐量由高到低的顺序依次对待分配的速率分配重传次数之前,为各档待分配的速率分别分配至少一个重传次数。
上述过程之后,无线站点(Station)设备在重传数据包时,可以按照上述速率和为其分配的重传次数进行重传。
以下举具体的实施例详细介绍。在本实施例中,以为4档速率分配重传次数为例进行介绍。如图1为本发明实施例的实现流程图,包括以下步骤:
步骤101:Station设备统计各档可用速率及其对应的实际丢包率,采用下式计算实际吞吐量:
Thruput=rate×(1-per),
其中,Thruput为实际吞吐量,rate为速率的值,per为该档速率对应的实际丢包率。
选择实际吞吐量最大的4档速率作为待分配的速率,将这4档速率按照实际吞吐量由大到小的顺序进行编号,记为r[i](i=0,1,2,3);各档速率对应的实际丢包率为per[i]。
将剩余的总重传次数记为retrynum,由于目前尚未分配,则retrynum的值等于待分配的总重传次数。
步骤102:分别为每档速率分配1个重传次数,以保证这些选出的速率都有发包的机会。将r[i]对应的重传次数记为trynum[i],则trynum[i]初始为1;
将retrynum的值减去4,得到当前剩余的总重传次数。
为各档速率r[i]分别初始化一组临时变量per_at_txfail[i],表示各档速率的条件丢包率。该per_at_txfail[i]初始赋值为per[i]的值,即实际丢包率。
初始化循环变量i=0,也就是首先为编号为0的速率(即实际吞吐量最高的速率)分配重传次数。
步骤103:判断是否要进入算法的循环部分,为各档速率分配重传次数。
当剩余的总重传次数retrynum>0、并且i<3时,也就是还有重传次数尚未分配完、并且不是在给最后一档速率分配重传次数时,执行步骤104;否则执行步骤108。
步骤104:采用函数f(old_per)计算条件丢包率,这里,old_per的值携带在临时变量per_at_txfail[i]中,即,计算条件丢包率的方式为:
per_at_txfail[i]=f(per_at_txfail[i])。
例如,在为r[i]分配第2个重传次数时,old_per为per[i],计算出的per_at_txfail[i]=f(per[i]);
在为r[i]分配第3个重传次数时,old_per为per_at_txfail[i],计算出新的per_at_txfail[i]=f(per_at_txfail[i])=f(f(per[i]))。
步骤105:本步骤判断条件丢包率是否满足以下两个条件,当同时满足以下两个条件时,为本档速率分配一个重传次数,即执行步骤106;当至少一个条件不满足时,开始为下一档速率分配重传次数,即执行步骤107。
上述两个条件为:
(1)条件丢包率per_at_txfail[i]小于预先设定的阈值(记为per_threshold)。
(2)采用条件丢包率计算条件吞吐量=r[i]×(1-per_at_txfail[i]),条件吞吐量大于下一档速率的实际吞吐量,这里,下一档速率的实际吞吐量为r[i+1]×(1-per[i+1])。
当条件吞吐量大于下一档速率的实际吞吐量时,也就是说,如果为本档速率再分配一个重传次数,那么按照预先设定的函数,计算出本档速率的条件吞吐量仍大于下一档速率的实际吞吐量,因此可以继续为本档速率分配重传次数。
步骤106:将r[i]的重传次数trynum[i]加1,剩余的总重传次数retrynum减1,继续为r[i]分配下一个重传次数,即继续执行步骤103。
步骤107:将循环变量i加1,为下一档速率分配重传次数,即继续执行步骤103。
步骤108:当剩余的总重传次数retrynum>0、并且i=3时,也就是还有重传次数尚未分配完、并且此次给最后一档速率分配重传次数时,只需要将所有剩余的重传次数全部分配给最后一档速率,即执行步骤109;当retrynum=0时,表示所有的重传次数均已分完,则结束当前流程。
步骤109:将r[3]的重传次数tryum[3]加上retrynum,此时全部的重传次数即分配完毕。
以上介绍了分配重传次数的过程。在上述过程中,首先为各档选择的速率分配一个重传次数,以保证所有选出的速率都有发包的机会;之后,按照实际吞吐量由高到低的顺序依次为各档速率分配重传次数,分配的原理是,采用预先规定的条件丢包率函数计算为该档速率再分配一个重传次数后可能的丢包率(即条件丢包率),如果条件丢包率过大,导致计算出的条件吞吐量大于下一档速率的实际吞吐量,则说明不应再为该速率分配重传次数,则开始为下一档速率分配重传次数;如果计算出的条件丢包率不大,计算出的条件吞吐量大于下一档速率的实际吞吐量,则说明还可以为该速率分配重传次数。如此循环分配,直至将所有的重传次数分配完毕。
本发明还提出一种动态分配多速率重传次数的设备,如图2为本发明提出的动态分配多速率重传次数的设备结构示意图,该设备包括:
速率选取模块201,用于统计各档可用速率及其对应的原丢包率和实际吞吐量,从各档可用速率中选择实际吞吐量最大的N档速率作为待分配的速率,所述N为预先设定的自然数;
循环分配模块203,用于根据以下步骤按照实际吞吐量由高到低的顺序依次对(N-1)档待分配速率分配重传次数,当完成对第(N-1)档待分配速率分配后仍有重传次数剩余时,将剩余的重传次数分配给第N档待分配速率:A、以所述原丢包率作为自变量、采用预先设置的条件丢包率函数计算条件丢包率,采用所述条件丢包率计算条件吞吐量,当所述条件丢包率小于预先设定的阈值并且所述条件吞吐量大于所述速率的下一档速率对应的实际吞吐量时,执行步骤B;否则,对下一档速率分配重传次数;B、为所述速率再分配一个重传次数,将原丢包率的值设置为所述条件丢包率,继续执行步骤A。
上述设备中,原丢包率的初始值为实际丢包率。
上述设备中,所述条件丢包率函数为:
上述设备可以进一步初次分配模块202,用于在所述循环分配模块203分配重传次数之前,为各档待分配的速率分别分配至少一个重传次数。
上述设备可以进一步包括重传模块204,用于在重传数据包时,按照所述N档待分配的速率和为其分配的重传次数进行重传。
可见,采用本发明提出的方法和设备,能够根据当前环境的优劣在多档速率之间动态分配总的重传次数,提高系统的稳定性,提高不同环境下系统的整体性能
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种动态分配多速率重传次数的方法,其特征在于,所述方法包括:
统计各档可用速率及其对应的原丢包率和实际吞吐量,从各档可用速率中选择实际吞吐量最大的N档速率作为待分配的速率,所述N为预先设定的自然数;
根据以下步骤按照实际吞吐量由高到低的顺序依次对(N-1)档待分配速率分配重传次数,当完成对第(N-1)档待分配速率分配后仍有重传次数剩余时,将剩余的重传次数分配给第N档待分配速率:
A、以所述原丢包率作为自变量、采用预先设置的条件丢包率函数计算条件丢包率,采用所述条件丢包率计算条件吞吐量,当所述条件丢包率小于预先设定的阈值并且所述条件吞吐量大于所述速率的下一档速率对应的实际吞吐量时,执行步骤B;否则,对下一档速率分配重传次数;
B、为所述速率再分配一个重传次数,将原丢包率的值设置为所述条件丢包率,继续执行步骤A。
2.根据权利要求1所述的方法,其特征在于,所述原丢包率的初始值为实际丢包率。
4.根据权利要求1、2或3所述的方法,其特征在于,在所述按照实际吞吐量由高到低的顺序依次对待分配的速率分配重传次数之前,为各档待分配的速率分别分配至少一个重传次数。
5.根据权利要求1、2或3所述的方法,其特征在于,所述分配重传次数之后进一步包括:
重传数据包时,按照所述N档待分配的速率和为其分配的重传次数进行重传。
6.一种动态分配多速率重传次数的设备,其特征在于,所述设备包括:
速率选取模块,用于统计各档可用速率及其对应的原丢包率和实际吞吐量,从各档可用速率中选择实际吞吐量最大的N档速率作为待分配的速率,所述N为预先设定的自然数;
循环分配模块,用于根据以下步骤按照实际吞吐量由高到低的顺序依次对(N-1)档待分配速率分配重传次数,当完成对第(N-1)档待分配速率分配后仍有重传次数剩余时,将剩余的重传次数分配给第N档待分配速率:A、以所述原丢包率作为自变量、采用预先设置的条件丢包率函数计算条件丢包率,采用所述条件丢包率计算条件吞吐量,当所述条件丢包率小于预先设定的阈值并且所述条件吞吐量大于所述速率的下一档速率对应的实际吞吐量时,执行步骤B;否则,对下一档速率分配重传次数;B、为所述速率再分配一个重传次数,将原丢包率的值设置为所述条件丢包率,继续执行步骤A。
7.根据权利要求6所述的设备,其特征在于,所述原丢包率的初始值为实际丢包率。
9.根据权利要求6、7或8所述的设备,其特征在于,所述设备进一步包括:初次分配模块,用于在所述循环分配模块分配重传次数之前,为各档待分配的速率分别分配至少一个重传次数。
10.根据权利要求6、7或8所述的设备,其特征在于,所述设备进一步包括重传模块,用于在重传数据包时,按照所述N档待分配的速率和为其分配的重传次数进行重传。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010615316 CN102065489B (zh) | 2010-12-21 | 2010-12-21 | 一种动态分配多速率重传次数的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010615316 CN102065489B (zh) | 2010-12-21 | 2010-12-21 | 一种动态分配多速率重传次数的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102065489A true CN102065489A (zh) | 2011-05-18 |
CN102065489B CN102065489B (zh) | 2013-04-10 |
Family
ID=44000530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010615316 Active CN102065489B (zh) | 2010-12-21 | 2010-12-21 | 一种动态分配多速率重传次数的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102065489B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102315906A (zh) * | 2011-09-21 | 2012-01-11 | 福建星网锐捷网络有限公司 | 数据帧发送方法及设备 |
CN102355695A (zh) * | 2011-09-30 | 2012-02-15 | 福建星网锐捷网络有限公司 | 数据速率选择方法、装置及网络设备 |
CN107612665A (zh) * | 2017-10-27 | 2018-01-19 | 深圳友讯达科技股份有限公司 | 数据信息重传方法及网络传输系统 |
CN108965775A (zh) * | 2017-05-25 | 2018-12-07 | 中兴通讯股份有限公司 | 数据丢包处理策略的调整方法、装置及存储介质 |
CN112564866A (zh) * | 2020-11-20 | 2021-03-26 | 普联技术有限公司 | 一种数据重传方法和装置 |
CN115276940A (zh) * | 2022-07-29 | 2022-11-01 | 维沃移动通信有限公司 | 消息确认方法、装置和接收端设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101855873A (zh) * | 2007-11-09 | 2010-10-06 | 汤姆森许可贸易公司 | 无线传输速率控制方法 |
-
2010
- 2010-12-21 CN CN 201010615316 patent/CN102065489B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101855873A (zh) * | 2007-11-09 | 2010-10-06 | 汤姆森许可贸易公司 | 无线传输速率控制方法 |
Non-Patent Citations (2)
Title |
---|
M.LACAGE: "IEEE 802.11 Rate Adaptation:A Practical Approach", 《ACM MSWIM 2004》, 31 December 2004 (2004-12-31) * |
MADWIFI: "Description of The Minstrel Algorithm", 《HTTP://MADWIF-PROJECT.ORG/BROWSER/MADWIF/BRANCHES/MADWIFI-0.9.4/ATH-RATE/MINSTREL》, 28 May 2009 (2009-05-28) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102315906A (zh) * | 2011-09-21 | 2012-01-11 | 福建星网锐捷网络有限公司 | 数据帧发送方法及设备 |
CN102355695A (zh) * | 2011-09-30 | 2012-02-15 | 福建星网锐捷网络有限公司 | 数据速率选择方法、装置及网络设备 |
CN102355695B (zh) * | 2011-09-30 | 2014-04-23 | 福建星网锐捷网络有限公司 | 数据速率选择方法、装置及网络设备 |
CN108965775A (zh) * | 2017-05-25 | 2018-12-07 | 中兴通讯股份有限公司 | 数据丢包处理策略的调整方法、装置及存储介质 |
CN107612665A (zh) * | 2017-10-27 | 2018-01-19 | 深圳友讯达科技股份有限公司 | 数据信息重传方法及网络传输系统 |
CN112564866A (zh) * | 2020-11-20 | 2021-03-26 | 普联技术有限公司 | 一种数据重传方法和装置 |
CN115276940A (zh) * | 2022-07-29 | 2022-11-01 | 维沃移动通信有限公司 | 消息确认方法、装置和接收端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102065489B (zh) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102065489B (zh) | 一种动态分配多速率重传次数的方法和设备 | |
CN102076023B (zh) | 缓存空间的分配方法和设备 | |
CN102469022B (zh) | 缓存空间的分配方法和设备 | |
CN103069795B (zh) | 用于通信网络的动态比特分配 | |
CN101668005A (zh) | 一种基于发送端多接入通道的数据传输加速引擎方法 | |
CN103581014B (zh) | Vrrp路由器动态调整方法及装置 | |
CN103888317B (zh) | 一种协议无关的网络冗余流量消除方法 | |
CN103797841B (zh) | 一种准入控制方法和装置 | |
CN102186211B (zh) | 一种端到端多链路并行传输的负载分配方法 | |
WO2015149451A1 (zh) | 一种共享网络的方法、装置、系统和计算机存储介质 | |
CN103428756A (zh) | 一种无线局域网中聚合帧的控制装置和方法 | |
CN101621681B (zh) | 一种调节视频通信质量的方法和设备 | |
CN1610339A (zh) | 传送和恢复数据分组的方法和装置 | |
CN102017547A (zh) | 用于用户设备中的数据尺寸适配的系统和方法 | |
CN104507112B (zh) | Mcs门限的调整方法及装置、基站 | |
EP2482600B1 (en) | Method and device for allocating base station available resources | |
CN110149221A (zh) | 一种基于联盟链的自适应网络的构建方法及装置 | |
CN104144427B (zh) | 一种无线认知网络频带分配方法 | |
CN103402205A (zh) | 一种无线树状网接入控制方法及网络节点设备 | |
CN105451336B (zh) | 一种分组数据调度方法及装置 | |
CN102224684B (zh) | 移动通信系统中的帧汇聚方法 | |
CN103079073A (zh) | 正交频分多址接入系统中面向可伸缩视频的资源分配方法 | |
CN102088732A (zh) | 优化用于低速率业务的tbs表的方法和设备 | |
CN104869113A (zh) | 基于最小化完成时间的网络传输方法及系统 | |
CN102448156B (zh) | 一种多载波hsupa增强上行物理信道发送方法和系统 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |