Modernizing the Internet’s architecture through software-defined networks

Researchers mold model for more nimble networks.


For about 30 years, the way data moves on the internet hasn’t mostly stayed the same. Now, researchers from Cornell and the Open University of the Netherlands are trying to update it. They’ve created a programmable network model that lets researchers and network administrators customize how data moves, giving them more control over the internet’s air traffic control system. This could make the internet work better and be more adaptable.

When people started working on software-defined networking (SDN), they mainly focused on essential features to control how data moves through the network. However, recent efforts have looked into more advanced features, like packet scheduling and queueing, which impact performance.

One interesting concept is PIFO trees. They provide a flexible and efficient way to program how packets are scheduled. Previous studies have demonstrated that PIFO trees can handle various practical algorithms, including strict priority, weighted fair queueing, and hierarchical schemes. However, we still need a better understanding of the underlying properties and meanings of PIFO trees.

This new research studies PIFO trees from a programming language perspective. In the research paper, the researchers are setting the foundation for the next generation of networking technology. This includes the hardware (physical equipment) and the software (programs running on it). The goal is to create a system that can quickly adapt to different scheduling needs online.

Anshuman Mohan, a doctoral candidate in the field of computer science in the Cornell Ann S. Bowers College of Computing and Information Science said, “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. This is in tension with the ever-changing demands of those who manage networks running on that hardware.”

In creating the next generation of networking technology, the research team focused on a crucial component: the network switch. This device, about the size of a small pizza box, plays a vital role in making networks and the internet work.

Switches connect devices to a computer network and manage the flow of data. They are responsible for packet scheduling, which determines how data moves through a network. Imagine the switch as handling packets of data from various users—emails, website visits, or video calls on Zoom. The switch’s packet scheduler organizes and prioritizes these data clusters based on rules set by network managers. Finally, the switch sends these packets to other switches until they reach the user’s device.

However, until now, it has not been easy to customize this air traffic control process. The reason is that scheduling parameters are traditionally baked into the switch by the manufacturer. Now, this rigidity doesn’t work.

Mohan said“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. 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.”

Journal Reference:

  1. Anshuman Mohan, Yunhe Liu, Nate Foster, et al. Formal Abstractions for Packet Scheduling. Proceedings of the ACM on Programming Languages. DOI: 10.5281/zenodo.8329703


See stories of the future in your inbox each morning.