Skip to content

Add BBR-Copilot to improve BBR bandwidth estimation under application-limited traffic#662

Open
litonglab wants to merge 6 commits into
litespeedtech:masterfrom
litonglab:BBR-Copilot
Open

Add BBR-Copilot to improve BBR bandwidth estimation under application-limited traffic#662
litonglab wants to merge 6 commits into
litespeedtech:masterfrom
litonglab:BBR-Copilot

Conversation

@litonglab

Copy link
Copy Markdown

Summary

This PR introduces BBR-Copilot, a lightweight auxiliary mechanism that helps improve BBR's bandwidth estimation under application-limited traffic, especially in live-streaming scenarios.

BBR estimates bottleneck bandwidth using delivery-rate samples. Under application-limited traffic, the sender frequently has no data to transmit because the application generates data periodically. This results in inaccurate bandwidth samples, which may prevent BBR from exiting the Startup phase and delay bandwidth adaptation during ProbeBW.

BBR-Copilot addresses this issue by generating auxiliary padding packets only when they are needed, specifically when:

  • the connection is application-limited, and
  • BBR is actively probing bandwidth (pacing_gain > 1).

The generated packets are used only for bandwidth probing and are not retransmitted after loss, keeping the additional overhead low.

Main Changes

  • Introduce a padding controller to determine when auxiliary packets should be generated.
  • Generate temporary padding packets for bandwidth probing.
  • Prevent retransmission of auxiliary packets after loss.

Reference

The design of BBR-Copilot is described in our paper When BBR Meets Live Streaming:

https://arxiv.org/abs/2606.03468

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants