Take control of your Internet with CRAB

CRAB (for Customizable Receiver-driven Allocation of Bandwidth) allows users to control how their downlink bandwidth is divided between different flows. Existing mechanisms like Weighted Fair Queuing and Hierarchical Token Buckets work only at the bottleneck which typically exists at the ISP. However, ISPs do not allow users control over queuing mechanisms at the downlink.

CRAB works entirely at the end devices in control of the user (e.g. laptops, home routers) and enforces user-preferred weights across downlink flows despite lying after the bottleneck. CRAB achieves this by keeping up-to-date estimates of bottleneck bandwidth and flow demands, and explicitly throttling the flows based on these demands.

CRAB helps achieve 3x higher video quality and 2x lower webpage load times than the status quo.

Video Streaming Example

We demonstrate working of CRAB below with an example of video streaming in presence of bulk download flows on a 30 Mbps downlink. 

Status Quo: Bulk flows hog all the bandwidth, resulting in poor video quality

WFQ at the bottleneckAn ideal but impractical scenario where ISP does WFQ of 5:1 between video flow and bulk flows at the bottleneck , resulting in high video quality.

WFQ after the bottleneckWFQ after the bottleneck has no effect because of the lack of queue build-up. 

CRAB: Using CRAB to enforce weighted shares of 5:1 between video flow and bulk flows results in higher video quality. 

How CRAB works?

To enforce weighted shares, CRAB estimates the downlink bandwidth and flow demands based on throughput measurements, computes weighted fair shares based on these estimates and user-specified weights, and throttles individual flows to these computed weighted fair share rates. Estimating downlink bandwidth and flow demands together is inherently challenging since both are interlinked e.g. drop in measured throughput can either be due to drop in flow demands or bottleneck bandwidth. We present a control loop that avoids and corrects these ambiguities. See our paper for more details.

229 Coordinated Science Laboratory,  University of Illinois at Urbana Champaign