速率控制的制作方法_3

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

[004引例如,如果所观察到的接收速率(avg_receving_rate)大于当前的max_ bandwidth,则max_bandwidth将使用加权平均等式来更新。
[0046] 如果所观察到的接收速率(avg_receving_rate)小于当前的max_bandwidth,并且 端对端队列延迟小于某个阔值(例如60ms)并且分组丢失也小于某个阔值(即存在可忽略量 的分组丢失),则max_bandwi化h将不更新。
[0047] 然而,如果所观察到的接收速率(avg_receving_rate)小于当前的max_ bandwidth,并且端对端队列延迟高于某个阔值(例如100ms)和/或分组丢失在指示观察到 严重分组丢失的某个阔值(例如多于5-10%) W上,则max_bandwi化h将根据加权平均等式来 更新,即使是所观察到的接收速率(avg_receving_rate)小于当前的max_bandwi化h。
[0048] 如上文指示的,在加权平均等式中使用的权重可W是端对端队列延迟的函数,例 如当所观察到的接收速率(avg_receving_rate)小于当前的max_bandwi化h,并且端对端队 列延迟高于某个阔值时,置于当前的avg_receiving_rate上的权重将对应于增加某个阔值 W上的端对端队列延迟而增加。类似地,在加权平均等式中使用的权重可W是所观察到的 分组丢失的函数,例如当所观察到的接收速率(日¥旨_'日。日¥;[叫_^1日)小于当前的1]1曰又_ bandwidth,并且所观察到的分组丢失高于某个阔值时,置于当前的avg_receiving_rate上 的权重将对应于增加某个阔值W上的分组丢失而增加。
[0049] 如果所观察到的接收速率(avg_receving_rate)小于TCP套接口读取速度(tcp_ rate_limit)并且队列延迟和丢失速率二者在相应的阔值W上,则max_bandwi化h也将使用 W上的加权平均等式来更新。
[0050] 而且,如果网络106的带宽明显利用不足,例如网络106可能处于闲置状态或者发 送器可能不具有足够的数据来发送,则在更新max_bandwidth时需要谨慎注意。所观察到的 接收速率(avg_receving_rate)与max_bandwi化h相比的比率在检测运样的情况中发挥作 用。如果该比率在某个阔值W下,则网络106的带宽明显利用不足的几率将更高。在运样的 场景中,防止max_bandwidth的更新或者使avg_receiving_rate上的权重为非常低的预确 定值。
[0051] 根据不同的队列延迟、丢失速率条件,基于所观察到的接收速率(avg_receiving_ rate)的加权平均、max_bandwidth的某个百分比(例如大约80%)和当前的tcp_rate_limit 来计算TCP套接口读取速度(tcp_rate_l imi t)。TCP套接口读取速度(tcp_rate_l imi t)可W 基于W下等式计算: tcp_rate_limit = [wei邑ht_l * { wei邑ht_2 * 百分* max_bandwidth +(1-weight_2 ) * avg_receiving_rate)}] + [(1 - weight_l ) * tcp_rate_limit] 通过设定max_bandwidth的该百分比,用于TCP交叉业务量的网络106的可用带宽的利 用不足的量得W控制。该百分比可W是队列延迟的函数。例如,当所测量的队列延迟减小 时,百分比可W增加 W使得能够更为充分地利用带宽。
[0052] 如果队列延迟相当低,具有零或可忽略的丢失速率,运意味着网络106的带宽非常 利用不足,则速率控制算法将还尝试有意地使所计算的tcp_rate_limit增加某个百分比。 百分比可W在开始阶段处较高W允许较快的速率适配速度。增加的百分比还可W根据队列 延迟和丢失水平而自适应。
[0053] TCP套接口读取速度(tcp_rate_limit)通过在每一次应用层过程402尝试从TCP接 收套接口读取W从TCP接收缓冲器检索TCP内容数据时控制参数read_interval_limit和 read_block_limit 来控制。
[0054] 参数read_interval_limit是从TCP接收套接口读取(即从TCP接收套接口的TCP接 收缓冲器读取)的应用层过程402的分离实例之间所准许的最大时间间隔。参数read, block_limit是响应于读取TCP接收套接口的呼叫而准许应用层过程402从TCP接收套接口 (即TCP接收套接口的TCP接收缓冲器)读取的最大数据量(W字节计)。运些参数之间的关系 如下:
TCP套接口读取间隔read_interval_l imi t是读取粒度和代码执行频率之间的权衡。如 果'6日(1_;[]11日1^日1_1;[111;[1:低于201113,则'日日(1_1310。1<_1;[111;[1:将增加某些字节。如果'日日(1_ inte;rval_limit 大于 100ms,则 read_block_limit 将相应地减小。
[00巧]如上文描述的,除确定适当的TCP套接口读取速度(tcp_rate_limit)之外,还执行 速率控制算法W确定适当的TCP接收缓冲器大小(TCPRCVBUFSIZE)dTCP接收缓冲器的大小 可W使用TCP设定函数"setsockopt"来控制。
[0056] TCP接收缓冲器大小确定最大可能的TCP窗口大小。TCP窗口大小将影响数据发送 突发性,因为其是发送器可W发送出而没有从接收器接收到确认的数据量。高TCP接收缓冲 器大小将创建高延迟尖峰,其对于实时呼叫质量是有害的。另一方面,过低的缓冲器大小设 定可能使可能的TCP发送速率受限,因为TCP发送速率大致等于TCP窗口大小除W平均往返 时间(RTT)。因而,本领域技术人员将清楚的是,要求TCP接收缓冲器大小的适当选择。速率 控制算法通过最初将TCP接收缓冲器大小设定为相对低(例如4096字节)并且然后基于所确 定的TCP套接口读取速度tcp_rate_limit而逐步增加 TCP接收缓冲器大小来实现运一点。 TCP接收缓冲器大小随tcp_rate_limit线性地缩放。也就是说,当tcp_rate_limit增加时, TCP接收缓冲器大小将相应地增加,并且当tcp_rate_limit减小时,TCP接收缓冲器大小将 相应地减小。缓冲器大小的改变的粒度可W设定成例如1024字节。
[0057] 如果所观察到的接收速率(曰¥旨_'6。6;[¥;[]1旨_阿16)持续低于1:。9_阿16_1;[111;[1:而同 时队列延迟保持相当低,则速率控制算法确定TCP接收缓冲器大小可能设定不足(underset) 并且在该情况下 W 预确定的量逐步增加 TCP 接收缓冲器大小。
[0058] 尽管已经在上文参照其中在用户设备104与用户设备110之间的通信事件期间向 用户设备104下载内容的场景而描述了速率控制算法,但是将领会到,速率控制算法还能够 控制在用户设备104与用户设备110之间的通信事件期间从用户设备104向用户设备110上 载TCP交叉业务量的速率。针对上行链路方向而不是下行链路方向动态地测量网络条件(端 对端队列延迟和分组丢失)。速率控制算法基于通信事件(即语音/视频呼叫)的测量而接收 动态监视的网络条件W便确定适当的TCP套接口发送缓冲器大小W及内容数据W其(从操 作于上部应用层307上的应用过程402)供应到TCP发送缓冲器的速率。
[0059] 如果用户设备104侧处的通信客户端206将运些测量反馈到如图4中所示的代理 404,则将提供端对端队列延迟和分组丢失的更精确的估计。在端对端队列延迟和分组丢失 向代理404的运种反馈不可用的情况下,上行链路方向上的队列延迟可W通过代理404近似 地估计。代理404打开TCP套接口并且将从应用层过程402所接收的数据写入到TCP发送缓冲 器。由于上行链路通常是瓶颈,所W如果上行链路拥塞,则数据队列将在TCP接收缓冲器处 累积。代理404然后可W基于队列化在TCP发送缓冲器中的数据的观察来估计端对端队列延 迟。分组丢失速率可W不在发送缓冲器处估计。上行链路速率控制的可接受性能可能通过 使用运种方法实现,甚至是在没有分组丢失速率信息可用于代理404的情况下,然而相比于 通信客户端206测量并且向代理404报告端对端队列延迟和分组丢失时的场景而言,上行链 路速率控制的性能可能稍微受损。
[0060] 在W上描述的示例中,更为方便的是在接收客户端侧处(即在用户设备104处)施 行速率控制,因为网络节点112属于第Ξ方提供商并且在射程外。然而,本发明的实施例不 限于仅在接收侧处的实现并且也可W应用于网络节点处(如果网络节点由提供通信客户端 206的相同软件提供商控制的话)。也就是说,网络节点112可W通过确定适当的TCP套接口 发送缓冲器大小(在网络节点112处)和W其向TCP发送缓冲器供应内容数据的速率(在网络 节点112处)来施行速率控制W限制到用户设备104的TCP数据的上载速率。在该实现中,通 信客户端可W通过网络106向网络节点112提供动态测量的网络条件(端对端队列延迟和分 组丢失)。
[0061] 在端对端队列延迟和分组丢失向网络节点112的运种反馈不可用的情况下,端对 端队列延迟可W在网络节点112处的TCP发送缓冲器处近似地估计,然而分组丢失速率不能 在网络节点112处估计。通过确定适当的TCP套接口发送缓冲器大小和W其向TCP发送缓冲 器供应内容数据的速率来限制向用户设备104的TCP数据的上载速率的速率控制可能仍在 该情况中使用仅估计的端对端队列延迟来施行。可能实现速率控制的可接受性能,甚至是 在没有分组丢失速率信息可用于网络节点的情况下(即使用仅估计的端对端队列延迟),然 而速率控制的性能可能稍微受损。
[0062] 虽然图4示出代理404中的速率
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1