Abstract
The Xen Worlds project at Iowa State University was designed to provide a virtualized lab environment for the Information Assurance program. The large number of off-campus students, and a desire for high levels of security, drove many of the requirements for the Xen Worlds environment. Some of the requirements established for the project were: The environment needed to be equally accessible and easy to use for both on- and off-campus students. It needed to be isolated from the outside world and other students. The system had to be equally usable for students with limited computing and network resources. Costs had to be kept to a minimum.
The Xen Worlds environment has now been used to support several courses at both the undergraduate and graduate level. This virtual environment was equally accessible to on- and off-campus students on a 24/7 basis and supported numerous assignments in support of established curriculum requirements. Finally, surveys of students who used the Xen Worlds environment show that students have a favorable view of the project and view it as a useful and convenient learning tool.
Abstract
Xen Worlds is being developed to provide a method for performing assignments and lab work in information assurance, operating systems and networking courses that require root access to the individual machines, or the entire network. Currently, there is no existing approach that addresses the root access requirement and the entire life-cycle of an assignment from problem definition, to turn-in of the end product. The Xen Worlds project is aimed at creating a versatile "virtual lab"where an entire network of virtual machines, (a Xen World), can be provided to each student that will allow on-campus and distance education students 24/7 access via SSH, allow students to turn-in a virtual machine or an entire network as the finished product and allow for grading to occur directly on those machines instead of grading a few select artifacts such as configuration files, programs or outputs.
To achieve these goals, Xen Worlds builds on several open source products, including utilities for creating virtual network bridges and the Xen virtual machine monitor developed at the University of Cambridge. Combining these building blocks and custom software into a versatile architecture, it has been possible to create an environment that supports multiple backends; provides administrative tools to the students for starting, stopping, resetting, saving and turning- in their virtual machines; isolating the Xen Worlds from each other; and allowing the instructor direct access to the virtual machines for grading purposes.
The potential of this project was demonstrated by creating a prototype that provided 30 students with their own virtual machine for an entire semester, with all 30 virtual machines being run on a single desktop computer with a Pentium 4 processor and 2GB of RAM. An upper limit of 30 virtual machines being provided was dictated by the amount of physical RAM required by each virtual machine on the desktop computer. The current version of Xen Worlds spreads the virtual machines over many backend computers, allowing up to 240 virtual machines in arbitrary network topologies. Our current goal is to prove Xen Worlds♠potential as an instructional tool, and demonstrate its lower cost compared to commercial solutions such as VMWare. A milestone towards this goal is to provide 1000 virtual machines continuously operating for an entire semester to 200 students in a variety of classes using less than $10,000 in commodity hardware.