一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

针对移动蜂窝网络的可配置低延迟拥塞控制方法及系统与流程

2021-12-04 01:45:00 来源:中国专利 TAG:


1.本发明涉及媒体网络传输领域,具体地,涉及一种针对移动蜂窝网络的可配置低延迟拥塞控制方法及系统。


背景技术:

2.由于蜂窝技术的快速进步,移动蜂窝网络得到了广泛普及。低端到端延迟对于延迟敏感的应用程序(例如视频会议和实时云游戏)至关重要。高交互延迟将显着降低用户的体验质量(qoe)。然而,针对蜂窝网络中极低的延迟意味着相对较低的带宽利用率。大多数对延迟敏感的应用程序都有最大目标延迟阈值。如果平均延迟保持在目标值以下,则可以提供足够好的qoe。例如,小于200毫秒的端到端延迟可以为实时视频会议提供良好的体验。因此,我们可以设计一种新颖的控制机制,在保持端到端延迟低于目标值的同时,尽可能多地获得可用吞吐量是可行的。
3.网络拥塞控制是现代网络协议中的重要方法,其目标是通过控制源的发送速率或拥塞窗口来保持高吞吐量和低延迟。然而,由于几个独特的蜂窝网络特性,传统的tcp机制在蜂窝网络中受到长端到端延迟或低吞吐量的影响。首先,蜂窝网络的可用带宽变化很快,因此很难预测网络的即时容量。其次,基站会为每个连接分配一个深度缓冲区,这对基于丢包的方法是有害的。第三,蜂窝网络存在因步行或驾驶时信号衰减或基站切换等原因造成的随机损耗。
4.cubic等基于损失的拥塞控制可以通过填充蜂窝网络瓶颈中的缓冲区来充分利用带宽。然而,这个动作会导致“bufferbloat”问题,最终导致高队列延迟。cubic在遇到随机丢失时也有吞吐量低的问题,因为cubic无法区分拥塞丢失和随机丢失,它总是在丢失事件之后将拥塞窗口减半。传统的基于延迟的方法,例如tcp vegas可以在蜂窝网络中保持非常低的延迟,同时牺牲带宽利用率。
5.延迟敏感的应用程序需要将端到端延迟保持在某个目标值以下,并在此限制下最大化吞吐量。一些方法来解决这个问题,例如ledbat、proprate和deepcc。其中ledbat是最简单的方法,它使用单向延迟作为拥塞信号。一旦测量的即时延迟偏离目标值,ledbat使用简单的负反馈回路来调整拥塞窗口。ledbat在稳定的有线网络中表现良好,但在蜂窝网络中很可能会超过目标延迟。
6.因此如何设置一个可配置的低延迟拥塞控制方法并将其应用到移动蜂窝网络环境中具有重要的现实意义。主要存在如下问题:
7.一、蜂窝网络的可用带宽变化很快,因此很难预测网络的即时容量。传统的拥塞控制方法或者可以利用全部带宽,但是端到端延迟非常高;或者端到端延迟较低,但是带宽利用率低;
8.二、基站会为每个连接分配一个深度缓冲区,因为基于丢包的方法倾向于填充缓冲区,导致相当高的延迟。
9.三、蜂窝网络存在因步行或驾驶时信号衰减或基站切换等原因造成的随机损耗,
基于丢包的方法会误判为拥塞丢包并且降低发送速率,导致很低的带宽利用率。


技术实现要素:

10.针对现有技术中存在的上述不足,本发明的目的是提供一种针对移动蜂窝网络的可配置低延迟拥塞控制方法及系统。该方法及系统适用于移动蜂窝网络,可以控制端到端平均延迟在目标延迟以内,并且最大化网络吞吐量。
11.本发明的第一方面,提供一种针对移动蜂窝网络的可配置低延迟拥塞控制方法,包括:
12.使用最小滤波器从最近的rtt样本序列中估计当前最新的rtt值;
13.使用线性回归方法根据历史rtt向量计算rtt梯度;
14.使用估计的rtt和rtt梯度检测拥塞,并计算动态步长调节拥塞窗口。
15.可选地,估计当前最新的rtt值的方法为:
16.rtt
est
=min(rtt1,rtt2,

,rtt
m
)
17.其中rtt
est
表示估计的rtt;rtt
i
表示估计的i
th acki中的瞬时rtt样本;m表示最小滤波器的尺寸。
18.可选地,计算rtt梯度的方法为:
19.δrtt=lr_slope(rtt
seq
,rtt
vector
)
[0020][0021]
lr_slope是计算线性回归方程斜率的函数,其中x,y是两个一维向量,n是样本总数,x
i
是x的第i个数据点,是x的平均值;y
i
是y的第i个数据点,是y的平均值;rtt
seq
=[1,2,...,km]表示rtt样本的序列号向量,rtt
vector
=[rtt_1,...,rtt_m,...,rtt_{km}]表示历史rtt样本的向量,δrtt表示估计的rtt梯度,rtt
i
表示在i
th
acki中采样的即时rtt,k*m是历史rtt向量的大小。
[0022]
可选地,根据估计的rtt和目标延迟的比较情况,结合rtt梯度和固定阈值的比较情况,计算拥塞窗口的步长,并根据此调整发送端发包策略,以保证平均端到端延迟低于目标延迟并且最大化网络吞吐量。
[0023]
可选地,估计排队数据包的数量diff,并在diff<σ时调节拥塞窗口,σ表示瓶颈中预期的最少数据包数;其中,diff的计算公式如下:
[0024][0025]
其中w表示拥塞窗口大小;rtt
est
表示当前时间区间rtt的估计值;rtt
min
表示最小rtt。
[0026]
可选地,计算动态步长调节拥塞窗口的方法为:
[0027]
如果rtt
est
>β并且δrtt>γ,那么
[0028]
如果rtt
est
<β和δrtt<

γ,那么
[0029]
如果rtt
est
<α,那么w=w c3*tanh(1

rtt
est
/α);
[0030]
如果diff<σ,那么w=w c4*tanh(1

diff/σ);
[0031]
其中β=target rtt,γ是rtt梯度的固定阈值,σ是排队数据包数量的固定阈值,c1,c2,c3,c4是固定参数,rtt
min
是本次连接测得的最小rtt,target rtt是期望的目标延迟。
[0032]
本发明的第二方面,提供一种针对移动蜂窝网络的可配置低延迟拥塞控制系统,包括:
[0033]
rtt估计器:使用滑动最小滤波器从最近的rtt样本中估计最新的rtt;
[0034]
rtt梯度估计器:使用线性回归方法根据历史rtt向量计算rtt梯度;
[0035]
窗口控制器:使用延迟信号检测拥塞并使用动态步长来调节拥塞窗口大小,所述延迟信号包括当前最新的rtt值和rtt梯度。
[0036]
可选地,所述rtt梯度估计器,将rtt样本值放入一个历史rtt向量中,并保持动态更新,通过线性回归方法计算rtt梯度值。
[0037]
本发明的第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述针对移动蜂窝网络的可配置低延迟拥塞控制方法。
[0038]
本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实所述针对移动蜂窝网络的可配置低延迟拥塞控制方法。
[0039]
与现有技术相比,本发明实施例具有如下至少一种有益效果:
[0040]
1、本发明基于网络延迟提取拥塞信号,并根据估计的rtt和rtt梯度迅速调整拥塞窗口,可以对快速变化的移动蜂窝网络做出反应,可以由上层高交互性应用根据自身需求来设置目标延迟,本发明可以将端到端延迟稳定在目标延迟附近,并在此基础上最大化网络吞吐量。
[0041]
2、本发明从接收端返回的数据包中提取延迟信息,并用方法估计最近延迟和延迟梯度,这种方式获取指标速度快,可以避免滞后效应。而且计算复杂度低,提高了在实际应用中的适应性和可行性。
[0042]
3、本发明为移动蜂窝网络设计的可配置拥塞控制方法及系统,有效解决了现有技术中存在的问题,使得低延迟高吞吐量的拥塞控制方法可以更好地提升延迟敏感和高交互要求的应用程序的需求。
附图说明
[0043]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其他特征、目的和优点将会变得更明显:
[0044]
图1是本发明一实施例的可配置低延迟拥塞控制方法的框架图;
[0045]
图2是本发明一实施例的在驾驶模拟场景下和其他方法的延迟

吞吐量对比图;
[0046]
图3是本发明一实施例的在不同随机丢包率下和其他方法的吞吐量性能对比图。
具体实施方式
[0047]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术
人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0048]
参照图1所示,本发明实施例提供了一种针对移动蜂窝网络的可配置低延迟拥塞控制方法,包括:
[0049]
s1,使用最小滤波器从最近的rtt样本序列中估计当前最新的rtt值;
[0050]
本步骤中,估计当前最新的rtt值的方法为:
[0051]
rtt
est
=min(rtt1,rtt2,

,rtt
m
)
[0052]
其中rtt
est
,rtt
i
,m表示估计的rtt,i
th acki中的瞬时rtt样本,以及滑动最小滤波器的大小。
[0053]
s2,使用线性回归方法根据历史rtt向量计算rtt梯度;
[0054]
本步骤中,估计rtt梯度的方法为:
[0055]
δrtt=lr_slope(rtt
seq
,rtt
vector
)
[0056][0057]
lr_slope是计算线性回归方程斜率的函数,其中x,y是两个一维向量,x
i
是x的第i个数据点,是x的平均值。rtt
seq
=[1,2,...,km]表示rtt样本的序列号向量,rtt
vector
=[rtt_1,...,rtt_m,...,rtt_{km}]表示历史rtt样本的向量,δrtt表示估计的rtt梯度,rtt
i
表示在i
th
acki中采样的即时rtt,k*m是历史rtt向量的大小。
[0058]
s3,使用估计的rtt和rtt梯度检测拥塞并计算动态步长调节拥塞窗口。
[0059]
本步骤中,需要估计排队数据包的数量(diff),并在diff<σ时调节拥塞窗口。σ表示瓶颈中预期的最少数据包数。diff的计算公式如下:
[0060][0061]
其中w,rtt
est
,rtt
min
表示拥塞窗口大小、估计的rtt和最小rtt。
[0062]
本步骤中,动态调节拥塞窗口的步长的方法为:
[0063]
如果rtt
est
>β并且δrtt>γ,那么
[0064]
如果rtt
est
<β和δrtt<

γ,那么
[0065]
如果rtt
est
<α,那么w=w c3*tanh(1

rtt
est
/α);
[0066]
如果diff<σ,那么w=w c4*tanh(1

diff/σ)。
[0067]
其中β=target rtt,γ是rtt梯度的固定阈值,σ是排队数据包数量的固定阈值,c1,c2,c3,c4是固定参数。rtt
min
是本次连接测得的最小rtt,target rtt是期望的目标延迟。
[0068]
本发明实施例通过收集网络往返时延(rtt)的样本序列,分别估计当前rtt和当前rtt梯度的值,将其作为拥塞信号;根据估计值的变化,计算下一个时间段拥塞窗口的值并控制网络数据包的发送,保证平均端到端延迟低于目标延迟,并最大化网络吞吐量。本发明基于网络延迟提取拥塞信号,并根据估计的rtt和rtt梯度迅速调整拥塞窗口,可以对快速变化的移动蜂窝网络做出反应,增强了实际应用的适用性和可行性。
[0069]
参照图1所示,基于相同的技术构思,本发明的另一实施例中提供一种针对移动蜂窝网络的可配置低延迟拥塞控制系统,包括:
[0070]
rtt估计器:使用滑动最小滤波器从最近的rtt样本中估计当前最新的rtt值;
[0071]
rtt梯度估计器:使用线性回归方法根据历史rtt向量计算rtt梯度;
[0072]
窗口控制器:使用延迟信号(当前最新的rtt值和rtt梯度)检测拥塞并使用动态步骤来调节拥塞窗口大小。
[0073]
基于相同的技术构思,在本发明另一实施例中,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例的针对移动蜂窝网络的可配置低延迟拥塞控制。
[0074]
基于相同的技术构思,在本发明另一实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例的针对移动蜂窝网络的可配置低延迟拥塞控制。
[0075]
以下对上述实施例中的rtt估计器、rtt梯度估计器和窗口控制器的优选方式进行说明:
[0076]
一、rtt估计器
[0077]
rtt估计器使用几个最近的rtt样本估计最新的rtt值。本发明实施例基于udt协议,它使用基于定时器的选择性ack。因此,udt内核在固定时间间隔内生成每个即时rtt样本,称为ack间隔(acki),设置为10ms。由于延迟的ack,不能直接使用最新的rtt样本。因此,本发明实施例使用滑动最小滤波器从m个连续rtt样本中估计最新的rtt。每次该方法收集m rtt样本时,rtt估计器开始估计最新的rtt。在图2中,每次本实施例得到m=3个即时rtt样本时,rtt估计器都会更新最新的rtt值。
[0078]
rtt
est
=min(rtt1,rtt2,

,rtt
m
)
[0079]
其中rtt
est
,rtt
i
,m表示估计的rtt,i
th acki中的瞬时rtt样本,以及滑动最小滤波器的大小。然后将所有rtt样本推送到历史rtt向量中,该向量用于估计rtt梯度。
[0080]
二、rtt梯度估计器
[0081]
rtt梯度估计器使用线性回归方法从历史rtt向量计算rtt梯度。在本实施例中,rtt梯度是指两个连续acki之间的rtt变化趋势。已知每m个acki就估计一个最新的rtt。但是,如果该方法直接使用m个rtt样本来计算rtt梯度,就会出现一些问题。当m小时,估计的rtt梯度不能准确反映网络由于信道噪声引起的变化;当m很大时,估计的最新rtt不再及时。为了解决这个问题,该方法使用历史rtt向量来存储过去的rtt样本。该方法将每个m ackis视为一个基本估计期。一个完整的历史rtt向量由k基本估计周期组成。所以历史rtt向量的容量是k*m。在每个acki中,一个新的即时rtt样本被推送到历史rtt向量中。
[0082]
当历史rtt向量的长度达到其容量时,就该计算rtt梯度了。该方法使用线性回归方法计算历史rtt向量中rtt样本的斜率,本实施例从中得到估计的rtt梯度。rtt梯度方程如下所示:
[0083]
δrtt=lr_slope(rtt
seq
,rtt
vector
)
[0084][0085]
lr_slope是计算线性回归方程斜率的函数,其中x,y是两个一维向量,x
i
是x的第i
个数据点,是x的平均值。rtt
seq
=[1,2,...,km]表示rtt样本的序列号向量,rtt
vector
=[rtt_1,...,rtt_m,...,rtt_{km}]表示历史rtt样本的向量,δrtt表示估计的rtt梯度,rtt
i
表示在i
th
acki中采样的即时rtt,k*m是历史rtt向量的大小。
[0086]
历史rtt向量的更新规则采用滑动窗口。在每个acki上,udt内核计算一个即时rtt样本,该样本被推入历史rtt向量中。当有m个rtt样本时,rtt估计器会估计这个基本周期的最新rtt。如果历史rtt向量的大小达到k*m,则rtt梯度估计器更新δrtt并从历史rtt向量中移除前m个样本。所以下次当新的rtt样本充满历史rtt向量时,它会计算下一个δrtt。
[0087]
三、窗口控制器
[0088]
获得低目标延迟和高吞吐量的简单而直观的想法是通过调整拥塞窗口大小将平均rtt保持在预期范围(α,β)内。α是使一些数据包在瓶颈中排队以充分利用带宽的低阈值。在本实施例中,α设置为其中rtt
min
是自连接开始以来的最小rtt。而β控制着上限,它等于目标延迟。如果估计的rtt偏离预期范围,本发明可以更改拥塞窗口大小以使其恢复到期望范围。
[0089]
然而,仅仅应用上述两个rtt阈值来控制拥塞会导致蜂窝网络的性能不佳。由于网络变化,即时rtt可能会超过目标值,而瓶颈缓冲区仍为空。更好的解决方案是根据长期行为而不是最近估计的rtt值调整拥塞窗口。因此,该方法选择rtt梯度作为另一个拥塞信号。如果rtt梯度超过某个合理的阈值(

γ,γ),该方法推断瓶颈队列正在排空或填充。
[0090]
此外,为了保持协议内的公平性,该方法估计排队数据包数量(diff),并在diff<σ时调节拥塞窗口大小。σ表示瓶颈中预期的最少数据包数。diff的计算公式如下:
[0091][0092]
其中w,rtt
est
,rtt
min
表示拥塞窗口大小、估计的rtt和最小rtt。
[0093]
综上所述,动态调节拥塞窗口的步长的方法为:
[0094]
如果rtt
est
>β并且δrtt>γ,那么
[0095]
如果rtt
est
<β和δrtt<

γ,那么
[0096]
如果rtt
est
<α,那么w=w c3*tanh(1

rtt
set
/α);
[0097]
如果diff<σ,那么w=w c4*tanh(1

diff/σ)。
[0098]
其中β=target rtt,γ是rtt梯度的固定阈值,σ是排队数据包数量的固定阈值,c1,c2,c3,c4是固定参数,参数取值为在多次实验下表现良好的经验值。rtt
min
是本次连接测得的最小rtt,target rtt是期望的目标延迟。
[0099]
四、实施条件与结果评估
[0100]
在本发明实施例中,拥塞控制方法及系统是在udt协议上实现的,它采用udp协议作为其传输层协议。udt支持用户定义的拥塞控制方案。然后我们使用pantheon作为测试平台,在相同的模拟蜂窝网络环境中将本发明与其他最先进的方法进行比较,支持cubic、ledbat、bbr、verus、copa和sprout等。pantheon使用mahimahi作为其本地网络模拟器。mahimahi是一个轻量级且可组合的网络仿真工具,它可以使用给定的跟踪文件模拟不同的蜂窝网络跟踪。我们从数据库中选择了几个蜂窝网络路径。这些路径包含不同的场景,例如
驾驶、步行和静止场景。
[0101]
表1本发明在驾驶场景和其他方法的性能对比结果
[0102]
方法平均吞吐量/mbps平均延迟/ms平均丢包率/%tcp bbr3.6060.350.08copa3.48166.950.87tcp cubic3.62568.961.99ledbat3.4656.840.10sprout3.5561.240.05本发明实例3.5052.730.13verus2.5891.884.04
[0103]
图3是本发明一实施例的在不同随机丢包率下和其他方法的吞吐量性能对比图。当随机丢包率比较小时,该发明的吞吐量非常接近可达到的最优吞吐量,当随机丢包率比较大时,该发明的吞吐量明显优于基于丢包的cubic算法和基于延迟的ledbat算法。
[0104]
经过对比发现,经过本发明提出的针对移动蜂窝网络设计的可配置低延迟拥塞控制方法cldcc相比现有的bbr和ledbat等方法均有延迟降低,吞吐量超过了大部分方法,并且取得了更好的延迟和吞吐量的平衡。
[0105]
本发明上述实施例中的针对移动蜂窝网络设计的可配置低延迟拥塞控制方法,首先从协议中提取数据包往返延迟rtt的样本序列,然后用最小滤波器得到最近rtt的估计值。其次,将rtt样本值放入一个历史rtt向量中,并保持动态更新,通过线性回归方法计算rtt梯度值。最后,根据估计的rtt和目标延迟的比较情况结合rtt梯度和固定阈值的比较情况,确定拥塞窗口的步长,并根据此调整发送端发包策略,以保证平均端到端延迟低于目标延迟并且最大化网络吞吐量。
[0106]
本发明上述实施例所提供的针对移动蜂窝网络设计的可配置低延迟拥塞控制方法及系统,为延迟敏感类应用提供了可配置的目标延迟,并且在此基础上最大化网络吞吐量。该方法需要的计算复杂度低,通过控制延迟的方式来解决网络拥塞,保证了对高度变化的蜂窝网络的有效性,提高了本系统在实际应用中的适应性和可行性。
[0107]
需要说明的是,本发明提供的所述方法中的步骤,可以利用所述系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
[0108]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0109]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献