Roughly three decades since the dawn of the World Wide Web, the process by which data pings around the internet and to our devices has, by design, remained largely unchanged.
Seeking to modernize the internet’s architecture through software-defined networks, scholars from Cornell and the Open University of the Netherlands have developed a programmable network model that offers researchers and network administrators an option they’ve long sought: the ability to customize packet scheduling – the air-traffic control mechanism built onto the network switches that make the internet possible.
“Information is sent over the internet via a series of small steps that we traditionally have not had much control over,” said Anshuman Mohan, a doctoral candidate in the field of computer science in the Cornell Ann S. Bowers College of Computing and Information Science, whose research applies techniques from programming language theory to challenges in computer systems. “Now we are trying to go back in and eke out a little control without slowing the internet down.”
Mohan is the lead author of “Formal Abstractions for Packet Scheduling,” which received a Distinguished Paper award at the ACM Special Interest Group on Programming Languages’ International Conference on Systems, Programming, Languages, and Applications (OOPSLA) on Oct. 27 in Cascais, Portugal.
In the paper, researchers lay the groundwork for future networking hardware – along with software that would integrate with that hardware – that together are nimble enough to adjust to varying scheduling demands on the internet.
“It takes time to design, test and deploy hardware. Once we’ve rolled it out, we are financially – and environmentally – incentivized to keep using that hardware,” Mohan said. “This is in tension with the ever-changing demands of those who manage networks running on that hardware."
To develop the next generation of networking hardware-software, the research team honed in on the network switch, an essential piece of hardware and software that make networks and the internet happen.
About the size of a small pizza box, switches connect devices to a computer network and manage the flow of network data. They also carry out packet scheduling, which controls how data is routed through a network.
The switch fields packets of data from countless users across the network – such as emails, visits to news sites or Zoom calls between colleagues. Then, the switch’s packet scheduler prioritizes and schedules these data clusters according to policies set by network managers. Finally, the switch forwards those packets to neighboring switches until the packets ultimately reach the end user’s device.
But to date, customizing this air-traffic control process has been impossible, since scheduling parameters are traditionally baked into the switch by the manufacturer, researchers said. This rigidity no longer works, according to Mohan.
“What information should get pushed through a network first, your Netflix movie or an urgent weather event from the National Weather Service?” Mohan said. “And, crucially, will the scheduling policy that worked today also work tomorrow? Scheduling requirements may turn on a dime in response to changing traffic conditions.”
Building off a packet-scheduling method first introduced by MIT and Stanford researchers in 2016, the team’s model – once installed in new network switches – would grant network administrators the option to alter the switch’s inner packet-scheduling software however they like.
“Our work uses techniques for programming languages to explain how a wide variety of packet scheduling policies options can be realized on a single piece of hardware,” Mohan said. “The users could reconfigure their scheduling policy every hour if they wanted, and, thanks to our work, find that each of those policies magically fits on the same piece of hardware.”
Along with Mohan, paper co-authors are: Yunhe Liu, M.S. ’23; Nate Foster and Dexter Kozen, both professors of computer science in Cornell Bowers CIS, and Tobias Kappé, a former postdoctoral associate at Cornell and current assistant professor of computer science at the Open University of the Netherlands.
This research was supported by the National Science Foundation, the U.S. Office of Naval Research and the U.S. Defense Advanced Research Projects Agency (DARPA), and partially supported by the European Union’s Horizon 2020 research and innovation program.
Louis DiPietro is a writer for the Cornell Ann S. Bowers College of Computing and Information Science.