Michael Rees 3 4 June 2009
Solving the Specialist Software Problem
Much of the complex workstation image problem can be solved if it were possible to install onesoftware package per machine, and have the student use just that machine for a particular class.Unfortunately the economics of higher education mean that there are too few physical machines toallow the one-machine-per-class solution. However, the availability of virtualisation technologyoffers the possibility of creating as many virtual machines as required and a potential solution tothe one-machine-per-class problem.
Characteristics of a Virtual Machine
Three years ago the author was awarded a School of IT research grant of a central server on whichto investigate the benefits of the relatively new
virtualisation technology
which supports thecreation and execution of
virtual machines
. The
host machine
, in this case the central server, runsspecial virtualisation software that allows several virtual machines (sometimes called guestmachines) to run at the same time. Each virtual machine is allocated virtual devices such processor,memory, hard disk, network adapter, screen, keyboard, mouse and USB ports to take a typicalexample. With these features a virtual machine can run any operating system of choice, and thenany specialist software packages can be installed to run under that (virtual) operating system. Inprinciple one host machine can run several virtual machines supporting a whole range of differentplatforms (operating system-specialist software combinations) as required.Virtual machine creation and execution software was freely available from Microsoft at the time andthe author built a variety of virtual machines based on Windows XP, Windows Server 2003 andLinux. A range of other software was then installed on these base virtual machines. Examplesincluded web browsers like Firefox, Opera and Safari, interactive development environments (IDEs)such as Visual Studio and Eclipse, web servers like IIS and Apache, database servers like SQL Serverand MySQL, content management systems like SharePoint Server and several other dedicatedservers and software development tools. These are all platforms that are used in the teaching of advanced IT subjects at Bond. The feasibility of using virtual machines to support platforms neededfor teaching was proved.Once built a virtual machine:
is represented as a collection of files in a folder that holds the virtual machine state(contents of memory and hard disks)
–
a
snapshot
; the snapshot can be copied to createany number of snapshots and new clones of the virtual machine; the snapshot can also betransferred to a different host machine
offers a virtual desktop mirroring completely a real desktop that can be accessed fromany standard computer, either on campus or off, given suitable network permissions
can be started and shutdown from the host machine using the virtualisation software;when shutdown the capacity of the virtual devices and network can be adjusted from thehost
–
flexible virtual machine capacity
runs on a 24/7 basis until explicitly shut down even when a user logs off; this allows longrunning programs like servers and compute-intensive software to be supportedShould a virtual machine be damaged by a student (or a staff member for that matter) such that itwill not reboot or execute correctly it can be discarded and replaced by another snapshot in a veryshort time. Ostensibly this provides an unlimited supply of virtual machines. This opens the door toan exciting array of trial-and-error experiments with new software and new software combinations.
The Virtual Teaching Laboratory
It was apparent that it would be possible to allocate one or more virtual machines to each student.Each class could build a virtual machine on a specific platform to suit exactly the practicalassignments for that class. In principle no specialist teaching laboratories would be needed sincestudents could connect any workstation on campus running the SOE to the virtual machines fortheir classes. What would be required is an infrastructure of central servers to act as host machinesfor the expected high numbers of virtual machines.
Leave a Comment