一种ack超时时间自动调节方法

文档序号:7772194阅读:1485来源:国知局
一种ack超时时间自动调节方法
【专利摘要】本发明公开了一种ACK超时时间自动调节方法,属于无线通信【技术领域】,包括如下步骤:A、初始化ACK超时时间以及调整步长;B、利用步长调整算法确定调整步长收敛过程中的最优ACK超时时间;C、间隔一定时间后,再次给调整步长赋值,执行步骤B,确定新的最优ACK超时时间,计算新的最优ACK超时时间与原最优ACK超时时间的差值,若所述差值大于阈值,则快速进行下一次ACK超时时间调整,反之则延长下一次调整的调节等待时间。本发明所记载的方法受通信环境中的无线电波的反射和多径效应的影响较小,对ACK超时时间估计和调整的准确度高,而且实现成本低,占用资源少,稳定性好,能快速收敛,不需要手动设置,操作简便。
【专利说明】—种ACK超时时间自动调节方法
【技术领域】
[0001]本发明涉及无线通信【技术领域】,尤其涉及一种ACK超时时间自动调节方法。
【背景技术】
[0002]目前,大多数远距离无线宽带网桥产品都是在802.11无线局域网的技术上发展而来。802.11无线局域网最初的传输范围是室外300米,室内100米。随着无线通信技术的发展,尤其是MMO技术的引入,基于802.11标准的无线产品经改进后并安装上高增益天线可以实现几十公里,甚至上百公里的远距离无线固定接入。这满足了偏远地区和特殊行业的数据接入需求。因此远距离无线宽带网桥产品应运而生。相比较传统的有线数据网接入,它具有成本低,安装方便和易于维护等特点。
[0003]无线宽带网桥相对于一般的802.11无线局域网产品,为了达到远距离通信的目的,其中一个最大的改进在于调节ACK确认应答的等待时间。802.11技术使用RTS-CTS/Date-ACK的应答确认机制。CTS/ACK超时时间(以下都简称ACK超时时间)值对远距离无线传输的性能影响非常大。目前,ACK超时时间的设置方法主要有两种:一种是利用GPS或接收信号强度的衰减来估计接入点和客户端的通信距离,然后通过距离来计算ACK超时时间,这种方法被很多厂家所采用;另一种是通过手动设置通信距离来设置ACK超时时间。这两种方法都是基于通信距离来设置ACK超时时间。目前使用最广的802.11驱动是MADWIFI(Multiband Atheros Driver for WiFi)Linux 驱动。Madwifi 提供接 口可以让用户设置接入点/客户端的通信距离,然后根据用户设置的通信距离,Madwifi计算出对应的ACK超时时间值。
[0004]然而,根据通信距离来计算ACK超时时间值具有很多不足,主要包括:一方面在远距离无线传输(通常大于20KM)的应用场景中,用户很难估计出一个准确的距离;另一方面由于无线电波的反射和多径影响,通信距离往往不是接入点/客户端的直线距离。美国专利US20100026558A1 “Distance Estimation”提供了一种利用接收信号强度来估计距离的方法。估计出来的距离可以用来计算出对应的ACK超时时间值。这可以实现ACK超时时间值的自动调整。但是由于接收信号强度受环境影响很大,所以这种方法计算出的ACK超时时间不准确。
[0005]因此需要一种新的ACK超时时间的自动调整机制来方便远距离无线传输的应用。
【发明内容】

[0006](一)要解决的技术问题
[0007]本发明所要解决的技术问题是:如何提供一种ACK超时时间的自动调节方法,这种方法不直接基于通信距离来调节ACK超时时间,克服现有技术中设置以及调节ACK超时时间受环境影响大、操作困难、结果不准确的缺点。
[0008](二)技术方案
[0009]为了解决上述技术问题,本发明提供了一种ACK超时时间自动调节方法,包括如下步骤:
[0010]A、初始化ACK超时时间以及调整步长;
[0011]B、利用步长调整算法确定调整步长收敛过程中的最优ACK超时时间;
[0012]C、间隔一定时间后,再次给调整步长赋值,执行步骤B,确定新的最优ACK超时时间,计算新的最优ACK超时时间与原最优ACK超时时间的差值,若所述差值大于阈值,则快速进行下一次ACK超时时间调整,反之则延长下一次调整的调节等待时间。
[0013]进一步地,所述步骤B具体包括:
[0014]B1、设置数据帧超时重传次数的最大值L,若数据帧发送L次后数据仍未能被正确接收,则记该数据帧发送失败,设置整数M表征调整步长调整的频率;
[0015]B2、令dec和inc两个权重值均初始化为0,若一个数据帧发送失败,则inc值增加;反之,dec值增加;
[0016]B3、连续发送N个数据帧之后,如果inc大于dec,则ACK超时时间增加一个调整步长;反之如果inc小于或等于dec,ACK超时时间将减少一个调整步长;
[0017]B4、重复步骤B2至B3,若ACK超时时间值连续M次增加或者连续M减少,调整步长翻倍;如果ACK超时时间的增加和减少交替出现,调整步长减半并向下取整;其他情况则调整步长不变;
[0018]B5、重复B4直至调整步长收敛为0,计算上述步骤中每次调整步长后ACK超时时间值和与之对应的发送次数的乘积,得到这次调整期间N个数据帧的总发送时间,使得所述总发送时间最小的ACK超时时间值为本次调整收敛后的最优ACK超时时间。
[0019]优选地,所述步骤B2中若一个数据帧发送失败,inc增加的值为所述步骤BI中设置的L,若一个数据帧发送成功,dec增加的值为L-1。
[0020]具体地,所述步骤C中所述再次给调整步长赋值具体为:
[0021]所赋值为所述步骤A中初始化调整步长的二分之一。
[0022]具体地,所述步骤C中所述快速进行下一次ACK超时时间调整具体为:将调节等待时间按照
[0023]T' = MIN_ADJ_TIME
[0024]进行调整;
[0025]所述延长下一次调整的调节等待时间具体为:将调节等待时间按照
[0026]T' =MIN (2XT, MAX_ADJ_TIME)
[0027]进行调整;
[0028]其中,MIN_ADJJlME表示最小调节间隔时间,MAX_ADJ_TIME表示最大调节间隔时间,且MAX_ADJ_HME>MIN_ADJJlME,T表示当前调节等待时间。
[0029]进一步地,对于一个接入点对多个客户端的点对多点无线传输,所述步骤B5后还包括:
[0030]接入点取所有客户端最优ACK超时时间中的最大值作为接入点的最优ACK超时时间。
[0031]进一步地,所述ACK超时时间自动调节方法还包括步骤:
[0032]D、管理客户端的加入和退出,使得接入点处设置的ACK超时时间值适用于点对多点无线传输系统中的所有客户端。[0033]进一步地,所述步骤D具体包括:
[0034]一旦有新的客户端加入连接,则立刻计算该客户端的最优ACK超时时间τ,若接入点的当前最优ACK超时时间小于τ,接入点的当前最优ACK超时时间更新为τ ;否则,接入点的当前ACK超时时间不变;接入点将每个客户端的MAC地址与ACK超时时间绑定,因此接入点在调整ACK超时时间时可以通过数据帧中MAC地址来区分不同的客户端;
[0035]若有客户端退出连接,以后的ACK超时时间调整将不再考虑此节点,直至它重新连接。
[0036](三)有益效果
[0037]本发明所记载的技术方案直接以ACK超时时间为对象进行处理,与通信距离不直接关联,这样相比于用接收信号强度和GPS进行定位和估算通信距离来说,本发明记载的方法受通信环境中的无线电波的反射和多径效应的影响较小,对ACK超时时间估计和调整的准确度高。此外,本发明记载的方法可以全部用软件来实现,不需要增加额外成本。进一步地,本发明记载的方法算法简单,占用资源少,稳定性好,能快速收敛,而且不需要手动设置,操作简便。
[0038]结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
【专利附图】

【附图说明】
[0039]图1为本发明一种实施方式的ACK超时时间自动调节方法的步骤流程示意图;
[0040]图2为图1中步骤B的具体实施步骤流程示意图。
【具体实施方式】
[0041]下面结合说明书附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例仅用于说明本发明,但不用来限制本发明的范围。
[0042]对于远距离无线通信来说,ACK超时时间对远距离无线传输的性能影响非常大:ACK超时时间设置过小,发送端在还没有收到接收端发送过来的ACK之前就重传数据帧;ACK超时时间设置过大,在经历额外不必要的等待后,发送端才重发丢失的数据帧。以上两种情况都导致无线资源的浪费和系统性能的下降。为了自适应的调整ACK超时时间,本实施例记载了一种ACK超时时间自动调节方法,既适用于点对点通信网络,也适用于点对多点通信网络,分别如实施例一和实施例二所述。此外,实施例三给出了在实施环境下测得的本发明的性能。
[0043]实施例一
[0044]本实施例给出了点对点的通信网络中,客户端以及接入点的ACK超时时间自动调节方法。在点对点通信中,客户端和接入点的ACK超时时间调节方法是一样的,如图1所示,包括如下步骤:
[0045]步骤Α、初始化ACK超时时间以及调整步长。
[0046]在本实施例中,调整步长用step表示。ACK超时时间的初始值设置为200微秒,约为信号无线传输30千米所需的时间。step的初始值设置为16微秒。
[0047]步骤B、利用步长调整算法确定调整步长收敛过程中的最优ACK超时时间。如图2所示,步骤B具体是通过执行以下步骤来实现的:
[0048]B1、设置数据帧超时重传次数的最大值L=4,若数据帧发送L次后数据仍未能被正确接收,则记该数据帧发送失败,设置整数M=4。
[0049]B2、令dec和inc两个权重值均初始化为0,若一个数据帧发送失败,则inc值增加;反之,dec值增加。在本实施例中,对于一个数据巾贞,若发送失败,则inc=inc+L=inc+4 ;,若发送成功,则 dec=dec+L_l=dec+3。
[0050]B3、连续发送N个数据巾贞之后,统计inc和dec的值,如果inc大于dec,则ACK超时时间增加一个step ;反之如果inc小于或等于dec, ACK超时时间将减少一个step ;
[0051 ] B4、重复步骤B2至B3,若ACK超时时间值连续M次增加或者连续M减少,调整步长翻倍,即step=2step ;如果ACK超时时间的增加和减少交替出现,则step=step/2,并向下取整;
[0052]B5、重复B4直至step=0,计算上述步骤中每次调整步长后ACK超时时间值和与之对应的发送次数的乘积,得到这次调整期间N个数据帧的总发送时间,使得所述总发送时间最小的ACK超时时间值为本次调整收敛后的最优ACK超时时间。
[0053]这样就完成了一次ACK超时时间调节过程,得到的最优ACK超时时间将被设置为节点的ACK超时时间,直到下一次ACK超时时间调节。
[0054]由于本实施例是针对的点对点通信,此处的节点既包括接入点又包括客户端。而对于点对多点通信,客户端的ACK超时时间调节过程与本实施例所记载的方法一样,接入点的ACK超时时间调节过程有所不同。
[0055]步骤C、间隔一定时间T后,再次给调整步长赋值,令调整步长为步骤A中的初始调整步长的一半,在本实施例中,即令step=8微秒,然后再次执行步骤B,确定新的最优ACK超时时间。计算新的最优ACK超时时间与上次执行步骤B得到的最优ACK超时时间的差值。
[0056]令MIN_ADJJlME表示最小调节间隔时间,MAX_ADJJlME表示最大调节间隔时间,且MAX_ADJ_HME>MIN_ADJJlME。若上述两次调节的最优ACK超时时间的差值大于阈值,则令下次进行ACK超时时间调节的调节等待时间为Iw = MIN_ADJ_TIME ;反之,令Iw = MIN(2XT, MAX_ADJ_TIME)0
[0057]在本实施例中,所述阈值设置为3微秒,MIN_ADJ_TIME=100秒,MAX_ADJ_TIME=3600 秒。
[0058]这样,若连续调节的ACK最优ACK超时时间相差较大,说明网络拓扑或者无线通信的电磁环境发生了较大变化,需要频繁地进行ACK超时时间调节以适应上述变化,所述调节等待时间减小。而如果连续调节的ACK最优ACK超时时间相差较小,说明无线网络处于较稳定状态,可以适当减少调节ACK超时时间的频率,这样有利于节约网络资源,避免频繁调节带来的资源浪费。
[0059]本实施例中的数值参数也可以根据通信的实际环境设置为其他值,只要是基于本发明思想的其他变形或者改进,本领域的技术人员也应当理解为属于本发明要保护的范围。
[0060]实施例二
[0061]本实施例给出了点对多点通信环境下本发明的实施方式,具体来说是一个接入点与多个客户端进行通信。在这种通信场景下,基于实施例一中所记载的点对点通信环境下的ACK自动调节方法,本实施例做了如下变化:
[0062]对于接入点处设置的ACK超时时间来说,实施例一中所述步骤B5后还包括:
[0063]接入点取所有客户端最优ACK超时时间中的最大值作为接入点的最优ACK超时时间。
[0064]对于客户端处的ACK超时时间,其调节过程与实施例一中记载的一样。
[0065]除了实施例一中记载的步骤A、B、C,还包括:
[0066]步骤D、管理客户端的加入和退出,使得接入点处设置的ACK超时时间值适用于点对多点无线传输系统中的所有客户端。
[0067]具体地,所述步骤D具体包括:
[0068]一旦有新的客户端加入连接,则立刻计算该客户端的最优ACK超时时间τ,若接入点的当前最优ACK超时时间大于等于τ,那么接入点的当前超时时间不变,反之,接入点的当前最优ACK超时时间更新为τ ;接入点将每个客户端的MAC地址与ACK超时时间绑定,因此接入点在调整ACK超时时间时可以通过数据帧中MAC地址来区分不同的客户端;
[0069]若有客户端退出连接,以 后的ACK超时时间调整将不再考虑此节点,直至它重新连接。
[0070]实施例三
[0071]本实施例给出了本发明在实际环境下的测试性能。如下表所示:
[0072]
实际距离(公里)ACK超时时间(微秒)由ACK.超时时间换算出距离(公
【权利要求】
1.一种ACK超时时间自动调节方法,其特征在于,包括如下步骤: A、初始化ACK超时时间以及调整步长; B、利用步长调整算法确定调整步长收敛过程中的最优ACK超时时间; C、间隔一定时间后,再次给调整步长赋值,执行步骤B,确定新的最优ACK超时时间,计算新的最优ACK超时时间与原最优ACK超时时间的差值,若所述差值大于阈值,则快速进行下一次ACK超时时间调整,反之则延长下一次调整的调节等待时间。
2.根据权利要求1所述的方法,其特征在于,所述步骤B具体包括: B1、设置数据帧超时重传次数的最大值L,若数据帧发送L次后数据仍未能被正确接收,则记该数据帧发送失败,设置整数M ; B2、令dec和inc两个权重值均初始化为O,若一个数据帧发送失败,则inc值增加;反之,dec值增加; B3、连续发送N个数据帧之后,如果inc大于dec,则ACK超时时间增加一个调整步长;反之如果inc小于或等于dec,ACK超时时间将减少一个调整步长; B4、重复步骤B2至B3,若ACK超时时间值连续M次增加或者连续M减少,调整步长翻倍;若ACK超时时间的增加和减少交替出现,调整步长减半并向下取整;其他情况则调整步长不变; B5、重复B4直至调整步长收敛为O,计算上述步骤中每次调整步长后ACK超时时间值和与之对应的发送次数的乘积,得到这次调整期间N个数据帧的总发送时间,使得所述总发送时间最小的ACK超时时间值为本次调整收敛后的最优ACK超时时间。
3.根据权利要求2所述的方法,其特征在于,所述步骤B2中若一个数据帧发送失败,inc增加的值为所述步骤BI中设置的L,若一个数据帧发送成功,dec增加的值为L-1。
4.根据权利要求1所述的方法,其特征在于,所述步骤C中所述再次给调整步长赋值具体为: 所赋值为所述步骤A中初始化调整步长的二分之一。
5.根据权利要求1所述的方法,其特征在于,所述步骤C中所述快速进行下一次ACK超时时间调整具体为:将调节等待时间按照
T' = MIN_ADJ_TIME 进行调整; 所述延长下一次调整的调节等待时间具体为:将调节等待时间按照
T' = MIN (2XT, MAX_ADJ_TIME) 进行调整; 其中,MIN_ADJ_TIME表示最小调节间隔时间,MAX_ADJ_TIME表示最大调节间隔时间,且MAX_ADJ_HME>MIN_ADJ_TME,T表示当前调节等待时间。
6.根据权利要求2或3所述的方法,其特征在于,对于一个接入点对多个客户端的点对多点无线传输,所述步骤B5后还包括: 接入点取所有客户端最优ACK超时时间中的最大值作为接入点的最优ACK超时时间。
7.根据权利要求6所述的方法,其特征在于,所述ACK超时时间自动调节方法还包括步骤: D、管理客户端的加入和退出,使得接入点处设置的ACK超时时间值适用于点对多点无线传输系统中的所有客户端。
8.根据权利要求7所述的方法,其特征在于,所述步骤D具体包括: 一旦有新的客户端加入连接,则立刻计算该客户端的最优ACK超时时间τ,若接入点的当前最优ACK超时时间小于τ,接入点的当前最优ACK超时时间更新为τ ;否则,接入点的当前ACK超时时间不变;接入点将每个客户端的MAC地址与ACK超时时间绑定,因此接入点在调整ACK超时时间时可以通 过数据帧中MAC地址来区分不同的客户端; 若有客户端退出连接,以后的ACK超时时间调整将不再考虑此节点,直至它重新连接。
【文档编号】H04W84/12GK103546248SQ201310452551
【公开日】2014年1月29日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】章程, 杨磊, 鲍雪刚, 何世健, 邓怀东 申请人:章程, 杨磊, 鲍雪刚, 何世健, 邓怀东
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1