CN105099940A - 队列管理方法和装置 - Google Patents

队列管理方法和装置 Download PDF

Info

Publication number
CN105099940A
CN105099940A CN201410187197.4A CN201410187197A CN105099940A CN 105099940 A CN105099940 A CN 105099940A CN 201410187197 A CN201410187197 A CN 201410187197A CN 105099940 A CN105099940 A CN 105099940A
Authority
CN
China
Prior art keywords
timer
duration
wake
queue buffer
buffer memory
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
Application number
CN201410187197.4A
Other languages
English (en)
Other versions
CN105099940B (zh
Inventor
杨扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201410187197.4A priority Critical patent/CN105099940B/zh
Priority to PCT/CN2014/088198 priority patent/WO2015169048A1/zh
Publication of CN105099940A publication Critical patent/CN105099940A/zh
Application granted granted Critical
Publication of CN105099940B publication Critical patent/CN105099940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种队列管理方法及装置,该方法包括:监控队列缓存状态;当队列缓存数量超过拥塞预警门限的时间超过预定时长后,开始执行策略丢包。本发明可以解决现有拥塞解决方案不合理的问题,降低未来发生严重拥塞的概率,实现了TCP与AQM之间的协同。

Description

队列管理方法和装置
技术领域
本发明涉及通信技术,尤其涉及一种队列管理方法和装置。
背景技术
随着移动互联网的爆炸式发展,通过无线接入网入口的Internet服务需求庞大。由于无线接入网固有的切换、高丢包率、时延抖动等特点,一般是端到端IP网络性能的瓶颈。无线和有线网络共同组成的带宽不匹配管道会增加网络拥塞的发生概率,此时降低拥塞发生概率以及从拥塞状态快速恢复的能力和鲁棒性很大程度上决定了端到端网络性能。
无线有线混合网络拥塞的发生静态上是由于有线和无线之间管道的可用带宽存在差异:对于下行链路而言,互联网协议(InternetProtocol,IP)数据报从公共数据网关(PublicDataNetworkGateway,PDNGateway)流入无线接入网(RadioAccessNetwork,RAN)的速率高于RAN通过无线接口向用户设备(UserEquipment,UE)的发送速率,在诸如eNodeB等RAN网元节点处数据缓存,当缓存数据量超过缓存内存空间(BufferSize)时,导致缓存溢出的大量连续被动丢包。从高层协议(如传输控制协议TransmitControlProtocol,TCP)的角度看,就是底层网络发生了严重拥塞。
无线信道相对于有线信道具有窄带宽、信道质量不稳定、移动性等固有特征。而TCP协议将无线信道的不稳定性直观理解为端到端环回时延(RoundTripTime,RTT)波动或报文段丢失。
当然,TCP协议本身具有一定的流量控制和拥塞恢复能力。当TCP协议“感知”到报文段丢失后,TCP的拥塞窗口会自适应收缩,降低高层发包速率以应对底层网络拥塞。但是,TCP的拥塞恢复是典型的“端算法”,仅仅在终端设备(如UE/Server)中发挥作用。当无线信道环境发生剧烈变化或者可用无线资源由于更多竞争者加入发生变化时,位于Server中的TCP响应一般情况下都无法及时跟踪这种变化,导致拥塞无法得到及时解决或者当拥塞解除后高层传输速率无法及时恢复的“TCP迟滞”特性。
主动队列管理(ActiveQueueManagement,AQM)是一种解决“TCP迟滞”的有效方案,算法一般在传输瓶颈的网元节点中实现。优点是简单易行,缺点是主动丢包在一些场景中可能导致丢包率急剧上升,降低传输效率。而导致性能下降的根本原因在于,TCP和AQM这两种拥塞算法之间无法默契配合,严重时出现互相制约。但TCP和AQM算法本身分布在不同的网络设备中,处于各自为战状态,缺乏协同能力。
发明内容
本发明要解决的技术问题是提供一种队列管理方法及装置,以解决现有拥塞解决方案不合理的问题。
为解决上述技术问题,本发明提供了一种队列管理方法,该方法包括:
监控队列缓存状态;
当队列缓存数量超过拥塞预警门限的时间超过预定时长后,开始执行策略丢包。
进一步地,所述队列缓存数量超过拥塞预警门限且持续预定时长指队列缓存数量超过拥塞预警门限的单次持续时长或多次持续累计时长超过预定时长。
为解决上述技术问题,本发明还提供了一种队列管理装置,该装置包括:
监控模块,用于监控队列缓存状态;
丢包控制模块,用于当队列缓存数量超过拥塞预警门限的时间超过预定时长后,开始执行策略丢包。
进一步地,所述队列缓存数量超过拥塞预警门限且持续预定时长指队列缓存数量超过拥塞预警门限的单次持续时长或多次持续累计时长超过预定时长。
相较于现有技术,本发明队列管理方法和装置通过监控队列缓存状态,并在队列缓存数量超过拥塞预警门限的时间超过预定时长后,才开始执行策略丢包。在一定程度上解决TCP和AQM“各自为政”的无序状态,在不增加额外测量和协议信令的前提下,通过设置“观察窗”(即预定时长)对无线拥塞进行早期预测并评估TCP的拥塞恢复能力,根据评估和预测结果协同调整队列管理方案,降低未来发生严重拥塞的概率,实现了TCP与AQM之间的协同,为一种协同队列管理(CooperateQueueManagement,CQM)的方式。
附图说明
图1为本发明队列管理方法实施例1的示意图;
图2为本发明“运行观察期”主动管理策略示意图;
图3为本发明队列管理方法实施例2的示意图;
图4为基于实施例2的应用实例1的示意图;
图5为应用实施例2和图4流程的动态实施效果示意图;
图6为本发明队列管理方法实施例3的示意图;
图7为基于实施例3的应用实例2的示意图;
图8为应用实施例2和图7流程的动态实施效果示意图;
图9为本发明队列管理方法实施例4的示意图;
图10至图12为三种定时器自身状态转移的条件示意图;
图13为三种定时器的动态变化示意图;
图14为基于实施例4的应用实例3的示意图;
图15为应用实施例4和图14流程的动态实施效果示意图;
图16至图18为本发明队列管理装置实施例的模块结构示意图。
具体实施方式
实施例1
本发明队列管理方法实施例1,如图1所示,该方法包括:
步骤101:监控队列缓存状态;
步骤102:当队列缓存数量超过拥塞预警门限的时间超过预定时长后,开始执行策略丢包。
进一步地,所述队列缓存数量超过拥塞预警门限且持续预定时长指队列缓存数量超过拥塞预警门限的单次持续时长或多次持续累计时长超过预定时长。
当队列缓存数量超过拥塞预警门限的时间超过预定时长(本文中也称为“唤醒观察期”)表明无线网络侧监测到TCP的拥塞恢复机制无法解决的拥塞问题发生,即达到了真正的拥塞,这种情况下才开始执行策略丢包,以解决该拥塞。
上述实施例1在不增加额外测量和协议信令的前提下,通过设置“观察窗”(即预定时长)对无线拥塞进行早期预测并评估TCP的拥塞恢复能力,根据评估和预测结果协同调整队列管理方案,降低未来发生严重拥塞的概率,实现了TCP与AQM之间的协同,为一种协同队列管理(CooperateQueueManagement,CQM)的方式。
具体的,当CQM处于“运行观察期”时,通过设置类似RED算法的CQM控制区(概率丢弃区)门限来控制主动丢包,如下图2所示:
其中CQM控制区是缓存区域的一个连续子集,一般情况下丢包区上限为缓存容量上限,丢包区下限由参数“CQM丢包的队列长度下限”确定。
CQM去激活态:当缓存量低于CQM控制区下限即拥塞预警门限或缓存量超过拥塞预警门限的时间但未超过预定时长时,为CQM去激活态,无条件接纳到达的任意IP数据报;
CQM激活态:当缓存量高于CQM控制区下限(即拥塞预警门限)且超过预定时长后,进入CQM激活态,此时根据缓存队列长度(例如PDCP中待处理的IP数据报文量),通过AQM丢包概率曲线进行选择性丢弃。
一种典型的线性RED算法丢包概率曲线为:
BO - Low High - Low ( Low < BO < High )
其中High为CQM控制区上限(即为缓存容量上限);Low为丢包区下限,由参数“CQM丢包队列长度下限”控制;BO为当前缓存队列实际长度。
设置的拥塞预警门限一般大于丢包区下限。
另外,可通过自适应调整“观察窗”,提升TCP和AQM之间的互相协同能力。具体地,从开始执行丢包至队列缓存数量再次超过拥塞预警门限的时长小于第一预定时间,则减少所述唤醒定时器的时长;如从开始执行丢包至队列缓存数量再次超过拥塞预警门限的时长大于第二预定时间,则增加所述唤醒定时器的时长。
进一步地,当拥塞解决或者TCP拥塞恢复能力提升后及时退出主动丢包策略。
为了实现对队列缓存状态的监控,可以采用定时器方式,具体地,本发明实现方案设计以下配置参数:
以下根据设置的定时器的,给出多个实施例:
实施例2
本发明队列管理方法实施例2中仅设置唤醒定时器,如图3所示,该方法包括:
步骤301:设置唤醒定时器及唤醒定时器时长;
步骤302:根据队列缓存状态调整所述唤醒定时器的状态;
其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,废弃已启动的唤醒定时器;
步骤303:监控所述唤醒定时器的状态;
以上步骤301至303实现了对队列缓存状态的监控;具体地,可周期和/或事件触发队列缓存状态尤其是队列缓存数量的监控操作,本文所说的所述事件包括数据包到达和数据包发送。
步骤304:当所述唤醒定时器溢出后,开始执行策略丢包。
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
步骤305:当所述队列缓存数量下降至小于所述拥塞预警门限时,停止执行丢包策略。
可选地,该实施例还包括定时器时长调整步骤,其中所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第一预定时间,则减少所述唤醒定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长大于第二预定时间,则增加所述唤醒定时器的时长。
具体地,可根据设置的惩罚因子减少所述唤醒定时器或运行定时器的时长,根据所述惩罚因子的倒数增加所述唤醒定时器或运行定时器的时长。
以下基于该实施例2的应用实例1:
将RNC节点作为CQM的承载节点,该缓存最多能容纳30个没有分片的IP数据报有效载荷,缓存拥塞预警门限设置为20,唤醒定时器设置为0.8秒,但没有配置另外两种定时器。此时,该应用实例1的流程图如图4所示:
具体周期循环调用以执行以下步骤:
步骤401:判断唤醒定时器是否启动,若已启动,转执行步骤402,否则执行步骤403;
步骤402:判断唤醒定时器是否溢出,若未溢出,则执行步骤405,否则执行步骤407;
步骤403:判断队列缓存数量(也即缓存队列实际长度)BO上升沿是否越过拥塞预警门限Alarm,若是,则执行步骤404;否则执行步骤411;
具体地,和BO最近一次历史值进行比较判别上升还是下降,采用一个BO寄存器即可实现。
步骤404:启动唤醒定时器;
步骤405:判断BO下降沿是否越过Alarm,若是,则执行步骤406,否则执行步骤411;
步骤406:废弃唤醒定时器,执行步骤411;
步骤407:主动丢包标志位置1,查询丢包概率曲线,提供主动丢包依据;
步骤408:进入CQM激活态,开始进行概率丢弃数据包;
步骤409:判断BO下降沿是否越过Low,如是,则执行步骤410,否则继续执行步骤408;
步骤410:主动丢包标志位置0;
步骤411:保持或进入CQM去激活态,绝对接纳接收到的数据包。
以下结合附图5来说明应用该实施例2和图4流程的动态实施效果,具体如下:
0.0秒时,检查唤醒定时器是否已经启动,缺省值为未启动;
1.5秒时,缓存量超过拥塞预警门限,触发唤醒定时器;
2.0秒时,缓存量降至拥塞预警门限以下,唤醒定时器被废弃,首次唤醒失败;
2.2秒时,缓存量再次超过拥塞预警门限,再次触发唤醒定时器;
2.8秒时,缓存量降至拥塞预警门限以下,唤醒定时器被废弃,第二次唤醒失败;
3.0秒时,缓存量第三次超过拥塞预警门限,第三次触发唤醒定时器;
3.8秒时,由于缓存量没有低于拥塞预警门限,且此时定时器超时,第三次唤醒成功;
3.8秒后,由于CQM主动丢包的作用,缓存量按粗曲线开始下降。
实施例3
本发明队列管理方法实施例1中设置了双定时器,即唤醒定时器和睡眠定时器,如图6所示,该方法包括:
步骤601:设置唤醒定时器、睡眠定时器以及各定时器时长;
步骤602:根据队列缓存状态调整所述唤醒定时器和睡眠定时器的状态;
其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;
步骤603:监控所述唤醒定时器的状态。
以上步骤601至603实现了对队列缓存状态的监控;具体地,可周期和/或事件触发队列缓存状态尤其是队列缓存数量的监控操作,本文所说的所述事件包括数据包到达和数据包发送。
步骤604:当所述唤醒定时器溢出后,开始执行策略丢包。
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
步骤605:当所述队列缓存数量下降至小于所述拥塞预警门限时,停止执行丢包策略。
可选地,该实施例方法还包括定时器时长调整步骤,其中所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第一预定时间,则减少所述唤醒定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长大于第二预定时间,则增加所述唤醒定时器的时长。
具体地,可根据设置的惩罚因子减少所述唤醒定时器或运行定时器的时长,根据所述惩罚因子的倒数增加所述唤醒定时器或运行定时器的时长。
以下给出基于该实施例3的应用实例2:
将RNC节点作为CQM的承载节点,该缓存最多能容纳30个没有分片的IP数据报有效载荷,缓存拥塞预警门限设置为20,CQM控制区下限设置为15,唤醒定时器设置为0.8秒,睡眠定时器的缩放因子为0.5,但没有配置运行定时器。此时,应用实例2算法流程图如图7所示:
具体周期循环调用以执行以下步骤:
步骤701:判断唤醒定时器是否启动,若已启动,转执行步骤402,否则执行步骤403;
步骤702:判断唤醒定时器是否溢出,若未溢出,则执行步骤710,否则执行步骤407;
步骤703:判断睡眠定时器是否启动,若已启动,转执行步骤706,否则执行步骤704;
步骤704:判断队列缓存数量(也即缓存队列实际长度)BO上升沿是否越过拥塞预警门限Alarm,若是,则执行步骤704;否则执行步骤716;
具体地,和BO最近一次历史值进行比较判别上升还是下降,采用一个BO寄存器即可实现。
步骤705:启动唤醒定时器;
步骤706:判断睡眠定时器是否溢出,若未溢出,则执行步骤707,否则执行步骤709;
步骤707:判断BO上升沿是否越过Alarm,若是,则执行步骤708;否则执行步骤716;
步骤708:重启唤醒定时器,废弃睡眠定时器;
步骤709:废弃唤醒定时器;
步骤710:判断BO下降沿是否越过Alarm,若是,则执行步骤711,否则执行步骤716;
步骤711:暂停唤醒定时器,启动睡眠定时器,执行步骤716;
步骤712:主动丢包标志位置1,查询丢包概率曲线,提供主动丢包依据;
步骤713:进入CQM激活态,开始进行概率丢弃数据包;
步骤714:判断BO下降沿是否越过Low,如是,则执行步骤410,否则继续执行步骤408;
步骤715:主动丢包标志位置0,并转步骤716;
步骤716:保持或进入CQM去激活态,绝对接纳接收到的数据包。
以下结合附图8来说明应用该实施例3和图7流程的动态实施效果,具体如下:
0.0秒时,检查三种定时器是否已经启动,缺省值为全部未启动
1.5秒时,缓存量超过拥塞预警门限,首次触发唤醒定时器;
2.0秒时,缓存量降至拥塞预警门限以下,触发睡眠定时器,唤醒定时器暂停;
2.2秒时,缓存量再次超过拥塞预警门限,睡眠定时器被废弃,唤醒定时器继续启动;
2.5秒时,唤醒定时器超时,首次唤醒成功;
2.5秒后,由于CQM主动丢包的作用,缓存量以黑色曲线趋势快速下降到15,此时CQM主动丢包策略退出。之后粗曲线很可能快速反弹至拥塞预警门限,再次触发唤醒流程。
实施例4
本发明队列管理方法实施例4,如图9所示,该方法包括:
步骤901:设置唤醒定时器(Timer1)、睡眠定时器(Timer2)、运行定时器(Timer3)以及各定时器时长;
步骤902:根据队列缓存状态调整所述唤醒定时器、睡眠定时器和运行定时器的状态;
三种定时器自身的状态转移条件分别如图10、11、12所示,图中其中BO代表当前缓存量,Alarm为拥塞预警门限,具体的:
当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;
所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;
所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;
所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;
所述唤醒定时器溢出时,启动所述运行定时器;
唤醒定时器运行期就是“唤醒观察期”,运行定时器运行期间就是“运行观察期”,通过三种定时器的设计,动态控制“唤醒观察期”和“运行观察期”,完成CQM不同状态之间的转换。
图13为三种定时器的动态变化示意图。
设计唤醒定时器的目的是辨识拥塞发生以及拥塞严重程度。如果在该定时器溢出前缓存数据稳定下降到拥塞预警门限以下,可以认为发端TCP及时感知并正确应对当前拥塞,或者认为拥塞管道资源增加或者被其它竞争者释放,这时无需AQM算法“锦上添花”。可以看出,唤醒定时器的溢出时间,就是网元节点能够容忍的最长拥塞时间。
设计睡眠定时器的目的是辨识“拥塞缓解假象”。当缓存出现连续溢出一段时间后,往往伴随着来包突发性断流从而导致缓存量急剧下降,但这并不意味当前拥塞的彻底解决,很可能在短时间的断流之后,缓存量又急剧上升。在第一次睡眠定时器启动期间,就是一次典型的“拥塞缓解假象”。
设计运行定时器的目的更显而易见,由于严重拥塞不是缓存常态,当拥塞通过各种办法得到缓解后,从现有的仿真经验来看,退出AQM是更好的选择。但对于单个网元节点来说,很难精确判断拥塞缓解的具体时点。通过对运行定时器的溢出时间的预设定,开环控制AQM的退出;而通过后续缓存检测,动态调整溢出时间,达到闭环自适应的效果。
优选地,定时器溢出时间:运行>唤醒>睡眠。
步骤903:监控所述运行定时器的状态。
以上步骤901至903实现了对队列缓存状态的监控;具体地,可周期和/或事件触发队列缓存状态尤其是队列缓存数量的监控操作,本文所说的所述事件包括数据包到达和数据包发送。
步骤904:所述运行定时器启动后,开始执行策略丢包。
当运行定时器启动,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
步骤905:所述运行定时器溢出时,停止执行丢包策略。
以下给出基于该实施例4的应用实例3:
将RNC节点作为CQM的承载节点,该缓存最多能容纳30个没有分片的IP数据报有效载荷,缓存拥塞预警门限设置为20,CQM控制区下限设置为15,唤醒定时器设置为0.8秒,睡眠定时器的缩放因子E为0.5,运行定时器设置为2.0秒。应用实例3的流程图如图14所示:
具体周期循环调用以执行以下步骤:
步骤1400:判断运行定时器是否启动,若已启动,转执行步骤1413,否则执行步骤1401;
步骤1401至步骤1411同步骤701至步骤702,在此不再赘述,不同之处在于,步骤1402判断唤醒定时器溢出后执行步骤1412;转执行步骤716的步骤在该实施例中转执行步骤1416;
步骤1412:启动运行定时器,转执行步骤1414;
步骤1413:判断运行定时器是否溢出,若溢出,则执行步骤,否则执行步骤1414;
步骤1414:查询丢包概率曲线,提供主动丢包依据;
步骤1415:进入或保持CQM激活态,进行概率丢弃数据包,进入下一循环;
步骤1416:保持或进入CQM去激活态,绝对接纳接收到的数据包。
以下结合附图15来说明应用该实施例4和图14流程的动态实施效果,具体如下:
0.0秒时,检查三种定时器是否已经启动,缺省值为全部未启动;
1.5秒时,缓存量超过拥塞预警门限,触发唤醒定时器;
2.0秒时,缓存量降至拥塞预警门限以下,触发睡眠定时器,唤醒定时器暂停;
2.2秒时,缓存量再次超过拥塞预警门限,睡眠定时器被废弃,唤醒定时器继续启动;
2.5秒时,唤醒定时器超时,触发运行定时器;
2.5秒后,由于[15,30]为CQM控制区,概率丢包会迅速将缓存量降至丢包区以下,即图中粗曲线;
4.5秒时,运行定时器超时。由于运行定时器的存在,CQM主动丢包策略不会马上退出,对于缓存队列长度起到一定的稳定作用。
和图8相比,表示缓存量的曲线在2.5秒到4.5秒之间较为稳定,有利于TCP的协同调整。
可选地,该实施例方法还包括定时器时长调整步骤,其中所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第一预定时间,则减少所述唤醒定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长大于第二预定时间,则增加所述唤醒定时器的时长。
另可选地,该方法还包括定时器时长调整步骤,其中所述运行定时器溢出至再次触发所述唤醒定时器的时长大于第一预定时间,则减少所述运行定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第二预定时间,则增加所述唤醒定时器的时长。
具体地,具体地,可根据设置的惩罚因子减少所述唤醒定时器或运行定时器的时长,根据所述惩罚因子的倒数增加所述唤醒定时器或运行定时器的时长。
具体地,上述实施例中,假设唤醒定时器超时后的短时间(例如运行定时器的四倍)内再次触发唤醒定时器,则新的唤醒定时器需乘以唤醒惩罚因子α(0<α<1,例如α=0.8),此时唤醒定时器调整为0.64秒;反之乘以惩罚因子倒数。
由于睡眠定时器的缩放因子为0.5,且唤醒定时器设置为0.8秒,所以此时睡眠定时器实际设置为0.4秒,但从2到2.2的0.2秒“拥塞缓解假象”时段,没能让睡眠定时器溢出,所以在2.2秒时唤醒定时器重启。如果“拥塞缓解假象”持续时间超过0.4秒,睡眠定时器溢出,则RNC节点认为TCP拥塞恢复能力足够,此时拥塞恢复由TCP全权负责,RNC不再进行主动丢包。
运行定时器退出后的4秒(运行定时器的两倍)内没有再次触发唤醒定时器,则运行定时器乘以运行惩罚因子γ(0<γ<1,例如γ=0.5),此时运行定时器调整为1秒;反之乘以运行惩罚因子倒数。
另外,上述各实施例中,唤醒定时器的溢出时间还可以根据“唤醒观察期”内被动丢包率指标调整,被动丢包率越高,溢出时间越短;睡眠定时器溢出时间可以根据唤醒定时器等比例缩放,比例系数例如50%;运行定时器的溢出时间根据TCP拥塞恢复能力而定,如果“运行观察期”结束后的一个时间窗(例如“运行观察期”的两倍)内再次发生拥塞,增加溢出时间,反义亦然。
为实现上述实施例方法,本发明还提供了一种队列管理装置,如图16所示,该装置包括:
监控模块,用于监控队列缓存状态;
丢包控制模块,用于当队列缓存数量超过拥塞预警门限的时间超过预定时长后,开始执行策略丢包。
具体地,所述队列缓存数量超过拥塞预警门限且持续预定时长指队列缓存数量超过拥塞预警门限的单次持续时长或多次持续累计时长超过预定时长。
可选地,对应于实施例2,如图17所示,所述监控模块包括:
设置子模块,用于设置唤醒定时器及唤醒定时器时长;
定时器调整子模块,用于根据队列缓存状态调整所述唤醒定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,废弃已启动的唤醒定时器;
定时器监控子模块,用于监控所述唤醒定时器的状态;
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
可选地,对应于实施例3,所述监控模块包括:
设置子模块,用于设置唤醒定时器、睡眠定时器以及各定时器时长;
定时器调整子模块,用于根据队列缓存状态调整所述唤醒定时器和睡眠定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;
定时器监控子模块,用于监控所述唤醒定时器的状态。
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
可选地,所述丢包控制模块,还用于当所述队列缓存数量下降至小于所述拥塞预警门限时,停止执行丢包策略。
可选地,对应于实施例4,所述监控模块包括:
设置子模块,设置唤醒定时器、睡眠定时器、运行定时器以及各定时器时长;
定时器调整子模块,用于根据队列缓存状态调整所述唤醒定时器、睡眠定时器和运行定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;所述唤醒定时器溢出时,启动所述运行定时器;
定时器监控子模块,用于监控所述运行定时器的状态。
当所述运行定时器运行时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
对应于实施例4,可选地,所述丢包控制模块还用于在所述运行定时器溢出时,停止执行丢包策略。
对应于上述各装置实施例,所述队列监控模块周期和/或事件触发监控所述队列缓存状态,所述事件包括数据包到达和数据包发送。
在配置唤醒定时器的装置实施例中,如图18所示,所述监控模块还包括时长调整模块,用于调整所述唤醒定时器时长,其中所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第一预定时间,减少所述唤醒定时器的时长;所述唤醒定时器溢出至再次触发所述唤醒定时器的时长大于第二预定时间,则增加所述唤醒定时器的时长。
在配置运行定时器的装置实施例中,所述监控模块还包括时长调整模块,用于调整所述运行定时器时长,其中所述运行定时器溢出至再次触发所述唤醒定时器的时长大于第一预定时间,则减少所述运行定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第二预定时间,则增加所述唤醒定时器的时长。
所述时长调整模块根据设置的惩罚因子减少所述唤醒定时器或运行定时器的时长,根据所述惩罚因子的倒数增加所述唤醒定时器或运行定时器的时长。
本发明方法、装置的各实施例中可以使用任意的AQM方案进行策略丢包。常规的AQM策略,如随机早期丢弃(RandomEarlyDrop,RED)的主要目的是稳定缓存队列长度,“尽力而为”的早期避免拥塞发生。当然,在“运行观察期”(即执行主动丢包的期间)内使用PI控制器等其他AQM方案也同样可行。
本发明队列管理方法和装置通过监控队列缓存状态,并在队列缓存数量超过拥塞预警门限的时间超过预定时长后,才开始执行策略丢包。在一定程度上解决TCP和AQM“各自为政”的无序状态,在不增加额外测量和协议信令的前提下,通过设置“观察窗”(即预定时长)对无线拥塞进行早期预测并评估TCP的拥塞恢复能力,根据评估和预测结果协同调整队列管理方案,降低未来发生严重拥塞的概率,实现了TCP与AQM之间的协同,为一种协同队列管理(CooperateQueueManagement,CQM)的方式。

Claims (20)

1.一种队列管理方法,其特征在于,该方法包括:
监控队列缓存状态;
当队列缓存数量超过拥塞预警门限的时间超过预定时长后,开始执行策略丢包。
2.如权利要求1所述的方法,其特征在于:所述队列缓存数量超过拥塞预警门限且持续预定时长指队列缓存数量超过拥塞预警门限的单次持续时长或多次持续累计时长超过预定时长。
3.如权利要求1所述的方法,其特征在于:监控队列缓存状态的步骤包括:
设置唤醒定时器及唤醒定时器时长;
根据队列缓存状态调整所述唤醒定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,废弃已启动的唤醒定时器;
监控所述唤醒定时器的状态;
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
4.如权利要求1所述的方法,其特征在于:监控队列缓存状态的步骤包括:
设置唤醒定时器、睡眠定时器以及各定时器时长;
根据队列缓存状态调整所述唤醒定时器和睡眠定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;
监控所述唤醒定时器的状态,
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
5.如权利要求1至4中任一项所述的方法,其特征在于,该方法还包括:当所述队列缓存数量下降至小于所述拥塞预警门限时,停止执行丢包策略。
6.如权利要求1所述的方法,其特征在于,监控队列缓存状态的步骤包括:
设置唤醒定时器、睡眠定时器、运行定时器以及各定时器时长;
根据队列缓存状态调整所述唤醒定时器、睡眠定时器和运行定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;所述唤醒定时器溢出时,启动所述运行定时器;
监控所述运行定时器的状态,
当所述运行定时器启动时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
7.如权利要求6所述的方法,其特征在于,该方法还包括所述运行定时器溢出时,停止执行丢包策略。
8.如权利要求1所述的方法,其特征在于:周期和/或事件触发所述监控队列缓存状态的步骤,所述事件包括数据包到达和数据包发送。
9.如权利要求3、4或6所述的方法,其特征在于,该方法还包括定时器时长调整步骤,其中所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第一预定时间,则减少所述唤醒定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长大于第二预定时间,则增加所述唤醒定时器的时长。
10.如权利要求6所述的方法,其特征在于,该方法还包括定时器时长调整步骤,其中所述运行定时器溢出至再次触发所述唤醒定时器的时长大于第一预定时间,则减少所述运行定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第二预定时间,则增加所述唤醒定时器的时长。
11.如权利要求9或10所述的方法,其特征在于:根据设置的惩罚因子减少所述唤醒定时器或运行定时器的时长,根据所述惩罚因子的倒数增加所述唤醒定时器或运行定时器的时长。
12.一种队列管理装置,其特征在于,该装置包括:
监控模块,用于监控队列缓存状态;
丢包控制模块,用于当队列缓存数量超过拥塞预警门限的时间超过预定时长后,开始执行策略丢包。
13.如权利要求12所述的装置,其特征在于:所述队列缓存数量超过拥塞预警门限且持续预定时长指队列缓存数量超过拥塞预警门限的单次持续时长或多次持续累计时长超过预定时长。
14.如权利要求12所述的装置,其特征在于:所述监控模块包括:
设置子模块,用于设置唤醒定时器及唤醒定时器时长;
定时器调整子模块,用于根据队列缓存状态调整所述唤醒定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,废弃已启动的唤醒定时器;
定时器监控子模块,用于监控所述唤醒定时器的状态;
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
15.如权利要求12所述的装置,其特征在于:所述监控模块包括:
设置子模块,用于设置唤醒定时器、睡眠定时器以及各定时器时长;
定时器调整子模块,用于根据队列缓存状态调整所述唤醒定时器和睡眠定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;
定时器监控子模块,用于监控所述唤醒定时器的状态,
当所述唤醒定时器溢出时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
16.如权利要求12所述的装置,其特征在于,所述监控模块包括:
设置子模块,设置唤醒定时器、睡眠定时器、运行定时器以及各定时器时长;
定时器调整子模块,用于根据队列缓存状态调整所述唤醒定时器、睡眠定时器和运行定时器的状态,其中,当队列缓存数量上升至大于所述拥塞预警门限时,启动所述唤醒定时器;所述唤醒定时器运行期间,所述队列缓存数量下降至小于所述拥塞预警门限时,暂停已启动的唤醒定时器,并启动睡眠定时器;所述睡眠定时器运行期间,所述队列缓存数量上升至大于所述拥塞预警门限时,废弃所述睡眠定时器,并重启已暂停的唤醒定时器;所述睡眠定时器溢出时,废弃已暂停的唤醒定时器;所述唤醒定时器溢出时,启动所述运行定时器;
定时器监控子模块,用于监控所述运行定时器的状态,
当所述运行定时器启动时,认为队列缓存数量超过拥塞预警门限的时间超过预定时长。
17.如权利要求16所述的装置,其特征在于,所述丢包控制模块还用于在所述运行定时器溢出时,停止执行丢包策略。
18.如权利要求14、15或16所述的装置,其特征在于,所述监控模块还包括时长调整模块,用于调整所述唤醒定时器时长,其中所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第一预定时间,减少所述唤醒定时器的时长;所述唤醒定时器溢出至再次触发所述唤醒定时器的时长大于第二预定时间,则增加所述唤醒定时器的时长。
19.如权利要求18所述的装置,其特征在于,所述监控模块还包括时长调整模块,用于调整所述运行定时器时长,其中所述运行定时器溢出至再次触发所述唤醒定时器的时长大于第一预定时间,则减少所述运行定时器的时长;若所述唤醒定时器溢出至再次触发所述唤醒定时器的时长小于第二预定时间,则增加所述唤醒定时器的时长。
20.如权利要求18或19所述的装置,其特征在于:所述时长调整模块根据设置的惩罚因子减少所述唤醒定时器或运行定时器的时长,根据所述惩罚因子的倒数增加所述唤醒定时器或运行定时器的时长。
CN201410187197.4A 2014-05-05 2014-05-05 队列管理方法和装置 Active CN105099940B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410187197.4A CN105099940B (zh) 2014-05-05 2014-05-05 队列管理方法和装置
PCT/CN2014/088198 WO2015169048A1 (zh) 2014-05-05 2014-10-09 队列管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410187197.4A CN105099940B (zh) 2014-05-05 2014-05-05 队列管理方法和装置

Publications (2)

Publication Number Publication Date
CN105099940A true CN105099940A (zh) 2015-11-25
CN105099940B CN105099940B (zh) 2020-08-04

Family

ID=54392079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410187197.4A Active CN105099940B (zh) 2014-05-05 2014-05-05 队列管理方法和装置

Country Status (2)

Country Link
CN (1) CN105099940B (zh)
WO (1) WO2015169048A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603428A (zh) * 2017-01-16 2017-04-26 浪潮(苏州)金融技术服务有限公司 一种消息队列保护方法及装置
CN106789736A (zh) * 2016-12-28 2017-05-31 国网辽宁省电力有限公司 一种电力系统终端通信接入网汇聚节点的队列管理方法
CN107548079A (zh) * 2016-06-23 2018-01-05 联芯科技有限公司 定时器时长的动态调整方法、终端设备、无线通信系统
CN107817944A (zh) * 2016-09-12 2018-03-20 华为技术有限公司 一种数据处理方法及存储设备
CN107896198A (zh) * 2017-11-28 2018-04-10 杭州迪普科技股份有限公司 一种基于流分类的丢弃报文信息显示方法及装置
CN109327402A (zh) * 2017-07-31 2019-02-12 杭州海康威视数字技术股份有限公司 拥塞管理方法及装置
CN109462553A (zh) * 2018-10-24 2019-03-12 盛科网络(苏州)有限公司 一种基于时延的动态队列管理芯片实现方法
CN113411264A (zh) * 2021-06-30 2021-09-17 中国工商银行股份有限公司 一种网络队列的监控方法、装置、计算机设备和存储介质
CN114513463A (zh) * 2020-10-28 2022-05-17 华为技术有限公司 拥塞识别方法及装置
CN114531487A (zh) * 2020-10-30 2022-05-24 华为技术有限公司 缓存管理方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108347389A (zh) * 2017-01-22 2018-07-31 中兴通讯股份有限公司 一种在数据转发网络中实现流量均衡的方法及装置
CN116527585B (zh) * 2023-07-05 2023-08-29 天地信息网络研究院(安徽)有限公司 一种流长度感知的拥塞控制方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087244A (zh) * 2006-06-07 2007-12-12 华为技术有限公司 一种流控制传输中拥塞控制的实现方法
CN100405786C (zh) * 2005-12-09 2008-07-23 清华大学 支持多队列的共享缓存动态门限早期丢弃装置
CN100414882C (zh) * 2005-03-31 2008-08-27 华为技术有限公司 无线网络控制器存储资源监控方法及系统
CN100550861C (zh) * 2004-10-10 2009-10-14 中兴通讯股份有限公司 一种网管系统通信流量控制的方法
CN101582842A (zh) * 2008-05-16 2009-11-18 华为技术有限公司 拥塞控制方法与拥塞控制装置
CN102014058A (zh) * 2010-11-23 2011-04-13 奇智软件(北京)有限公司 一种上行流量的调度方法及装置
CN101232455B (zh) * 2008-02-04 2011-05-11 中兴通讯股份有限公司 一种拥塞控制方法及装置
CN101179833B (zh) * 2006-11-07 2011-08-10 中兴通讯股份有限公司 基站和无线网络控制器之间的拥塞控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520517B2 (en) * 2007-02-21 2013-08-27 Broadcom Corporation Switch fabric end-to-end congestion avoidance mechanism
CN100490554C (zh) * 2007-03-08 2009-05-20 上海华为技术有限公司 网络优化方法及其系统
CN101997776B (zh) * 2010-11-18 2013-01-09 无锡源清高新技术研究所有限公司 基于拥塞辨识的路由器队列控制系统的控制方法
CN102801502B (zh) * 2012-08-31 2015-04-15 哈尔滨工业大学 Lte及lte-a系统中基于red算法的丢包方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100550861C (zh) * 2004-10-10 2009-10-14 中兴通讯股份有限公司 一种网管系统通信流量控制的方法
CN100414882C (zh) * 2005-03-31 2008-08-27 华为技术有限公司 无线网络控制器存储资源监控方法及系统
CN100405786C (zh) * 2005-12-09 2008-07-23 清华大学 支持多队列的共享缓存动态门限早期丢弃装置
CN101087244A (zh) * 2006-06-07 2007-12-12 华为技术有限公司 一种流控制传输中拥塞控制的实现方法
CN101179833B (zh) * 2006-11-07 2011-08-10 中兴通讯股份有限公司 基站和无线网络控制器之间的拥塞控制方法
CN101232455B (zh) * 2008-02-04 2011-05-11 中兴通讯股份有限公司 一种拥塞控制方法及装置
CN101582842A (zh) * 2008-05-16 2009-11-18 华为技术有限公司 拥塞控制方法与拥塞控制装置
CN102014058A (zh) * 2010-11-23 2011-04-13 奇智软件(北京)有限公司 一种上行流量的调度方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107548079A (zh) * 2016-06-23 2018-01-05 联芯科技有限公司 定时器时长的动态调整方法、终端设备、无线通信系统
CN107548079B (zh) * 2016-06-23 2020-10-27 联芯科技有限公司 定时器时长的动态调整方法、终端设备、无线通信系统
CN107817944B (zh) * 2016-09-12 2021-05-18 华为技术有限公司 一种数据处理方法及存储设备
CN107817944A (zh) * 2016-09-12 2018-03-20 华为技术有限公司 一种数据处理方法及存储设备
CN106789736B (zh) * 2016-12-28 2020-04-24 国网辽宁省电力有限公司 一种电力系统终端通信接入网汇聚节点的队列管理方法
CN106789736A (zh) * 2016-12-28 2017-05-31 国网辽宁省电力有限公司 一种电力系统终端通信接入网汇聚节点的队列管理方法
CN106603428A (zh) * 2017-01-16 2017-04-26 浪潮(苏州)金融技术服务有限公司 一种消息队列保护方法及装置
CN109327402A (zh) * 2017-07-31 2019-02-12 杭州海康威视数字技术股份有限公司 拥塞管理方法及装置
CN109327402B (zh) * 2017-07-31 2023-03-14 杭州海康威视数字技术股份有限公司 拥塞管理方法及装置
CN107896198A (zh) * 2017-11-28 2018-04-10 杭州迪普科技股份有限公司 一种基于流分类的丢弃报文信息显示方法及装置
CN109462553A (zh) * 2018-10-24 2019-03-12 盛科网络(苏州)有限公司 一种基于时延的动态队列管理芯片实现方法
CN114513463A (zh) * 2020-10-28 2022-05-17 华为技术有限公司 拥塞识别方法及装置
CN114531487A (zh) * 2020-10-30 2022-05-24 华为技术有限公司 缓存管理方法及装置
CN113411264A (zh) * 2021-06-30 2021-09-17 中国工商银行股份有限公司 一种网络队列的监控方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN105099940B (zh) 2020-08-04
WO2015169048A1 (zh) 2015-11-12

Similar Documents

Publication Publication Date Title
CN105099940A (zh) 队列管理方法和装置
US9137841B2 (en) Enhancement for scheduling request triggering based on traffic condition
US9144015B2 (en) Methods of UE indicating traffic-related information to network
US9137842B2 (en) Methods of UE providing speed information to network
EP2439878B1 (en) Method and system for network congestion management
EP2578045B1 (en) Method and apparatus for controlling change of a radio resource control (rrc) state for a user equipment
US20110075562A1 (en) Rate Shaping For Wireless Communication Using Token Bucket That Allows Token Debt
EP2579671B1 (en) Methods for UE indicating traffic-related information to network
JP6499775B2 (ja) 遅延寛容トラフィックを伴うデバイスの非アクティビティの取扱い
Francois et al. Impact of signaling storms on energy consumption and latency of LTE user equipment
US10952102B2 (en) Method and apparatus for controlling data transmission speed in wireless communication system
US20220053373A1 (en) Communication apparatus, communication method, and program
CN101969432A (zh) 基于随机回退的tcp拥塞窗口的控制方法
US8966070B1 (en) System and method of reducing network latency
JP6417097B2 (ja) パケット伝送装置
Goyzueta et al. A deterministic loss model based analysis of CUBIC
US9419754B2 (en) Terminal and resource scheduling method thereof
CN115865827B (zh) 一种基于事件驱动的跨层端网协同拥塞控制方法
EP2993843B1 (en) Traffic shaping drive method and driver
CN107171869A (zh) 一种对ceph文件系统进行带宽控制的方法及系统
Camps-Mur et al. Enhancing the performance of TCP over Wi-Fi power saving mechanisms
Mur Contributions to QoS and energy efficiency in wi-fi networks
Wu et al. A network-based solution for TCP in wireless systems with opportunistic scheduling
Abdo et al. Application-aware fast dormancy in lte
Arunagiri et al. Functional mechanism of DRX parameters for power saving and latency in LTE network

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