Publication Date

Summer 2016

Advisor(s) - Committee Chair

Dr. Michael Galloway (Director), Dr. James Gary, Dr. Zhonghang Xia

Degree Program

Department of Computer Science

Degree Type

Master of Science


There are several different implementations of open source cloud software that organizations can utilize when deploying their own private cloud. Some possible solutions are OpenNebula, Nimbus, and Eucalyptus. These are Infrastructure-as-a-Service (IaaS) cloud implementations that ultimately gives users virtual machines to undefined job types. A typical IaaS cloud is composed of a front-end cloud controller node, a cluster controller node for controlling compute nodes, a virtual machine image repository node, and many persistent storage nodes and compute nodes. These architectures are built for ease of scalability and availability.

Interestingly, the potential of such architectures could have in the educational field remains vastly underutilized. Large labs filled with costly machines could be replaced by an IaaS implementation of a cloud. The purpose of this thesis is to propose such an implementation for use in Computer Science courses.

The vertical architecture that I propose is known as V.I.C.E. which stands for Vertical Implementation of a Cloud for Education. It consists of a head node which will control the other nodes and handle the operations required to launch or terminate virtual machines( VMs), and five heterogeneous compute nodes on which VMs can be launched.

The most important features of my architecture are its scalability and simplicity. A middle-ware I developed is launched by the head node and draws the compute node information from a database and uses it to carry out operations. The user will access these operations through a web interface meaning that all the complexity is hidden from them. To add compute nodes one would simply hook up the machine and add its information to the database on the head node making the entire architecture highly scalable.

The goal of this research is to replace large costly computer labs with a vertical IaaS cloud architecture. This system would use thin clients to launch VMs from the cloud and allow students to a complete Operating System(OS) at a vastly reduced cost. More machines could also be added to the local cloud giving it the potential to support many more users.


Computer Engineering | Computer Sciences