Modern networks invalidate many of the assumptions of traditional networking. For example, mobile ad hoc networks (MANETs) invalidate the assumption that there will be stable routes in the network, throwing traditional routing techniques into disarray. Handheld computing devices further challenge assumptions about platform mobility. While the need for cross-layer design to meet these new challenges has become well known, no replacement for the traditional network stack has emerged yet. Implementing experimental cross-layer approaches on commodity hardware and software remains challenging.

In this project we are building a framework for modular, extensible, experimental, network stack implementation, called the FINS (Flexible Internetwork Stack) Framework. The framework allows users to leverage existing protocols (such as TCP and IP) where needed, providing implementations that provide more real-time control and transparency than is available in existing implementations, while allowing users to replace or modify components as desired. Thus, the FINS Framework allows researchers ready access to the network stack in a manner previously possible only in simulation or by making painstaking operating system modifications.

The FINS Framework facilitates ready implementation of new network technologies and context-aware applications thereby lowering the bar for participation in experimental networking research. The initial implementation of the framework is on handheld devices. The framework is being released via open source license, making it broadly available to the research community. A set of hands-on networking course modules utilizing the FINS Framework and handheld devices is being developed, and utilized for undergraduate research at a predominantly undergraduate institution.

Project Report

Modern networks, especially modern wireless networks including handheld wireless devices, are very different from the wired networks that came before them. Yet, many of the protocols and algorithms that are used to operate networks pre-date the widespread adoption of wireless technology and incorporate assumptions that are no longer correct. In developing new protocols and algorithms for these networks, though, researchers often rely on simple simulations that may not reflect reality, in part because experimental networking research presents a variety of difficult logistical and software challenges. In this project, we have developed an open source software framework that makes it easier for researchers to test their networking ideas in a real network. Our framework allows researchers to replace the network functions that are built into a modern operating system (like Windows, Mac, iOS, Android, etc.) with software that can be easily modified. In particular, the implementations of network protocols in operating systems are organized linearly, in a so-called "stack" as shown on the right. Our software, shown on the left, allows researchers to experiment with new protocols and new ways to organize the flow of information between protocols, so that they are no longer confined to a linear flow. This is important, because one of the things that researchers have discovered is that the linear flow of the traditional networking stack is not optimal for modern wireless networks, and they need the ability to test new designs. Our experimental networking software has some features that make it different from existing tools. First, our software is designed to run on both laptop computers (running the Linux operating system) and Android-powered devices. Both are important. Allowing the software to run on laptops makes it easier to develop and test new protocol ideas. But running the software on handheld devices with Android, like tablets or phones, makes it easier to run larger experiments incorporating the new ideas. A second feature that distinguishes our software framework is that it is inserted into the computer system in a way that allows users to use regular, unmodified network applications (like web browsers, email clients, chat software, file transfer software, and network testing tools). This is important because it means that experiments can rely on realistic data generated by regular network usage, if desired. Despite hooking into the operating system to allow regular networking applications to run, though, the FINS Framework components run like a regular program on the computer. This is important because writing regular programs (like the protocol modules in the FINS Framework) is easier than writing special operating system code, as might be required for some other experimental networking tools. Third, we have provided implementations of regular networking protocols, like those included with a modern operating system, for framework users to modify or replace. This makes it easy for researchers to get started with the framework, because they don't have to create new protocols from scratch. In addition to creating the framework and sharing it with the research community, we organized a free research workshop in July 2013, where we invited researchers to come and learn about the FINS Framework. About 13 researchers came (students, postdocs, and faculty) from 10 different institutions. These researchers were interested in using the FINS Framework in their own research, as well as using it to teach university students about networking technology. We have also written a magazine article about the framework, which will be published soon and will introduce an even larger set of researchers into the capabiliites provided by the FINS Framework. And, the first application of the FINS Framework to networking research is being completed by one of our students, who will use the framework to demonstrate an improved algorithm for video streaming as part of his Ph.D. research. Finally, since the FINS Framework has been released as open source software, other researchers can modify, expand, and extend it for their own purposes. And, if desired, we can incorporate those changes into future versions of the FINS Framework itself.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
0916300
Program Officer
Darleen L. Fisher
Project Start
Project End
Budget Start
2009-09-15
Budget End
2013-08-31
Support Year
Fiscal Year
2009
Total Cost
$364,641
Indirect Cost
City
Blacksburg
State
VA
Country
United States
Zip Code
24061