The use of virtual machines to support hands-on learning experiences in undergraduate...

Preview:

Citation preview

The use of virtual machines to support hands-on learning experiences in undergraduate systems-

oriented courses

Abiodun Ogunyemi Kevin Johnston Department of Information Systems Department of Information Systems

University of Cape Town University of Cape Town Leslie Commerce Building, Upper Campus Leslie Commerce Building, Upper Campus

Rondebosch, 7701, Cape Town, South Africa Rondebosch, 7701, Cape Town, South Africa ayofolaposy@gmail.com kevin.johnston@uct.ac.za

Abstract

The Information Technology (IT) academic courses have always been challenged with inadequate availability of hardware and software to support hands-on learning experience in teaching undergraduate IT courses. In most cases there are inadequate computers in the computing laboratories for students to demonstrate their learning experiences and acquire expertise skills. The cost of setting up these laboratories is another major challenge. Teaching and learning IT academic and professional courses has been a concern to university authorities all over the world due to the scarcity of IT resources. Developing countries suffer most due to low economy power to provide adequate IT infrastructures for enhancing hands-on learning experience for enrolled IT students.

System-oriented courses such as networking, web design, computer forensics, programming and operating systems for instance; require deployment of several computers in the computing laboratories to provide hands-on experience. Virtualisation technologies have been gaining recognitions because of proven advantages and successes. One of the major advantages of adopting virtualisation to industries and individuals has been cost reduction and optimisation of resources.

Some academic institutions in Europe and America and part of Asia have been using virtual machines in computing laboratories to mitigate the problem of inadequate computers to support learning.

This paper aims to explore the implementation and successes of using virtual machines to support hands-on IT teaching and learning in undergraduate IT courses. The findings of the study would be of importance to university authorities in developing countries who are considering virtualisation as a way of mitigating the lack of IT resources.

Keywords: virtualisation, virtual machines, IT infrastructure.

1. Introduction

The world is in an age where globalisation is driven by fast-paced and dynamically changing technologies. The pace and dynamic nature of technology has given academic institutions a problem of providing relevant IT infrastructures to support IT academic curricula (Sultan, 2010). More so, IT students need to be provided with a platform that gives them hands-on experience they are required to have to be able to fit into the global market driven by highly dynamic technologies (Thomas, & Whitener, 2010).

4th International Conference of Development Informatics IDIA 2010, University of Cape Town, South Africa

Ogunyemi & Johnston     The use of virtual machines    

 2  

The only way to remove the abstract nature of some science and technology courses in the undergraduate curricula is to provide a practical learning platform (Li, 2010). Students need to be able practice what they learn in the class by trying them out in the laboratories. This is a big challenge because a lot of infrastructure must be put in place and up to date.

Virtualisation solutions are technologies, which have brought respite to this issue. Virtualisation is a technology, which simulates computer hardware. The x 86 computers are built to achieve optimisation of systems resources. Unfortunately, in practise they are being used to run an instance of an operating system and one major application. It is a common practice to have different computers, servers and clients alike dedicated for one major task. This results to gross underutilisation of systems resources (Bem, & Huebner, 2007). Fortunately however, virtualisation technology is premised on this criterion. With virtualisation, a typical x86 computer can host four or more virtual machines (Hickman, 2008).

A virtual machine is a software application, which runs on a physical machine and emulates its host. It operates exactly as a physical machine. It runs its own operating systems in isolation to the host. In architecture it operates at a level above the host (Shields, 2008). It uses a program called a hypervisor or virtual machine manager (Bower, 2010). A hypervisor inserts a layer of abstraction between the host machine (physical computer) and the guest (virtual computer). This ensures that there are no conflicts with the host.

The challenge to university authorities is to ensure that graduates are well-equipped enough to take up the market challenges associated with this technology-driven age. If this is to be achieved, there must be a practical platform to support and demonstrate the knowledge being acquired from the IT courses in the universities, particularly the system-oriented courses (Laadan, Nieh, & Viennot, 2010). In this regard virtualisation technologies using virtual machines, for instance, can be adopted to mitigate the problem of inadequate or paucity of computers and hardware infrastructures in computing laboratories (Shavers, 2008). This paper aims at discussing how virtual machines have been deployed in certain system-oriented courses by some universities in Europe and America and part of Asia, on a face-to-face and distance basis, at the undergraduate level, which helped them to overcome the problem of inadequate computers to support learning those courses.

2. Overview of Virtual Machine Architecture

Virtualisation technologies date back to 1960 when IBM used virtual machines on a mainframe project (Sugerman, Venkitachalam, & Lim, 2001). Virtualisation concepts began to gain some level of interest when VMware introduced a virtual machine in 1999 in reaction to Virtual PC introduced by Microsoft in 1997 (Dobrilovic & Odadzic, 2006). Today virtualisation technology is being widely accepted as witnessed in the usage of virtual machines to support academic learning especially Information Technology courses (Dobrilovic, & Odadzic, 2006; Gaspar, Langevin, Armitage, Sekar, & Daniels, 2008)

Virtualisation is a software application technology, which allows an x86 computer to host multiple virtual computers known as virtual machines (Bem, & Huebner, 2007). The x 86 computers are built to run basically one operating system and a major application. This leads to high underutilisation of system resources. Virtualisation enhances better utilisation of hardware resources. A virtual machine is isolated software developed in such a manner that it is capable of running an independent operating system as though it is a physical computer (Bower, 2010). Figure 1 shows the architecture of a virtual machine.

Ogunyemi & Johnston     The use of virtual machines      

  3  

Figure 1: A typical Virtual Machine Architecture

The figure shows the virtual machine operating system layer at a level above the hypervisor. The hypervisor inserts a thin layer of abstraction between the host operating system and the virtual machine. This ensures that no conflict arises in the sharing of the host system’s resources and the host computer is not vulnerable (Rosenblum, 2004).

2.1. Types of Virtualisation

There are four major types or forms of virtualisation. Shields (2008) identified them as follows:

• Hardware Virtualisation: here virtualisation takes place at a layer below the host’s operating system. The hypervisor or virtual machine manager modifies the virtual environment by emulating the host’s hardware. This makes the virtual machine behave as if it is a physical machine (IBM, 2007). Common industry virtual machines in use today, such as Microsoft Virtual PC and Virtual Server, VMware Player, Workstation and Server and Sun Microsystem’s VirtualBox were developed using the hardware virtualisation architecture (Bower, 2010).

• Operating System Virtualisation: at this level virtualisation occurs at a level above the host operating system. Here the host’s operating system is completely emulated. The benefit is that the same operating system, identical to the host’s runs on all the hosted virtual machines. Therefore an update on the host effects the same update on the virtual machine (Gaspar, Langevin, & Armitage, 2007). The problem however, is that operating system virtualisation does not support different platform operating systems (Shields, 2008). For instance a Linux host operating system cannot accommodate a Windows guest operating system, for example a Windows XP professional operating system hosted on a Linux Ubuntu operating system.

 

   

Virtual  Machine

   

Virtual  Machine

VM  O/S VM  O/S

VM  O/S VM  O/S

Host  O/S

 Hypervisor  Layer

Physical  Hardware

Ogunyemi & Johnston     The use of virtual machines    

 4  

• Paravirtualisation: this is synonymous with the hardware virtualisation in that it supports hosting of multiple virtual machines. The major difference is that it does not support simulation of hardware resources but allows hosted virtual machine to use a special Application Programming Interface (API) which also requires that the host operating system is modified (Gaspar, Langevin, & Armitage, 2007). Xen is a good example of this architecture (Anderson, Joines, & Daniels, 2009).

• Application Virtualisation: here the application files and their settings are captured and isolated from the host operating system. This architecture is useful in deploying application software to targeted clients, for example, using a software hosted on a server (Prieto, Feiteirinha, Bizarro, Gomez, & Pecchioli, 2008).

2.2. Benefits of a Virtual Machine

Virtual machine software is prominent for better utilisation of hardware resources (Stackpole, Koppe, Haskell, Guay, & Pan, 2008). Maintenance cost reduction and high level security enhancement are other advantages (Wabiszewski, Andel, Mullins, & Thomas, 2009; Anderson, Joines, & Daniels, 2009). Other benefits of virtual machines are summarised below:

• Isolation: virtual machine software is developed in such a manner that is isolated from one another as if they are physically separated (Rosenblum, 2004). This ensures that the performance of one virtual machine does not adversely affect the other, or their physical host. In this case, if one virtual machine becomes corrupted, the other machines continue to work, providing system continuity.

• Compatibility: virtual machines are compatible with all x86 operating systems including their hardware and device drivers, which allow all legacy applications to be run efficiently, just like the physical computer (IBM, 2007).

• Encapsulation: virtual machines are generally portable and this makes them transferable from one physical machine to another. Encapsulation enables virtual machines including their operating system and other application files, to be packaged in a software container (Li, & Mohammed, 2008).

• Legacy Applications Support: virtual machines can run certain legacy applications which are no longer supported on newer operating systems (Ferreira, Freitas, & Navaux, 2008).

• Testing Environment: virtual machines can be used as testing environment for software developers using varied operating systems platforms (Kind, Leamy, Leary, & Fiehn, 2009). Another instance of usefulness is that those in help desk can use virtual machines to simulate scenarios of logged issues and work out the solutions (Davis, 2005).

• Educational Trainings: virtual machines can be deployed in computing laboratories for students to try out what they have learnt in the classroom. This practice gives students opportunities to acquire hands-on knowledge, while eradicating maintenance costs that could have accrued as a result of packaging and re-packaging computer laboratories for appropriate IT courses (Dobrzanski, & Honysz, 2009).

3. Notable success with virtual machine adoption to support learning in some institutions.

3.1. Columbia University, New York

The university began using virtual machines to support its operating system courses almost ten years now (Laadan, Nieh, & Viennot, 2010). The institution adopted virtual machine platform to teach its students programming concept of operating system using Linux operating system. In other to have hands-on experience, the students needed to modify the operating system kernel, among other things. Linux operating

Ogunyemi & Johnston     The use of virtual machines      

  5  

system was chosen because it is open source software. Because operating systems runs at supervisor mode, it was a challenge giving students administrative privilege. Another problem was due to the complex nature of commercial operating systems because of their file sizes. To address this problem the university packaged a virtual kernel development environment in which the students implemented and troubleshoot operating systems in a virtual laboratory. According to Nieh and Vaill (2005) a remote access of the virtual laboratory was given to the off-campus students, to take part in the project. In the fall of 2004 the course had the highest enrollments in the university because of students perception of the programme as suitable to the commercial operating systems. (Laadan, Nieh, & Viennot, 2010)

3.2. East Carolina University, Greenville

The university adopted VMware and VirtualBox products to mitigate their budget constraints and meet up with the high enrollments being recorded in their distance education computing programmes (Li, 2010). The institutions used these two products to support their networking and computer forensics courses beginning with VMware Server and player in 2006 and Sun VirtualBox in 2008 (Li, & Mohammed, 2008)

3.3. Utah Valley State College, Orem

This college adopted virtualisation solutions in 2004, to support its operating systems, computer forensics, database administration and computer networks courses. The reason for adoption was due to the high cost associated with their former practise of using removable hard drives in the laboratory (Hickman, 2008). The institution started with Microsoft Virtual PC because of its free license and later switched to VMware Player because of its better educational relevance which was lacking in Microsoft Virtual PC.

3.4. North Carolina State University, Durham

This university commissioned a Virtual Computing Laboratory (VCL) project in 2004 to provide distance education service via the internet. The project was carried out in order to address some challenges the institution was facing at that time. The problem includes paucity of funds, inadequate computers and software (Murphy, & McClelland, 2009). Virtualisation solution was the only option for the school to address these issues. The VCL project was partly sponsored by IBM and Intel and it provides students with the flexibility of using the virtual laboratory at their convenience by logging on from their personal computersfrom anywhere. The details of the project is available in Murphy and McClelland, (2009).

3.5. The School on Internet Asia (SOI) Project

The SOI Asia project is a distance eduacation platform jointly designed by 13 Asian countries with 27 participating universities and research institutes as at 2008 (Basu, Mikawa, Basuki, Thamrin, Okawa, & Murai, 2008). The project was launched in 2001 to provide distance education access for students. Annual workshops were held to train teachers in order to sustain the project. Due to the challenge of hardware infrastructure, computer virtualisation techniques were adopted to give the teachers hands-on experience as they need to design, test and carry out other technical tasks. The virtual laboratory was designed in such a manner to enable remote trainings and workshops conducted for the teachers. The SOI project is supporing about thirty undergraduate courses.

4. Common Virtual Machines Used in the Academic Learning Environment

As said earlier virtual machines are being widely adopted in supporting hands-on learning in the undergraduate IT courses. Some IT industries have a level of academic support for the universities. A good example is the VMware Academy Program. Through this programme, universities are given free licenses for virtual machine software. Students, benefit by having access to virtualisation packages from VMware. Microsoft MSDN Academic Alliance Program is another incentive. Through this initiative, universities can be granted free

Ogunyemi & Johnston     The use of virtual machines    

 6  

licenses of Windows operating systems (Li, & Mohammed, 2008). The following are the common virtual machines in use in academic environments, today:

• VMware’s Workstation and Player: VMware Inc. offers excellent products, which are being widely used in some American universities and colleges (Hickman, 2008; Li, 2010; Steffen & Abu-Mulaweh, 2009). VMware workstation 7, which is the company’s latest version of workstation software application, has robust features, which include Assured Computing Environment (ACE). ACE enhances the packaging of virtual machines and distributing them to users, in a secured manner and it is also useful in deploying a virtual computing laboratory for remote access (Cartwright, 2005). Security violations are controlled as ACE server maintains coordination (VMware, 2007). As shown in figure 2, the ACE manager acts as the server and sends the ACE package comprising pre-configured operating system with defined policies and security settings to targeted users over a network. VMware product, such as Workstation 7 has other features like snapshot and auto protect which create snapshots at pre-configured intervals. These features are similar to system restore feature of Windows operating systems. VMware player has similar features and functionalities to workstation except that it does not have advanced features like auto protect and even though Workstation virtual machine software comes with a price tag, it can be secured free of charge for academic purposes. VMware player was specifically developed to support academic programmes. VMware virtual machines support multi-platform operating systems.

Figure 2: VMware ACE Deployment (Source: VMware, 2007 p.5)

• Microsoft Virtual PC: Microsoft released its first virtual machine called Virtual PC in 1997. The product was released with a free license. Virtual PC 2007 Service Pack 1 is the current virtual machine software from Microsoft. It has robust features like VMware workstation and player. The major issue with Virtual PC is that it does not support multi-platform operating systems as it can only run in a Window environment (Li, 2010). The product is particularly good at supporting legacy applications, which can no longer run on newer versions of Microsoft operating systems.

• Sun Microsystems’s VirtualBox: VirtualBox is an open source, free licensed virtual machine software originally built by Innotek but later acquired by Sun Microsystems (Li, 2010). VirtualBox is excellent for its multi-platform support for operating systems. It also has features like snapshot. It is less bulky in size than VMware Workstation. It is free for both personal and academic use. VirtualBox consumes less host system’s hardware resources like memory and CPU.

• VMware ESX Server and Microsoft Server 2005: these virtual machines were specifically developed for server purpose. They have different architectures compared to other virtual machines earlier discussed. They are more relevant in business operations.

• Citrix’s Xen: this virtual machine software application is developed using the paravirtualisation architecture and does not need any operating system to run on (Hickman, 2008). It has good relevance

Ogunyemi & Johnston     The use of virtual machines      

  7  

for supporting distance education in that it can be designed and deployed as servers (Anderson, Joines, & Daniels, 2009). The product is available for a free download at Citrix’s website.

4.1. Features and System Requirements of Three Common Virtual Machines in use

Virtual Machine Features System Requirements

VMware Workstation 7 Free license is available strictly for academic use. Product has snapshot and auto protect for creating restore points. It uses NAT and supports multiple NICs. It has a feature called ACE specially built to support academic use.

• Pentium IV, Core 2 duo, dual core processors, 1.2Ghz or Higher

• 512 MB RAM or Higher

• 10 GB Hard disk space or Higher

• 800 x 600 screen resolution

• 20 MB memory base for video acceleration

Virtual PC 2007 Free license is available to individuals and academic institutions. It has snapshot for reverting to a safe point. It uses NAT and supports up to four NICs. It uses serial ports for serial communication and has parallel port for printer installation. It supports up to four virtual hard disks.

• x64, x86 computer 400 MHz or faster (1 GHz recommended) processor, L2 cache. AMD Athlon/Duron, Intel Celeron, Intel Pentium II, Intel Pentium III, Intel Pentium 4, Intel Core Duo, and Intel Core2 Duo processors.

• 512 MB RAM or Higher

• 5 GB Hard disk space or Higher

• Super VGA (800 x 600) screen resolution

• 20 MB memory base for video acceleration

VirtualBox 3.1.4.0 Free and open source software. This allows the product to be modified to suite any particular environment. It uses NAT and supports up to four NICs. It is easy to set up virtual networks using VirtualBox. It has a snapshot feature for system restore.

• Pentium IV 1.2Ghz or Higher

• 128MB RAM or Higher

• 1 GB Hard disk space or Higher

• 800 x 600 screen resolution

• 20 MB memory base for video acceleration

Table 1: Three common Virtual Machines in use and their features

5. Typical System-Oriented IT Courses and Applicability of Virtual Machines

• Server or Systems Administration: students learning systems administration such as operating systems and networking require computer systems to practice basic concepts like installations, configurations and troubleshooting. Server operating systems for instance are designed to coordinate such network activities as allocating network resources to network objects (Minasi, Anderson, Beveridge, Callahan, & Justice, 2003). These objects are users, computers and other hardware, for

Ogunyemi & Johnston     The use of virtual machines    

 8  

example, printers and scanners. Providing students with enough computers to practice with in this context can be challenging and the challenges of preparing laboratories can be enormous and very expensive in terms of maintenance.

Students can use virtual machines to practise all these tasks effectively without incurring any maintenance or procurement costs. Virtual machines are very easy and fast to install and configure. Since nothing is at stake students can afford to practise without fear of causing damage to school infrastructures.

• Networking and Computer Forensics: practising computer network designs requires that a student is provided with at least three computers in the case of designing a server-client network. A peer-peer network requires only two computers. Simply put, students need adequate computers in a computer laboratory to learn and demonstrate basic concept like Local Area Networks (LAN) (Steffen, & Abu-Mulaweh, 2009). In order to learn network security, students must be taught how to hack or attack networks. Students are taught how to use various attacking tools and how they can be packaged as malicious codes, meant to disrupt network activities. Students are taught how they can spread viruses across a computer network. All these hands-on exposures are important for them in order to know how best they can protect networks of any organising employing their services (Li & Mohammed, 2008).

Using the physical laboratory to perform these tasks will amount to huge expenses for university authorities. There is also the danger of compromising computer and network securities. Virtual machines are however, very useful in performing these tasks. The isolation property of virtual machines ensures that the physical machine and other virtual machines are not compromised (Rosenblum, 2004).

• Software Development: virtual machines usage has proved very useful for software developers. They can use virtual machines to check vulnerabilities in their applications by running those applications on different operating systems platforms (Davis, 2005). This idea is also relevant in software engineering courses at undergraduate level.

• Database Administration: students can demonstrate comprehensive knowledge of database administration and data warehousing by using virtual machines to install, configure and administer database applications such as commercial SQL server and clients and Oracle applications. The snapshot feature of virtual machines enables students to always restore to safe points if they encounter problems during installation and configuration processes as a result of specifying wrong parameters (Bullers, Burd, & Seazzu, 2006). This is one of the advantages of using virtual machines in the learning environment. This practice allows students to gather expertise skills necessary to support real life business operations.

5.1. A Practical Illustration of Usage of Virtual Machine in Teaching Virtual Private Network (VPN) in a Server Administration Course

One way to demonstrate the usefulness of virtual machines in supporting hands-on learning of IT courses is by examining the deployment of virtual private network (VPN). As shown in figure 3, a virtual private network configuration requires five computers (four servers and one client workstation), and two switches or hubs. These resources are required for an individual student to configure and deploy a VPN in a physical laboratory scenario. This will amount to higher demand of system resources in order to carry out the tasks by the students, depending on their number. A group project may be necessary but may not be appropriate, as the students need to perform the task individually.

A better way to mitigate this situation is to use virtual machines on individual physical computers. Five virtual machines can be configured as appropriate on each physical machine. With the aid of virtual networks, two

Ogunyemi & Johnston     The use of virtual machines      

  9  

network segments can be configured; one for the internal network and the other to simulate an external network (the internet). Since virtual machines encapsulate the host hardware resources, it is easy to configure the VPN server such that it has two virtual network interface cards (NIC). Furthermore, a computer account can be created for the host computer in the domain controller (DC) active directory and the host can be used as the client to log on over the Internet to the virtual network it is hosting. This is made possible through the Network Address Translation (NAT) feature on the virtual machine.

172.16.0.1

IIS Server

Domain Controller

IAS Server VPN Server

SwitchSwitch

172.16.0.3

10.0.0.1

172.16.0.2 172.16.0.4 10.0.0.2

Client

Internal Network Access over the internet

Figure 3: Virtual Private Network Deployment

6. Distance Education

Distance education means off-campus education. It could be an education platform provided for students to work from home using campus facility, or for those who enrolled for long distance learning (Stackpole, 2008).

6.1. Virtual Machines Applicability in Distance Education Support

Distance education can be packaged in the form of a decentralized laboratory in which certain tasks are pre-configured in virtual machines and packaged in form of zipped files and handed to students (Li, 2009). Students can download and install the contents on their own machines and perform the required tasks. This is an example of illustrating how virtual machines can support off-campus education. Another way is by creating virtual networks in the campus laboratory. Students can be assigned certain levels of privileges to enable them to log on remotely to the virtual laboratory. Xen virtual machine software is very useful in designing this facility (Anderson, Joines, & Daniels, 2009). With the appropriate expertise skills in networking Xen virtual machine software can be used to configure a virtual laboratory, which resides on the campus laboratory facility and provides both LAN and WAN access through effective authentication and secured connectivity.

To improve academic learning, some institutions in America and Asia implemented certain virtualisation solutions to give students hands-on learning experience. A typical example is the SOFTICE project by the University of South Florida, USA. SOFTICE (Scalable, Open Source, Fully Transparent and Inexpensive Clustering for Education) was implemented to mitigate the problem of providing distance education to students (Anderson, Joines, & Daniels, 2009 ; Gaspar, Langevin, & Armitage, 2007). It was developed using clustering systems on campus lab computers to give virtual access to students. The project was built on Linux. This project implementation enables students to access their virtual machines residing on the campus virtual network over

Ogunyemi & Johnston     The use of virtual machines    

 10  

the Internet. It was important because of the problem of limitations and mobility associated with the decentralised laboratory system (Gaspar, Langevin, Armitage, & Rideout, 2008).

Xen Worlds is another virtualisation project, which was carried out at Iowa State University, Ames. It was built on Xen virtual machine software platform to provide a virtual laboratory for their Information Assurance programme (Anderson, Joines, & Daniels, 2009). The project was essentially to support the university on and off-campus students and to strengthen the virtual network security. The project is being used to support major undergraduate IT courses.

7. Implementation of Virtual Machines Usage to Support IT Academic Learning

This section seeks to propose a framework for implementing virtualisation solutions to support IT academic learning in the undergraduate IT curriculum. From the various works of contributors on virtualisation use in education reviewed in this paper, there are basic steps necessary for a successful implementation of virtualisation solutions in the academic learning environment. These steps are:

• Evaluate IT curriculum and its contents: the first step for individual institutions is to evaluate their IT curriculum contents. This is important in order to determine which virtual machine software is relevant for each course (Li, 2010).

• Evaluate existing IT Laboratory infrastructure: there is a need to take an inventory and evaluate existing IT laboratory infrastructures, especially existing computers. Computer memory capacities, hard disk sizes and processor speeds are important areas of assessments. For instance, some virtual machine software such as VMware workstations uses a lot of hardware resources while others like Virtual PC and VirtualBox use less (Li, 2010). Xen does not require the host’s operating system to run but any operating system running on it must be modified (Anderson, Joines, & Daniels, 2009). Institutions need to adopt virtual machine software that best suits them.

• Design the integration plan: this stage is very critical and must be approached using appropriate expertise skills. A good way to do this is to segment part of the existing laboratory or create a testing laboratory (IBM, 2007). A few existing computers can be selected and deployed in the test laboratory. Appropriate virtual machine software can be installed and configured on the test computers.

• Test-run the integration plan: the next step is to test-run the plan. A few students may be selected to use the facility to carry out certain course tasks in both centralised and decentralised laboratory environments (Dobrilovic & Odadzic, 2006). The effectiveness of the exercise must be observed and documented. Furthermore, the behaviour of the host and guest computers must be observed and documented. Responsiveness, CPU and memory utilisations can be monitored and documented.

• Decide: the next stage is to go through documentation and take the necessary decision to adopt, if the existing computers are inadequate and virtualisation solution does not impact negatively and there is capacity for implementation. Future adoption may be necessary if the existing infrastructure is adequate vis-à-vis enrolment capacity. Non-adoptability may arise if virtualisation solutions do not make any difference or are non-suitable.

• Integrate: the integration of virtualisation solutions into existing infrastructure can be deployed bit-by-bit. For instance, it may be done on course-by-course basis per semester, or per session. The integration can be approached based on what method is best suitable for individual universities.

The steps discussed above are illustrated in Figure 4.

Ogunyemi & Johnston     The use of virtual machines      

  11  

Evaluate existing IT Lab infrastructure

Evaluate VM Suitability

Design the integration plan

Test-run the integration

plan

Adopt

Integrate VMs into Existing Infrastructure

Evaluate IT curriculum and course contents

Determine scope of program

Adequate & Cost Effective Non Adoption

 

Figure 4: A conceptual VM implementation flow chart

8. CONCLUSION

This paper reviewed the adoptability of virtual machines as a complementing solution in mitigating the problem of inadequate computers to enhance hands-on learning experience by those students who enrolled for IT courses at the undergraduate level. Providing hands-on learning environments for students is vital to their chances of having the requisite skills to take up job opportunities in this IT-driven age. Virtualisation solutions integrated into IT curricula have yielded good dividends for those universities who have adopted it, in Europe, America and part of Asia. The aim of this paper was to provide insight into how virtual machines can be integrated into computing lab in order to enhance students’ practical exposures to those courses they learn at undergraduate level. It is hoped that university authorities in developing countries can also tap into this great incentive and innovation.

Another approach is for individual universities to begin to design their own projects such as SOFTICE and SOI in other to address their own particular area of need. Further area of studies may include conducting comparative studies of institutions who use virtual machines in their IT curriculum and those who do not, examining learners’ perceptions of the use of virtual machines to support learning and probably examine the adoption process and factors that influence it.

9. REFERENCES  

[1]   Anderson, B. R., Joines, A. K., & Daniels, T. E. (2009). Xen Worlds: Leveraging Virtualization in Distance Education. Proceedings of ITiCSE 2009 (pp. 293-253). Paris: ACM.

[2] Basu, P., Mikawa, S., Basuki, A., Thamrin, A. H., Okawa, K., & Murai, J. (2008). Distance Learning Computer-based Hands-on Workshop: Experiences on Virtual and Physical Lab Environments. Distance Learning and the Internet Conference, (pp. 111-117).

[3] Bem, D., & Huebner, E. ( 2007). Analysis of USB Flash Drives in a Virtual Environment. Small Scale Digital Device Forensic Journal, Vol. 1(1),1-6.

Ogunyemi & Johnston     The use of virtual machines    

 12  

[4] Bower, T. (2010). Experiences with Virtualization Technology in Education. Journal of Computing Sciences in Colleges, Vol. 25(5), 311-318.

[5] Bullers, J. W. (2006). Virtual Machines - An Idea Whose Time Has Returned: Application to Network, Security, and Database Courses. Proceedings of SIGCSE 2006 (pp. 102-106). Houston, Texas: ACM.

[6] Cartwright, D. (2005). A method to distribute virtual machines. TECHWORLD Accessed online at: http://review.techworld.com/applications/332/vmware-ace.

[7] Davis, M. (2005). Virtual PC vs. Virtual Server: Comparing Features and Uses. Microsoft Windows Server 2003, pp. 1-13.

[8] Dobrilovic, D., & Odadzic, B. (2006). Virtualization Technology as a Tool for Teaching Computer Networks. World Academy of Science, Engineering and Technology , Vol. 13, 126-130.

[9] Dobrzanski, L. A., & Honysz, R. (2009). On the Implementation of Virtual Machines in Computer Aided Education. Journal of Material Education, Vol. 31(1-2), 131-140.

[10] Ferreira, M. K., Freitas, H. C., & Navaux, P. O. (2008). From Intel VT-x to MIPS: An ArchC-based Model to Understanding the Hardware Virtualization Support. Proceedings of WCAE, (pp. 9-15). Beijing.

[11] Gaspar, A. , Langevin, S., & Armitage, W. (2007). Virtualization Technologies in the Undergraduate IT Curriculum. Journal of IT Professional, Vol. 9(4) 10-17.

[12] Gaspar, A., Langevin, S., Armitage, W., & Rideout, M. (2008). March of the (Virtual) Machines: Past, Present, And Future Milestones in the Adoption of Virtualization in Computing Education. Journal of Computing Sciences in Colleges, Vol. 23(5), 123-132.

[13] Gaspar, A., Langevin, S., Armitage, W., Sekar, R., & Daniels, T. (2008). The Role of Virtualization in Computing Education. Proceedings of SIGCSE 2008 (pp. 131-132). Oregon: ACM.

[14] Hickman, G. (2008). An Overview of Virtual Machine (VM) Technology and its implementation in I.T. Student Lab at Utah Valley State College. Journal of Computing Sciences in Colleges, Vol. 23(6), 203-212.

[15] IBM. (2007). Virtualization in Education. IBM Global Eduaction, pp. 1-20.

[16] Kind, T., Leamy, T., Leary, J. A., & Fiehn, O. (2009). Software platform virtualization in chemistry research and university teaching . Journal of Cheminformatics , [Electronic] 1:18, Available online at: http://www.jcheminf.com/content/1/1/18

[17] Laadan, O., Nieh, J., & Viennot, N. (2010). Teaching Operating Systems Using Virtual Appliances and Distributed Version Control. Proceedings of SIGCSE 2010 (pp. 480-484). Wisconsin: ACM.

[18] Li, P. (2009). Exploring Virtual Environments in a Decentralized Lab. ACM SIGITE Research in IT, Vol. 6(1) , 4-10.

[19] Li, P. (2010). Selecting and Using Virtualization Solutions - Our Experiences With VMware and VirtualBox. Journal of Computing Sciences in Colleges, Vol. 25(3), 11-17.

[20] Li, P., & Mohammed, T. (2008). Integration of Virtualization Technology into Network Security Laboratory. 38th ASEE/IEEE Frontiers in Education Conference (pp. 7-12). NY: Saratoga Springs.

[21] Minasi, M., Anderson, C., Beveridge, C., Callahan, C. A., & Justice, L. (2003). The Basics: Networking, Software, Servers, and Security. In M. Minasi, C. Anderson, C. Beveridge, C. A. Callahan, & L. Justice, Mastering Windows Server 2003 (pp. 21-38). Alameda, CA: Sybex Inc.

Ogunyemi & Johnston     The use of virtual machines      

  13  

[22]Murphy, M. C., & McClelland, M. K. (2009). My Personal Computer Lab: Operating in the "Cloud". Information Systems Education Journal, Vol. 7(93), 1-11.

[23] Nieh, J., & Vaill, C. (2005). Experiences Teaching Operating Systems Using Virtual Platforms and Linux. Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (pp. 100-104). St. Louis: ACM.

[24] Prieto, J., Feiteirinha, J., Bizarro, P., Gomez, E., & Pecchioli, M. (2008). Use of Virtualisation Techniques for Ground Data Systems. Space Operations Communicator, Vol. 5(4), 52-66.

[25] Rosenblum, M. (2004). The Reincarnation of Virtual Machines. Queue Focus: Virtual Machines, pp. 34-40.

[26] Shavers, B. (2008). Virtual Forensics. Retrieved May 4, 2010 from: http://www.forensicfocus.com/downloads/virtual-machines-forensics-analysis.pdf.

[27] Shields, G. (2008). The Shortcut Guide To Selecting the Right Virtualization Solution. London: Realtime Publishers, Inc.

[28] Stackpole, B. (2008). The Evolution of a Virtualized Laboratory Environment. Proceedings of SIGITE 2008 (pp. 243-247). Cincinnati, Ohio: ACM.

[29] Stackpole, B., Koppe, J., Haskell, T., Guay, L., & Pan, Y. (2008). Decentralized Virtualization in Systems Administration Education. Proceedings of SIGITE 2008 (pp. 249-253). Ohio: ACM.

[30] Steffen, G. D., & Abu-Mulaweh, H. I. (2009). Teaching Local Area Networking in a Secure Virtual Environment. Wiley Periodicals, Inc., pp. 1-10.

[31] Sugerman, J., Venkitachalam, G., & Lim, B. (2001). Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor. Proceedings of the 2001 USENIX Annual Technical Conference (pp. 1-15). Boston, Massachusetts: USENIX.

[32] Sultan, N. (2010). Cloud computing for education: A new dawn. International Journal of Information Management, Vol. 30, 109-116.

[33] Thomas, S. &. (2010). In the Zone: Virtual Computing on a Budget. Proceedings of SIGCSE 2010 (pp. 366-370). Milwaukee, Wisconsin: ACM.

[34] VMware. (2007). ACE Encryption Engine. Retrieved May 14, 2010 from: http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp859.pdf.

[35] Wabiszewski, M. G., Andel, T. R., Mullins, B. E., & Thomas, R. W. (2009). Enhancing Realistic Hands-on Network Training in a Virtual Environment. Proceedings of the 2009 Spring Simulation Multiconference (pp. 1-8). San Diego, California: Society for Computer Simulation International.