在通信系统中控制下行链路吞吐量的设备和方法与流程

文档序号:13520905阅读:184来源:国知局

本公开涉及在通信系统中控制传输控制协议(tcp)业务的传输速率。



背景技术:

在现代社会中,由于包括智能手机和平板个人电脑(pc)的各种智能设备的使用增加,诸如网页访问、视频流传输和社交网络服务(sns)站点访问之类的互联网内容的使用在通信网络中几何级数地增加。具体而言,由于能够进行多任务处理的无线设备的增加,目前在上行链路以及下行链路中使用的数据的量正在迅速增加。

通常,与下行链路相比,上行链路在蜂窝无线电网络(诸如长期演进(lte))中的诸如调度请求或多输入多输出(mimo)支持的资源的使用上具有更多限制。因此,即使上行链路数据传输使用与下行链路相同带宽的载波,用于上行链路数据传输的可用带宽也可能远小于下行链路的可用带宽。由于上行链路和下行链路之间的不对称性,由上行链路业务增加而导致产生上行链路拥塞的可能性逐渐变高。上行链路拥塞可能严重影响大多数基于web的互联网应用的下行链路传输速率。

大多数基于web的互联网应用的数据传输方案与传送控制协议(tcp)对应,并且诸如linux和windows之类的商业系统使用的tcp算法可能必须包括通常被称为确认(ack)时钟的方案。由于在基于ack的自时钟接收到ack之后可以发送新的数据分组,所以根据带宽的瓶颈和ack到达服务器的速度来自动控制服务器的发送速率。因此,对于平滑的下行链路分组传输,上行链路ack需要在适当的时间点到达服务器。

上述信息作为背景信息被提供,仅仅用于帮助理解本公开。对于上述的任何内容是否可被应用作为本公开的现有技术,未进行确定,也未进行断言。



技术实现要素:

本公开各方面至少将解决上述问题和/或缺点并且至少将提供下述优点。因此,本公开一方面提供一种用于在通信系统中控制传送速率的装置和方法。

本公开另一方面提供一种用于在通信系统中提高下行链路分组的传输速率的装置和方法。

本公开另一方面提供一种用于在通信系统中减少下行链路分组的确认(ack)的传输延迟的装置和方法。

本公开另一方面提供一种用于在通信系统中在终端中估计分组缓冲延迟时间的装置和方法。

本公开另一方面提供一种用于在通信系统中控制可用上行链路带宽的装置和方法。

本公开另一方面提供一种用于在通信系统中检测上行链路分组的缓冲变化类型的装置和方法。

本公开另一方面提供一种用于在通信系统中屏蔽缓冲延迟估计误差和上行链路传送速率的大小估计误差的装置和方法。

根据本公开一个方面,提供了一种在通信系统中的服务器的操作方法。所述操作方法包括基于终端的分组传输延迟来确定缓冲延迟的变化类型,根据变化类型确定用于控制终端的上行链路传输速率的参数,并且发送参数。

根据本公开另一方面,提供一种通信系统中的服务器。服务器包括:变更类型确定单元,被配置为从终端确定分组传输延迟,并且通过使用分组传输延迟来确定缓冲延迟的变化类型;以及参数确定单元,被配置为根据所确定的缓冲延迟的变化类型来控制用于控制传输速率的参数值。

根据本公开的实施例,尽管无线网络的状态改变,但可以通过在传送分组之前在终端中准确地估计该分组的缓冲延迟时间和可用的上行链路带宽、并且检测通信系统中被估计的缓冲延迟的变化类型,稳定地估计上行链路缓冲状态和可用的上行链路带宽的尺寸。

此外,根据本公开的实施例,可以在上行链路传输速率没有任何减小的情况下提高下行链路传输速率,从而当产生上行链路拥塞时,根据上行链路缓冲状态和可用带宽的尺寸来有效地维持上行链路缓冲状态。

此外,根据本公开实施例,即使当传送控制协议(tcp)时间戳选项被关闭时,也可以估计可用的上行链路带宽的尺寸。

从下面结合附图进行的公开了本公开各个实施例的详细描述中,本公开的其它方面、优点和显著特征对本领域技术人员将变得显而易见。

附图说明

从下面结合附图进行的描述中,本公开的某些实施例的上述和其它方面、特征和优点将更加明显,在附图中:

图1图解了根据本公开的实施例的通信系统中的通过确认(ack)分组延迟的下行链路传输的示例;

图2是图解了根据本公开的实施例的用于控制传送速率的设备的框图;

图3是图解了根据本公开的实施例的包括图2的设备的用于控制传送速率的设备的框图;

图4a至4c图解了根据本公开的实施例的通信系统的配置;

图5图解了根据本公开的实施例的用于测量单向分组延迟和往返时间的操作;

图6是图解了根据本公开的实施例的用于控制传送速率的过程的流程图;

图7是图解了根据本公开的实施例的用于确定传送控制参数的设备的框图;

图8是图解了根据本公开的实施例的控制传送速率控制参数的过程的流程图;和

图9是图解了根据本公开的实施例的使用随机变量控制传送速率控制参数的过程的流程图。

贯穿附图,相同的附图标记将被理解为指代相同的部分、组件和结构。

具体实施方式

提供参考附图的以下描述以协助全面了解如由权利要求及其等同限定的本公开的各个实施例。它包括各种特定细节来协助该了解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到,在不脱离本公开的范围和主旨的情况下,可以对本文所述的各个实施例进行各种改变和修改。此外,为了清楚和简明,可以省略对公知的功能和结构的描述。

以下描述和权利要求中所使用的术语和词语不限于书面意义,而是仅由发明人使用以使得能够清楚和一致地了解本公开内容。因此,本领域技术人员应当明白,对本公开的各个实施例的以下描述仅被提供用于说明的目的,而不是为了限制如由所附的权利要求及其等同限定的本公开的目的。

将了解的是,除非上下文另外明确指示,否则单数形式“一”、“一个”和“该”包括复数指代。因此,例如,对“一个组件表面”的指代包括对一个或多个这种表面的指代。

本公开描述了一种用于在通信系统中控制传输速率的技术。特别地,本公开描述了一种用于当上行链路方向中的数据处理拥塞时控制传输速率以防止下行链路吞吐量的减小的技术。

图1图解了根据本公开的实施例的通过确认(ack)分组延迟的下行链路传输的示例。图1示出了根据本公开中考虑的通信协议的下行链路传输。

参考图1,终端110和服务器130通过下行链路信道102和上行链路信道104发送/接收分组。在图1中,上行链路信道104和下行链路信道102以具有不同宽度的管道的图解以表达带宽不对称。也就是说,管道的宽度近似于可用带宽。

终端110包括用于上行链路分组的缓冲区115。应用分组在被实际发送到物理链路之前,通过终端内的若干级的缓冲区,但为了方便起见,这里只表示了一个逻辑缓冲区。缓冲区115可以用于下行链路数据的ack分组以及上行链路数据分组。数据分组和ack分组根据创建的顺序被输入到缓冲区115中,而不在其之间区分。因此,在缓冲区115中,ack分组被缓存在上行链路数据分组之间。因此,在输入到缓冲区115的数据分组在ack分组之前被发送之后,可以发送ack分组。如果上行链路数据的传输由于上行链路信道104的带宽限制而被延迟,则ack分组之间的间隔可能在缓冲区115内更大。换句话说,ack分组的发送被延迟。

服务器130向终端110发送下行链路数据分组。服务器130可以发送由传输控制协议(tcp)的传输速率控制算法确定的下行链路分组的数量。然而,当未接收到ack时,服务器130不能发送新的下行链路分组。在这种情况下,如图1中所表述的,存在其中在响应于第一ack分组而发送第一数据分组之后的预定间隔期间没有下行链路数据传输的下行链路空闲间隔。在接收到第一ack之后,由于未接收到第二ack而产生下行链路空闲间隔。也就是说,即使下行链路带宽足够,由于未接收到上行链路ack,新的下行链路数据也可能不被发送。

如上所述,当在终端110中缓存的ack分组的延迟由于上行链路信道104的带宽限制而增大时,tcp的ack定时可能被延迟所述缓冲延迟。因此,下行链路信道102具有延时时间,并且下行链路吞吐量可能随着下行链路等待时间的增加而减小。

作为通过终端110的缓冲区来减少ack分组延迟时间的方法,可以减少终端110的上行链路数据传输速度。当上行链路数据传输速度减小时,被缓存的上行链路数据分组的数量减小,因此缓冲区115中的ack分组的延时时间可以相对减小。为此,服务器130可以通过被发送到终端110的tcp的流控制参数来控制终端110的上行链路数据传输速度。控制参数包括用于确定终端110的上行链路数据传输速度的信息。例如,控制参数可以包括服务器130的接收缓冲区的尺寸。也就是说,终端110考虑到服务器130的接收缓冲区的尺寸来调度上行链路传输。因此,当服务器130通知终端110已经减小的接收缓冲区的尺寸时,终端110减小上行链路传输速率。

为了控制传输速率,根据本公开的实施例的通信系统可以包括图2中所图解的网络实体。

图2是图解根据本公开实施例的用于控制传输速率的设备的框图。为了便于说明,根据本公开各个实施例的用于控制传输速率的设备可以被称为“传输控制器”。

参考图2,传输控制器220可以包括变化类型检测单元222和控制参数确定单元224。传输控制器220通过变化类型检测单元222,检测基于从终端110到服务器130的上行链路方向延迟估计的缓冲延迟的变化类型、终端110和服务器130之间的往返时间(rtt)和数据分组接收速度。传输控制器220通过控制参数确定单元224,通过使用估计的缓冲延迟、可用的上行链路带宽和从变化类型确定单元222接收的缓冲延迟的变化类型来确定针对当前网络条件优化的tcp控制参数。例如,控制参数可以包括服务器130的接收缓冲区的尺寸。

图3是图解根据本公开实施例的包括图2的设备的用于控制传输速率的设备的框图。图3示出了包括传输控制器220的应用服务器或代理服务器的配置。

参考图3,设备可以包括通信单元310、存储单元320和控制器330。

通信单元310执行发送/接收信号的功能。也就是说,通信单元310发送/接收从控制器330和存储单元320提供的信号。因此,通信单元310可以被称为发射机、接收机、收发机或通信单元。

存储单元320存储用于在通信系统中控制传输速率的设备的操作的基本程序、应用程序和设置信息。特别地,存储单元320可以存储分组信息。此外,存储单元320根据控制器330的请求提供其中存储的数据。

控制器330控制用于在通信系统中控制传输速率的设备的一般操作。例如,控制器330控制用于在通信系统中控制传输速率的设备以执行图6至图9中图解的过程。控制器330可以通过传输控制器220执行传输速率控制以在通信系统中控制传输速率。以下描述根据本公开的实施例的传输控制器220的操作。

传输控制器220计算在一时间段(t)中接收到的分组的平均单向延迟。此外,传输控制器220计算每个时间段到达的数据分组的平均接收速度,并计算最小的往返时间值。传输控制器220更新单向延迟值的最小值。传输控制器220计算缓冲延迟和终端的缓冲区中对每个分组在传输之前的平均缓冲延迟。传输控制器220检测针对一个时间段测量的缓冲延迟的变化类型。传输控制器220将缓冲延迟与阈值进行比较。当缓冲延迟大于阈值时,传输控制器220识别缓冲延迟的变化类型。当变化类型被确定为第一类型时,传输控制器220更新控制参数值。传输控制器220更新控制参数值。当基于确定变化类型的结果变化类型与第三类型对应时,传输控制器220可以通过使用随机变量来控制参数值。当变化类型与第三类型对应时,传输控制器220可以确定预计上行链路方向拥塞,但是当前的缓冲延迟不会持续恶化。因此,需要减轻当前拥塞,但是为了减少终端缓冲区欠载的可能性,通过具有平均值p的概率分布将分组控制参数值减小为上行链路传输速率。当使用概率分布来控制参数值时,参数值根据预定概率而改变,并且与控制参数值固定的情况相比,可以更灵活地控制传输速率。根据本公开的实施例,可以使用p=0.5的均等分布。根据本公开的实施例,传输控制器可以使用另一值p,并且可以使用诸如指数分布或帕累托分布的另一概率分布。

当基于确定变化类型的结果变化类型不与第一类型或第三类型对应时,即当变化类型与第二类型对应时,传送控制器220保持当前控制参数值。

当缓冲延迟不大于阈值时,即当缓冲延迟等于或小于阈值时,传输控制器220识别变化类型,并且当缓冲延迟的变化类型与第一类型对应时,保持当前的控制参数值。当变化类型与第二类型对应时,传输控制器220将控制参数增大设定值。当变化类型与第三类型对应时,传输控制器220通过使用随机变量来增大控制参数。当变化类型与第三类型对应时,传输控制器220可以通过仅增大一些分组的控制参数值来防止由于可能产生的上行链路拥塞导致的实时状态改变。为此,使用具有平均值p的概率分布来增大一些分组的控制参数值。根据本公开的实施例,可以使用p=0.5的均等分布。根据本公开的实施例,传输控制器220可以使用另一值p,并且使用诸如指数分布或帕累托分布的另一概率分布。

根据各个实施例,传输控制器220可以属于包括在通信系统中的一个实体。例如,传输控制器220可以包括在以下图4a至图4c中所示的代理服务器或应用服务器中。

图4a至图4c示出了根据本公开的实施例的通信系统的配置。

参考图4a至4c,根据本公开的实施例的通信系统可以包括终端110、演进节点b(enb)410(即,基站)、演进分组核心(epc)420、服务器430、以及应用服务器440。enb410是终端110的接入节点。epd420是接入网络,并且可以包括服务网关、分组网关、和策略和计费规则功能(pcrf)中的至少一个。服务器430是用于提高诸如提供给用户的视频或网络内容之类的应用业务的传输性能的实体。应用服务器440是用于提供被提供给终端110的应用层的服务的实体。

根据本公开的实施例,服务器430可以被布置在无线网络上,用于通过由通信服务提供商或由通信服务提供商授权的内容提供商改进应用服务和网络资源的有效使用。服务器430可以被称为代理服务器。服务器430可以提供例如内容递送网络(cdn)的边缘服务器功能、高速缓存功能和tcp代理功能,或其它各种流量优化功能,并且可以单独的装备形式位于接入网络中或其功能可以被集成到现有的接入网设备中。服务器430可以以单独的装备形式位于接入网络中,或者其功能可以被集成到现有的无线网络设备中。

根据本公开的实施例,如图4a所示,服务器430可以包括传输控制器220以提高应用业务的传输性能。此外,服务器430可以位于基站的小区站点中。服务器430可以位于基站的小区站点中或其中聚集多个基站的集中式无线接入网络(ran)站点。特别地,根据本公开的实施例的位于基站附近的服务器430可以通过降低终端110的tcp的上行链路数据传输速度,来减少由于上行链路数据分组而导致的终端110的缓冲区中的ack分组的缓冲时间。

根据本公开的实施例,如图4b中所示,服务器430可以位于核心站点中。位于核心站点中的服务器430通过降低终端110的tcp的上行链路数据传输速度,可以减少由于上行链路时间分组导致的终端110的缓冲区中的ack分组的缓冲时间。

根据本公开的实施例,如图4c中所示,服务器430可以不存在,并且服务提供商的应用服务器440可以包括传输控制器220。包括在应用服务器440中的传输控制器220通过降低终端110的tcp的上行链路数据传输速度,可以减少由于上行链路时间分组导致的终端110的缓冲区中的ack分组的缓冲时间。

如上所述,根据本公开的各个实施例,传输控制器220可以被包括在位于小区站点或核心站点中的单独的服务器(例如,代理服务器)中,或者包括在提供服务的应用服务器中。下文中为了便于描述,作为示例,本公开内容描述了将传输控制器220配置为与单独实体对应的服务器430的情况。然而,本公开可以同样地应用于传输控制器220被包括在应用服务器中的情况。

根据本公开的各个实施例,传输控制器220可以使用单向分组延迟和往返时间来控制传输速率。单向分组延迟和往返时间可以如图5中所示地来确定。

如上所述,根据本公开的各个实施例,通信系统中的服务器可以包括变化类型确定单元,其被配置为确定来自终端的分组传输延迟,并且基于分组传输延迟确定缓冲延迟的变化类型。此外,服务器可以包括:控制参数确定单元,其被配置为根据所确定的缓冲延迟的变化类型来控制用于控制传输速率的控制信息值。

此外,变化类别确定单元可以基于服务器从终端接收到响应信号的时间与终端从服务器接收到分组的时间之间的差来确定分组传输延迟。

此外,变化类型确定单元可以将终端和服务器之间的分组往返时间确定为分组传输延迟,并且可以基于服务器向终端发送分组的时间与并且服务器从终端接收到该分组的响应信号的时间之间的差来确定分组往返时间。

此外,可以基于终端的缓冲延迟和终端的上行链路延迟传输时间之和来确定分组传输延迟,并且可以基于分组传输延迟和分组传输延迟的最小值之间的差值来确定终端的缓冲延迟。

此外,变化类型确定单元可以基于多个分组中的每一个的缓冲延迟与之前分组相比是否增大来确定变化类型,并且当具有与之前分组相比增大的缓冲延迟的分组的比率大于阈值时,变化类型确定单元可以确定变化类型与缓冲延迟的增大对应。

此外,变化类型确定单元可以基于多个分组与其之前分组之间的缓冲延迟的差值以及第一分组和最后分组之间的缓冲延迟的差值来确定变化类型,并且当通过将接收到的分组中的最后接收到的分组的缓冲延迟与最先接收到的分组的缓冲延迟之间的差值除以通过比较分组的缓冲延迟和其之前分组的缓冲延迟而产生的值之和而产生的值大于阈值时,变化类型确定单元可以确定该变化类型与缓冲延迟的增大相对应。

此外,控制器可以测量分组接收速度,并且可以基于将一个时间段接收到的分组和由比特值表示的最大分段尺寸的乘积除以该时间段来产生分组接收速度。

此外,当缓冲延迟大于阈值并且所确定的缓冲延迟的变化类型与从终端接收到的多个分组的缓冲延迟的增大的变化类型对应时,或者当缓冲延迟不与缓冲延迟的增大的变化类型或不增大的变化类型对应时,控制器可以基于分组接收速度和最小往返时间的乘积来确定控制信息。

此外,当缓冲延迟大于阈值并且所确定的缓冲延迟的变化类型与不增大的变化类型对应时,或者当缓冲延迟不大于阈值并且所确定的缓冲延迟的变化类型与增大的变化类型对应时,控制器可以维持当前的控制信息。

此外,当缓冲延迟不大于阈值并且所确定的缓冲延迟的变化类型不与增大的变化类型对应时,控制器可以将当前控制信息增大预定值。

此外,当所确定的缓冲延迟的变化类型与未被确定为增大的变化类型或不增大的变化类型的变化类型对应时,控制器可以基于随机变量来确定控制信息。

如上所述,根据本公开的各个实施例,通信系统中的电子设备可以包括被配置为从服务器接收控制信息的接收机。此外,电子设备可以包括发射机,其被配置为基于控制信息来发送上行链路分组,其中,当服务器基于电子设备的分组传输延迟来确定缓冲延迟的变化类型时,可以产生要使用的控制信息,并且其中控制信息可以根据变化类型来控制电子设备的传输速率。

此外,电子设备的分组传输延迟可以与电子设备的缓冲延迟与电子设备的上行链路延迟传输时间之和对应,并且电子设备的缓冲延迟可以基于电子设备的分组传输延迟和分组传输延迟的最小值之间的差值来确定。

此外,可以基于多个分组中的每一个的缓冲延迟与之前分组相比是否增大来确定变化类型,并且当与之前分组相比具有增大的缓冲延迟的分组的比率大于阈值时,可以确定变化类型与缓冲延迟的增大对应。

此外,可以基于多个分组与其之前分组之间的缓冲延迟的差值和第一分组与最后分组之间的缓冲延迟的差值来确定变化类型,并且当通过将在由服务器接收的分组中的最后接收分组的缓冲延迟与最先接收分组的缓冲延迟之间的缓冲延迟差值除以通过比较分组的缓冲延迟和其之前分组的缓冲延迟而产生的值之和而产生的值大于阈值时,可以确定变化类型与缓冲延迟的增大对应。

图5示出了根据本公开的实施例的单向分组延迟测量和往返时间测量。图5示出了其中当终端110将数据上传到服务器430时,服务器430测量终端110内的分组缓冲延迟的过程。

参考图5,服务器430响应于来自终端110的数据分组(未示出),通过下行链路发送ack分组。终端110响应于下行链路ack分组,将数据分组(由图5中的x表示)输入到缓冲区中。此后,当由x表示的数据分组全部被发送之前上行链路分组被输入到缓冲区中时,由x表示的数据分组被发送到服务器430。然后,服务器430接收由x表示的数据分组。

这里,当服务器430向终端110发送ack分组(即通过下行链路)时的时间点可以被定义为ack分组传送时间551,当终端110接收下行链路ack分组时的时间点可以被定义为ack分组接收时间552,当终端110将由x表示的数据分组输入到缓冲区时的时间点可以被定义为时间点553,当终端110发送数据分组时的时间点可以被定义为数据分组发送时间555,并且当服务器430接收数据分组时的时间点可以被定义为数据分组接收时间557。在这种情况下,将rtt560定义为从ack分组发送时间551到数据分组接收时间557的时间长度。此外,缓冲延迟bk580被定义为从由x表示的数据分组被输入到缓冲区的时间553到该数据分组被发送的时间555的时间长度。将由x表示的数据分组的数据分组发送时间555到由服务器接收到该数据分组的接收时间557的时间长度定义为用于传输上行链路分组所耗费的上行链路传输延迟时间dul590。通过将缓冲延迟bk580和上行链路传输延迟时间dul相加而产生的值被定义为单向分组延迟时间zk570。分组延迟时间zk570是通过从分组接收时间557减去分组被输入到缓冲区中的时间553而产生的值。

图6是示出根据本公开的实施例的用于控制传输速率的过程的流程图。图6示出了服务器430的操作方法。

参考图6,在操作610中,服务器430检测来自终端的单向分组延迟时间。此时,单向分组延迟时间等于终端的缓冲延迟和终端的上行链路传输时间之和。当使用tcp的时间戳选项时,服务器430通过使用服务器从终端接收到数据分组的时间与终端将该数据分组输入到缓冲区中的时间之间的差来检测单向分组延迟。当不使用tcp时间戳选项时,终端和服务器之间的分组rtt被设置为单向分组延迟,此时,rtt使用服务器向终端发送分组的时间和服务器从终端接收到分组的响应信号的时间之间的差。

在操作620中,服务器430确定缓冲延迟的变化类型。服务器430可以通过使用单向分组延迟来确定缓冲延迟。服务器430可以通过使用单向分组延迟与单向分组延迟的最小值之间的差来确定缓冲延迟。当缓冲延迟具有增大的变化类型时,服务器430可以将缓冲延迟的变化类型确定为第一类型,当缓冲延迟具有不增大的变化类型时,将缓冲延迟的变化类型确定为第二类型,并且当缓冲延迟的增大的变化类型或不增大的变化类型不清楚时,将缓冲延迟的变化类型确定为第三类型。

在操作630中,服务器430根据缓冲延迟的变化类型来控制用于控制传输速率的参数值。

当缓冲延迟大于预设阈值时,根据本公开的实施例的服务器如下所述控制用于控制传输速率的参数值。当确定的缓冲延迟的变化类型对应于第一类型时,服务器430通过使用由服务器测量的分组接收速度和rtt的最小值的乘积来确定控制参数。当确定的缓冲延迟的变化类型对应于第二类型时,保持当前控制参数。当确定的缓冲延迟的变化类型对应于第三类型时,使用上行链路分组接收速度和最小rtt的乘积来确定控制参数。

根据实施例,当缓冲延迟大于阈值并且所确定的缓冲延迟的变化类型对应于第三类型时,服务器430可以通过使用随机变量来确定参数值。

当缓冲延迟不大于阈值时,如下所述,服务器430控制用于控制传输速率的参数值。当确定的缓冲延迟的变化类型对应于第一类型时,服务器430保持当前控制参数。当确定的缓冲延迟的变化类型对应于第二类型时,服务器430将当前控制参数增大预定值。当确定的缓冲延迟的变化类型对应于第三类型时,服务器430将当前控制参数增大预定值。

根据实施例,当缓冲延迟不大于阈值并且确定的缓冲延迟的变化类型对应于第三类型时,服务器430可以通过使用随机变量来确定参数值。

图7是图解根据本公开实施例的用于确定传输控制参数的设备的框图。图7是服务器430的框图。

参考图7,设备可以包括分组接收机710、延迟和接收速度测量单元720、缓冲延迟估计单元730、变化类型确定单元740、带宽估计单元750、控制参数确定单元760和分组发射机770。

分组接收机710可以接收从终端110发送的上行链路数据分组和ack分组。也就是说,分组接收机710提供当设备与外部设备通信时使用的接口。

延迟和接收速度测量单元720可以通过使用从终端110接收的分组,测量从终端110到服务器430的单向分组延迟、终端110和服务器430之间的往返时间、以及由终端110发送的上行链路数据分组的接收速度。

缓冲延迟估计单元730可以通过使用测量的单向分组延迟和往返时间来间接估计终端中分组的缓冲时间。变化类型确定单元740检测所测量的缓冲延迟的变化类型。带宽估计单元750基于测量的分组接收速度来估计可用的上行链路带宽。

控制参数确定单元760可以通过使用估计的缓冲延迟、可用的上行链路带宽和缓冲延迟的变化类型来确定针对当前网络条件优化的tcp控制参数,然后通过分组发射机770向终端发送信息。

延迟和接收速度测量单元720的操作可以取决于是否使用tcp的时间戳选项而变化。当使用时间戳选项时,终端410和服务器430的传送层在分组报头的相关字段中记录指示发送时间的当前时间。此外,传送层复制在接收到的分组的报头中记录的接收分组的发送时间,并将发送时间记录在当前被发送的分组的相关字段中。更具体地,在将分组发送到缓冲区用于传输之前,终端410和服务器430的传送层在分组报头的相关第一字段(例如,tsval)中记录当前时间,并将记录在接收分组的第一字段中的值记录在分组报头的第二字段(tsecr)中。例如,终端110将分组x的第一字段中的当前时间(ts=xi)记录为分组的发送时间,并将该时间输入到缓冲区中以用于传输。在被缓冲的时间bk之后,被缓冲的分组x通过接入网络被传送到服务器430。当服务器430接收到分组x时,服务器430的传送层记录分组x的当前接收时间(tr=yj+1)。在这种情况下,可以如以下的等式1来确定分组x的上行链路单向分组延迟时间zk。也就是说,可以通过从分组x的当前接收时间(tr)减去分组x的发送时间(ts)来确定上行链路单向分组延迟时间zk。也就是说,可以如以下的等式1来确定分组延迟时间zk。

zk=yj+1-xi=bk+dul(等式1)

在以上的等式1中,zk表示分组延迟时间,yj+1表示服务器430从终端110接收数据分组的时间,xi表示在终端110从服务器430接收到ack分组的时间,bk表示终端的缓冲时间,dul表示上行链路传输时间。

此外,可以通过记录分组的接收时间(无论何时接收分组)并确定当前分组的接收和之前分组的接收时间之间的差,由服务器430确定分组的往返时间。分组的往返时间可以如以下的等式2确定。

rttk=yj+1-yj(等式2)

在等式2中,rttk表示分组的往返时间,yj+1表示分组的当前接收时间,yj表示服务器430向终端110发送分组的时间。

此外,延迟和接收速度测量单元720可以通过使用在预定时间段接收到分组的数量来测量接收速度。例如,接收速度rk可以由以下的等式3确定。这里,假设分组大小相同。

在等式3中,rk表示接收速度,mss表示由字节表示的最大分段尺寸,t表示接收速度测量时间段(时间),而m表示一个时间段接收到的分组数。

当使用tcp时间戳时,可以执行由延迟和接收速度测量单元720用于确定分组延迟时间的操作。当不使用时间戳时,以下描述延迟和接收速度测量单元720的操作。包括linux的多个当前操作系统(os)使用tcp时间戳选项来容易地测量包括往返时间的时间,但并非所有的os版本都使用时间戳选项。因此,当时间戳选项被关闭时,根据本公开的实施例的服务器430可以使用往返时间作为单向分组延迟时间,而不单独测量单向分组延迟时间。

在从终端110发送分组之前,缓冲延迟测量单元730测量缓冲时间。如图5所示,分组延迟时间zk570等于将分组输入到发送缓冲区之前被记录的发送时间553与由服务器430接收到分组的时间557之差。当分组不在终端110中缓冲时,换句话说,当缓冲延迟bk580为0时,单向分组延迟时间zk570等于传输延迟时间dul590。因此,根据本公开的实施例的服务器430在缓冲延迟为0的情况下,可以假设多个被测量的分组延迟时间的最小值是传输延迟时间min(zk),并且基于该最小值确定缓冲延迟。例如,终端110的缓冲延迟可以如以下的等式4确定。

bk=zk-min(zk)(等式4)

在等式4中,bk表示缓冲时间,zk表示单向分组延迟时间,min(zk)表示zk的最小值。

变化类型确定单元740检测针对可以被改变的每个预定测量时间段估计的缓冲延迟的变化类型。变化类型可以被确定为指示缓冲延迟增大的“第一类型”、指示缓冲延迟不增大的“第二类型”、和指示不清楚缓冲延迟是增大还是不增大的“第三类型”中的一个。第一类型可以被称为“增大”,第二类型可以被称为“不增大”,并且第三类型可以被称为“不确定”。

根据本公开的实施例,可以基于多个分组的分组延迟时间来确定变化类型。更具体地,可以通过量化指示在一个测量时间段内增大变化类型的样本的比例(例如,缓冲延迟)或量化在一个测量时间段中包括的第一样本和最后一个样本之间的差异来估计变化类型。关于指示在一个测量时间段内增大变化类型的样本的量化比率的信息可以被称为“比较度量(cm)”,并且关于在一个测量时间段中包括的第一样本和最后一个样本之间的量化差异的信息被称为“差分度量(dm)”。

例如,cm可以如等式5被确定。

在等式5中,cm表示比较度量,n表示一个时间段内的样本数,i(y)表示指标函数。当括号中的表达式y有效时,指标函数的值为1,否则为0。cm的值在0和1之间,即0≤cm≤1。当样本彼此独立时,cm的期望e[cm]为0.5,随着增大的变化类型更大,cm的值变得更接近于1。

dm可以如以下等式6被确定。

在等式6中,dm表示差分度量,n表示一个时间段内的样本数,xn表示第n个样本的值。

dm的值在-1和1之间,即-1≤dm≤1。当样本彼此独立时,dm的期望e[dm]为0,并且随着增大的变化类型更大,dm的值越接近于1。

为了确定变化类型,可以使用cm或dm之一。

例如,当使用cm时,如果cm>cm1,则将变化类型确定为第一类型,如果cm<cm2,则确定为第二类型,否则,即如果cm2≤cm≤cm1,则为第三类型。这里,cm1和cm2是用于确定变化类型的阈值,并且可以取决于详细的实施例而变化。例如,cm1可以被设定为0.66,cm2可以被设定为0.54。

在另一示例中,当使用dm时,如果dm>dm1,则将变化类型确定为第一类型,如果dm<dm2,则为第二类型,否则,即如果dm2≤dm≤dm1,则为第三类型。这里,dm1和dm2是用于确定变化类型的阈值,并且可以取决于详细的实施例而变化。

在另一示例中,cm和dm可以一起使用。更具体地,当cm和dm中的一个具有与第一类型对应的变化类型、且另一个具有与第一类型或第三类型对应的变化类型时,变化类型被确定为第一类型。当cm和dm中的一个具有与第二类型对应的变化类型、且另一个具有与第二类型或第三类型对应的变化类型时,变化类型被确定为第二类型。当cm和dm都对应于第三类型时,或者当cm和dm中的一个对应于第一类型、且另一个对应于第二类型时,变化类型被确定为第三类型。

由于作为计算设备的传输优化节点的os的环境切换导致的测量误差和网络接口硬件的中断延迟可以被屏蔽,并且在被测量用于更稳定的变化类型分析的时间序列数据中包括的噪声分量可以被去除。例如,应用作为去噪方案之一的小波分解以去除包括在缓冲延迟中的噪声,然后可以应用比较测试和差分文本。

图8是示出根据本公开的实施例的控制传输速率控制参数的过程的流程图。图8示出了服务器430的操作方法。可以在预定时段执行图8中图解的过程。换句话说,图8中图解的过程可以在多个分组的接收时段中执行。

参考图8,在操作801中,服务器430计算由服务器430接收的分组的平均单向延迟。为此,服务器430可以确定分组的实时单向延迟,然后计算单向延迟的平均值。此外,服务器430计算到达服务器430的数据分组的平均接收速度,并计算最小往返时间值。

在操作803中,服务器430更新单向延迟值的最小值。也就是说,服务器430识别针对当前时间段测量的单向延迟的最小值,并将在之前时间段中使用的最小值更新为当前时间段的最小值。

在操作805中,服务器430计算在终端110的缓冲区中延迟的每个分组的缓冲延迟和平均缓冲延迟。例如,服务器430可以通过从分组的单向延迟中减去该最小值来确定分组的缓冲延迟,然后计算缓冲延迟的平均值。

在操作807中,服务器430检测针对当前时间段测量的缓冲延迟的变化类型。服务器430可以基于缓冲延迟来确定变化类型。例如,服务器430可以通过量化当前时间段内增加的缓冲延迟的比率或量化在当前时间段内测量的第一分组的缓冲延迟与最后分组的缓冲延迟之间的差来确定变化类型。更具体地,服务器430可以通过确定如等式5或6中所示的度量中的至少一个并将该度量中的至少一个与阈值进行比较来确定变化类型。

在操作809中,服务器430比较平均缓冲延迟和阈值。当缓冲延迟大于阈值时,服务器430在操作811中识别缓冲延迟的变化类型。当变化类型与第一类型或第三类型对应时,服务器430在操作815中更新控制参数值。控制参数可以包括服务器430的接收缓冲区的尺寸。接收缓冲区的尺寸可以被称为接收窗口的尺寸。例如,服务器430可以减小控制参数值。更具体地,服务器430可以如以下等式7来更新控制参数值。

rwnd=r_bar×rtt_min(等式7)

在上述等式7中,rwnd表示控制参数值,r_bar表示到达服务器430的数据分组的平均接收速度,rtt_min表示最小往返时间。

在操作811中,当变化类型不与第一类型或第三类型对应时,即变化类型对应于第二类型时,在操作817中,服务器430保持当前控制参数值。

在操作809中,当平均缓冲延迟不大于阈值时,即平均缓冲延迟等于或小于阈值时,在操作813中,服务器430识别缓冲延迟的变化类型。当变化类型对应于第一类型时,在操作817中,服务器430维持当前控制参数值。相反,当变化类型不对应于第一类型时,在操作819中,服务器430可以增大控制参数值。此时,服务器430可以通过一个操作来增大控制参数值。

图8所示的处理由以下表1表示。

表1

图9是图解根据本公开的实施例的使用随机变量控制传输速率控制参数的处理的流程图。图9图解了服务器430的操作方法。可以在预定时间段执行图9中图解的过程。换句话说,图9图解的过程可以在多个分组的接收时间段上进行。

参考图9,在操作901中,服务器430计算由服务器430接收的分组的平均单向延迟。为此,服务器430可以确定分组的实时单向延迟,然后计算单向延迟的平均值。此外,服务器430计算到达服务器430的数据分组的平均接收速度,并计算最小往返时间值。

在操作903中,服务器430更新单向延迟值的最小值。也就是说,服务器430识别针对当前时间段测量的单向延迟的最小值,并将在之前时间段中使用的最小值更新为当前时间段的最小值。

在操作905中,服务器430计算在终端110的缓冲区中延迟的每个分组的缓冲延迟和平均缓冲延迟。例如,服务器430可以通过从分组的单向延迟中减去最小值来确定分组的缓冲延迟,然后计算缓冲延迟的平均值。

在操作907中,服务器430检测针对当前时间段测量的缓冲延迟的变化类型。服务器430可以基于缓冲延迟确定变化类型。例如,服务器430可以通过量化当前时间段内增加的缓冲延迟的比率或量化在当前时间段内测量的第一分组的缓冲延迟与最后分组的缓冲延迟之间的差来确定变化类型。更具体地,服务器430可以通过确定如等式5或6中所示的度量中的至少一个,并将度量中的至少一个与阈值进行比较来确定变化类型。

在操作909中,服务器430比较缓冲延迟和阈值。当在操作909中缓冲延迟大于阈值时,在操作911中,服务器430识别缓冲延迟的变化类型。当在操作909中缓冲延迟不大于阈值时,在操作913中,服务器430识别缓冲延迟的变化类型。

当基于操作911的确定结果,变化类型对应于第一类型时,在操作915中,服务器430更新控制参数值。控制参数可以包括服务器430的接收缓冲区的尺寸。接收缓冲区的尺寸可以被称为接收窗口的尺寸。例如,服务器430可以减小控制参数值。更具体地,服务器430可以如下等式7来更新控制参数值。

当基于操作911的确定结果,变化类型对应于第三类型时,在操作917中,服务器430可以通过使用随机变量来控制参数值。也就是说,服务器430可以通过使用具有平均值p的随机变量来控制分组的控制参数值。根据本公开的实施例,服务器430可以使用p=0.5的均等分布。根据本公开的实施例,服务器430可以使用另一值p,并且使用诸如指数分布或帕累托分布的另一概率分布。例如,服务器430通过使用根据定义的概率分布产生随机数的函数来确定是否减少控制参数值。更具体地,在产生随机数之后,服务器430可以根据随机数和概率阈值的比较结果来确定是否减小控制参数值。此时,关于是否减小控制参数值的确定结果可以取决于概率分布和概率阈值的详细值而变化。当确定减小参数值时,服务器430可以如以下等式7更新控制参数值。

当基于操作913的确定结果,变化类型不与第一类型或第三类型对应时,也就是说,当变化类型对应于第二类型时,在操作919中,服务器430维持当前控制参数值。当基于操作913的确定结果,变化类型对应于第一类型时,在操作919中,服务器430维持当前控制参数值。

当基于操作913的确定结果,变化类型对应于第二类型时,在操作921中,服务器430将控制参数增大设定值。此时,服务器430可以通过一个操作来增大控制参数值。

当基于操作913的确定结果,变化类型对应于第三类型时,在操作923中,服务器430可以通过使用随机变量来增大控制参数。为此,使用平均值p(例如0.5)的概率分布,一些分组的控制参数值被增大。根据实施例,可以使用另一值p,并且可以使用诸如指数分布或帕累托分布的另一概率分布。例如,服务器430通过使用根据定义的概率分布产生随机数的函数来确定是否增大控制参数值。更具体地,在产生随机数之后,服务器430可以根据随机数和概率阈值的比较结果来确定是否增大控制参数值。此时,关于是否增大控制参数值的确定结果可以取决于概率分布和概率阈值的详细值而变化。当确定增大控制参数值时,服务器430可以通过一个操作来增大控制参数值。

图9中所示的过程由以下的表2表示。

表2

尽管在附图中未示出,但是从服务器接收控制信息的电子设备可以从服务器接收控制信息,基于该控制信息发送上行链路分组,当服务器基于电子设备的分组传输延迟来确定缓冲延迟的变化类型并且基于该变化类型控制电子设备的传送速率时,可以产生将被使用的控制信息。

分组传输延迟可以是终端的缓冲延迟和终端的上行链路延迟传输时间之和,并且可以使用分组传输延迟与分组传输延迟的最小值之间的差来确定缓冲延迟。

可以基于多个分组中的每个分组的缓冲延迟与之前分组相比是否增大来确定变化类型,当与之前分组相比具有增大的缓冲延迟的分组的比率大于或等于阈值时,可以确定变化类型与缓冲延迟的增大对应。

可以基于多个分组与其之前分组之间的缓冲延迟差值和第一分组与最后分组之间的缓冲延迟差值来确定变化类型,并且当通过将接收到的分组中的最后接收到的分组和最先接收到的分组的缓冲延迟之间的差值除以通过比较分组的缓冲延迟和其之前分组的缓冲延迟产生的值之和而产生的值大于阈值时,可以确定变化类型与缓冲延迟的增大对应。

尽管在附图中未示出,但是从服务器接收控制信息的电子设备可以包括:接收机,被配置为从服务器接收控制信息;以及发射机,被配置为基于控制信息发送上行链路分组,其中当服务器基于电子设备的分组传输延迟确定缓冲延迟的变化类型并且根据该变化类型控制电子设备的传输速率时,可以产生将被使用的控制信息。

分组传输延迟可以是终端的缓冲延迟和终端的上行链路延迟传输时间之和,并且可以使用分组传输延迟与分组传输延迟的最小值之间的差来确定缓冲延迟。

可以基于多个分组中的每个分组的缓冲延迟与之前分组相比是否增大来确定变化类型,并且当与之前分组相比具有增大的缓冲延迟的分组的比率大于阈值时,可以确定该变化类型与缓冲延迟的增大对应。

可以基于多个分组和其之前分组之间的缓冲延迟差值与第一分组和最后分组之间的缓冲延迟差值来确定变化类型,并且当通过将接收到的分组中的最后接收到的分组和最先接收到的分组的缓冲延迟之间的差值除以通过比较分组的缓冲延迟和其之前分组的缓冲延迟产生的值之和而产生的值大于阈值时,可以确定变化类型与缓冲延迟的增大对应。

根据各个实施例的权利要求和/或说明书中所提到的方法可以由硬件、软件或硬件和软件的组合来实现。

在软件的实施方式中,可以提供用于存储一个或多个程序(软件模块)的非暂态计算机可读存储介质。存储在计算机可读存储介质中的一个或多个程序可以被配置用于由电子设备内的一个或多个处理器执行。该至少一个程序可以包括指令,该指令使得电子设备执行如由所附权利要求限定的和/或本文所公开的本公开的各个实施例的方法。

程序(软件模块或软件)可以被存储在非易失性存储器中,包括随机存取存储器和闪速存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、磁盘存储设备、压缩盘-rom(cd-rom)、数字通用盘(dvd)或其它类型的光学存储设备、或磁带盒。或者,一些或全部的任何组合可以形成其中存储程序的存储器。此外,电子设备中可以包括多个这样的存储器。

此外,程序可以被存储在可以通过诸如互联网、内联网、局域网(lan)、宽泛lan(wlan)和存储区域网络(san))或其组合的通信网络来访问电子设备的可附接存储设备中。这种存储设备可以经由外部端口访问电子设备。此外,通信网络上单独的存储设备可以访问便携式电子设备。

在本公开的上述详细实施例中,根据所呈现的详细实施例,包括在本公开中的组件以单数或复数表述。然而,为了方便描述,单数或复数表述被选择以适合于所提出的情形,并且本公开不限于单数或复数个元素。以复数形式表述的元素可以以单数形式配置,或者以单数形式表述的元素可以以复数形式配置。

虽然已经参考其各种实施例示出和描述了本公开,但是本领域技术人员将会理解,在不脱离由所附权利要求及其等同定义的本公开的主旨和范围的情况下,可以在形式和细节上进行各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1