When it comes to delivering data to users, the Web still works brilliantly. But for other functions such as allowing users to move between wireless networks or companies to shift traffic among servers, engineers are forced to implement increasingly cumbersome tweaks.
In part, that is a function of the Internet's growth. What began as an elegant method to transfer data among a small number of computers has evolved into a massive makeshift system in which designers have added workarounds on top of earlier layers of fixes.
Now, a team of Princeton University researchers has released a plan to cut through that tangle and provide a simple solution to many of the problems involved with the Internet's growing pains. Called Serval, the system makes a small change to the way programs download and manage data that could have a big impact on the future development of the Web.
"Smart engineers are great at mastering complexity and hacking around it. But with the current approach, everybody needs to reinvent the wheel," said Michael Freedman, an assistant professor of computer science who heads the Serval development team. "Serval is something that will make things easier to build and easier to manage without relying on these hacks."
The team has put together a small Princeton network to demonstrate Serval's function and is moving into testing the system in larger and more complex deployments. Serval fixes problems by augmenting the role of one of the foundations of the Internet—the IP address. The IP, or Internet Protocol, address is the fundamental identifier for computers and other devices on the Internet. It is critical both for transferring information and for programs that use the data at its ultimate destination.
One way to think about this is to imagine the IP address is a street address such as 1 Main St. When packets of information need to find their way to your computer, they use the IP address. When the information arrives, the IP address of the transmitting computer also plays a role in allowing your computer to recognize information needed for specific applications such as Firefox or QuickTime (there are a number of other programs involved, but the IP address is one step in allowing your computer to say 'Oh, yes, this is the data I need to run this YouTube video.')
That worked well in the early days of the Internet when users wanted to connect to a specific computer. But now, people are not interested in connecting to a single computer, they want to connect to services such as Google or Wikipedia. Unfortunately, because the IP address is still linked to specific machines, there is no easy way to do that.
The problem is that the IP address cannot change without messing everything up. Computer programs that rely on the IP address have no easy way to adjust if the IP address changes, a possibility that is increasingly common as mobile devices proliferate. Without a clever hack, the program just stops.
"A lot of applications can be rewritten to hide the fact that you break your connection and re-establish it," said Jennifer Rexford, the Gordon Y.S. Wu Professor in Engineering who is also working on Serval. "But it makes things unnecessarily complex and more expensive."
Serval does not replace the IP address, which continues to function as usual. Instead, Serval works by adding another layer of information, called the service access layer, to certain packets contained in a data stream. Unlike the IP address, which identifies a specific computer, the service access layer identifies a service such as Google or Facebook. So if the IP address changes, the program does not stop because it receives the functional information it needs from the service access layer.
This makes it easier for users to watch a movie while their tablet computer switches between a Wi-Fi stream and a cellular one. It also allows a mobile device to use Wi-Fi and cellular service at the same time.
"The Internet is increasingly a platform for connecting mobile users with the cloud and the Internet was not designed to do that," Rexford said. "All the work that goes into shoehorning that into the old network architecture is very difficult."
Serval also makes it much easier for Internet companies to shift traffic among different servers. While not as immediately important to individual users, this function could allow for drastic increases in efficiency for Internet companies, and it could play an important role in the future development of the Internet in general.
Remember the 1 Main St. analogy? Big companies such as Google have expanded far beyond an initial address such as 1 Main St. Now, the company has thousands of servers, branch offices if you will, and Serval will allow company managers to switch users among offices seamlessly or allow subdivisions within individual offices to serve different users. To do that now, the companies have to rely on expensive and hard-to-manage workarounds. With Serval, it would be straightforward.
Gary Berger, a lead engineer at Cisco Systems, said bringing greater flexibility to the network is a goal that many organizations would welcome. Although not affiliated with the development of Serval, Berger is reviewing the project to see whether Cisco could perform some in-house testing of the Serval system. Internet companies are looking at a number of options, but Berger said that Serval offers a possible solution to basic problems that are limiting the growth of the InterneT—many of which can't be easily solved by further patches.
"You can't solve all the problems by incrementally adding to the architecture because it is fundamentally broken at a basic level," Berger said. "Serval helps us to think differently about the problem, which will benefit everyone."
One advantage of Serval is that the system can be deployed incrementally and does not require massive changes to current networks. For users who do not use Serval, the additional data layer in packets will be invisible and the IP address will remain as the identifier. In cases where Serval is used, the researchers estimate that it will increase the amount of time data takes to transit the Web by less than 1%.
Berger said the Serval team has already addressed the issue of making applications work with the service access layer rather than the IP address alone. He said that was the most technically complex and the most important part of Serval. But Berger noted there are still questions that have to be answered regarding how Serval will function in the broader context of the Internet, and what potential problems could crop up if it were widely deployed.
Erik Nordström, a research scholar in the computer science department and the lead author of the team's conference paper on Serval, said the group has been meeting with Internet companies and service providers to inform them of the system's advantages. He said it can be difficult to convince large organizations to make fundamental changes, particularly when they already invested considerable sums into the software that runs their systems.
"We'd like to understand how we can make Serval more attractive for others to adopt, especially when it comes to managing large-scale Web services," Nordström said.
Serval was developed with support from the National Science Foundation, the Defense Advanced Research Projects Agency, the Office of Naval Research and Cisco Systems. The authors of the Serval paper were: Nordström, David Shue, Prem Gopalan, Robert Kiefer, Matvey Arye, Steven Y. Ko, Rexford and Freedman. All are with the Princeton School of Engineering and Applied Science's Department of Computer Science.
Nordström said the Serval team would like to follow up with a wider deployment of the system to understand engineering challenges at a larger scale and in a more realistic environment.
He said the next step will allow the team "to better understand practical limitations and benefits of Serval, and also provide us with a complete deployment strategy that we can present to interested parties."
A copy of the most recent conference paper on Serval can be found here.