Collaborative Research: Emulation Infrastructure and Material for OSNetwork Classes

Grants and Contracts Details


The ACM/IEEE computer science curriculum guidelines emphasize the fact that computer science is an applied discipline in which students must "do science", not just "read about science", and must have extensive opportunities to develop practical, hands-on skills in a laboratory setting. This is particularly true for the operating systems (OS) and networking courses described in the report. Unfortunately, offering the recommended hands-on experience is a challenge for most as/networking instructors. It requires access to dedicated, special-purpose laboratory facilities which are expensive, time consuming to setup/maintain, and are often difficult to use because laboratory curriculum materials rarely exist, forcing faculty to "roll-their-own" experiments. To address this issue, the PIs have been experimenting with the Emulab model (developed at the University of Utah) as a way to offer a completely flexible, shared, hands-on laboratory facilities. We have been using an Emulab for our networking, operating systems, and senior capstone courses, and have found it to be an excellent way to offer the practical experience required by the ACM/IEEE curriculum. However, Emulab was not specifically designed for use as a hands-on lab, and thus several issues must be addressed before Emulabs become popular at schoo Is everywhere. We propose to develop an "educational Emulab in a box" facility (called Edulab) by working with the University of Utah to tailor their recent work on lightweight Emulab systems (Emulab-lite) for use in education. The goal is to make these inexpensive lightweight systems, along with course materials, readily, and fi-eely available to colleges and universities worldwide. First, we will address issues related to the installation and deployment of Emulab facilities. Working together with Utah, we will develop installation package, scripts, and documentation that will simplify the effort required to get an Emulab facility going. Second, we will add new features to Emulab that will enhance its usability in an educational context. In particular, we will add new features to the Emulab software (including the web interface) that will make it easier for faculty to create and grade assignments, reduce the steep learning curve for both faculty and students, and make it easier for students to debug their project. Third, we will produce new lab materials for use in networking courses that use the Emulab facility. In particular, we will develop materials to go with the popular "Hands-on Networking" textbook. One of the PIs is the maintainer of the book's web site and author of the existing support materials. Using these new resources, operating systems and networking faculty will be able to offer hands-on labs without the huge development effort currently required. All the software and lab materials produced by the project will be made available, free of charge, for educational and research use (i.e., non-commercial use). All lab materials produced may be modified, enhanced and redistributed acknowledging the origins of the materials.
Effective start/end date8/1/057/31/08


  • National Science Foundation: $57,142.00


Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.