来源
:MHV'22

主讲人
:Rui Costa

内容整理
:冯冬辉

对于移动应用,90% 的延迟和损失都发生在无线链路中,而尾部的用户连接体验非常糟糕。Codavel 提出了创新的网络编码通信协议(类似擦除码),提供了对延迟、丢包和连接不稳定的适应性,明显提升了尾部用户连接的视频质量。
目录
  • 引言
  • 网络编码

引言

即便工业界付出了很多努力,移动设备的用户体验也远不够丝滑。视频缓冲、不稳定的体验和高延迟经常发生。虽然工业界做出了压缩内容、优化传输协议或应用层协议等努力,但是 90% 的延迟和损失都发生在无线链路中,横亘在手机和天线之间。
当我们审视用户体验时,视频启动时间、缓冲时间的平均值虽然合理,但是尾部的体验却非常糟糕。超过 8s 的启动时间,5min 内超过 34s 的重新缓冲,这些情况并不少见。Snapchat 的一项研究称,超过 50% 的用户一周至少有一次 99% 差的体验,这将造成用户深刻的不良印象。
糟糕的尾部连接体验
无线通信的丢包率远高于有线连接,而 0.50% 的丢包率能将 TCP 连接拖慢 5 倍。
无线连接危及用户参与
不仅如此,无线连接也非常不稳定。在一周里,相同位置每天的体验也完全不同。
无线连接高度不稳定
HTTP/TCP 在无线情况下也较为糟糕。在延迟出现时,ARQ 丢包重传机制非常低效,在推进传输窗口前需要等待 ACK 确认。
Codavel 是一套针对移动应用的端到端内容分发解决方案。提出了创新的网络编码通信协议(类似擦除码),提供了对延迟、丢包和连接不稳定的适应性,以及易于部署、自动回退原有连接的特性。
应用之后,可以减少 55% 的重新缓存时间,减少 32% 的视频启动时间,增加 27% 的视频质量。对于尾部用户,可以对最坏的 10% 提升 94% 的更快体验。
Codavel 提供的改进

网络编码

这里提出的网络编码方案是擦除码应用于无线通信的一种形式。在发送端对原始数据进行线性组合,在接收端解线性方程已获得原始信息。
网络编码
举例来说,发送了 5 个包只接收到 4 个,也能恢复所有信息。无需知道哪个包丢失,也无需等待反馈。通过引入编码和解码矩阵,拥塞控制算法可以区分由拥塞导致的丢包和由无线现象引起的丢包(这时无需降低速度,因为已经使用了网络编码)。
为什么网络编码有用
网络编码用于丢包恢复
该印度流媒体的实际测试中,对于尾部场景来说,重缓冲时间得到明显的降低。对于 10% 最差的连接,由 92% 的视频质量提升;对于 1% 最差的连接,有 384% 的视频质量提升。中位数的视频质量提升 27%,最高视频质量的时间提高 17%。
更少的缓冲
更快的视频启动
更高的视频质量
如下是附录中的结果。
Bolina 相比 QUIC,更小的请求尺寸
Bolina 相比 QUIC,更大的请求尺寸
附上演讲视频:
继续阅读
阅读原文