Some researchers have proposed plans in recent years to reimagine what the Internet would look like if you started with a clean slate. Others, like those within the systems and networking group at Princeton University's Computer Science Department, are inventing ways to make the Internet more flexible for data center operators and more useful to mobile users by slipping technology in between layers of the current architecture.
Princeton's open source Serval system is what Assistant Professor of Computer Science Michael Freedman calls a Service Access Layer that sits between the IP Network Layer (Layer 3) and Transport Layer (Layer 4), where it can work with unmodified network devices. Serval's purpose is to make Web services such as Gmail and Facebook more easily accessible, regardless of where an end user is, via a services naming scheme that augments what the researchers call an IP address set-up "designed for communication between fixed hosts with topology-dependent addresses." Data center operators could benefit by running Web servers in virtual machines across the cloud and rely less on traditional load balancers.
Freedman, who heads the Serval team and is a recent recipient of a Presidential Early Career Award for Scientists and Engineers, says Serval initially is in the form of a loadable Linux kernel module for Linux and Android systems, though can also work with Mac and Unix-based systems, and translators have been implemented that could keep Windows machines in the loop, too. Hardware blades could be fashioned from the technology down the road as well, he says.
"One can think of this as an overlay, but really, it means there is some software running on machines that act as service routers (much like DNS resolvers/nameservers or DHCP servers," Freedman says. "These are only 'on-path' for the first packet of each flow, unlike today's load balancers, which must be on-path for each packet."
Serval, which Freedman describes as a "replacement" technology, will likely have its first production applications in service-provider networks. "Its largest benefits come from more dynamic settings, so its features most clearly benefit the cloud and mobile spaces," he says. "That said, it certainly could be used in enterprise settings - one obvious way is that zero-conf service discovery (say as an alternative to DNS-SD and Apple Bonjour) is very natural in its model, even across Layer 3 domains."
If any of this sounds similar to software-defined networking (SDN), there are in fact connections.
Freedman worked on an SDN/OpenFlow project at Stanford University called Ethane that was spun out into a startup called Nicira that VMware just plunked down $1.26 billion to acquire. Freedman recently found himself congratulating his former Ethane partner Martin Casado, Nicira's CTO. "Rather than help start Nicira in 2007, I decided to join the faculty at Princeton," Freedman says.
And it's at Princeton where Freedman and colleagues are working to go beyond basic SDN with what he says is a more scalable approach in Serval. "We believe that Serval can extend today's network-centric view of SDN to a broader vision of software-defined service-centric networking," he says.
"The relationship between Serval and SDN is harder to explain [than Freedman's connection to SDN] since SDN can mean many different things depending on the scope of the programmability and the nature of the applications," Freedman says.
"A key distinction is that today's SDN focuses inside the network (i.e., on Layer 2 and 3 issues), whereas Serval focuses further up the stack on the relationship of high-level services to the underlying network. For example, Serval handles VM migration and user mobility by allowing a process to change its IP address or addresses as it moves, whereas an SDN solution would install new forwarding table entries in the switches to reach a VM or device at its new location using the old address."
Early Serval case studies at Princeton have focused on load-balanced Web servers, live virtual machine migration between Layer 3 networks, partitioned storage such as memcached, and mobile clients, with seamless mobility between cellular and WiFi networks (an example involves an Android phone user accessing and staying connected to a Google music service while strolling across campus). The Serval website itself uses Serval technology to get Web browser users to their destination swiftly.
The Princeton team has been thinking about Serval -- formerly dubbed SCAFFOLD -- since 2008, and prototypes got off the ground in 2010 (the name Serval comes from a shortening of Service Access Layer, but also refers to a wild African cat whose speed and agility fits with the project's goals). The Serval team is now seeking partners to put the technology into action, such as for managing virtualized environments.
The Princeton team's paper on Serval was presented in April at the Symposium on Networked Systems Design and Implementation (authors included Freedman, plus Erik Nordstrom, David Shue, Prem Copaian, Robert Kiefer, Matvey Arye, Steven Ko and Jennifer Rexford). The project has been funded in part by the National Science Foundation, DARPA, the Office of Naval Research and Cisco Systems (which is exploring whether to do some in-house testing of Serval).