Google Congestion Control

Architecture

Google Congestion Control_第1张图片

Algorithm

1. 接收端控制

接收端估算one-way delay variation和packet loss ratio,并周期性反馈给发送端,反馈粒度推荐值见上一篇 Real-Time Congestion Control Feedback Interval

  • one-way delay variation 测量值
    相邻两个包的one way delay的差值

2. 发送端控制

  • 基于丢包
Google Congestion Control_第2张图片
  • 基于延迟
    one-way delay variation 模型
Google Congestion Control_第3张图片

其中第一项指the transmission time variation:描述了相邻两个数据包的大小差异与估计带宽的比值; 第二项one-way queuing time variation,由反馈的one-way delay variation经过卡尔曼滤波所得,第三项network jitter,采用高斯分布进行模拟。

利用估计的one way dely与预定义阈值进行比较,得到当前网络使用状态的signal,即overuse, underuse, normal,最后,经过如下的有限状态机模型,得到bitrate:

Google Congestion Control_第4张图片

其中



R(tk)是500ms窗口的接受速率

  • 目标码率
    取基于丢包和基于延迟的估算值的较小值作为目标值。

你可能感兴趣的:(Google Congestion Control)