CN105577322B - 一种具有自适应功能的优化数据帧聚合的方法 - Google Patents
一种具有自适应功能的优化数据帧聚合的方法 Download PDFInfo
- Publication number
- CN105577322B CN105577322B CN201510957927.9A CN201510957927A CN105577322B CN 105577322 B CN105577322 B CN 105577322B CN 201510957927 A CN201510957927 A CN 201510957927A CN 105577322 B CN105577322 B CN 105577322B
- Authority
- CN
- China
- Prior art keywords
- frame
- value
- current
- subdata
- less
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种具有自适应功能的优化数据帧聚合的方法。其包括下列步骤:选取当前聚合帧的第一个子数据帧并放入输出队列中,同时启动等待计时器;若第一个子数据帧小于T1,且等待计时器小于T2,则基于选择窗口判断是否有数据帧可进行最优子数据帧选择;否则直接输出;若存在可选,则执行最优子数据帧的选择处理,并将满足条件的放入输出队列;若输出队列当前的总大小小于T1且待计时器小于T2,则继续选择最优子数据帧;否则聚合输出队列的所有子数据帧并输出,并记录子数据帧数量n,聚合帧延迟t;基于当前聚合帧与上一个聚合帧的Δn、Δt调整选择窗口的大小用于下一聚合帧的聚合处理。本发明的实施,实现了吞吐量最大化的同时还保证了延迟最小化。
Description
技术领域
本发明属于数据网络中的数据帧聚合处理,具体涉及一种在数据网络中,采用帧聚合算法,实现最大化吞吐量和最小化延迟的最优均衡方法。
背景技术
数据网络中的帧聚合方法,通过降低协议开销来提高吞吐量。然而,由于数据帧在被组装成一个聚合帧前,必须在缓冲区内等待其他数据帧,然后一同被组装成一个聚合帧,其中,数据帧等待其他数据帧的过程中就产生了延迟,组装好的聚合帧的尺寸也就是一次数据传输的吞吐量。因此吞吐量的提升同时伴随着延迟的提升。也就是说,吞吐量和延迟在网络性能中是对立面。
通常,在现代网络中,网络流量负载是由许多对网络性能要求差异很大的不同类型的应用组合而成的(比如不同的应用,其数据帧大小和数据帧到达缓冲区的时间一般是不同且随机的),但是现有的先进先出选择策略(FIFO)和最小尺寸先出选择策略(SSFS)并没有考虑到这一特性。
先进先出选择策略(FIFO)提供了最简单的帧选择策略,因此常被用作基准算法。其中所有的数据帧都根据到达时间进行聚合,并不会启用选择窗口。图1展示了FIFO中不同参数之间的相互作用。因为FIFO聚合数据帧是基于数据帧的到达时间,因此平均延迟随着平均帧间到达时间的减少而降低。而每一个聚合帧的平均子帧数量会随着已到达数据帧的平均大小减小而增多。FIFO希望能聚合更多数据帧到一个聚合帧中,以便于到达目标聚合帧大小。
在最小尺寸先出选择策略(SSFS)中,所有数据帧都按照它们的大小来聚合,同样不启用选择窗口。SSFS的目标就是实现聚合帧中子帧数量的最大化。然而由于这个算法会经常试图去等待一个最小尺寸的帧到达,就导致了很大的延迟。图2展示了SSFS中各参数间的相互作用。当数据帧间平均到达时间降低时,缓冲区内就有了更多可供选择的小尺寸数据帧,这样就能组装出一个由许多小尺寸数据帧组装而成的聚合帧,因此聚合帧中平均子帧数目会增加。平均数据帧大小的降低导致了聚合帧中平均子帧数量的增加,因为它要求更多的数据帧,以达到聚合分组的目标大小。
所以通常情况下,现有技术并不会尝试去达到吞吐量和延迟之间的最优均衡,而只能对单一度量进行最优化,这样并不能同时实现对不同流量类型应用的网络性能优化。
发明内容
本发明的发明目的在于:针对上述存在的问题,公开了一种可以动态最佳均衡最大化吞吐量和最小化延迟之间需求的聚合数据帧的方法,本发明通过反馈环路,能动态地对因数据帧大小和数据帧达到缓冲区时间的不同产生相应的响应,在最短的时间组装最大容量的聚合帧。
本发明的一种具有自适应功能的优化数据帧聚合的方法,包括下列步骤:
步骤1:从输入队列中选取最靠前的数据帧作为当前聚合帧的第一个子数据帧并放入输出队列中,同时启动等待计时器,其中输入队列用于基于先进先出的方式接收到达的数据帧;
步骤2:判断第一个子数据帧的大小是否小于第一阈值,若是,则执行步骤3;否则执行步骤7;
步骤3:判断等待计时器是否小于第二阈值,若是,则执行步骤4;否则执行步骤7;
步骤4:判断当前输入队列的数据帧的数目K是否小于选择窗口的大小N,若是,则执行步骤6;否则,执行步骤5;
步骤5:从输入队列中选择当前聚合帧的最优子数据帧:从输入队列中查找最小数据帧,若同时存在两个及以上的最小数据帧,则选择输入队列中最靠前的最小数据帧作为最优子数据帧,否则直接将所查找的最小数据帧作为最优子数据帧;
将输出队列中的所有子数据帧大小与当前最优子数据帧的大小求和并与第一阈值进行对比,若大于第一阈值,则执行步骤7;若等于第一阈值,则将当前最优子数据帧放入输出队列中,再执行步骤7;若小于第一阈值,则将当前最优子数据帧放入输出队列中,并判断等待计时器是否小于第二阈值,若是,则执行步骤4;否则执行步骤7;
步骤6:检测是否还有数据帧到达输入队列,若是,则基于数据帧的到达情况更新K的取值,并执行步骤4;否则判断等待计时器是否小于第二阈值,若小于,则继续执行步骤6;若大于或等于,则执行步骤5;
步骤7:将当前输出队列中的所有子数据帧聚合为当前聚合帧并传输,同时记录当前聚合帧的子数据帧数量n,当接收到当前聚合帧的传输应答帧时,取对应当前聚合帧的等待计时器的计时值为当前聚合帧的聚合帧延迟t并记录;
步骤8:基于当前聚合帧与上一个聚合帧的子数据帧数量的差Δn、当前聚合帧与上一个聚合帧的聚合帧延迟的差Δt调整选择窗口的大小N的取值后,执行步骤1;
其中N的初始值为预设值,调整N的取值为:
若Δn大于0,且Δt大于或等于0,则N的值保持不变;
若Δn大于0,且Δt小于0,则N的值加1;
若Δn等于0,且Δt小于0,则N的值保持不变;
若Δn和Δt均小于0,则N的值保持不变;
若Δn小于0,且Δt大于或等于0,当N的当前值大于1时,N的值减1;当N的当前值等于1时,N的值保持为1;
若Δn和Δt均等于0,当N的当前值大于1时,N的值减1;当N的当前值等于1时,N的值保持为1。
由于采用了上述技术方案,本发明的有益效果是:本发明基于动态反馈环路优化选择窗口的大小N,使其能更好地聚合到达的数据帧,并允许其对流量的变化做出快速地响应,优化吞吐量的同时减少了延迟,在实现了吞吐量最大化的同时还保证了延迟最小化。
附图说明
图1是现有的FIFO处理流程图;
图2是现有的SSFS处理流程图;
图3是本发明的实现系统结构示意图;
图4是本发明选择数据帧进行聚合的示意图;
图5是本发明的工作流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
以拥有众多不同流量类型的无线网络环境为例,参照图3,实现本发明的系统包括三个处理模块:帧聚合处理模块,通过可调聚合方法(AAA,也可表示为A3)从所输入的数据帧中选取一个数据帧进行聚合处理,并将最终选取完成的数据帧组装成一个聚合帧。即从输入队列中的选择窗口中选取一个数据帧进行聚合(选择窗口的大小N可调整);聚合帧分析模块,即聚合帧分析器(APA),其用于分析聚合帧中子数据帧的数量n以及组装聚合帧所产生的延迟t;聚合帧优化模块,通过聚合调谐方法(ATA),其基于聚合帧分析器(APA)输出的分析结果,动态地调整可调聚合方法(A3)中所涉及的选择窗口的大小,即基于当前聚合帧与上一个聚合帧的子数据帧数量的差Δn、当前聚合帧与上一个聚合帧的聚合帧延迟的差Δt调整选择窗口的大小N的取值。
聚合调谐方法(ATA)包括两个由用户输入的参数,第一个是聚合帧的大小阈值T1,以下简称目标大小,第二个是延迟阈值T2,以下简称最大可接受延迟。
可调聚合方法(A3)从输入队列的选择窗口中选取数据帧作为当前聚合帧的子数据帧,并将所选择的所有子数据帧组装为聚合帧。其涉及两个队列:用于接收到达的数据帧的输入队列;用于容纳被选择窗口选取的所有子数据帧的输出队列。参照图4,数据帧从输入队列中被选取并移动到输出队列中。在图4的例子中,输入队列中有超过7个数据帧,而可调聚合方法选取了其中的4个数据帧(数据帧7、6、4、1)作为当前聚合帧的子数据帧,并将其移动到输出队列。在完成上述选取工作后,判断输出队列中的各子数据帧总大小是否达到目标大小,若是,则将输出队列中的所有子数据帧聚合为一个聚合帧,并开始传输,即实现对输出队列的数据帧输出。
聚合帧分析器(APA)被用来分析聚合帧的子数据帧数量n和聚合帧的聚合帧延迟t,以确定下一个聚合帧的选择窗口大小。聚合帧的延迟t包括两部分:第一个子数据帧从到达输入队列到在输出队列中组装的等待延迟,以及被选取的分组从被组装为聚合帧到收到确认字符(ACK)之间的传输延迟。
聚合帧分析器(APA)分析当前聚合帧与上一个聚合帧,以确定下一个聚合帧的N值时,本实施方式采用寄存器来存储数据,每个寄存器有两个成员,一个是用于记录子数据帧数目的计数器,另一个是用于记录聚合帧延迟的定时器。当被选择的子数据帧(第一个子数据帧、最优子数据帧)被移动到输出缓冲器(用于保存输出队列)时,计数器的值增加1。当第一个子数据帧被移动到输出缓冲器时,启动定时器,即将第一个子数据帧在输入队列的等待时间设置为定时器当前的值,然后将其递增,直至接收到ACK帧或已超出了聚合帧的最大可接受延迟时停止。当接收到ACK帧时,计数器和定时器将被复位。
接收到ACK帧后,聚合帧分析器(APA)计算当前聚合帧与上一个聚合帧的子数据帧数量的差Δn、当前聚合帧与上一个聚合帧的聚合帧延迟的差Δt,Δn和Δt将被用于聚合调谐方法(ATA),以调整选择窗口的大小N的取值。N的调整规则如表1所示:
表1
其中,N—表示着N的值减1,N++表示N的值增1。若N的当前取值大于1时基于列(A),若N的当前取值等于1时基于列(B)(其中N的初始值为预设值,通常取值范围在1和输入队列大小之间)。
表1的解释如下:
(1)如果子数据帧的数目已经增加,而聚合数据包延迟并没有减少,则N的值保持不变;
(2)如果子数据帧的数目已经增加,聚合数据帧延迟有所减少,则N的值递增1;
(3)如果子数据帧的数目已经减少,聚合数据帧延迟并没有减少时:
(4)若N大于1,则N的值递减1;
(5)若N等于1,则N的值保持1;
(6)如果子数据帧的数目和聚合数据帧延迟都有所减少,N的值递增1;
(7)如果子数据帧的数目和聚合数据帧延迟都保持不变:
若N大于1,则N的值递减1;
若N等于1,则N的值保持1;
(8)如果子数据帧的数目不变,聚合数据帧延迟有所减少,则N的值保持不变。
参照图5,本发明的具体工作流程为:
步骤S01:从输入队列中选取最靠前的数据帧作为当前聚合帧的第一个子数据帧并放入输出队列中,同时启动等待计时器,即将第一个子数据帧在输入队列的等待时间设置为定时器当前的值,然后将其递增。以及启动用于记录子数据帧数目的计数器;
步骤S02:判断第一个子数据帧的大小是否大于或等于T1(目标大小),若否,则执行步骤S03;否则执行步骤S10;
步骤S03:判断等待计时器是否大于或等于T2(最大可接受延迟),若否,则执行步骤S04;否则执行步骤S10;
步骤S04:判断当前输入队列的数据帧的数目K是否大于或等于N(选择窗口大小),若是,则执行步骤S05;否则,执行步骤S11;
步骤S05:从输入队列中选择当前聚合帧的最优子数据帧:从输入队列中查找最小数据帧,若同时存在两个及以上的最小数据帧,则选择输入队列中最靠前的最小数据帧作为最优子数据帧,否则直接将所查找的最小数据帧作为最优子数据帧;并计算输出队列中的所有子数据帧大小与当前最优子数据帧的大小之和M;
步骤S06:比较M与T1的大小关系,若M大于T1,则执行步骤S10;若M等于T1,则执行步骤S07;若M小于T1,则执行步骤S08;
步骤S07:将步骤S05所确定的最优子数据帧放入输出队列后,执行步骤S10;
步骤S08:将步骤S05所确定的最优子数据帧放入输出队列后,执行步骤S09;
步骤S09:判断等待计时器是否大于或等于T2,若是,则执行步骤S10;若否,则执行步骤S11;
步骤S10:将当前输出队列中的所有子数据帧聚合为当前聚合帧并传输,同时记录当前聚合帧的子数据帧数量n,当接收到当前聚合帧的传输应答帧时,取对应当前聚合帧的等待计时器的计时值为当前聚合帧的聚合帧延迟t并记录,然后执行步骤S13;
步骤S11:检测是否还有数据帧到达输入队列,若是,则执行步骤S12;若否,则执行步骤S09;
步骤S12:基于数据帧的到达情况更新K的取值,即若当前有一个数据帧达到输入队列,则令K=K+1,再执行步骤S04;
步骤S13:基于当前聚合帧与上一个聚合帧的子数据帧数量的差Δn、当前聚合帧与上一个聚合帧的聚合帧延迟的差Δt调整选择窗口的大小N的取值后,执行步骤S01,进行下一个聚合帧的聚合处理。
由于本发明结合了FIFO,所以输入缓冲器前列的数据帧总是每个聚合帧中的第一个子数据,此规则保证了如果输入队列中前列的数据帧就是选择窗口中最大的数据帧时,该数据帧的等待时间不会无限增加。
综上所述,相比于现有技术只专注于最大化吞吐量或者最小化延迟,本发明通过使用动态反馈环路来调整选择窗口大小,进而实现最大化吞吐量和最小化延迟之间的最佳均衡,其中的自适应聚合机制能对分组大小和分组比率的变化做出快速地响应,能试图用最小的延迟去组装满足目标大小的聚合帧。通过优化吞吐量和减少延迟来提高网络的性能,本发明能增加25%的吞吐量。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
Claims (1)
1.一种具有自适应功能的优化数据帧聚合的方法,其特征在于,包括下列步骤:
步骤1:从输入队列中选取最靠前的数据帧作为当前聚合帧的第一个子数据帧并放入输出队列中,同时启动等待计时器,其中输入队列用于基于先进先出的方式接收到达的数据帧;
步骤2:判断第一个子数据帧的大小是否小于第一阈值,若是,则执行步骤3;否则执行步骤7;
步骤3:判断等待计时器是否小于第二阈值,若是,则执行步骤4;否则执行步骤7;
步骤4:判断当前输入队列的数据帧的数目K是否小于选择窗口的大小N,若是,则执行步骤6;否则,执行步骤5;
步骤5:从输入队列中选择当前聚合帧的最优子数据帧:从输入队列中查找最小数据帧,若同时存在两个及以上的最小数据帧,则选择输入队列中最靠前的最小数据帧作为最优子数据帧,否则直接将所查找的最小数据帧作为最优子数据帧;
将输出队列中的所有子数据帧大小与当前最优子数据帧的大小求和并与第一阈值进行对比,若大于第一阈值,则执行步骤7;若等于第一阈值,则将当前最优子数据帧放入输出队列中,再执行步骤7;若小于第一阈值,则将当前最优子数据帧放入输出队列中,并判断等待计时器是否小于第二阈值,若是,则执行步骤6;否则执行步骤7;
步骤6:检测是否还有数据帧到达输入队列,若是,则基于数据帧的到达情况更新K的取值,并执行步骤4;否则判断等待计时器是否小于第二阈值,若小于,则继续执行步骤6;若大于或等于,则执行步骤7;
步骤7:将当前输出队列中的所有子数据帧聚合为当前聚合帧并传输,同时记录当前聚合帧的子数据帧数量n,当接收到当前聚合帧的传输应答帧时,取对应当前聚合帧的等待计时器的计时值为当前聚合帧的聚合帧延迟t并记录;
步骤8:基于当前聚合帧与上一个聚合帧的子数据帧数量的差Δn、以及当前聚合帧与上一个聚合帧的聚合帧延迟的差Δt调整选择窗口的大小N的取值后,执行步骤1;
其中N的初始值为预设值,调整N的取值为:
若Δn大于0,且Δt大于或等于0,则N的值保持不变;
若Δn大于0,且Δt小于0,则N的值加1;
若Δn等于0,且Δt小于0,则N的值保持不变;
若Δn和Δt均小于0,则N的值保持不变;
若Δn小于0,且Δt大于或等于0,当N的当前值大于1时,N的值减1;当N的当前值等于1时,N的值保持为1;
若Δn和Δt均等于0,当N的当前值大于1时,N的值减1;当N的当前值等于1时,N的值保持为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510957927.9A CN105577322B (zh) | 2015-12-18 | 2015-12-18 | 一种具有自适应功能的优化数据帧聚合的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510957927.9A CN105577322B (zh) | 2015-12-18 | 2015-12-18 | 一种具有自适应功能的优化数据帧聚合的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105577322A CN105577322A (zh) | 2016-05-11 |
CN105577322B true CN105577322B (zh) | 2018-10-16 |
Family
ID=55887057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510957927.9A Active CN105577322B (zh) | 2015-12-18 | 2015-12-18 | 一种具有自适应功能的优化数据帧聚合的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105577322B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636546A (zh) * | 2019-09-26 | 2019-12-31 | 中科睿微(宁波)电子技术有限公司 | 一种无线局域网数据帧传输的方法及系统 |
CN111107014B (zh) * | 2019-12-12 | 2022-04-15 | 北京邮电大学 | 一种数据帧汇聚和组装方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118819A (zh) * | 2010-12-28 | 2011-07-06 | 清华大学 | 属性相关的数据聚合方法 |
CN103428756A (zh) * | 2013-08-14 | 2013-12-04 | 杭州华三通信技术有限公司 | 一种无线局域网中聚合帧的控制装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140254408A1 (en) * | 2013-03-08 | 2014-09-11 | Qualcomm Incorporated | Rate control associated with frame aggregation |
-
2015
- 2015-12-18 CN CN201510957927.9A patent/CN105577322B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118819A (zh) * | 2010-12-28 | 2011-07-06 | 清华大学 | 属性相关的数据聚合方法 |
CN103428756A (zh) * | 2013-08-14 | 2013-12-04 | 杭州华三通信技术有限公司 | 一种无线局域网中聚合帧的控制装置和方法 |
Non-Patent Citations (2)
Title |
---|
Joint Urgency Delay scheduler and Adaptive aggregation technique in IEEE 802.11n Networks;Emna CHARFI 等;《Communications and Networking (COMNET), 2015 5th International Conference on》;20151107;第1-6页 * |
基于自适应帧聚合机制的无线局域网吞吐量分析;沈丹萍 等;《东南大学学报(自然科学版)》;20110731;第41卷(第4期);第665-671页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105577322A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104994036B (zh) | 一种多路径传输协议中的动态数据调度方法 | |
TWI265682B (en) | Adaptive transmit power control in wireless devices | |
US8675580B2 (en) | Method and apparatus for facilitating packet scheduling for a hybrid communication network | |
CN104023408B (zh) | 调度器及其基于网络多路径并行传输的数据调度方法 | |
CN112913272A (zh) | 方法、装置和计算机程序 | |
CN102300259A (zh) | 一种数据块级联和拆解处理方法、装置及系统 | |
Wang et al. | Proactive incast congestion control in a datacenter serving web applications | |
US20140281034A1 (en) | System and Method for Compressing Data Associated with a Buffer | |
CN103929372A (zh) | 主动队列管理方法和设备 | |
CN105577322B (zh) | 一种具有自适应功能的优化数据帧聚合的方法 | |
CN104619034B (zh) | 一种lte通信系统中面向实时业务的分组调度方法 | |
CN109963308B (zh) | 无线通信系统中的资源调度方法及装置 | |
CN110061924A (zh) | 一种报文转发方法、装置及相关产品 | |
CN105682195A (zh) | 一种基于c-ran架构的无线网络节能的功率控制方法 | |
WO2019051759A1 (zh) | 一种载波选择方法、终端设备及计算机存储介质 | |
Deng et al. | An adaptive packet aggregation algorithm for wireless networks | |
CN102006109B (zh) | 采用虚拟天线映射方式进行发射的方法及系统 | |
TW201701717A (zh) | 多使用者多輸入多輸出排程 | |
US9298652B2 (en) | Moderated completion signaling | |
CN109787861B (zh) | 网络数据延迟控制方法 | |
US11063876B2 (en) | Automatically cycling among packet traffic flows subjecting them to varying drop probabilities in a packet network | |
CN104363663B (zh) | 一种lte通信系统中基于混合业务的分组调度方法 | |
US9240870B2 (en) | Queue splitting for parallel carrier aggregation scheduling | |
KR20150072512A (ko) | 단방향 지연을 제어하는 프레임 전송 방법 및 장치 | |
KR102045287B1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |