Ranysha Ware, a CSD Ph.D. student, presents new Internet Fairness rules at HotNets2019 at Princeton University. Credit: Carnegie Mellon University's College of Engineering

Just weeks after a team of Carnegie Mellon researchers showed that Google's new congestion control algorithm (CCA) was giving an unfair advantage to its own traffic over services using legacy algorithms, the same team has proposed new guidelines on how future algorithms should be developed.

"Our work shows that it is not always the case that new CCAs will be fair to the old ones," says CyLab's Justine Sherry, an assistant professor in CMU's Computer Science Department (CSD) and a co-author of the proposal. "Google is not the only company deploying new algorithms. Moving forward, we need guidelines."

Those guidelines, offered in their study, "Beyond Jain's Fairness Index: Setting the Bar For the Deployment of Congestion Control Algorithms," were presented at the Eighteenth ACM Workshop on Hot Topics in Networks (HotNets-2019) in Princeton, New Jersey.

Despite the team's focus on Internet , their proposed guidelines don't focus on fairness itself. That's because perfect fairness, the authors argue, is actually very hard to achieve, and very few (if any) existing CCAs today are perfectly fair.

"We need to stop making excuses for why our new algorithms are not meeting an unrealistic goal," says Ranysha Ware, a CSD Ph.D. student and the lead author of the study.

So instead of focusing on developing CCAs that are fair, Ware and her co-authors say that developers need to ensure that new CCAs would not inflict harm on the existing ecosystem of CCAs. Put simply: if a new CCA is more unfair than existing CCAs, it is not okay to deploy.

"What makes Google's new special is not that it's unfair, it's that it is more unfair and causes more harm to the Internet than the existing CCAs," says Sherry. "You can only be as unfair as things already are. You can't be more unfair than things already are."

Sherry likens the issue of CCA fairness to splitting a cookie between two children.

"Ideally, we would cut the cookie perfectly in half, but no one can ever perfectly cut a cookie in half. One side always ends up uneven," Sherry says. "The trick is doing something that is reasonable, even if it's not perfectly fair: having one child split the cookie, and the other child choose which half they get."

In the case of CCAs, the trick is ensuring that the status quo is left unperturbed.

Other authors on the study included CSD Department Head Srinivasan Seshan and Nefeli Networks software engineer and CSD alumnus Matthew Mukerjee.

More information: Beyond Jain's Fairness Index: Setting the Bar for the Deployment of Congestion Control Algorithms: www.justinesherry.com/papers/ware-hotnets19.pdf