From richly designed operating systems to interactive mobile apps, computing has never been more user-focused and user-friendly.
But behind the curtain of everyday computing – where local and global networks connect our devices and enable the sharing of information – computer scientists at Cornell are working to improve the infrastructure of our increasingly interconnected, online lives.
Nate Foster, an assistant professor in Cornell’s Department of Computer Science, leads a team of developers and researchers from Cornell, Princeton University, the University of Massachusetts Amherst and the Université Catholique de Louvain, Belgium. They have designed a fundamental platform to support a new way of managing networks.
“For a long time, we had PCs in our homes, but they didn’t connect to anything,” Foster said. “We bought discs and installed them on our computers. Now, we have rich services – on our phones, and in our homes – and networks are an important piece of that.”
An important piece whose progress is lagging against the pace of rapid innovations in other areas of computing, Foster said. While customization has surged in the era of open source, the devices and consoles that keep us connected have remained proprietary and rigid, defined by the manufacturers that designed them. For network administrators, programming networks is cumbersome and prone to human error, costing time and money, Foster said.
Enter software-defined networking (SDN), a relatively new, open-sourced approach to network connectivity that Foster and his colleagues are helping to develop. Rather than relying on traditional networking hardware, SDNs are driven by software and dedicated controllers capable of managing entire networks. Foster’s aim is the software piece, the part that enables customization.
“Instead of buying a fixed function box from company x, you can define your own functionality,” Foster said. “That’s where the software comes in.”
To help explain how SDNs improve on our current system of networks, Cornell engineering professor Dexter Kozen – whose KAT (Kleene Algebra with Tests) system proved instrumental to Foster’s research – points to the stop-and-go of traffic.
Imagine, he said, there is a series of traffic lights and you, the driver, want to program each light to turn green at the same time. A controller hooked up to all the lights would give you that capability with the press of a button. SDNs essentially give network administrators the same kind of control to maintain networks and automate processes for things like updating applications or adding more security measures. This “global view,” Kozen said, opens up the possibility of better performance.
“Up until SDNs,” he said, keeping with the analogy, “you would need a guy on a ladder programming each traffic light.”
The Cornell-led team has developed an open-source, SDN controller platform, or a programming language suite, called Frenetic, to make networks more autonomous, modular and secure. A SDN platform is being piloted in Gates Hall, and next up for the team is exploring how Frenetic could incorporate probabilistic reasoning, a mathematical approach to predicting network errors.
“That’s the next frontier,” Foster said, adding, “We are taking a mathematical approach to the software and making it practical.”
For everyday network users, operating on SDNs probably won’t be all that noticeable, Kozen said.
“The main benefit is making network admins’ jobs easier,” he said. “Especially nowadays, some networks are huge, like Google’s, and customers expect incredible performance and uptime. That’s the context where this will have the most impact.”
For Foster, SDNs and developing their languages pose an exciting challenge.
“You’re kind of rethinking the full computing stack in a domain that’s stuck in this kind of time capsule,” he said. “It’s a fun chance to work on timeless questions in uncharted territory, especially when big tech companies, governments and universities are moving toward SDNs. We’re doing work in this area where people notice. It’s solving real-world problems.”
Louis DiPietro is the communications coordinator for Information Science and Statistical Science.