You are on page 1of 141

A CLOUD COMPUTING FRAMEWORK FOR COMPUTER SCIENCE EDUCATION

Eman A. Aldakheel

A Thesis

Submitted to the Graduate College of Bowling Green


State University in partial fulfillment of
the requirements for the degree of

MASTER OF SCIENCE

December 2011

Committee:

Dr. Hassan Rajaei, Advisor

Dr. Guy Zimmerman

Dr. Jong Kwan Lee


ii

ABSTRACT

Dr. Hassan Rajaei, Advisor

With the rapid growth of Cloud Computing, the use of Clouds in educational settings can

provide great opportunities for Computer Science students to improve their learning outcomes.

In this thesis, we introduce Cloud-Based Education architecture (CBE) as well as Cloud-Based

Education for Computer Science (CBE-CS) and propose an automated CBE-CS ecosystem for

implementation.

This research employs the Cloud as a learning environment for teaching Computer

Science courses by removing the locality constraints, while simultaneously improving students'

understanding of the material provided through practical experience with the finer details and

subjects’ complexities. In addition, this study includes a comparison between Cloud-based

virtual classrooms and the traditional e-learning system to highlight the advantages of using

Clouds in such a setting.

We argue that by deploying Computer Science courses on the Cloud, the institution,

administrators, faculty, and the students would gain significant advantages from the new

educational setting. The infrastructure buildup, the software updating and licenses managements,

the hardware configurations, the infrastructure space, maintenance, and power consumption, and

many other issues will be either eliminated or minimized using the Cloud technology. On the

other hand, the number of enrolled students is likely to increase since the Cloud will increase the

availability of the needed resources for interactive education of larger number of students; it can

deliver advanced technology for hands-on training, and can increase the readiness of the students
iii

for job market. The CBE-CS approach is more likely to allow faculty to better demonstrate the

subjects' complexities to the students by renting he needed facilities whenever it is desired.

The research also identified several potential Computer Science courses which could be

launched and taught through Clouds. In addition, the selected courses have been classified based

on three well-known levels of the Cloud services: Software as a Service (SaaS), Platform as a

service (PaaS), and Infrastructure as a Service (IaaS). Subsequently, we propose to build a

framework for CSE-CS considering the service layers and the selected courses.

The proposed CBE-CS framework is intended to be integrated in a Virtual Classroom

Ecosystem for Computer Sciences based on Cloud Computing referred to as VCE-CS. This

ecosystem is scalable, available, reliable, and cost effective. Examples from selected pilot

courses (i.e., Database, Operating System, Network, and Parallel Programming) are discussed.

This research describes VCE-CS and argues for the benefits of such systems.
iv

To my family and all who supported me in my studies

To my parents, my husband, and my daughter

To every seeker of knowledge

I dedicate this research


v

ACKNOWLEDGMENTS

I thank God very much for the grace and blessings, and I would like to extend my sincere

thanks, appreciation, and praise to my Prof. Dr. Hassan Rajaei, the supervisor of this research,

who has guided me with his effort and time to successfully overcome all difficulties and

obstacles that I have faced and feared in my studies. He worked hard to highlight this message in

an admirable way, many thanks to him.

I would also like to greatly thank Dr. Zimmerman and Dr. Lee for their insightful and

valuable comments in committee meetings.

Also great thanks to the Computer Science Department for allowing me this opportunity

to explore my research and theory.

Last but not least, I would like to thank my parents, my husband, my family, and my

friends for their gallant support.


vi

TABLE OF CONTENTS

Page

CHAPTER 1. INTRODUCTION ................................................................................................... 1

1.1. Background ...................................................................................................................... 1

1.2. Problem Statement ........................................................................................................... 3

1.3. Research Goal and Objectives.......................................................................................... 4

1.4. Contributions .................................................................................................................... 5

1.5. Organization of the Thesis ............................................................................................... 6

CHAPTER 2. CLOUD COMPUTING OVERVIEW .................................................................... 9

2.1. Definition of Cloud Computing ....................................................................................... 9

2.2. Service Models ............................................................................................................... 12

2.2.1. Infrastructure as a Service (IaaS) ............................................................................ 12

2.2.2. Platform as a Service (PaaS) ................................................................................... 13

2.2.3. Software as a Service (SaaS) .................................................................................. 14

2.3. Importance of the Cloud................................................................................................. 15

2.4. Virtual Data Centers Overview ...................................................................................... 17

2.4.1. Definition of Virtual Data Centers .......................................................................... 17

2.4.2. Services ................................................................................................................... 18

2.4.3. Importance of the Virtualization ............................................................................. 19

CHAPTER 3. CLOUD-BASED EDUCATION ........................................................................... 21

3.1. Virtual Classroom .......................................................................................................... 22

3.1.1. Definition of Virtual Classroom ............................................................................. 22

3.1.2. Types of Virtual Classroom .................................................................................... 23


vii

3.1.3. Benefits and features ............................................................................................... 25

3.1.4. Challenges and Limitations..................................................................................... 26

3.3. Cloud-Based Education (CBE) ...................................................................................... 31

3.4. Cloud-Based Education for Computer Science (CBE-CS) ............................................ 37

3.5. Advantages ..................................................................................................................... 39

3.5.1. Students ....................................................................................................................... 39

3.5.2. Faculty ......................................................................................................................... 40

3.5.3. Administrator ............................................................................................................... 41

3.5.4. Institution ..................................................................................................................... 41

3.6. Limitations ......................................................................................................................... 42

3.6.1. Security and privacy .................................................................................................... 42

3.6.2. Latency and Network Limits ....................................................................................... 42

3.6.3. Interoperability and Lock-In ........................................................................................ 43

3.6.4. Clarity of Service Level Agreements .......................................................................... 43

3.6.5. Storage Scalability ....................................................................................................... 44

CHAPTER 4. LITERATURE REVIEW AND RELATED WORK ........................................ 45

4.1. Frameworks and Applications............................................................................................ 45

4.2. Toolkits/Frameworks for Simulate Cloud Computing ....................................................... 64

4.2.1. CloudSim ..................................................................................................................... 64

4.2.2. GreenCloud ............................................................................................................. 65

4.3. The Proposed Work Differences .................................................................................... 66

CHAPTER 5. OBJECTIVES AND METHODOLOGY .............................................................. 67

5.1. Objectives of the Study .................................................................................................. 67


viii

5.2. Methodology .................................................................................................................. 68

5.2.1. Identifying the Computer Science Courses............................................................. 68

5.2.2. Selecting Clouds ..................................................................................................... 70

CHAPTER 6. PILOT CBE-CS COURSES .................................................................................. 75

6.1. Database ......................................................................................................................... 75

6.2. Operating Systems.......................................................................................................... 77

6.3. Parallel Programming..................................................................................................... 79

6.4. Data Communication and Network ................................................................................ 81

CHAPTER 7. CLOUD-BASED EDUCATION FOR COMPUTER SCIENCE (CBE-CS)

ECOSYSTEM ............................................................................................................................... 83

7.1. Building the Framework................................................................................................. 83

7.2. Selection of Pilot Courses .............................................................................................. 88

7.3. Implementation Proposal................................................................................................ 88

CHAPTER 8. DISCUSSION ........................................................................................................ 99

CHAPTER 9. FUTURE WORK ................................................................................................ 101

CHAPTER 10. CONCLUSIONS ............................................................................................... 104

REFERENCES ........................................................................................................................... 105


ix

LIST OF FIGURES
Figure Page

Figure 1: Evolution of Cloud Computing based on other Computing models ............................. 10

Figure 2: Overview of Grids and Clouds overlapping .................................................................. 12

Figure 3: Basic Service Layers of Cloud Computing with some selected Cloud service providers

for each layer................................................................................................................................. 15

Figure 4: Hierarchical view of Cloud Computing based on the data centers ............................... 18

Figure 5: Avatar-based 3D virtual classroom ............................................................................... 24

Figure 6: Interaction options in online discussion ........................................................................ 24

Figure 7: Guest access link to archives of e-learning system ....................................................... 25

Figure 8: A P2P network architecture which has two sub networks in each subnet the peers

directly send their requests to each other ...................................................................................... 29

Figure 9: Multi-Server online game system with dispatcher ........................................................ 30

Figure 10: Educational learning environments ............................................................................. 32

Figure 11: Users' benefit interconnection of using Cloud Computing services............................ 37

Figure 12: Web service oriented framework with multiple tiers for dynamic e-learning system 48

Figure 13: Architecture of an e-learning ecosystem based on Cloud Computing infrastructure.. 49

Figure 14: SAR image containing speckle noise .......................................................................... 52

Figure 15: Proposed Cloud Computing conceptual design for SAR images distribution ............ 53

Figure16: The main components of Al-Zoube's system ............................................................... 55

Figure 17: The logic structure of the EduCloud ........................................................................... 58

Figure 18: The iterative development route of the EduCloud ...................................................... 59

Figure 19: The open framework for e-Education Cloud ............................................................... 60


x

Figure 20: The model of application of Cloud Computing........................................................... 61

Figure 21: Framework for developing innovative personal learning environments ..................... 62

Figure 22: Elastic-R: Virtual e-Research/e-Learning environment .............................................. 63

Figure 23: Layered CloudSim architecture ................................................................................... 65

Figure 24: Cloud Computing and potential Computer Science courses ....................................... 69

Figure 25: Select a DB2 image from IBM's Clouds to setup the operating system ..................... 75

Figure 26: Configure the DB2 image from IBM's Clouds to deploy SQL and PHP example ..... 76

Figure 27: Windows Azure database solution interface snapshot ................................................ 77

Figure 28: AWS interface with the selection of Elastic Beanstalk tap ......................................... 78

Figure 29: Select instance from the available virtual machine image to allow start

implementation and dealing with the operating system ................................................................ 79

Figure 30: Amazon EC2 interface and services snapshot ............................................................. 80

Figure 31: Amazon Virtual Private Cloud (VPC) service interface snapshot .............................. 81

Figure 32: Select deployment methodology of the virtual private Cloud snapshot ...................... 82

Figure 33: Cloud based virtual classroom architecture................................................................. 83

Figure 34: Cloud based virtual classroom for Computer Scientests architecture ......................... 84

Figure 35: Virtual Classroom Ecosystem for Computer Science based on Cloud Computing .... 85

Figure 36: OpenNebula historical time line .................................................................................. 89

Figure 37: OpenNebula virtual infrastructure engine components ............................................... 90

Figure 38: Typical Aneka Cloud deployment ............................................................................... 91

Figure 39: Aneka framework architecture .................................................................................... 92

Figure 40: An overview of a hybrid Cloud for an institution like BGSU..................................... 94

Figure 41: BGSU's hybrid Cloud architecture .............................................................................. 98


xi

LIST OF TABLES

Table Page

Table 1: Characteristics of Cloud and Grid Computing ............................................................... 11

Table 2: Comparison between E-learning and Cloud-based virtual classrooms .......................... 34

Table 3: Course benefit comparison between E-Learning and Cloud-based virtual classrooms . 35

Table 4: The users’ benefits in Cloud-based virtual classrooms based on our selected criteria ... 36
1

CHAPTER 1. INTRODUCTION

1.1. Background

The accelerated development in Information Technology and the necessity for enhanced

learning environments by harnessing existing technologies and resources has created a need to

teach Computer Science students more effectively. Cloud Computing appears to be one of the

most beneficial technologies for this purpose due to its numerous characteristic such as:

availability, scalability, agility, elasticity, and reliability for on demand services. These

characteristics, among many others, can give the impression that Cloud Computing could

significantly enhance the Computer Science learning environment.

Bowling Green State University (BGSU), like many other institutions, has been pushed to

revise its IT infrastructure structure and follow the Cloud development. The traditional

infrastructure may only meet the QoS of the advanced e-learning tools and systems;

Accordingly, BGSU is moving to the Cloud within the next five to ten years. Consequently, we

should know the Cloud-based framework in general and more specifically on behalf of the

Computer Science Department. This preparation would largely reduce the amount of planning

time of converting the current system infrastructure architecture to Cloud-based when the

University moves to the Cloud-based infrastructure in the near future. Since Cloud Computing

has emerged in the past few years, emphasis and significant effort has been involved in exploring

and defining this new technology (Dong et al., 2009a; Marinos & Briscoe, 2009; Gong et al.,

2010; Scale, 2010; Wang et al., 2010; Marston et al., 2011; Vaquero, 2011). Technology experts
2

said by 2020, most institutions and companies are going to move to the Cloud which will

eliminate the dependency of desktops (Anderson & Rainie, 2010). “Cloud Computing” is a buzz

term which could have various definitions, e.g. "large data centers permit resource sharing across

hosted applications and lead to economies of scale at both the hardware and software level"

(Terry, 2011); however, the universal scheme among all Clouds is the scalability of providing

service capabilities through the Internet (Zhang, 2009). These services vary, starting from any

needed hardware until it reaches an application as a software service. Numerous research efforts

(Dong et al., 2009a, b; Rao et al., 2010; Vaquero, 2011) in the education field have focused on

using public Clouds, such as Windows Azure (Microsoft, 2011c), Amazon Elastic Compute

Cloud (EC2) (Amazon, 2011a), and Google AppEngine (Google, 2011a). These researchers seek

the power of the Cloud’s infrastructure, platforms, and software known as Infrastructure as a

Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) respectively.

In this research, we propose to build a framework to utilize the Clouds’ features in the

teaching process of Computer Science courses. The Clouds’ platforms, in our case, are

considered educational tools for Computer Science. Since there are a variety of Cloud types and

services, we identify the courses that could apply Cloud Computing to their teaching processes.

We used Bowling Green State University (BGSU) Computer Science department’s curriculum

with in respect to the ACM and IEEE Computer Society’s latest curriculum to categorize the

courses; this classification was based on how we could maximize the advantages of the Clouds'

services. In the second step, we organize the selected courses according to the service layers

(IaaS, PaaS, and SaaS) of the Cloud. Based on the preferred courses, the framework was built to

include all the needed functionalities. The framework was designed with respect to the basic

Service Oriented Architecture (SOA) classification to provide a flexible and independent


3

approach (Papazoglou & Heuvel, 2007; Vouk, 2008; Fang & Sing, 2009; Feuerlicht &

Govardhan, 2009; Seo et al., 2010) which can be easily constructed into a robust infrastructure

(Sedayao, 2008). After performing short experiments with Windows Azure and Amazon Clouds

to explore the available services, this research considers the Computer Science courses with

some examples of how these courses exploit Cloud Computing in students learning abilities. The

goal is to provide more effective learning environments for both the faculty and students by

focusing on development (Truong & Dustdar, 2011) without addressing unnecessary hardware

configurations, software updating, or any maintenance issues in the non-theoretical courses. For

instance, testing a security algorithm in a distributed environment requires network connectivity

before testing the code which distracts the student and faculty from focusing on the original

problem. As a result, testing the algorithm on the Cloud keeps the student focused and may give

him/her the ability to go beyond that point of knowledge and produce better outcomes (Cappos et

al., 2009; Ivica et al., 2009). Due to the financial crisis, corporation budgets were significantly

decreased in 2009 (Gudaneseu, 2010) which made Cloud Computing one of the best solutions

for their e-learning environments. As a result, companies can train their employees using the

Cloud solutions, and the educational institutions can also educate their students by using Cloud

tools and infrastructure.

1.2. Problem Statement

Current Computer Science educational settings are traditional and often unable to face the

demand of rapid changes in technologies in an interactive learning environment. The same is true

for e-learning which appears to have numerous limitations starting from use of local

surroundings. In addition, the infrastructure limitations often force institutions to avoid using
4

multimedia contents in synchronized form due to the cost. Because of these limitations and many

others, institutions often eliminate the use of sophisticated educational platforms.

This research is intended to create a framework for Computer Science education to

remove some of the above limitations and challenges by harnessing the power of Cloud

Computing. The framework removes the locality constraints, allowing students and faculty to

collaborate in a distributed and interactive surrounding. In addition, Cloud Computing provides a

set of tools to help educators explore subject complexities in a manageable manner without the

risk of harming the system because of the virtualization technology within the Cloud Computing

preventing the damage (Vouk, 2008). The new Cloud-based E-learning environment can be

solid, hold more sophisticated packages, and support synchronized contents without much

concern about the infrastructure limitations. The resources, when they are needed, can be rented

from the Cloud.

1.3. Research Goal and Objectives

The research goal of this project is to build a Virtual Classroom Ecosystem for Computer

Science Education based on Cloud Computing (VCE-CS) which will enhance the learning

progression. We propose a new framework that deploys a hybrid Cloud model which allows

better utilization of the IT infrastructure for educational purposes for a learning institution like

BGSU.

The main objective of the research is to explore Cloud Computing potential for Computer

Science education due to the intimate relationship between this domain and the Cloud which

distinguishes CBE-CS from any other Cloud-Based education. While most CBE operates on the

top level of the Cloud, CBE-CS can penetrate into all levels of the Cloud to explore, for example,
5

Distributed Operating System, Communication Networks, Parallel Programming, Database

Managements, Web-based applications, and many others.

The research's second objective is to provide an enhanced learning environment by

answering the following questions: How can we harness the Cloud as a learning environment to

teach Computer Science courses?

Other objectives include providing a cost effective solution, scalable, and accessible

environment that could be deployed in any learning institution which teaches Computer Science

courses. More details are described in Chapter 5, specifically in Section 5.1.

1.4. Contributions

This research presents a Virtual Classroom Ecosystem for Computer Science (VCE-CS),

a framework based on Cloud Computing to teach selected Computer Science courses, such as

Fundamental Programming, Data Analytics, Net-Centric Computing, Computational Science,

Distributed Systems and Simulation, Network Communications, Service Management,

Virtualization, Human-Computer Interaction, Information Management, Computer Security, and

Operating Systems. The framework aims to obtain the benefits of Clouds’ services in the

teaching processes by using those services to test and apply the Computer Science course

concepts, especially the programming-based courses. The major Contributions are as follows:

I. Describing a Cloud-based education in general and for Computer Science in

particular.

II. Providing framework architecture for Cloud-Based Education (CBE) and Cloud-

Based Education for Computer Science (CBE-CS).


6

III. Implementing a Virtual Classroom Ecosystem designed for Computer Sciences

based on Cloud Computing (VCE-CS).

IV. Piloting Computer Science courses on CBE-CS.

V. Identifying and describing the benefits of CBE-CS for students, faculty,

administrations, and universities.

VI. Exploring the future direction of CBE-CS.

The VCE-CS is a framework that uses Clouds and the services provided by a Cloud

Service Provider (CSP). It delivers a Platform as a Service for the selected Computer Science

courses to be launched on the Cloud. VCE-CS utilizes the three layered architecture of the cloud

services to clearly identify the courses’ positions on the frameworks with respect to the service-

oriented architecture (SOA). The VCE-CS framework uses OpenNebula, an open source

package, to manage and automate the operation of the virtual infrastructures for both BGSU’s

Cloud (the private Cloud) and the integrated public Cloud. On top of OpenNebula is Aneka,

which controls the software and the platform layer by providing a configurable, flexible, and

multi-programming model that provides a hybrid cloud deployment model.

1.5. Organization of the Thesis

This research proceeds as follows. In Chapter 2, there is an overview of Cloud

Computing followed by an outline of a Virtual Data Centers (VDC). Cloud-Based Education

(CBE), which explores the virtual classroom (VCR) and their technologies along with the CBE

benefits and limitations, is discussed in Chapter 3. In Chapter 4, the related work is presented

with four subsections, starting from the existing platforms and applications, moving to some of

the available simulation toolkits and available frameworks of Cloud implementations, and ending
7

with the knowledge gap of the proposed work with the presented related work; in other words,

the significance of the proposed study. Chapter 5 describes the objectives and the methodology

of the proposed work. Examples from the pilot courses are explained in Chapter 6, while

Chapter 7 proposes the Cloud-Based Education for Computer Science (CBE-CS) ecosystem

framework. A discussion of the presented work is offered in Chapter 8 followed by future work

in Chapter 9. Finally, the research's conclusion is offered in the last chapter.


8
9

CHAPTER 2. CLOUD COMPUTING OVERVIEW

2.1. Definition of Cloud Computing

Currently, there is no standard definition for Cloud Computing. In this section, we try to

clarify what Cloud Computing is. Cloud Computing is Internet-based technology (Chine, 2010;

Cubillo et al., 2011) which provides computational resources via a computer network and

provides flexible, scalable, and on-demand services to the end users by centralizing the storage

and network bandwidth as well as processing memory. Cloud Computing is a computing

platform that offers computing power for scientists when they are exceeding institutions' local

computing capabilities (Armbrust et al., 2009). Cloud Computing has moved the user from being

attached to a single machine to the Internet (Yixin, 2010); therefore, the user is freed from

thinking about the file’s physical location. For example, the user is no longer concerned about a

specific desktop or flash drive, but instead focuses on the availability of Internet connection.

CSPs assure their runtime performance of individual applications by Quality of Service (QoS)

(Buyya et al., 2010; Doelitzscher et al., 2011). These services are classified into three basic

layers—applications, platforms, and infrastructures—which serve different purposes and provide

various services (Creeger, 2009).

In recent years, Clouds have spread dramatically (Pocatilu et al., 2010) because of

features which make it the target of most Cloud Service Providers (CSPs). Currently, there is no

comprehensible definition or standard for Cloud Computing that all CSPs agree upon since each

provider utilizes terminology based on its own product’s portfolio. Despite several

standardization efforts, there is no clear standard for the Cloud Computing (Qian et al., 2009).

Furthermore, Cloud Computing is considered a combination of Distributed Computing, Grid


10

Computing, and Utility Computing (Kim et al., 2011). A simple illustration of Cloud Computing

development is shown in Figure 1:

Clo
ud
Co
mp
uti
Utility
ng
Comp
uting
Grid
Computing

Distributed
Computing

Figure 1: Evolution of Cloud Computing based on other Computing models

Vaquero et al. (2009) stated that it is an important issue to have a standard definition for

Cloud Computing. They believe that the unified definition will help to expand the view of Cloud

Computing rather than focus on industry benefits. Subsequently, they collected around 22

definitions and identified the similar features between them. Based on their analysis, they

proposed a definition which included most of the existing feature of Cloud Computing. Because

of overlap in the Grid Computing and Cloud Computing definitions, Vaquero et al. compared

Grid Computing with Cloud Computing from 17different angles, distinguishing between the two

paradigms. Gong et al. (2010) have studied the differences between Grid Computing and Cloud

Computing from eight angles, and they summarized their findings in Table 1. The first chosen

characteristic is service oriented architectures (SOA) representation adapted by both Clouds and
11

Grids. The other characteristics are the loose coupling, strong fault tolerant, ease of use, TCP/IP-

based, and virtualization which all Clouds are based upon while the Grids do not have the whole

characteristic which represented as a half, in Table 1.

Table 1: Characteristics of Cloud and Grid Computing (Gong et al., 2010)

Foster et al. (2008) have illustrated the overlap between Grid Computing and Cloud

Computing as shown in Figure 2. The figure showed that the Clouds have built on top of Web

2.0 while the Grids can be utilized in Web 2.0. Furthermore, The Clouds are more scalable and

service oriented when comparing them to the Grids.

The most important consideration when choosing a CSP is the Service Level Agreement

(SLA). The terms of use, privacy, security, usage of the services, and how these services will be

delivered to the user must be clearly stated in the SLA. The user has to understand the SLA

details to avoid any problems in the future.


12

(Foster et al., 2008)


Figure 2: Overview of Grids and Clouds overlapping

In essence, the basic definition of Cloud Computing is providing on-demand services

based on a Service Level Agreement (SLA) which guarantees a specific level of performance

and services uptime (Broberg et al., 2009) and the principle of payment per used amount.

2.2. Service Models


Cloud services can be categorized into three main service models. These services, with

each one considered a layer in the Cloud, are illustrated below.

2.2.1. Infrastructure as a Service (IaaS)

The first layer is the Infrastructure as a Service (IaaS). In this layer, the whole IT

infrastructure can be delivered as a service. The CSPs offer different services, for example,

computing power represented in the Virtual Machines (VMs), storage, networking services such

as switches, routing services with load balancers, and workload capabilities. The user can easily

obtain the needed resources like servers, storage, and connections. The infrastructure services are
13

distributed to the users via the CSPs' data center. Amazon Elastic Compute Cloud (Amazon

EC2), for example, provides compute capacity via Amazon's data centers.

IaaS offers a scalable infrastructure with the rapid provisioning feature (Pathan et al.,

2009; Zeng et al., 2009). In addition, users will pay only for the used resources which eliminate

the capital expenses; thus, the budget will be controlled, which is the most difficult task for small

institutions and businesses. By integrating Clouds to offer additional infrastructure, institutions

will no longer be worried about resource limitations.

2.2.2. Platform as a Service (PaaS)

The second layer is the Platform as a Service (PaaS), a virtual platform over the Internet

gives users the ability to develop and deploy their applications. CSPs provide a set of tools to

help the developer to build their applications easily by using any number of servers. In the PaaS

layer, the user can select appropriate operating systems to develop the intended application. The

user can use plug-ins or prebuilt sub-programs for any Web-based applications which are

compatible with the CSP's applications to save time. PaaS provides services in different levels;

the user can use an existing set of deployed applications via an interface which is considered a

high level of service, or user can build a platform or applications using the provided operating

systems and middleware.

The PaaS users and SaaS developers do not need to install any application or use specific

hardware; all they need is a device connected to the Internet, and can browse web pages.

Platform as a Service provides a set of preconfigured images for different VMs with different

operating systems; thus, all the developers (users) need is to select the images then start

developing their applications on the Cloud.


14

2.2.3. Software as a Service (SaaS)

The third layer is the Software as a Service (SaaS). SaaS is the simplest layer of this

category; it simply means accessing an application through the Internet on demand. In the SaaS

layer, the CSP provides a single instance on the Cloud for multiple users. Google Apps, one of

the most powerful SaaS used by many institutes (Google, 2011b), provide a variety of Web-

based applications for business, education, and government.

Figure 3 shows examples of CSPs in respect to the Cloud service layers illustrated above.

In the bottom of Figure 3, the Infrastructure as a Service (IaaS) layer shows servers, storage,

connectivity, load balancing, and firewall services. As the figure showed GoGrid which provides

IaaS services. Moreover, Amazon EC2 provides compute capabilities while Amazon S3 offers a

storage service. On top of IaaS, the Platform as a Service (PaaS) layer that acts as a container

enables the users to modify the environment as well as develop and deploy their applications,

such as Force.com, Windows Azure, and Google AppEngine. The most abstract layer of the

Cloud service layers is Software as a Service (SaaS) which enables users to run hosted

applications on the Cloud and use them remotely. For example, Yahoo mail and Gmail which

provides email service over the Cloud. Additionally, as we see in the top of Figure 3 SalesForce

which provides Customer Relation Management (CRM) applications.


15

Figure 3: Basic Service Layers of Cloud Computing with some selected Cloud service providers
for each layer

2.3. Importance of the Cloud

Important characteristics of Clouds include scalability, flexibility, elasticity,

interoperability, and reliability of on-demand services (Jadhwani et al., 2011). The client (user)

strives for such characteristics. Besides the payment based on usage which offers a cost effective

solution, the CSPs offering Clouds services likewise benefit in return for paying for such

services.

One of the most important characteristics is scalability (Kondo et al, 2009) also known as

"the power of scale" (Delic & Walker, 2008) which is gained from the virtualization that the

Cloud builds upon. Without having such virtualization, the Cloud could not exist in its current

shape with unlimited scalability (Zhang & Zhang, 2009; Idziorek, 2010; Jadhwani et al., 2011)
16

by having the illusion of the unlimited resources availability (Goldstein, 2010), flexibility, and

elasticity which save a lot of configuration, updating, and maintenance effort.

One of the primary benefits of Clouds is cost reduction (Sobel et al., 2008; Powell, 2009;

Pocatilu, 2010; Cubillo et al., 2011). Cloud users employ the hosted applications on the Cloud

on top of the SaaS layer which eliminates the expenses of updating, maintaining, and securing

applications while still allowing the user to benefit from the massive ability of the Cloud’s

scalability in user number and file size. Cloud Computing storage and delivery services have

significantly reduced the cost (Broberg et al., 2009), thus presenting a valuable solution during

the current financial crisis to enable the institutions to maintain the quality of services (Mircea,

2010).

Cloud Computing with virtualization is decreasing the expense of capital (Kondo et al.,

2009; Nandi et al., 2010) by increasing virtualization of the resources. This procedure removes

operational expense by automating the requested service. It provides a user interface which

contains all the services that can be delivered. Delivering the services via Cloud Computing

increases the resource utilization and availability (Chahal et al., 2010).

In addition to cost reduction, the Cloud can save time (Ekanayaka & Fox, 2009; Ramani,

2011), energy consumption (Berl et al., 2009; Richards et al., 2010; Ferzli & Khalife, 2011), and

effort in building infrastructure (Basak et al., 2010; Hofmann, 2009). Furthermore, doing the

mobile computational process on the Cloud can save a mobile's battery (Gember & Akella, 2010;

Miettinen & Nurminen, 2010; Zhu et al., 2011). We can easily get the needed solutions from

Clouds. Further, the Cloud offers massive data processing and sophisticated applications which

can solve the computational needs of a wide range of scientific disciplines, such as e-science

(Mustafee, 2010; Fox, 2011; Truong & Dustdar, 2011) and climate research (Evangelinos &
17

Hill, 2008) due to the numerous virtual data centers that they provide as servers. In addition, the

Cloud collaboration tools and application have attracted scientists who desire to share their

information and imitate others' work (He et al., 2010; Richards et al., 2010). Kseneman et al.

(2010) have stated that Cloud Computing offers a robust and fast computing environment.

Moreover, using Cloud Computing Infrastructure with its remote management ability creates

communication, collaboration, and resource sharing abilities with other institutions (Veni &

Masillamani, 2010). For more detailed information about the benefits, see Section 3.5.

2.4. Virtual Data Centers Overview

2.4.1. Definition of Virtual Data Centers

Virtual Data Centers (VDCs) are a combination of data centers and virtualization. The

data center is a collection of server farms and computers in a physical location known as a Cloud

Computing base (Tsai et al., 2010). These data centers have to be managed by human

involvement. In Figure 4, Tsai et al. have showed Cloud services that have been built on top of

data centers. The virtualization is a software-based technology considered as core technology to

enable Cloud Computing (Zhang & Zhou, 2009). Nick et al. (2010) have defined a virtual data

center as "a pool of virtual resources that appear in terms of performance to be locally connected,

and can be managed as a set." VDC gives the illusion of dealing with real hardware or software

by using partitioning and time-sharing mechanisms, while it provides partial or complete images

to optimize and integrate servers (Kotov, 2001; Kant, 2009). Each Cloud’s user is the only one

who knows how to use the server or application, for example. The incorporation of virtualization

methodology into the data centers divides the resources among numerous execution

environments which increases the flexibility and efficiency of Cloud’s infrastructure which
18

affects all types of services since they are built on top of the infrastructure layer. Virtualization is

a helpful technique to provide an isolation of the VMs images and underlying infrastructure

which enable high portability (Vouk, 2008).

Figure 4: Hierarchical view of Cloud Computing based on the data centers


(Tsai et al., 2010)

2.4.2. Services

The main service gained from the VDCs is the infrastructure as Utility Computing

services. These services provide high performance infrastructure, such as server, compute,

storage, and network resources in Cloud Computing known as Infrastructure as a Service (IaaS).

VDC services keep the users away from outdated hardware, provide the ability to

implement disaster recovery backup efficiently, and permit the users to deploy their applications

and develop their projects on a highly scalable and flexible infrastructure with different operating

systems regardless of the servers' operating systems.


19

2.4.3. Importance of the Virtualization

Virtualization plays an important role in using VMs by providing more secure Clouds

(Basak et al., 2010; Liu et al., 2010b) and by using sandboxes to run their applications (Di

Costanzo et al., 2009). VMs guarantee the isolation of non-trusted applications from the running

VMs which imply an additional secure layer. Adding to the security feature, the VMs can handle

any operating system regardless of the physical machine’s operating system. Using VMs allows

users to run different operating systems simultaneously which presents shared memory

multiprocessors and opens the door to effective compatibility. Through the use of the

virtualization, we can incorporate new features in the current operating systems, make backups,

and recover from disasters easily. The use of VMs enables users to customize their environments

on top of the physical infrastructure (Di Costanzo et al., 2009).

By using virtualized data center technology, we can reduce the costs (Gambi et al., 2009)

of hardware, management, administration, and maintenance. The virtualization technology uses

virtual machines and tools to show the underutilized machines with maximum resource

utilization by running more than one virtual machine (VM) on a single physical machine.

Before virtualization, several servers were needed. These VMs are used to consolidate servers, so

the CSPs centralize the workload, thus allowing one virtual server to exist in different

geographical areas.

Virtual machines can assure the quality of service by creating test scenarios since VMs

are isolated from the physical machines. This isolation feature provides a valuable environment

for researchers and academic experiments to encapsulate their applications and systems. These

characteristics add to the ability to test the system behavior for fault command. In addition, VMs

give the system mobility which simplifies software migration. Access control and security are
20

increased while the maintenance cost is reduced (Kotov, 2001). Moreover, VDC can be deployed

on the Cloud in minutes compared to physical data centers deployment of days or weeks (Basak

et al., 2010).
21

CHAPTER 3. CLOUD-BASED EDUCATION

Distance Learning (DL), also known as e-learning, has played an important role in

support of the educational process, especially for people who have health, work, location or

disability conditions that make it difficult for them to attend a traditional classroom. In addition

to addressing these concerns, distance learning also provides flexibility in time, place, and

scheduling (Blake, 2008). Distance learning involves teaching students who are not physically

present in traditional classroom settings via the Internet (Zhang & Nunamaker, 2003). Students

may also join online discussions and chats, watch videos, take online exams, meet online to

complete term projects, and complete other homework assignments to meet the learning

objectives of a class (Finke & Bicans, 2010). This use of electronically distributed knowledge is

considered e-learning (Dong et al., 2009c). Even with such a flexible learning environment, there

are limitations and challenges (Rajaei, 2004), such as scalability, quality, real-time interaction,

and affordability due to the space restriction and the technology used. This technology is a

typical Client/Server model of interaction with network bandwidth limitations. When many

requests are sent to the server, it will result in congestion. Having online courses on such

advanced e-learning environment requires an infrastructure with a system implementation of

management and maintenance (Tang & McCalla, 2003). This environment secures the job for the

working people and provides improved career opportunities due to flexibility, cost effectiveness,

and school choices regardless of geographical boundaries while also maintaining individual

learning pace (Zhang & Nunamaker, 2003). On the other hand, most of the available
22

environments lack social interaction caused by current technology restrictions and limits to

assure quality of service (QoS). Moreover in 2006, International Data Corporation (IDC) has

estimated that e-learning market would reach up to $28 billion by 2008 (Brown, 2006), and by

2006 the synchronous e-learning alone will be worth over $5 billion (Stephen & Gary, 2006)

which has been as least doubled by 2011 based on the e-learning trend.

3.1. Virtual Classroom

3.1.1. Definition of Virtual Classroom

The virtual classroom is an interactive environment where the learners and instructor

interact via computers (Chen & Liu, 2009). Such a network environment can be accessed via any

mobile device that has Internet access. In a virtual classroom, the virtual learning environment

can be created by using multimedia technologies (Liu et al., 2003) that enable interactive content

containing audio and video. With the evolution of Web 2.0, social interactions (Sankey &

Huijser, 2009; Redondo et al., 2010; Jaligama & Liarokapis, 2011) have played an important role

in the virtual environment functionality beyond that of simple game-based learning. Unlike a

traditional classroom, in the Virtual Classroom (VCR), the content of the course is reusable (Das

et al., 2010). Furthermore, Wong (2007) has defined e-learning as the involvement of computer

multimedia, and network technologies in the learning process.

Learning via the Internet involves learning content that is hosted on the Internet, thus

making it accessible anytime or anywhere the learners need it (Zhang & Nunamaker, 2003).

Since e-learning offers such flexibility, it has been adopted by many companies and universities

to eliminate traveling expenses and time delay (Zhang & Nunamaker, 2003). Zhang (2002) has
23

claimed that many companies, such as Dell Learning, CISCO E-Learning, and HP Virtual

Classroom are moving toward e-learning to train their staff.

3.1.2. Types of Virtual Classroom

VCR has two types of learning environments (Liu et al., 2003) which can promote

interaction between the learner and educator.

3.1.2.1. Computer-Based Training (CBT)

In this type of interaction, the learning content can be accessed anytime or anywhere

since it has been prepared in advance and placed on the Internet. This type of learning is

considered as an asynchronous learning mode. In asynchronous mode, the learners cannot

interact in real-time.

3.1.2.2. Real-time Distance Learning

Video conference systems allow real-time interaction because the educator and learners

are in one physical place, though not the same shared physical space. This mode is called an

“asynchronous learning mode,” and it provides a vivid virtual learning environment, such as

streaming media (Liu et al., 2009b) which creates an interactive environment by enabling the

learner to play a large audio or video file before the file is completely downloaded. This type of

learning environment is available for users via the internet (Chen & Liu, 2009) in which human

interaction, such as facial expressions bring into VCR (Callaghan et al., 2009a, b; Martin, 2010).

Moreover, they usually are streaming video or audio resources into the virtual world, such as

Second Life (Second Life, 2011).


24

There are several VCR software applications which provide asynchronous VCR, such as

Adobe connect (Adobe, 2011), Microsoft Live Meeting (Microsoft, 2011a), and WebEx (Webx,

2011). Figure 5 shows a 3D virtual classroom which can be accessed via the Internet.

Figure 5: Avatar-based 3D virtual classroom


(Callaghan et al., 2009a)

Based on the VCR's applications, Martin (2010) has categorized VCR features into three

groups:

1. Discussion and interaction facilities which focus on chat, videos, and so on, including the

interaction applications, are shown in the next figure which shows some possible

interaction options.

Figure 6: Interaction options in online discussion (Martin, 2010)


25

2. Instruction and reinforcement which contains any sharing tools, such as a blackboard and

Moodle.

3. Classroom management tools which give the ability to upload, store, and archive

documents, as well as usage details are shown in the following figure:

Figure 7: Guest access link to archives of e-learning system (Martin, 2010)

3.1.3. Benefits and features

Using VCR in learning environments enables collaboration between different institutions

(Nyarko & Venture, 2010), which can enhance the learners' knowledge. Moreover, a Virtual

Learning Environment (VLE) is the best fit for student-centered (Morόn-Garcίa, 2002) learning,

an approach that is more effective and more enjoyable from the learner’s perspective. In

addition, VCR allows for increased enrollment numbers and enables students to manage their

time more effectively (Thomas, 2003).

There has been rapid growth in VCR and online education (Jaligama & Liarokapis, 2011)

because it provides ease of access with online based knowledge. Using a virtual environment in

higher education promotes potential experience benefits in the learning process (Liarokapis &
26

Anderson, 2010). VCR is usually presented with a user friendly interface and gives the illusion

of being in a classroom.

Using VCR (Das et al., 2010) has increased enrollment numbers while also potentially

enhancing the learners' performance. The educator is presented in the learning environment, but

travel time and cost are reduced. Furthermore, the recorded sessions are reusable, and the solid

based knowledge has been provided for the learners. In VCR, many activities such as recording

sessions, participating in discussions, video conferencing, and asking real-time questions by

raising a hand (albeit a virtual one) can be done.

3.1.4. Challenges and Limitations

There are many challenges and limitations regarding VCR. When a university or

institution decides to deploy or build a VCR, they should consider the following points (Das et

al., 2010):

1. The underlying Internet connection and cable should have sufficient capability since the

VCR needs a wide bandwidth; otherwise, the Internet speed would be slow and result in

audio or video delay (Zhixiao et al., 2008; Bahiraey, 2010; Jurgelionis et al., 2010).

2. The initial building and infrastructure should be constructed with a detailed plan because

it will be the base of the VCR (Tucker & Gentry, 2009). In the current e-learning system,

some of the legacy software, such as Blackboard which is currently being used by BGSU,

WebCT, WebEx, and Shareable Content Object Reference Model (SCORM) lack

portability, ubiquity, and scalability (Fiaidhi, 2010). To enhance such software, the need

for refactoring the applications is raised. Refactoring software increases the software’s
27

flexibility by adding a dynamic approach which allows the system to combine services

and contexts (Redondo et al., 2010).

3. The number of e-learners increases each year, thus contributing to a data processing

problem (Zhang & Nunamaker, 2003; Yuru et al., 2010) because many requests are sent

to one site or server that cannot handle such situations. Cloud Computing can solve such

problems and overcome data processing in capabilities by providing the needed

networking functionalities and the underlying infrastructure. Another challenge that

could be solved by Cloud Computing is the massive storage requirements for multimedia

content, a problem identified by Zhang and Nunamaker (2003) even before the invention

of Cloud Computing.

4. Building an e-learning environment is very costly (Lee et al., 2009; Wong, 2007).

Establishing e-learning using mobile technology by Cloud Computing (Sattler et al.,

2010) can cut the upfront cost.

5. Background noise in the transmitted audio or video can be problematic since the

underlying infrastructure cannot deliver high quality sound (Zhixiao et al., 2008), but part

of this noise, which causes learners to lose their focus, can be solved by using high

quality microphones with a noise cancellation system.

6. The learners' level of knowledge and their motivation, i.e. "the exact pulse of the

audience" (Das et al., 2010), are difficult to obtain. This problem has existed for a long

time, and it is considered one of the opening questions in educational settings, even in

face-to-face learning environments.


28

3.2. Virtual Classroom Technologies

The key to success in VCR is the initial building and constructing represented in the

underlying infrastructure which impacts deployed services. Building sustainable architecture

leads to outstanding communication and thus, a flourishing e-learning environment. It is

important to note that scalability is critical to a VCR environment (Aldhalaan, 2010). VCR must

be scaled to the number of the institutions’ users, which in our case, is the number of university

students. Consequently, VCR should support hundreds to thousands of real-time interactions.

There are different technologies and network architectures which could be used to build VCRs,

but the most commonly used are client/server, multi-server, and peer-to-peer (Gasparyan, 2007).

A Grid is a popular form of technology for deploying VCR.

3.2.1. Client/Server

This is one of the most common network architectures. The processing and workload in

client/server architecture are centric, and they are usually done using single or multiple servers to

deliver the requested services. Client/server networks are represented with multiple workstations

in one layer with the server as centralized storage and processing in other layers (Wittgenstein,

2000). Client/server network architecture contains a high performance system represented by the

server and other lower performance systems of the clients. Clients use the server to get the

needed services without sharing any resources (Schollmeier, 2002). The control and the security

of the client/server application, such as VCR and file sharing systems, are guaranteed while the

scalability, reliability, and bandwidth are limited (Gasparyan, 2007). Furthermore, there could be

a single point of failure in the client/server model (Mavroudi et al., 2010).


29

3.2.2. Peer-to-Peer (P2P)

P2P is a commonly used form of scalable network architecture. It consists of a distributed

collection of terminals which form network architecture ensuring that the networks will not lose

the service if one terminal goes offline. Each terminal (participant) shares hardware resources

with others (Schollmeier, 2002). The content of each terminal (node) can be shared directly since

there are no clients or servers; all terminals are equal and can play either client or server roles

(Jadhav et al., 2010).

P2P architecture minimizes the delay of real-time interaction since the server-based

model requires centralization; thus, the clients cannot communicate directly. P2P network

architecture is highly scalable because of the ability to add more terminal devices. P2P is

considered a reliable form of technology because it avoids the single point of fails (Nyarko &

Ventura, 2010), but security becomes an essential concern since there is no central control. The

following figure illustrates P2P architecture.

Figure 8: A P2P network architecture which has two sub networks in each subnet the peers
directly send their requests to each other
(Nyarko & Ventura, 2010)
30

3.2.3. Multi-server

Online gaming uses this network architecture to assure high resource availability to meet

the daily growth in the number of players. There are multiple distributed servers available to

meet real-time interaction quality. For example, the player will be assigned to the nearest server

to his/her location. This allows for increased performance while reducing the delay in time

(Chen & Lee, 2004). A general architecture of a multi-server network with a dispatcher is

provided in the next figure.

Figure 9: Multi-Server online game system with dispatcher (Chen & Lee, 2004)

The multi-server network is similar to client/server architecture in security and

infrastructure control, but it is more scalable which lowers failure rates since there are many

available servers.

3.2.4. Grid

A Grid is considered one of the large distributed computational infrastructures which

delivers dependable, consistent, and accessible resources (Foster, 2002). A Grid enables

coordinated distributed resources to solve computational problems typically resulting in building


31

virtual organizations. Grid networks are highly scalable because of their underlying

infrastructure, but this kind of network demands a significant financial investment in both

creation and maintenance. Despite these costs, the Grid is considered one of the most secure

network architectures because of its centralized control.

3.3. Cloud-Based Education (CBE)

Cloud-based education, also known as a blended learning environment, serves as a

complementary mechanism to a face-to-face learning environment as a means to enhance the

students' outcomes and knowledge (Singh, 2003; Zuvic-Butorac et al., 2011). In CBE, students

attend face-to-face traditional classrooms with e-learning environments which deliver learning

materials and knowledge via multiple technologies (Yang et al., 2010) as the next figure

explains. Unfortunately, many educators are unaware of the new technologies’ capabilities which

could enhance the learning environment and the learner's skills as well as their knowledge

(Conole & Culver, 2010).

CBE builds the learning environment on top of Clouds, utilizing Cloud services IaaS,

PaaS, and SaaS to maximize Cloud benefits. This environment has dynamic capabilities which

lead to success in a complex environment (Iris & Vikas, 2011) that is both elastic and scalable.

Additionally, using PaaS supports and customizes the institution’s ecosystem learning

environment by implementing specific functionalities and interfaces, while using SaaS

eliminates software updating, licensing, and maintenance. Incorporating traditional face-to-face

learning with other tools (Stephen & Gary, 2006) such as online applications, which in our case

are hosted on the Cloud, improves the traditional learning environment (Gudanescu, 2010) as
32

shown in the next figure. This learning environment is called a blended-learning environment or

hybrid e-learning as Smith and Kurthen (2007) stated in their research.

Figure 10: Educational learning environments

To overcome quality problems (Rao et al., 2010) and real-time interaction concerns,

virtual classrooms have emerged. The idea behind this technique is to make the student co-exist

and be more interactive in the learning environment, and therefore improve the quality of

educational materials by providing incredible storage space for the learning objects (Shih et al.,

2011). Despite the huge jump provided by the virtual classroom and the simulation of a student's

educational environment through three-dimensional programs and avatars, the problems of

quality and scalability still exist due to availability of resources (Zuvic-Butora et al., 2011).

Cloud Computing overcomes these problems with a promising infrastructure (Dong et al.,

2009a, b; Cai, 2010; Liu et al., 2010a; Palmer & Dodson, 2011) that can be gained from IaaS.

Using this technology will reduce administration and maintenance operations while increasing

the resources’ availability to all users, regardless of the hardware and software used to access the

e-learning environment. Moreover, there are educational institutions that cannot provide such
33

hardware or software to build their e-learning (Jun & Zi, 2010; Pocatilu et al., 2010); therefore,

Cloud Computing is a perfect solution for them.

Table 2 contains a comparison that emphasizes the differences between non-Cloud based

DL and the Cloud-based e-learning. The comparison criteria are cost, infrastructure needs,

management, maintenance, accessibility, scalability, compatibility, affordability, availability, and

resource utilization. In the following lines, details and explanations are given for each criterion.

• Cost: This includes the total cost to setup the needed machines, hardware, and software

for a course that will be taught via this environment.

• Infrastructure: This criterion shows if we need physical storage, compute, or servers to

teach.

• Maintenance: We can measure the need of the system to be updated and reconfigured

when installing new hardware or software.

• Accessibility: When there are no time or location constraints, the system is accessible.

• Scalability: This term refers to the number of enrolled students or attendees.

• Compatibility: If the e-learning environment does not need special hardware, we can

classify the environment as compatible since it works on any operating system.

• Resource Utilization: This shows how the learning system utilizes the available

resources, such as storage, network, and compute resources.


34

Table 2: Comparison between E-learning and Cloud-based virtual classrooms

Criteria Advance E-Learning Cloud-Based Virtual Classroom

Cost
High Low
Need for Infrastructure
Yes No
Need for Maintenance
Yes No
Accessibility
Yes Yes
Scalability
Limited Unlimited
Compatibility
Yes Yes
Resource Utilization
Not utilized well High utilization

Due to the financial crisis, educational institutions are facing problems in providing the

needed IT infrastructure for their research and activities (Mircea & Andreescu, 2010). This

problem can be solved using Cloud Computing (McCrea, 2009) rather than building a complex

infrastructure with maintenance and configuration issues that can be significantly reduced by

Cloud Computing (Tout et al, 2009).

The learning content can be easily created and deployed in Cloud-based environments

(Redendo et al., 2010). Moreover, Cloud-based virtual classrooms are advantageous because of

their abilities to host educational material for system users. Building a Cloud-base education

utilizes computer technology and improves the quality of the teaching process (Wen & Chen,

2011). Table 3 compares the courses hosted on Cloud-based and traditional client/server

advances e-learning environments. This comparison is based on different criteria including cost,

accessibility, course content maintenance, management of the system, content scalability, cross
35

platform integration, security control, single point of failure, privacy, data location, disaster

recovery, monitoring, and resource utilization needed for the special infrastructure.

Table 3: Course benefit comparison between E-Learning and Cloud-based virtual classrooms

Criteria Advanced E-Learning Cloud-Based Virtual Classroom

Cost
Medium - high Low
Need for Special Infrastructure
Yes No
Course Content Maintenance
Needs time Easy in a few steps
Ease of Access
Yes Yes
Different Access Levels
Available with limitations Highly available
Course Content Management
Needs some effort Minimal
Security Control Depends upon the
Depends upon the SLA
institution
Single Point of Failure If the server fails, the
No
whole system will fail
Physical Content Location
Known Unknown
Content Privacy
High Low - Medium
Disaster Recovery
No Yes
Monitoring
Needs time and effort Available as a tool
Resource Utilization
Not well utilized Highly utilized
Content Scalability
Limited Unlimited
Cross Platform Integration
No Yes

The client/server network model, which most e-learning systems rely on, is based on a

centralized server. The entire network will fail if the centralized server is shut down (Gasparyan,

2007), so there is a high dependency in the traditional e-learning systems based on the client/
36

server model. In contrast, in Cloud-based systems, there is no notable dependency since the

information on the Cloud duplicate is in different geographical areas. In the following table, the

system users and corresponding benefits of using Cloud-based virtual classrooms are presented.

Table 4: The users’ benefits in Cloud-based virtual classrooms based on our selected
criteria

Benefit Student Educator Administrator

Low Cost
Yes Yes Yes
Ease of Access
Yes Yes Yes
Management
Easy Medium Medium
Interactivity Level
High High Medium
Ease of Use
Yes Yes Yes

The system users, including students, educators, and administrators will gain a magnitude

of benefits from Cloud-based classrooms. The students will have high levels of interactivity

with each other and with the educators since there are no hardware limitations; thus, the

environment is scalable for video and audio streaming. Likewise, the cost reduction will be

shared among all system users. The students no longer need to install specific applications or buy

an access code for training tool kits, such as myITlab. Furthermore, the educator will no longer

have to spend unpaid hours preparing for assignments. The administrator will also save time

because updating, licensing, and configuration issues will be eliminated using the Cloud. All of

these elements add to the cost reduction and ease of access (Wainhouse Research, 2010) and use

(Gill, 2011) when dealing with the Cloud.


37

Using the Cloud as a base to build institution infrastructure for virtual classrooms will be

highly beneficial to all users involved. Scalability and reliability are the top advantages of virtual

classrooms and the whole e-learning system on the Cloud except the critical information. The

next figure shows the benefit interconnection between system users.

Figure 11: Users' benefit interconnection of using Cloud Computing services

3.4. Cloud-Based Education for Computer Science (CBE-CS)

The enrollment number of Computer Science students between 2004 and 2008 has

dropped significantly (Beaubouef & Mason, 2005; Vegso, 2008) because the knowledge base

and skills of graduates did not satisfy the industry needs. As a result, recent graduates were left

with unsecure careers and professional lives (Chen & Zhang, 2008).

Most system users will gain benefits from using the IaaS and SaaS services on the Cloud.

They may need additional hardware resources which can be requested via IaaS. Furthermore, the
38

users may use existing applications on the Cloud, such as e-mail, word processing, mathematical

applications, and so on available in the SaaS layer. On the other hand, the Computing Science

major can recognize the benefits beyond those of just IaaS or SaaS. Computer Science learners

and educators using PaaS service can enjoy additional services which enable them to build,

develop, and deploy their applications on such a layer. PaaS provides a middleware that can

contain and run the deployed applications developed by the user. Taking parallel computing and

database courses, for example, in such distributed environments, Cloud Computing will enhance

the student's understanding and outcomes as well as improve their experiences. Furthermore,

Cloud Computing appeals to parallel and distributed simulations research as it utilizes the

available services (Malik et al., 2010) since Cloud Computing offers high resource availability,

accessibility, and reconfigurable resources. As a result, it prevents users from dealing with

hardware and software complexities when acquiring and managing the underlying infrastructure.

The next section contains detailed information about the advantages of using Cloud Computing

in a learning environment for different system users.

North Carolina State University has constructed a Virtual Computing Laboratory (VCL)

using IBM Cloud solutions that give the students the ability to allocate and access VMs as a

basic machine or as a specific application image, such as Matlab (Vouk et al., 2008).

Using Cloud-based education for Computer Science not only utilizes IaaS and SaaS

services, rather it provides a high capability tool that allows students to practice, build, develop,

and deploy programming based courses, assignments, and homework by utilizing PaaS layer

services. In this regard, there are multiple Cloud Service Providers (CSPs) which support

different platforms for a variety of programming languages and Interface Application Programs

(IAPs). For example, Windows Azure from Microsoft produced .NET framework which
39

provides an excellent environment to develop database applications and Amazon Elastic Cloud

Compute (EC2) offers different Compute power as an Amazon Machine Images (AMIs). These

images are commonly used in high performance Computing (HPC) to add more computing

power and solve the computational problems quickly on a demand basis (Migue et al., 2009).

Furthermore, Amazon announced GPU support in their EC2 services used in image processing.

3.5. Advantages

3.5.1. Students

The main advantage for the students who have courses on the Cloud is the availability of

the needed resources (Vecchiola et al., 2010; Vaquero, 2011). Besides the portability which

enables students to work on their programs or applications from multiple computers (Lawton,

2008), students will be able to access the system without any time or location restrictions like

those of distance learning. This approach will assist the students in focusing on their assignments

without any distractions (Ivica et al., 2009; Vaquero, 2011) such as lack of resources, networking

problems, hardware or software restrictions, or needed maintenance to accomplish their task or

assignments. Also, it helps them to accomplish their tasks faster (Caeiro-Rodrίguez et al., 2010;

Vaquero, 2011). In addition, teaching Computer Science courses on the Cloud provides students

with a strong foundation that better enables them to address the needs of a leading technology.

Thus, using Cloud technology enhances the students’ results (Vaquero, 2011) and gives them

experience in dealing with such technology that will support them in their future work as

employers in companies that seek people who are knowledgeable in such technology. The

students using programming languages will no longer need to download the software, setup

configurations, or use additional high quality equipment (Zhang et al., 2010a) since the software

will already be on the Cloud, more specifically on SaaS layer of the ecosystem. The students
40

only need to write their code and then run it. The communication between the students and the

instructor would be easier, using video conferencing applications available on the SaaS level,

such as Sakai (Sakai Project, 2011). The research (Ivica et al., 2009; Vaquero, 2011) showed that

the development of the application on the Cloud platforms PaaS resulted in quicker delivery than

setting up a lot of host servers, networking configurations, and underlying infrastructure.

Moreover, the students will have the ability to experiment on the actual system without creating

errors in the whole system. These advantages may lead the students beyond the basic level of

knowledge (Vaquero, 2011) which will make them more competitive job candidates.

3.5.2. Faculty

In the case of faculty, besides the availability of resources, access portability, and

flexibility (Borangiu et al., 2010), the Cloud gives agility to the hosted applications; therefore,

the teacher can more easily construct multiple levels of difficulty for beginners, advanced, and

more advanced assignments. In addition, it is unnecessary to create multiple applications to be

compatible for each OS. Rather, there is only one application for any Web OS (Lawton, 2008).

By using the Cloud, the faculty is now freed of thinking about maintenance issues which will

impact the learning process (Ivica et al., 2009; Vaquero, 2011) because of non-related issues to

the course material, such as networking and installation problems. In addition, the faculty will

expose the students to real situations that cannot be faced in locally simulated environments, thus

building a deep knowledge base for the students (Vaquero, 2011). Using such technology allows

the teacher to easily show the complexities of the course to the students (Vaquero, 2011), as well

as the best ways to deal with such complexities (Ivica et al., 2009). On the other hand, the lab

preparation for Cloud assignments takes more time initially since the technology is new, but
41

when running the same assignments the second time, no preparation time is needed since the

VMs images have previously been uploaded to the Simple Storage Service (S3) (Vaquero, 2011).

In a word, Cloud Computing improves teaching efficiency without placing additional loads on

the faculty (Bai, 2010).

3.5.3. Administrator

There is no software license to be taken into account (Jun & Zi, 2010); thus, the cost of

software licensing will be eliminated (Pocatilu et al., 2009; Vaquero, 2011). In addition, the

hardware constraints will disappear because of virtualization (Dong et al., 2009a, b; Borangiu et

al., 2010) which gives the ability and allows resource sharing with multiple operating systems

regardless of the hardware used. Likewise, the administrators can run large-scale applications

without considering resource limitations. The number of enrolled students would not be an issue

because Cloud provides unlimited space, resources, and accounts. Beside the previous benefits

for administrators, maintenance would be minimized since all the resources on the Cloud will

take care of maintenance issues (Ivica et al., 2009; Caeiro-Rodrίguez et al., 2010; Scale, 2010).

On the other hand, administrators should be concerned about the SLA of service availability

which identifies QoS the backup and the disaster recovery process in case of CSP down services.

3.5.4. Institution

The institution is one of top beneficiary using Cloud-based education; the number of the

enrollment (Bai, 2010) will be enlarged due to the increase of job opportunities, depth of

knowledge, resource availability, accessibility (Wu et al., 2010), and advanced technology for

hands-on training. Adding to the increase of the enrolled students, there is a huge cost reduction
42

(Dong et al., 2009a, b; Ivica et al., 2009; Sriram, 2009; Vaquero, 2011) since the maintenance,

software updating and licensing, hardware configuration, power, and diminishing infrastructure

space would help the institutions in the current economic crisis without affecting the quality of

services (Kajita, 2010).

3.6. Limitations

3.6.1. Security and privacy

Cloud Computing suffers from security concerns (Grossman, 2009; Rimal et al., 2009;

Huang & Yang, 2010) when using Cloud technology. Since CSPs provide their services via data

centers located in geographically diverse environments, the critical private information may be

available to governments according to national polices. Thus, it is important that CSPs choose

the countries which do not compromise an individual’s privacy. Additionally, the users should

trust the CSP (Hofmann & Woods, 2010) since they will have control of the users' data (Hayes,

2008). Moreover, the user will never know the physical place of the data (Buyya et al., 2010)

besides the unknown data policies (Grossman, 2009; Rimal et al., 2009).

Until now, there has been no security standard for the Cloud to be employed (Grobauer et

al., 2011) which could help in security improvement. Shen and Tong (2010) have stated that

Cloud Computing security is complicated since there are different systems from multiple

environments involved in the built system.

3.6.2. Latency and Network Limits

Since the information and data are being transferred via an Internet connection, it is

important to choose appropriate cables to avoid data latency (Hofmann & Woods, 2010). In
43

addition, when the user transfers a large amount of data, such as Tbytes, data bottleneck will

increase.

3.6.3. Interoperability and Lock-In

Each Cloud provider has its own unique architecture and implementation (Raines, 2009)

which make interoperability and migration the challenging issues. They have made each Cloud

provider speak different languages (Hofmann & Woods, 2010). For example, Google uses

BigTable for data storage, while Amazon uses Dynamo, and Facebook uses Cassandra. Different

frameworks and storage architectures have made the migration process impossible without

changing the developed applications (Tsai et al., 2010). The data lock-in problem can be solved

by using hybrid Cloud Computing model (Armbrust et al., 2010) which mixes and matches

different services from multiple Cloud service providers.

3.6.4. Clarity of Service Level Agreements

There is a lack of clarity or non existing information (Katz et al., 2009) on such issues as

guaranteed uptime (Hofmann & Woods, 2010) and data storage if the user decides to move to

another Cloud. Other concerns include the consequences when CSPs fail to deliver intercept

service at the agreed QoS. Some of CSPs offer a discount percentage for the month that they did

not achieve the minimum uptime, but does this discount compensate for the business lost when

the service was unavailable?


44

3.6.5. Storage Scalability

Many problems cannot be solved by simply adding a more compute power Rational

Database Management System (RDBMS) because the Clouds do not support storage scalability.
45

CHAPTER 4. LITERATURE REVIEW AND RELATED

WORK

This research starts with exploring the Cloud Computing concept and its state in the

education fields. Studying the current related applications and platforms that used Cloud

Computing in the education field, specifically in Computer Science courses, leads us to focus

more on the overall results. Our literature review shows that other researchers try to focus on

some of the Computer Science courses. They put their efforts in teaching those selected courses

using the Cloud; unlike them, our focus is on which courses could be taught via Cloud

Computing. Unlike other Cloud based education models which utilize SaaS and IaaS layers,

Cloud based education for Computer Scientists—including the learners and the educators—has

an intimate relationship with Cloud Computing since the Computer Science courses have a

unique characteristics in which they can penetrate into all layers of the Cloud. In addition, we put

some effort into exploring the existing simulators which simulate the Cloud Computing

environments and services.

4.1. Frameworks and Applications

One of the platforms (Tian et al., 2010) serving high education fields and research

institutes were developed by a group of researchers to manage a virtual Cloud lab’s resources

allocation, users, and access with the ability to deploy it on a public or private Cloud. They

implemented the framework using the VMware workstation 5.5 which creates virtual platforms,

Apache web server, MySQL database server, and security remote access tools. The end-user
46

sends the requests to computational platforms and how long they would need the requested

services. In addition, the users have two choices: either immediate reservation or for the future.

Their framework enhances resource utilization and sharing. The researchers design and

implement the framework to manage PaaS in virtual Computing labs (VCL).

Seattle (Cappos et al., 2009) is a platform built for educational and research purposes.

Seattle is based on donated resources exclusively for Seattle platform. They introduced Seattle as

a flexible and non-dependent system which can adapt to any operating system or architecture

without any dedicated infrastructure. Using an instance of Seattle programming language which

is based on the Cloud Computing concept, the user can represent Cloud Computing, Grid

Computing, P2P networks, distributed system, and general networking issues. They write two

samples of Seattle complete program code to prove the concept of education, portability, and

ease of use.

Ivica et al. (2009) have developed a system called StartHPC to teach parallel

programming at MIT. This system is based on a virtual image of Amazon EC2 machine which is

used to build the class cluster. Cloud Computing eliminates the need of dedicated compute

clusters which directly impact the cost besides the ease of use, the ease of access, and scalability,

especially in the peak hours. By using Cloud Computing, both the faculty and the students were

allowed to focus on the concepts of parallel programming in OpenMPI and OpenMP without

being distracted by non-related details such as networking and installation problems. The

software package contains OpenMPI 1.2.4, Fortran, Eclipse Parallel Tool Platform 1.1, OpenMP,

and Sun Studio IDE in the VMs. StarHPC can be used to teach simulations and numerical

modeling courses. In addition, using remote clusters exposes students to distributed parallel

programming challenges and complexities that do not appear in a local cluster. The total
47

estimated cost for the one course is 150$ which is very low compared to building dedicated

infrastructure.

Wei & Wang, (2010) introduced Google Sites and how a learning environment can

benefit from such a Cloud service. They divided the Cloud Computing application into five

forms: SaaS, PaaS, Utility Computing, Network services, and Internet integration. Their focus

was on the Network Learning Environment (NLE). The authors analyzed the Cloud Computing

in NLE by exploring the model of a learning environment, Cloud Computing application forms,

and elements of building Cloud Computing in the NLE by adopting Hanna Fen’s view which

states that the NLE consists of four basic components (contexts, tools, resources, and scaffolds).

The researchers go deeply into Google Sites’ features, steps, and how Cloud Computing

applications can be used in the NLE.

One of the reasons for moving forward to e-learning systems as a web oriented service is

providing a dynamic e-learning environment. Xu et al. (2003) designed a framework to supply e-

learning based on SOA. The authors stated that the SOA approach improves the reusability,

interpretability, and the flexibility of collaborative e-learning environment. Their scope focused

on services and business designing processes. The researchers had two research questions. One

focused on designing a collaborative e-learning environment using SOA to allow flexible

interaction between the different components in Learning Management Systems (LMSs) as he

illustrated in Figure 12. The other question is how can we manage learning processes by utilizing

Business Process Management (BPM)? Their framework for dynamic e-learning environments

have integrated existing web services, such as Hypertext Transfer Protocol (HTTP), Simple Mail

Transfer Protocol (SMTP), Simple Object Access Protocol (SOAP), Web Services Description

Language (WSDL), Extensible Markup Language (XML), and Universal Description, Discovery
48

and Integration (UDDI) along with metadata. The interoperability is done by sending the needed

information to a platform, and the learning objects are rounded together in SOAP message sent

to the UDDI registry to let the two learning ends interact with each other. The researchers

discussed two scenarios where their framework e-learning systems could improve the

interactions between two learning management systems. The first one illustrated the single sign-

on process in which a student could add two courses from two different systems with just one

sign-on. The other case showed how learning content aggregated between different systems or

instructors by reusing the available objects. From their literature study, Xu et al. (2003) found

out that there are not many implementations for e-learning environment which works under

SOA. The authors’ method began from service requirements. They identified the Business

Process (BP) with all possible workflows then they recognized the reusable services used later.

The detailed implementation for their framework has been addressed using the web service,

BPM, and e-learning.

Figure 12: Web service oriented framework with multiple tiers for dynamic e-learning system
(Xu et al., 2003)
49

One of the new directions in e-learning ecosystems is integrating Cloud technology into

e-learning systems. Dong et al. (2009a, b) presented this approach which overcomes the lack of

underlying infrastructure by allocating the needed resources dynamically. Since the Cloud

infrastructure is promising, the Cloud based e-learning ecosystem will be sustainable and

thriving. In addition, the resources can be allocated, configured, and utilized in real time with

self-recovery from the software and hardware faults. The researchers presented architecture for

e-learning ecosystem using promising infrastructure which Cloud Computing provided as shown

in the next figure. Their architecture consists of three layers (Infrastructure, Content, and

Application) and four modules (Monitoring, Policy, Arbitration, and Provision). Besides the

architecture, the present four mechanisms were used to insure the e-learning ecosystem services

(Pre-scheduling, Early Warning, Self-recovery, and Evolutionary). The developed architecture is

reliable, flexible, self-recovered with QoS, and cost reductive; these features are the Cloud

infrastructure features which the ecosystem inherits.

Figure 13: Architecture of an e-learning ecosystem based on Cloud Computing infrastructure


(Dong et al., 2009a)
50

In higher education, the efficiency and the effectiveness of the learning environment is

very important. South Dakota State University developed an active learning program on the

Cloud for their blended/hybrid environment. A mechanical engineering course was selected as a

case study. Since the Internet has been proven to increase learning flexibility, blended learning

can gain benefits from such a method. Blended learning mainly focuses on incorporating

different learning techniques, methods, and resources to have highly interactive learning

environments; thus, it is a mixture of face-to-face and online learning environments while in the

hybrid environment, most of the learning activity occurs online. The university aimed to utilize

the existing infrastructure using Cloud Computing technology and resources. The Active

learning (AL) Cloud goals were to be student-centered, empower faculty, secure and utilize

financial resources effectively, and demonstrate accountability with plans for outcomes

evaluation (Hu & Zhang, 2010).

Tillmann et al. (2011) presented Pex4Fun as a Computer Science learning environment to

teach programming via social gaming. Pex4Fun provides a unique environment which connects

the teachers with the students on the Web using the Cloud to execute and analyze. Pex4Fun from

Microsoft Research has different interactive games to teach programming including solving

puzzles and coding duels, exploring course materials, creating and teaching a course, and

publishing created coding duels. The current learning environment includes C# and .NET.

Ma et al. (2010) discussed the suitable Cloud application used to construct a collaborative

learning environment. They illustrated benefits of using Cloud Computing, such as solving the

network storage when dealing with massive resources. Additionally, they have focused on

reasonable construction of the learning environment to utilize all the needed educational tools

accessible via Cloud Computing. To achieve such construction, they proposed four basic
51

principles, to take full advantage of Cloud Computing in the learning environment. The basic

illustrated principles are learner centered which secured an exclusive analysis to apply the

appropriate content, resources, and activity design that satisfied the learners’ requirements, the

rationality of navigation settings by unified interface structure, collaborative and sharing of e-

learning by designing around the sharing principle, and the effectiveness of teaching resources

by updating the resources continually. Ma et al. proposed a "Collaborative Learning platform"

using Google's Cloud Computing; since the collaboration is a Google-centric platform, it

enhanced collaboration and sharing principles in the proposed platform.

Research by Vaquero (2011) focused on the effectiveness of using IaaS and PaaS in

educational fields, specifically in teaching advanced Computer Science courses. He selected

eighty four students and four professors to perform advanced network courses on probing with

routing algorithms assignments and then evaluated which way of teaching was easier—the

traditional system setup, IaaS, or PaaS—through a survey. The author claimed that there was no

comprehensive evaluation of the Cloud’s usage advantages. In addition, Vaquero mentioned the

lack of identifying the appropriate service level of the Cloud abstraction which is the most

effective and useful in educational fields. In this research, he presented how the Cloud utilization

enhanced students' outcomes, and he also identified the most appropriate service in education. As

a conclusion, Vaquero highlighted that using Cloud Computing helps students to focus on the

giving tasks with saving their time from dealing with non-related issues. PaaS is easy to learn,

and it is prevalent choice for the high level courses which the students do not need to deal with

the hardware level; otherwise, IaaS is appropriate for the medium level courses, such as

Operating System, Software configuration in which we need to touch on the details of VM level.
52

Kseneman et al. (2010) implemented a despeckle Synthetic Aperture Radar (SAR) using

multi-core Graphic Processing Units (GPUs) connected to Clouds to enhance and extract

information from the taken image. Synthetic Aperture Radar is a system for weather imaging in

which the images are taken from satellite. These images usually have a speckle noise which

means the image has bright or dark pixels as shown in the taken SAR image:

Figure 14: SAR image containing speckle noise (Kseneman et al., 2010)

The researchers were trying to perform faster image denoising using Cloud Computing

GPUs to be compared to the conventional CPU. They have proposed a Cloud Computing base to

distribute the SAR images illustrated in the next figures:


53

Figure 15: Proposed Cloud Computing conceptual design for SAR images distribution
(Kseneman et al., 2010)

This distribution process needed "legitimate users over the web-based application" and to

look natural, like Google Earth's satellite images. The experimental results showed that using

GPUs which connected to the Cloud speedup the execution time 95 times compared to multi-

core CPU performance.

Palmer & Dodson (2011) used a web-based Sakai Learning Management System (LMS)

for twenty three students who were under the Oregon Rural Scholars Project (ORSP) for medical

distance learning. Their main concern was the system scalability which could be solved by such

a technology. They attempted to lower the cost of courses, create ease of the access system,

provide a highly interactive experience, make a robust system to meet the student and faculty

expectations and educational needs, and decrease the students’ sense of isolation, highly

reducing the need for the technical support. They focused on having an accessible system, which

was cost effective, highly portable, and simple along with the user's choice of device. They built

their ideas using Koole's FRAME model of mobile learning. The researchers used a survey

allowing the students to evaluate their experiences with the system. They used Oregon Health

and Science University's Sakai web-based LMS to host the course content which included the
54

recorded lectures, notes, assignments, and so on. Palmer and Dodson also included synchronous

components which are the Student Clinical Round (SCR) in three different configurations. They

used Adobe Connect on top of Sakai to build their virtual classroom. The first configuration

enabled the distance learner to join on-campus students' live SCR sessions. The second

configuration was an online video conferencing representation in which each user, including the

faculty, enabled their webcam and participated. The third configuration allowed one presenter to

use the webcam while the others were watching and chatting. They included the "raise hand"

feature to enable voice streaming. Using the third configuration, they were able to add more

students without affecting the quality of the session. Overall in the students’ surveys, they

expressed that their experiences with the new system were very positive in the ease of use,

ability to connect to other colleagues, and they preferred to continue using this technology.

Another solution based on Cloud Computing for e-learning was presented by Al-Zoube

(2009). The developed system is a virtual and personal learning environment, highly interactive

by combining different tools and technologies, as shown in Figure 16. The Virtual Learning

Environment (VLE) content was built by teachers. The management part of the system was done

by the users—students or staff—by a set of special tools. The researcher used a Personal

Learning Environment (PLE) because he saw the available VLEs were content-centric while he

wanted the environment to be learner-centric, so he used PLEs, which depend on learner pace.
55

Figure16: The main components of Al-Zoube's system (Al-Zoube, 2009)

The developed system gives the learner the ability to choose the services and applications

that s/he wants to build their environment upon or create a new one for his/her own site. This

process is called a “mashup.” Al-Zoube built a Cloud base called the personal e-learning system.

It consists of three main functionalities:

1- Course Management System (CMS): a web based system which allows the learner to

access course materials for registered learners. A teacher uses XML to add a new entry if

s/he wishes to create a new subject.

2- Personal Learning Environment (PLE): a variety of Cloud tools and applications which

can be accessed via Internet connection. The researcher used gadgets and iGoogle as the

application portal.

3- Smart agents: two agents responsible for specific tasks. The first agent provides an

interactive environment with the learner to meet individual needs and progress in their

learning paths using stored information, as metadata, which allows the learner to choose
56

the difficulty type and level for a specific topic. The second agent is responsible for

generating a test as a multiple choices, using Google spreadsheets as a database where the

information about questions is stored.

In the benefits and challenges of adapting Cloud Computing for the universities, Abdul

Razak (2009) discussed the possible offerings that Cloud Computing could deliver, especially in

Malaysian Universities. The 21st century students are not satisfied with the traditional learning

process; thus, the researcher used Cloud Computing to enhance the learning environment by

using Cloud Computing benefits in cooperation with the multimedia contents, and made the

learning process highly interactive to meet student expectations. Abdul Razak (2009) discussed

more than ten Cloud Computing offerings, pointing out that the Cloud Computing users gain the

illusion of resource availability as an infinite on-demand resource, which enables storage and

huge amounts of information on the Cloud. In addition, the researcher stated that introducing the

students to Cloud technology will prepare them to work in the industry since they gained the skill

of dealing with new technology. Cloud Computing offers cost-effective solutions for

Universities, staff, and students since all of the needed hardware and software are available via

the Cloud, which makes their files highly portable, easy to share while computing power is easy

to manage. Additionally, Abdul Razak (2009) claimed using Cloud Computing would improve

collaboration and communication in the learning environments. On the other hand, he clearly

stated that the Cloud Computing has some drawbacks: need for Internet connection and trust in

the CSP service availability, privacy of the data, and security.

Yang and Zhu (2010) built Open-source software (OSS) for e-learning based on Cloud

Computing in China. They proposed the EduCloud platform to launch their e-learning

environment on a public Cloud, using IaaS and SaaS to overcome resource limitation and lack of
57

e-learning scalability. They constructed their solution using Hadoop with two interfaces which

were mapper and reducer. EduCloud consists of a set of tools and technologies to build a virtual

and personal learning environment; thus, it focuses on migration of the current application to a

Cloud based one via the SaaS level, especially interactive and collaborative applications, such as

Sakai and Moodle which are Course Management Systems (CMS). The next figure illustrates

EduCloud, which consists of one central module which manages the whole platform and the

three layers. Each layer represents the corresponding service layer of the Cloud Computing

layers: the Application layer, the Platform layer, and the Infrastructure layer. In the Application

layer, there is just one instance for all of the users of the e-learning applications and tools. The

last layer contains system resources used by the platform and application layers.

The researchers constructed EduCloud in two steps. In the first step, they built the

runtime for the Cloud application environment starting from preparing the environment by

setting up a unique IP and hostname for each server, then setting up the communications, the

master node, the slave nodes, and lastly, verifying the Hadoop Cluster. In the next step, they

converted the e-learning applications to the SaaS layer on the Cloud, taking into account that the

traditional learning system is a single-tenant while moving to Cloud requires multi-tenant

implementation.
58

Figure 17: The logic structure of the EduCloud (Yang & Zhu, 2010)

They used the iterative model for their software development as illustrated in Figure 18.

Finally, they conclude the impact of the new system on the e-learning ecosystem in terms of the

learning content, available services, and existing applications.


59

Figure 18: The iterative development route of the EduCloud (Yang & Zhu, 2010)

Yang (2011) proposed a map toward building a standard for Cloud. This standard is an

Open-source solution for e-learning, e-research, and e2-government since there is no widely

accepted standard. He also proposed "The open framework for e-Education Cloud" to make the

migration between CSP to other CSP interoperable using four layers which are delivery

platforms, core service, collaboration service, and user experience as demonstrated in Figure 19.
60

(Yang & Zhu, 2010)

Figure 19: The open framework for e-Education Cloud (Yang, 2011)

In addition, Yang (2011) constructed an open map for his e-Education Cloud as shown in

the figure above which considers the following four layers: application layer, platform layer,

control layer, and virtual layer. These layers can be mapped to any open-source compatible with

the layer functionalities. Unlike our framework which considers Computer Science courses,

Yang proposed a general framework to utilize the Cloud services. As a final point, Yang

concluded that this is a solution building Cloud for e-Education which needs to be studied more

by industries and academia.

Yuru et al. (2010) discussed and summarized the current situation of Cloud Computing in

a Web-based learning environment. They highlighted several benefits of Cloud Computing in the

education fields for e-learning environments, which are the management and the maintenance for

the normal operation which moved to CSPs. The data security for storage is high when using the

Cloud because the user does not worry about losing their data or the incursion of a virus. The
61

hardware requirement is very low, and the easiness of data sharing on the Cloud is high. Then

they presented different CSPs, with some information about each one of them and how we can

get benefits from them. The discussed Clouds are Amazon, Google, Microsoft, IBM's Blue

Cloud, Salesforce, Force.com, and SUN. Lastly, they proposed a simple model of application of

Cloud Computing to improve the learning efficiency as shown in the next figure:

Figure 20: The model of application of Cloud Computing (Yuru, 2010)

Fiaidhi (2010) adapted Calm technologies, which adapt the learner centered concept, in a

learning environment to provide a learner centered, personalized, and flexible learning

environment. In his research, he claimed that the current traditional learning uses some legacy

software for e-learning systems, such as Blackboard, WebCT, and WebEx which lack portability,

scalability, and quality of collaboration materials. To overcome the previously mentioned

limitations, Fiaidhi used a Web 2.0 mashup, an application that enables integration of a different

content from different sources as one piece, using Cloud Computing technology. The researcher

proposed a framework to develop a Calm personal learning environment using Cloud

infrastructure to deploy the framework on it as illustrated in Figure 21.


62

Figure 21: Framework for developing innovative personal learning environments


(Fiaidhi, 2010)

Cloud Computing is not only for computer scientists, Cloud can be used to teach other

sciences such as Math and Statistics. Chine (2010) discussed the Cloud affect on the Math and

Statistics learning and teaching processes by using an Elastic-R platform with R and Scilab.

Elastic-R is software which assists R, and Scilab usage scenarios with the Cloud usage scenarios

gain benefits for the Cloud. Cloud Computing provides user-friendly and flexible access to the

Cloud infrastructure layer, easy collaboration and resource sharing, on-demand elasticity,

flexible deployment of applications, and recording capabilities which allow users to save

snapshots of their virtual machine images.


63

Using the Cloud with R and Scilab overcome their limitations; thus, it provides the

following capabilities:

1. The processing capability: with the Cloud, the user can connect to a remote R or Scilab

engine at any location or platform.

2. The mathematical and numerical capability: when R or Scilab imports to the Cloud

learning environment, the environment inherits the mathematical and numerical

capability from the packages.

3. The orchestration capability: Elastic-R provides different programming interfaces with

different scripting language interpreters beside the S language to program the data.

4. The interaction capability: using the Elastic-R workbench enables different built-in views

and plug-in extensions.

5. The persistence capability: by using Amazon Elastic block Stores (EBS) as virtual disk

on the Cloud, for example, the data will never be lost.

The next figure shows the environment of the general architecture which used Amazon

EC2 to obtain an Elastic-R Amazon Machine Image (AMI).

Figure 22: Elastic-R: Virtual e-Research/e-Learning environment (Chine, 2010)


64

4.2. Toolkits/Frameworks for Simulate Cloud Computing

4.2.1. CloudSim

It is a toolkit for a novel framework to simulate the infrastructures and the Cloud

Computing management services. CloudSim is an open source and extendible simulation,

allowing users and developers to do experimental studies on Cloud Computing infrastructure for

different data center models, scheduling, and allocations policies (Calheiros et al., 2009). In

addition, it allows use of either the time sharing or space sharing allocation. This toolkit is built

on top of the GridSim toolkit (Buyya & Murshed, 2002) as shown in the following figure which

simulates Grid Computing and distributed resources allocation. CloudSim simulates the creation

and deploys the VMs on a simulated node of any virtual data center which can be used to ensure

the Service Level Agreement (SLA) and the Quality of Service (QoS) for user requirements

(Buyya et al., 2009). Furthermore, it allows the migration of VMs to guarantee reliability in

keeping the automatic scaling feature and the bottleneck discovery.

There are four layers made up the CloudSim architecture as shown in Figure 23. The base

layer is SimJava which handles the discrete event simulation engine. On top of the base SimJava

engine is GridSim toolkit. GridSim manipulates high level of software components which

control the infrastructure, such as networks, traffic control, resources, data sets, workload … etc.

The CloudSim as a third layer which is implemented on top of GridSim. CloudSim supports

virtual data centers simulation functionalities which include VMs management, memory,

storage, and bandwidth based on user Quality of Service (QoS) specifications. The top layer

represents the user interface in which th users can deploy their Java codes to gather the needed

information.
65

Figure 23: Layered CloudSim architecture (Calheiros et al., 2009)

4.2.2. GreenCloud

GreenCloud is a simulator built to reduce the power consumption in Cloud Computing

data centers which the Cloud’s infrastructure designer can use to direct them. It is a tool to

reduce the power consumption (Bahsoon, 2010) by applying different typologies until it finds a

suitable one with an acceptable level of energy consumption with accepted QoS. GreenCloud

intends to indicate the consumed energy by the data center components, such as servers and

switches. It allows utilizing the power by voltage and frequency scaling, and dynamic shutdown

on all data centers’ components, especially the computing and networking components which
66

consume the power primarily (Kliazovich et al., 2010a, b). The energy consumption analysis is

visualized (Liu et al., 2009a) in Graphical User Interface (GUI).

4.3. The Proposed Work Differences

The majority of Cloud Computing researchers often ignore one of the beneficiaries of the

Cloud Computing services. Computer Scientists make up one of the effective components in the

education and development cycle in Clouds. In fact, this notable absence in the research area led

to a slowdown in the movement of the Cloud Computing in the education field, comparing the

involvement of these competencies in learning and the development of these environments;

therefore, both will get the advantage. In addition, Computer Science learners are not getting the

appropriate training in such new technology for their future careers while it is available for the

public. How can we harness the Cloud as a learning environment for the Cloud Computing

concept? This question is the initial problem that we begin to solve. However, when we begin

look at the Cloud services and how we can get the benefit of using it to teach the Cloud

Computing, we have found the intimate connection between Cloud Computing services and the

Computer Science courses. We find out that the Computer Science Courses can be taught

through Cloud Computing besides the Grid and Cloud Computing. Using the Cloud to build a

Virtual Classroom Ecosystem for Computer Science has many advantages and benefits for all

participants in this learning process, which will be clearly stated in the following section,

including the institution, system’s administrators, faculty, and students. This thesis's main focus

is on building a Virtual Classroom Ecosystem for Computer Sciences based on Cloud

Computing technology.
67

CHAPTER 5. OBJECTIVES AND METHODOLOGY

5.1. Objectives of the Study

We are striving to deliver an improved learning environment for the computer science

educational settings. We focus on making the framework portable and generalized to offer a

wider range of flexibility in its usage. In addition, we use a scalable environment to get the most

benefits from the underlying technologies. Furthermore, we would like to improve utilization of

the IT infrastructure at an institution like BGSU.

We can think of the Cloud as a car: you can build it, buy it, or just rent it. The Cloud

gives the ability to use the needed hardware without buying it. Instead, you just pay for what you

use. This feature is an illustration of the cost reduction that the Cloud will add to the teaching

process. Instead of having a huge infrastructure that would not be utilized all the time, we can

use the Cloud. To be more specific, we look at three of the system users (students, faculty, and

administrators) besides the institution’s benefits in Section 3.5.

To overcome the knowledge gaps, we will carry out the following tasks:

1. Identify the Computer Science courses that benefit from Cloud Computing in their

teaching process.

2. Select three of the public Clouds that offer a wide range of services on the Cloud to

be adapted to more courses.

3. Build the framework which underlines the way of teaching these courses and how to

utilize the selected public Cloud in these courses.

4. Select examples for the pilot courses, such as Database, Operating System, Parallel

Programming, and Data Communications and Networks.


68

5.2. Methodology

5.2.1. Identifying the Computer Science Courses

To determine the potential Computer Science courses, we start with analyzing BGSU’s

Computer Science department’s curriculum in respect to the CS2008 Review Taskforce, which

has been done by the ACM and IEEE Computer Society with fifteen members from different

companies and associations by using their classifications of the Computer Science courses. The

analyzing process was based on the assignment types, components of the syllabus, and the course

specifications in the CS2008 Review Taskforce with respect to the basic Cloud Computing

service layers, as shown in Figure 24.

When we looked deeply in to CSP services used in teaching the concepts of Computer

Science courses in a much more interactive platform, comparing to simulation scenarios with a

local cluster, we decided to spotlight the non-theory courses since most of the Cloud’s PaaS

services depend on a programming model which is our main focal point that identifies and

highlights the intimate relationship between Cloud Computing and Computer Science. This does

not mean that theory courses cannot benefit from the Cloud, rather that our main attention in this

thesis was on PaaS services. All courses can benefit from SaaS and IaaS layers, such as Cloud

based virtual classroom applications and tools. In addition, we identified multi levels of

difficulty to the courses which can fit in more than one layer of Cloud basic layers of services in

the SOA. Moving from the SaaS layer to the PaaS means the course depth and difficulty

increases, and students have to understand course concepts more deeply. In the same way, when

we moved from the PaaS layer to the IaaS, we had more sophisticated courses with higher levels

of difficulty which reached the details of VMs configuration and fine details of networking and

operating systems. For Intro to Information Management, Fundamental Programming, Intro to


69

Computer Security, Data Analytics, and Database courses located on SaaS layer, we used hosted

applications and systems on the Cloud and obtain the benefit of eliminated licensing issues,

maintenance, and updating.

Figure 24: Cloud Computing and potential Computer Science courses

In Intro to Information Management and Database (DB) courses, we performed exercises

on Microsoft Access to build simple DB and managed its information. For Fundamental

Programming courses, we can use any programming language hosted on the Cloud. Managing a

simple technique to deal with user access and group organization can be done on SaaS level for

Intro to Computer Security course with other basic functions to control the safety of the

information. Finally, in SaaS level courses, there was the Data Analytics course which uses any

existing program or application for analysis purpose, such as Microsoft Excel and Customer

Relationship Management (CRM) applications.


70

5.2.2. Selecting Clouds

We started with identification of Clouds that provide a platform as a service since it is the

most appropriate layer to deploy the framework on. Since the courses would utilize the PaaS to

develop and deploy their application besides the course interface which would be built using

IaaS and PaaS, especially for virtual classroom tools that can be found in the PaaS layer.

Afterward, we eliminate those Clouds to include the Clouds that afford a great amount of

services to apply more courses. In the last stage, we select depending on ease of the use and the

existence of ongoing technical support services. Our Cloud candidates are Amazon, IBM Clouds,

and Windows Azure. In the following three sections, there are some details about each CSP's

candidates.

5.2.2.1. Amazon

Amazon is one of the leading companies in the field of Cloud Computing. Amazon

announced Amazon's Elastic Compute Cloud (EC2) in 2006 (Evangelinos & Hill, 2008; Ouf et

al., 2011). It delivers services through Amazon Web Services (AWS) considered mainly as an

IaaS layer. AWS provides flexibility, cost-effectiveness, scalability, elasticity, and security

(Amazon, 2010; Amazon, 2011b) services which allow the user to manipulate the VMs sitting

and configuration with a highly scalable platform. It also supports queuing, scheduling, and

caching details to deal with operating systems and networking issues. Amazon Cloud provides a

PaaS layer, where the user can develop and deploy their Linux-based applications with high

availability to assure the customer's trust (Jadhav et al., 2010). Moreover, AWS provides a

platform to deal with the database, SimpleDB. This service provides tools of relational database

functionalities (Zhang et al., 2010b).


71

AWS provides scalable, elastic, and reliable resources (Varia, 2010), and it offers

infrastructure as a service which include:

• Servers: Amazon Elastic Compute Cloud (Amazon EC2) is one of the AWS that

offers resizable compute power. Using EC2, the user will be able to build one,

hundreds, or even thousands of servers within minutes.

• Storage: Amazon Simple Storage Service (Amazon S3) is a web interface. It

provides a storage service which can store and retrieve stored data on the web.

• Operating Systems: AWS permits the user to choose from a wide variety of

available operating systems already built in AWS. In addition, it allows the user

to use different OS for one application.

• Networking: Different services provide diverse networking services, such as

Amazon Virtual Private Cloud (Amazon VPC) which uses a Virtual Private

Network (VPN) connection to isolate the IT infrastructure and the AWS

infrastructure and Amazon CloudFront which delivers the content base on the

client location to improve the response time.

In Amazon Cloud, the security starts from attaining different certifications which present

the efficiency of AWS internal control, such as SAS-70 Type II certification. Besides the

achieved certifications, AWS is looking to acquire the strictest certifications in the industry

world to guarantee the security of Cloud Computing environment which is still questionable. The

second step is to guarantee that the security in AWS has the highest level of restrictions on the

physical data centers access. Adding to data center security, backup services store Amazon
72

Simple Storage Service (S3), Amazon SimpleDB, and Amazon Elastic Block Storage (EBS)

automatically in multiple physical locations repeatedly.

5.2.2.2. IBM

IBM has multiple Cloud solutions to different problems, starting from simple SaaS

applications such as CRM systems to complicated DB servers with different security tools. One

of its Clouds called “SmartCloud” was developed for education purposes. SmartCloud provides

services to design educational systems for schools and higher education without devoted staff or

infrastructure. The IBM SmartCloud consists of a set of Cloud services for educators to follow

and analyze student performance. In addition, it offers more effective research tools by

maximizing resource availability; thus, it overcomes resource limitation in the local institutions'

infrastructure.

IBM SmartCloud provides the following solutions:

• SPSS Decision Management for Education: It is a Cloud based solution to analyze

student information with different tools to identify students who will be enrolled in their

institution by helping them maintain and succeed in their educational life and giving them

appropriate information toward the right findings.

• Virtual Computing Lab (VCL): It provides a different services and tools via the Cloud for

students and staff research. VCL (Averitt et al., 2007; Vouk, 2008; Mason Virtual

Computing Lab, 2011) is simple to implement and maintain compared to other available

solutions, flexibility, cost effective solution, and wide resources. VCL offers all of the

three Cloud services: IaaS, PaaS, and SaaS. On the top is the infrastructure service which

prevents students and staff from setting up any software or hardware on their computer
73

while doing their assignment or research. VCL provides the following services for

infrastructure:

•Compute resources, such as physical machines, virtual machines, and OS in the

virtualization layer.

•Network

•Storage

• Cloud Academy: This service provides the needed support to customers who wish to

move to a Cloud and share their knowledge. It supports technical and business projects

by allowing access to resources with the funding possibilities.

IBM assists the institutions and companies in their process of moving to the Cloud by

helping to build strategies, developing architecture, selecting the right workloads, determining a

suitable deployment model—whether private, public, or hybrid Cloud—and managing their

Cloud (Boss et al., 2007).

5.2.2.3. Windows Azure

Windows Azure platform (Microsoft, 2011c) provides friendly interfaces to deal with the

heart of PaaS in developing and deploying differently .NET applications start from very simple

Hello World applications to distributed relational databases. One of Windows Azure’s services

is SQL Azure, which presents DB services from building the DB to deploy it and scale it through

Microsoft data centers. SQL Azure includes relational database services, such as reporting,

querying, and data synchronizing. Windows Azure offers several features including computing
74

resources, storage, database, Virtual Machines (VMs), access control, Content Delivery Network

(CDN), caching, virtual network, service bus, business intelligence, and market place.

Windows Azure was built to help developers succeed in their application, especially for

the developers who build remote data center applications by providing different tools. Windows

Azure provides a platform service which includes operating systems, a set of developer tools,

and different levels on network controls to develop, host, scale, and manage developed

applications on web and non-web environments (Jadhav et al., 2010). Thus, students will focus

on developing the assignment without any pre-configurations for specific software or hardware.

In addition, the Windows Azure platform offers prebuilt sub-programs which often

represent reuse functionalities to save the developers' time and let them focus more on their

projects. By using Windows Azure, the institutes and universities do not need special equipment

or infrastructure; all they need is Internet connection.


75

CHAPTER 6. PILOT CBE-CS COURSES

6.1. Database

Using the Cloud, CS students can create databases, link different databases from diverse

locations, implement and maintain rational databases, and retrieve information using Structured

Query Language (SQL) with PHP to connect the databases in the Internet.

IBM Clouds offers a database solution by providing DB2 images in their available

instances which represents the OS. Students need to create their databases by adding DB2

images (Krook, 2011) as shown in the next figure:

Figure 25: Select a DB2 image from IBM's Clouds to setup the operating system (Krook, 2011)

After naming the image, students should be aware of the security of their databases by

creating private and public keys with configuring the DB2 image shown in the next figure:
76

Figure 26: Configure the DB2 image from IBM's Clouds to deploy SQL and PHP example
(Krook, 2011)

The access permissions must be identified. DB2 images give the ability to set three

different access levels: the owner, administrator, and user. The password should be entered for

each access level. Then, students can start to write the PHP and SQL codes using their user name

and password on the Cloud interface. In addition, they can use PuTTY on their local machine by

downloading the public and private keys. Furthermore, the database can be connected to a Zend

Server to browse the database information using the available extension.

Windows Azure also has another solution which provides a database solution with a user

friendly interface as shown in the next figure:


77

Figure 27: Windows Azure database solution interface snapshot

Building a database using Windows Azure is started with creation of a subscription

followed by creating the server with the access levels and their passwords. Then the databases

are created using a .NET framework after connection of the .NET to the created server.

6.2. Operating Systems

Operating Systems is one of the most beneficial courses from Cloud Computing since

most of CSPs who provide platform as a service (PaaS) are providing a variety of operating

systems in image form; the student can perform multiple exercises and programming

assignments on the available operating system images. Doing so will expose the students to in-

depth knowledge in different operating systems and their performances and compatibility.

Without the Cloud, students simulate the behaviors of different scheduling algorithms

using any programming language, virtual memory, or device management, and so on, but using
78

Cloud Computing, students will experience building and testing a real algorithms which perform

on any local or distributed systems.

To start programming with Amazon, the service selection comes first. Each service is

presented in the AWS interface as shown in the next figure:

Figure 28: AWS interface with the selection of Elastic Beanstalk tap

Followed by the service selection, the user has to choose an appropriate Amazon

Machine Image (AMI) as illustrated in the next figure or the user can upload a specific created

image from his/her local device to AWS. Then they need to specify the number of needed

instances with the availability zone and type. After finishing, the entire wizard provides the

details report about the selected instances given.


79

Figure 29: Select instance from the available virtual machine image to allow start
implementation and dealing with the operating system

6.3. Parallel Programming

Teaching students programming based courses requires hands on training to teach

effectively. Sometimes, the parallel computing is taught as a theoretical course without any lab

exercises. However, the students were able to understand the concept. Applying the same rule

when the students took the parallel computing and writing programs on local servers, the

students understood the complexities of the parallel programming with some hidden and

overlooked issues, but using an actual distributed servers improved student understanding for

hidden issues related to the distributed environment and routing mechanisms, thus improving the

learning outcomes.

Moreover, Cloud Computing overcomes the availability at a multi-core problem to solve

parallel programming problems by enhancing the user experience which helps in the wide

adoption of the Cloud technology (Dwivedi & Mustafee, 2010).


80

There are many models on parallel systems which can be taught in a parallel

programming course. These models are multi-threading (shared-memory), message-passing,

distributed systems, and SIMD-style mostly used in GPUs (Wolffe and Trefftz, 2009).

The student using Cloud Computing can implement a Message Passing Interface (MPI)

and C/C++ languages to run their parallel program with the ability to balance the work load.

Furthermore, they can debug their programs and try different scenarios and issues related to the

performance in the parallel fields.

Using Amazon's EC2 as shown in the following figure, for example, students can

implement use of a MPI which communicates using clusters, and supercomputer standard

protocol (Fujimoto et al., 2010). Building MPI or OpenMP using OpenSSH (OpenSSH, 2011)

allows students to test, run, debug, and deploy their application on a distributed environment.

This process exposes students to hidden bugs in the non-distributed environment; thus, students

will realize the parallel programming complexities.

Figure 30: Amazon EC2 interface and services snapshot


81

6.4. Data Communication and Network

Amazon (Amazon, 2011c) is a rich environment to train students on practical

applications for building networks since they are providing the service of building virtual

networks, allowing students to apply many of the practical examples:

1. Routing

2. Scheduling

3. Network Topology

4. Security and network protection

5. Arrangement and distribution of IPs

Some of these services are shown in the next figure which represents available services

on the Amazon Virtual Private Cloud (VPC).

Figure 31: Amazon Virtual Private Cloud (VPC) service interface snapshot
82

Furthermore, there are several different deployment scenarios for creating VPC which

mix and match Amazon public Cloud and private Cloud (local institution's IT) as shown in the

following figure:

Figure 32: Select deployment methodology of the virtual private Cloud snapshot
83

CHAPTER 7. CLOUD-BASED EDUCATION FOR

COMPUTER SCIENCE (CBE-CS) ECOSYSTEM

7.1. Building the Framework


We know that distance learning (DL) in its current shape is very primitive, as discussed

in Section 3.2. Harnessing the Cloud into the e-learning environment gives more flexibilities and

dynamic resource allocation which solves the scalability issue. Then the virtual classroom on the

top of Cloud Computing layer helps to conquer some DL limitations. Figure 33 shows a general

layout of the new e-learning system based on the Cloud Computing with an interface layer to

control the users' access to different services.

Scientist
Engineers

Artist

Interface

Virtual Classroom

Cloud Computing

Distance Learning

Figure 33: Cloud based virtual classroom architecture


84

Applying the Cloud based architecture to Computer Science courses will result in adding

the course content in the appropriate layer through the interface by adding the content as shown

in Figure 34. Using this architecture will enhance the QoS for adding more students and more

multimedia content. In addition, the live video streaming is a problematic in the previous

systems, but when utilizing the Cloud infrastructure, this problem will be eliminated when we

have a good bandwidth for the private networking (Palmer & Dodson, 2011). Using CBE-CS for

the Computer Science not only demonstrates the benefit of the underlying infrastructure (Dong et

al., 2009a, b; Vaquero, 2011; Tian et al., 2010; Ivica et al., 2009), but also gains more a more

solid base in programming and management skills by utilizing Cloud services.

Parallel Operating
Programming Systems

Database

Interface

Virtual Classroom

Cloud Computing

Distance Learning

Figure 34: Cloud based virtual classroom for Computer Scientests architecture

Based on the identified courses and selected Clouds, we built a Virtual Classroom

Ecosystem for Computer Sciences based on Cloud Computing (VCE-CS) framework. We


85

focused on how we can integrate the course to use the Cloud in its teaching process. The e-

learning components, infrastructure, and their Learning Management System (LMS) are called

the “e-learning ecosystem” (Mehta et al., 2010). By highlighting the how part, we can proceed to

the details of the framework layers and architecture. The following figure shows the VCE-CS

framework.

Figure 35: Virtual Classroom Ecosystem for Computer Science based on Cloud Computing

The presented frame work namely VCE-CS contains four layers (User Interface, SaaS,

PaaS, and IaaS) and three modules (User log database, system security, and service

management):
86

7.1.1. User Interface Layer:

A user Interface represents LMS since it acts as an interface between the user and the e-

learning content. The User Interface layer contains three important components:

User Portals: provide an access path to specific web applications or services since everything is

located on the web and can be accessed using an Internet connection.

Service Catalog: contains different types of services with detailed information about the

additional access information, such as what layer the service is located and who can access

this specific service.

Courses Repository: composed of the courses content categorized and arranged depend on

the course name and access level which may be in one of the three other layers (SaaS, PaaS,

or IaaS).

7.1.2. SaaS Layer:

This layer provides access to hosted programs–applications or tools on the Cloud—used

most of the time by beginner levels, such as 1000 CS courses level. Using Microsoft Word or

Microsoft Access, for example, as a hosted application on the Cloud by SkyDrive (Microsoft,

2011b) or Google Apps (Google, 2011b) is considered as a component for this layer.

7.1.3. PaaS Layer:

In the PaaS level courses, they need more than just an existing application to reach their

goal. Building a distributed system or simulation needs control of the number and the IPs for the

VMs with a platform to host the developed application. Similarly for the Human-Computer
87

interaction course, we need a platform to host and deploy the developed application or system to

measure and test the usability of the deployed system. For the Information Management and DB

courses, they are able to build more sophisticated systems and distributed DBs using different

tools to manage these systems and DBs. They can use different programming languages to build

an application or system on the provided platform for the PaaS level. In the PaaS level, the user

can access the VM level with some limitations, and with this access, they are able to control part

of the networking issues, such as IPs and routing mechanism which help in teaching Net-Centric

Computing courses for the beginner. For the Computational Science course, they can build a

temporary multiprocessing system using multiple VMs to solve an existing problem quickly and

efficiently. The Software Engineering course needs a platform to develop the software which can

be found on the PaaS level. We can choose multiple Operating Systems (OS), build specific

scheduling algorithm, and compare the Central Processing Unit (CPU) utilization and speed

when using different OS. Lastly in the Computer Security course, in the PaaS level the user is

enabled to build inception keys and data encoding mechanisms.

7.1.4. IaaS Layer:

The IaaS level gives more flexibility when dealing with the Hardware layer but through

the virtualization. Now, we have reached the point where we have to build the servers and set up

their configurations as represented in the Advance Information Management and Database

courses. For the Advance Computer Security course, the user can personalize their firewalls,

ports, and IPs access. In this level, we can manipulate the OS and the network more deeply

above the virtualization layer; thus, the OS and Net-Centric Computing fit perfectly in this level.
88

Additionally, the user can deal with the fine details of the virtualization with some limitation

which makes the virtualization course set in this level.

7.2. Selection of Pilot Courses

This research intended to provide proof of the concept by simulation. Nevertheless, using

the available simulator, such as CloudSim, we were unable to provide such proof since the

proposed framework was based on PaaS layer and the CloudSim operates on the IaaS layer.

We gave examples on how the framework works in specific course context, for instance,

high performance computing and operating system courses.

In this research, four pilot courses were selected; each course represented a separate case

study as proof of the concept that we built our framework accordingly. An example from each

course is chosen to show how it worked on the Cloud. The case studies are Database, Operating

Systems, Parallel Programming, and Data Communication and network.

7.3. Implementation Proposal

The proposed framework utilized the existing IT infrastructure for institutions which

would adapt the framework namely, Virtual Classroom Ecosystem for Computer Science (VCE-

CS) as illustrated above. In such a situation, the framework needs to deploy a hybrid Cloud

model which combines the local infrastructure as a private Cloud with selected public Clouds

(Yara et al., 2009). This mashup process combines multiple services (Dong et al., 2009c) from

different CSPs to serve Computer Science and enhance the e-learning ecosystem sustainability.

Hybrid Cloud is one of the Cloud Computing deployment models. It provides the ability

to access, manage, and use third-party (vendors) resources from multiple CSPs and combines
89

them within in-house infrastructure (private Cloud). Using such a model allowed us to avoid

lock-in and was blocked with one CSP by allowing mix and match services from different CSPs.

In addition, it gave us the ability to secure the institution’s critical application and data by

hosting them on the private Cloud without having to expose them to a third-party. With a hybrid

Cloud model, the institution has more control of their system since part of the infrastructure is

under their control. For this model, the research needs software which manages the complexities

and the heterogeneity of this distributed data centers. The framework's candidate is an open-

source project called OpenNebula which can support on-demand VMs provisioning, pre-

configured, and manage groups of interconnected VMs; thus, OpenNebula enhances the

integration of external providers (CSPs) to enable the selected model of deployment. A historical

time line for OpenNebula is illustrated in Figure 36. OpenNebula initially was a research project,

and after its release in March 2008, it became one of the open source projects. OpenNebula is

growing very fast to meet the industry and developer requirements (OpenNebula, 2011).

Figure 36: OpenNebula historical time line (OpenNebula, 2011)


90

Managing Cloud's infrastructure is one of the top concerns in IaaS; consequently, the

need for a virtual infrastructure manager was raised. Using OpenNebula gives the ability to

manage the local infrastructure and establish the first step toward hybrid Cloud solution by

interfacing with a remote Cloud site.

OpenNebula’s main role is to manage the VMs (Sotomayor et al., 2009). This

management creates a life cycle for each VM (Llorente et al., 2011). The life cycle starts from

the resource selection stage which results in a feasible placement on the selected VM by the

scheduler. The VM is placed on the target physical resource which is considered as resource

preparation in the second stage. After the VM placement, the VM creation stage boots the VM

by the resource hypervisor. In the middle of the process, for example, the VM could be migrated

to more suitable resources in the VM migration to optimize power consumption. The Final stage

is VM termination which shuts down the VM image. The following figure shows the architecture

of OpenNebula:

Figure 37: OpenNebula virtual infrastructure engine components (Peng et al., 2009)
91

The framework places as its base the hybrid Cloud. On top of OpenNebula, Aneka

(Vecchiola et al., 2011) which is a platform for managing and programming applications that are

built and deployed on the Cloud PaaS implementation solution, as the implementation model for

the PaaS layer. Aneka provides software infrastructure for scaling applications using broad

collection of APIs for the developers to design and implement applications. Aneka gives

developers the ability to run their application on a local or remote distributed infrastructure

which supports the hybrid Cloud deployment model.

Transferring the current system or platform to be managed and accessible within Cloud

technology is a very hard task. Therefore, it needs lots of planning, preparing, testing, and

changing of the current layers and architecture of the platform to be compatible with the Cloud-

based educational environment; furthermore, the need for a flexible, extensible, and accessible

solution for developing and deploying the proposed framework is raised. The Aneka platform

met the listed requirements mentioned above which made it one of the best solutions in our case.

The Aneka platform (Vecchiola et al., 2011) provides a flexible and configurable platform which

supports multiple programming languages and gives the ability to develop and deploy the

applications either on private or public Clouds as the following figure shows:

Figure 38: Typical Aneka Cloud deployment (Vecchiola et al., 2009)


92

Since BGSU's IT infrastructure is heterogeneous including their workstations and servers,

Aneka (Vecchiola et al., 2011) is suitable to deal with such heterogeneity to maximize resource

utilization in powerful manner as the following figure shows. Aneka was built on the service-

oriented architecture which gave Aneka its extensibility to integrate different types of Clouds.

Figure 39: Aneka framework architecture (Sukumar et al., 2011)

As shown in the above figure, the Aneka framework architecture contains three different

layers corresponding to the basic service layers of the Cloud Computing easily integrated with

the external Cloud. Aneka enables the execution of the application on its runtime environment by

using the underlying Cloud infrastructure for either private or public Clouds. It provides
93

management tools; administrators can easily start, stop, and deploy any application. The Aneka

platform contains three classes of services which characterize its middleware layer:

1. Execution Services: Their primary responsibility is scheduling and executing deployed

applications.

2. Foundation Services: They represent the collection set of management services, such as

metering applications and resource allocation and updating the service registry whenever

needed.

3. Fabric Services: They present the lowest level of middleware services classes. They

provide access to Cloud resource management to enable resource provisioning which will

scale the allocated resources to the applications to achieve the required QoS.
94

Figure 40: An overview of a hybrid Cloud for an institution like BGSU

The figure above shows an overview of the selected Cloud and how the content can be

arranged in the private Cloud. Within six steps, the user can use a resource and then release it;

these steps are illustrated in the following points:

1- The user sends a request using the BGSU hybrid Cloud interface
95

2- The verification of the authorization level will be checked using the user profile private

Cloud.

3- If the user is unauthorized to request such services, the system will reject the user's

request; otherwise, the request will be sent to the virtual infrastructure manager

(OpenNebula) to redirect the request to the appropriate location for either public or

private Clouds.

4- The system will establish a connection between the requested service from the Cloud and

the user.

5- As long as the user needs the resource and does not exceed the maximum usage period,

the system synchronizes the service delivery between the user and the resource.

6- When the user is done and no longer needs the requested resource, the system will

terminate the session and disconnect the user from the target Cloud.

To build a powerful hybrid Cloud solution (Liu et al., 2011) which utilizes the current

Bowling Green State University (BGSU) IT infrastructure (private Cloud), the research used

Aneka middleware on top of OpenNebula. The combination of these two open-sources provided

a manageable hybrid Cloud for BGSU. This approach utilized BGSU's IT infrastructure more

efficiently, and it provided additional resources when the BGSU's IT infrastructure was at the

peak time and could not provide all the requested resources, such as storage and computing

power. The additional resources will be brought from the available public Clouds.

BGSU’s hybrid Cloud contains several components to deliver the requested service.

There are three layers made up for the private BGSU Cloud with two modules to manage the

user's access and the content delivery. BGSU’s private Cloud has the ability to be connected to

public Cloud at the peak time. In addition, the user can request any needed service from the
96

public Cloud at any time, which results in BGSU hybrid Cloud. The following list describes

BGSU hybrid Cloud’s components:

1- Infrastructure layer:

The BGSU IT Infrastructure was placed at the bottom of this layer since BGSU’s private

Cloud would be built on top of the available infrastructure. Furthermore, these physical

infrastructures were virtualized using OpenNebula which plays a critical role in the infrastructure

layer.

2- Platform layer:

This layer contains the Aneka platform which worked and managed the platform to

enable development and deployment of applications and programs with the ability to access

public Clouds resources and platforms. Moreover, it is connected to the Course Repository

module to integrate the Aneka platform service with the course content of assignments.

3- Use Interface layer:

This layer controls and is managed by the BGSU hybrid Cloud, identifying the access

model which could be students, faculty, administrator, or others which can be created by the

system's administrator. The authorization and identification process is done using the Users Logs

module to verify the entered information. Then it forwards the users’ request to the appropriate

component in the same layer. Furthermore, this layer has three other components: IaaS, PaaS,

and SaaS. IaaS provides a resource from the Infrastructure layer. A middleware container is used

to develop applications and give Computer Science learners and educators the access to PaaS

services provided by the PaaS component in the user Interface layer which provides an access to

the Platform layer that contains the Aneka platform. Lastly is the SaaS component which

provides access to either the Platform layer so as to use one of the deployed applications or to
97

public Clouds which may host an application used by system users, such as e-mail. There is a

certain level of QoS which is granted by the provided SLA which includes detailed information

about the services and available levels of resources to be accessed. This multi-layer in the BGSU

hybrid Cloud architecture offers additional levels of security for the presented system.

4- Courses Repository module:

This consists mainly of e-learning systems content, such as database systems, Web file

system, and so on. This module contains specific details about the homework and assignments.

Computer Science learners accessed their programming assignments using this module.

5- Users Logs module:

This is mainly responsible for checking the track of the authorizations users and its access

mode which is selected in the User Interface layer checked them via this module. Users'

information is stored in the Users Logs module, such as access modes, user account name,

password, user type, and so on. Moreover, this module manages and supports resource utilization

by recording the resource requirements and their status. In the following figure is the proposed

BGSU hybrid Cloud architecture:


98

Figure 41: BGSU's hybrid Cloud architecture


99

CHAPTER 8. DISCUSSION

In this research, the current status of e-learning system was studied to highlight the

limitations (Zhang & Nunamaker, 2003; Wong, 2007; Zhixiao et al., 2008; Lee et al., 2009; Das

et al., 2010; Fiaidhi, 2010; Redondo et al., 2010; Yuru et al., 2010) and determine how we could

improve the e-learning environment for Computer Science education. After identifying the

challenges and limitations, the research showed that Cloud Computing can overcome most of

these limitations (Pocatilu et al., 2009; Ekanayaka et al., 2010; Goldstein, 2010; Pocatilu et al.,

2010) to improve the Virtual Learning Environment (VLE); thus, the idea of harnessing the

Cloud Computing service at BGSU by utilizing Infrastructure as a Service (IaaS) to overcome

the resource limitations (Abdul Razak, 2009; Dong et al., 2009a, b) and SaaS to enhance the

learning environment by adding more interactive and valuable tools (Sclater, 2010; Yuru et al.,

2010) seems feasible. The primary focus of this research is to utilize PaaS which would enable

the student to develop and deploy applications and programming assignments in a real

distributed environment, thereby enhancing the students’ learning outcomes and knowledge base

(Ivica et al., 2009; Vaquero, 2011).

A Cloud-based framework has been presented which combines the existing public Clouds

and BGSU’s private Cloud to host courses. The main objective was to enhance the Computer

Science learning environment by utilizing PaaS and make it available for Computer Science

learners and educators. PaaS enabled students to experience hands-on training in real

environments which improved their learning and knowledge base as well as enhanced their

learning outcomes. Three Cloud Service Providers (CSPs) were chosen for teaching a wide range

of sophisticated Computer Science courses that will enjoy the benefits of the Cloud.
100

Examples of four pilot Computer Science courses have been given. The selected courses

are Database, Operating System, Parallel Programming, and Data Communication and Network.

Because CloudSim is the only existing open source simulation toolkit that simulates the IaaS, we

could not use it to simulate PaaS, the main layer in our framework.

The generalized framework, along with the pilot Cloud-Based Education for Computer

Science (CBE-CS) courses and their corresponding examples, was discussed. This framework

eliminates unrelated issues in the progress of teaching courses for both the teacher and the

students. Such issues include network connection details and implementing parallel distributed

programs using MPI. In addition, using the Cloud allowed the student to work in real

environments and get hands-on training. For example, it exposed the student to problems that

could not exist with local clusters. By using the Cloud Computing which overcomes most

challenges of the current e-learning systems, we provided a much better learning environment for

Computer Science students and improved job opportunities because of the hands-on training,

background, and knowledge of the Cloud Computing. Making the framework suitable for

teaching Computer Science courses by utilizing public Clouds' resources would bring significant

benefits for the Computer Science field if Computer Science programs utilized the framework in

their teaching since the framework increases the allowable number of enrolled students and

decreases cost.
101

CHAPTER 9. FUTURE WORK

The proposed framework is just a road map for the implementation of a whole virtual

classroom ecosystem. After the system is ready to use, an independent study comparing the

learning process using the proposed framework with the original learning environment should be

conducted.

The research possibilities regarding Cloud Computing for educational purposes are

immense since the technology is relatively new. Research in the education fields has much to be

examined, but there is not yet a clear definition and standard for such technology. The movement

will be rapid after the standardization. Here is a list of some of the future work to be done:

1- Implement the ecosystem using the agile approach with iterative feedback and reflection

to produce high quality and accepted learning environments. Using such a model may

change the initial vision of the sites to be developed to build more creative and effective

learning environments.

2- Examine the impact of learners’ programming background characteristics on the

framework’s effectiveness. Do the learners' backgrounds in programming affect their

performance in the course? If so, what are the suitable solutions? How can inexperienced

or unknowledgeable programmers improve their performance?

3- Explore how to provide more powerful environments to allow learners to gain new

knowledge and skills. As an example, Cloud Computing provides different tools and

solutions for virtual classroom environments. Thus, system administrators must always

look for more powerful tools and applications to be deployed.


102

4- Study how the framework efficiency enhances learners' performance and knowledge

base. Examine diverse scenarios that explore the strengths and the weaknesses of the

proposed framework.

5- Investigate the effectiveness of the course content and placement in the framework as

well as the ability to move and add courses. In other words, refine the framework after

examining actual scenarios. Depending on the survey results, the framework can be

modified by moving or adding courses or components.

6- Reevaluate work effectiveness to use the Cloud effectively as a new technology. Any

proposed work should be refined and reevaluated to assure the resource level of its

quality, thus promoting a robust learning environment.

7- Measure the framework effectiveness by having two classes study the same course

material. One of these courses should study course material without Cloud-based

applications, but the other section should utilize course material via Cloud. Moreover,

these sections should complete their homework and programming assignments using the

Cloud.

8- Conduct a comparison study on the usability of any two Clouds by running the proposed

framework and measuring performance. The comparison study may consider the cost,

ease of learning, network latency, ease of use, and any other important measurements.

9- Compare the implementation of the framework on the public Cloud, private Cloud, and

hybrid Cloud by highlighting the strengths and weaknesses of each Cloud architecture

while considering the performance and security issues.

In addition, all the opening questions can be considered as opportunities for future work.

More questions would be regarding whether the Cloud augments the learning process, whether
103

the Cloud is superior to traditional server farms, how good Cloud-based e-learning would be, and

whether Cloud-based education is superior to traditional classroom education.


104

CHAPTER 10. CONCLUSIONS

This research investigated the potential benefits of using Cloud Computing in e-learning

environments to overcome the current e-learning system limitations. The research focused

primarily on Computer Science learners and improving their learning via Cloud Computing.

The research identified the potential courses to be taught through the Cloud with the

ability to add more courses. Since all of the previous work focused on the courses that can be

used based on their platforms, we introduce Virtual Classroom Ecosystem for Computer

Sciences based on Cloud Computing (VCE-CS), a new framework to adapt to the appropriate

courses, making the platform easy to use in several courses.

Moreover, this study highlighted the benefits of using the Cloud for institutions,

administrators, faculty, and the most important player, the student. Four courses (Database,

Operating System, Parallel Computing, and Data Communication and Network) on different

public Clouds were discussed as proof of the effectiveness of a VCE-CS framework. The

benefits show that e-learning development cannot ignore Cloud Computing and its benefits

(Pocatilu, 2010) in the educational field.

As debates regarding the use of social networking in teaching rage (Hoffman, 2009), so

do the debates surrounding Cloud Computing as a ground-breaking form of new technology.

This research identified the potential advantages of using Cloud Computing in educational

settings as well as limitations that should be considered. In short, without any doubt, Cloud

Computing offers a plethora of tools and choices, which should be carefully evaluated to ensure

that all the educational stake-holders gain the maximum benefits from such technology.
105

REFERENCES
Abdul Razak, S. F.(2009) ‘Cloud Computing in Malaysia Universities’, Conference on

Innovative Technologies in Intelligent Systems and Industrial Applications (CITISIA 2009)

Monash University, Sunway campus, Malaysia, 25-26 July (2009) pp. 101-106.

Adobe (2011), http://WWW.adobe.Com/products/acrobatconnectpro/, [accessed 6 August2011].

Aldhalaan, A. (2010) Advances in Virtual Environments and the Virtual Classroom, Technical

Report, Bowling Green State University, Ohio.

Al-Zoube, M. (2009) ‘E-learning on the Cloud’, International Arab Journal of e- technology,

1(2) Jun 2009.pp.58-64.

Amazon (2010) Amazon Web Services: Overview of Amazon Web Services, Amazon Web

Services, White Paper, December (2010)

http://d36cz9buwru1tt.cloudfront.net/AWS_Overview.pdf [accessed 16 July 2011].

Amazon (2011a) Amazon Elastic Compute Cloud (EC2). http://aws.amazon.com/ec2/ [accessed

1 September 2011].

Amazon (2011b) Amazon Web Services: Overview of Security Processes, Amazon Web

Services, White Paper, May (2011) http://aws.amazon.com/security [accessed 1

September 2011].

Amazon (2011c) AWS in Education, http://aws.amazon.com/education [accessed 17 August

2011].

Anderson, J. & Rainie, L. (2010) ‘The future of Cloud Computing’, Pew Internet & American

Life Project, Report Online: http://pewinternet.org/Reports/2010/The-future-of-Cloud-

computing.aspx
106

Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R. H., Konwinski, A., Lee, G.,

Patterson, D. A., Rabkin, A., Stoica, I. & Zaharia, M. (2009) Above the Clouds: A Berkeley

View of Cloud Computing, Electrical Engineering and Computer Sciences University of

California at Berkeley.

Armbrust, M., Fox, A., Griffith, R., Joseph, A., Katz, R., Konwinski, A., Lee, G., Patterson, D.,

Rabkin, A., Stoica, I. & Zaharia, M. (2010) ‘A View of Cloud Computing’, A View of

Cloud Computing. Practice, communications of the ACM. April (2010) 53(4) pp. 50-58.

Averitt, S., Bugaev, M., Peeler, A., Shaffer, H., Sills, E., Stein, S., Thompson, J. & Vouk, M.

(2007) Virtual Computing Laboratory (VCL) ‘In the Proceedings of the International

Conference on Virtual, Computing Initiative’, May 7-8, (2007) IBM Corp., Research

Triangle Park, NC) pp. 1-16.

Bahiraey, M. H. (2010) ‘Quality of Collaborative and Individual Learning in Virtual Learning

Environments’, The Second International Conference on E-Learning and E-Teaching

(ICELET 2010), IEEE.

Bahsoon, R. (2010) ‘Green Cloud: Towards a Framework for Dynamic Self-Optimization of

Power and Dependability Requirements in Cloud Architectures’, WSRCC-2 Papers

Software Research and Climate Change A blog for community building in April 17, 2010.

Bai, X. (2010) ‘Affordance of Ubiquitous Learning through Cloud Computing’, 2010 Fifth

International Conference on Frontier of Computer Science and Technology) pp. 78-82.

Basak, D., Toshniwal, R., Maskalik, S. & Sequeira, A. (2010) ‘Virtualizing networking and

security in the Cloud’, Newsletter ACM SIGOPS Operating Systems Review, 44 (4),

December 2010, ACM New York, NY, USA.


107

Beaubouef, T. & Mason, J. (2005) ‘Why the High Attrition Rate for Computer Science Students:

Some Thoughts and Observations’, ACM SIGCSE Bulletin, 37(2) pp.103-106.

Berl, A., Gelenbe, E., Girolamo, M., Giuliani, G., Meer, H., Dang, M. Q. & Pentikousis, K.

(2009) ‘Energy-Efficient Cloud Computing’, Advance Access publication on August 19,

(2009) from comjnl.oxfordjournals.org at Bowling Green State University, Jerome

Library-Serials on July 19, 2011.

Blake, R. (2008) ‘Distance Learning for Second and Foreign Language Teaching’, In: N. Van

Deusen-Scholl & N.H. Hornberger (Eds.) Encyclopedia of Language and Education:

Second and Foreign Language Education, 2nd ed. 4. Heidelberg: Springer, pp. 365-376.

Borangiu, T., Curaj, A. & Dogar, A. (2010) ‘Fostering Innovation in Services through Open

Education and Advanced IT ’, Computational Cybernetics and Technical Informatics

(ICCC-CONTI), 2010 International Joint Conference on 27-29 May (2010) pp.437 – 444.

Boss, G., Malladi, P., Quan, D., Legregni, L. & Hall, H. (2007) Cloud Computing, Copyright

IBM Corporation [accessed 1 September 2011].

www.ibm.com/developerworks/websphere/zones/hipods/

Broberg, J., Buyya, R. & Tari, Z. (2008) ‘Creating a Cloud Storage Mash Up for High

Performance, Low Cost Content Delivery’, ICSOC Workshops 2008: pp.178-183.

Brown, A. (2006) ‘Learning from a Distance’, Journal of Property Management, 71(4) pp. 42-

45.

Buyya, R. & Murshed, M. (2002) ‘GridSim: A toolkit for the Modeling and Simulation of

Distributed Resource Management and Scheduling for Grid Computing’, Concurrency and

Computation: Practice and Experience, 14(13-15) pp. 1175-1220, Wiley Press, New York,

USA, November - December 2002.


108

Buyya, R., Pandey, S. & Vecchiola, C. (2010) ‘Market-Oriented Cloud Computing and the

Cloudbus Toolkit, Concurrency and Computation: Practice and Experience’, 2010. Under

review. Wiley & Sons, Ltd.

Buyya, R., Ranjan, R. & Calheiros, R. N. (2009) ‘Modeling and Simulation of Scalable Cloud

Computing Environments and the Cloudsim Toolkit: Challenges and Opportunities’,

Proceedings of the 7th High Performance Computing and Simulation Conference, Leipzig,

Germany, June 21-18, 2009.

Caeiro-Rodriguez, M., Fontenla-González, J., Pérez-Rodríguez, R. & Anido-Rifón, L. (2010)

‘Instructional Design with PoEML in an E-learning-as-a-Service Model. Mixing Web and

IPTV Learning Experiencies’, Advanced Learning Technologies (ICALT), 2010 IEEE

10th International Conference on 5-7 July 2010, pp. 736 – 737.

Cai, Y. (2010) ‘The Research and Application of SaaS in Educational Information System Based

on Educational Metropolitan Area Network’, 2010 International Conference on

Educational and Information Technology (ICEIT 2010), 2010 IEEE 2- pp. 508- 510.

Calheiros, R. N., Ranjan, R., De Rose, C. A. F. & Buyya, R. (2009) CloudSim: A novel

Framework for Modeling and Simulation of Cloud Computing Infrastructures and

Services, Technical Report, The University of Melbourne, Australia, March 13, 2009.

Callaghan, M. J., McCusker, K., Losada, J. L., Harkin, J. G. & Wilson, S. (2009a) ‘Integrating

Virtual Worlds and Virtual Learning Environments for Online Education ICE-GIC’, IEEE

Consumer Electronics Society Conference Games Innovation, pp. 54-63.

Callaghan, M. J., McCusker, K., Losada, J. L., Harkin, J. G. & Wilson, S. (2009b) ‘Teaching

Engineering Education Using Virtual Worlds and Virtual Learning Environments’,


109

International Conference on Advances in Computing, Control, and Telecommunication

Technologies, pp. 295-299.

Cappos, J., Beschastnikh, I., Krishnamurthy, A. & Anderson, T. (2009) ‘Seattle: A Platform for

Educational Cloud Computing ’, 09, ACM SIGCSE Bulletin, 41(1) pp. 111-115, ACM New

York, NY, USA, March 3-7, 2009.

Chahal, S., Steichen, J. H., Kamhout, D., Kraemer, R., Li, H. & Peters, C. (2010) An Enterprise

Private Cloud Architecture and Implementation Roadmap, IT@Intel White Paper, Intel

Information Technology Business Solutions. www.intel.com/IT

Chen, C. & Lee, C. (2004) ‘A Dynamic Load Balancing Model for the Multi-Server Online

Game Systems’, in HPC Asia, Poster.

Chen, R. & Liu, S. (2009) ‘Applying Concept Mapping on the Influent Learning in Virtual

Classroom’, Ninth International Conference on Hybrid Intelligent Systems, 266-270.

Chen, Z. & Zhang, L. (2008) A Case Study Based Services Computing Course Delivery Practice,

IEEE Congress on Services, Part II, pp. 201-207.

Chine, K. (2010) ‘ Learning Math and Statistics on the Cloud, Towards An EC2-Based Google

Docs-Like Portal for Teaching / Learning Collaboratively with R and Scilab’, Advanced

Learning Technologies (ICALT), 2010 IEEE 10th International Conference on 5-7 July

(2010), pp. 752 - 753.

Conole, G. & Culver, J. (2010) ‘The design of Cloudworks: Applying Social Networking

Practice to Foster the Exchange of Learning and Teaching Ideas and Designs’, Computers

and Education, 54(3) pp. 679–692.

Creeger, M. & Roundtable, C. T. O. (2009) ‘Cloud Computing’, Communications of the ACM,

52 (8) pp. 50-56.


110

Cubillo, J., Marten, S. & Castro, M. (2011) ‘ New Technologies Applied in the Educational

Process’, IEEE Global Engineering Education Conference (EDUCON) –Learning

Environments and Ecosystems in Engineering Education,April 4 - 6, (2010) Amman,

Jordan, pp. 575-584.

Das, S., Dhande, A. P. & Bhoi, M. (2010) ‘Leveraging Virtual Classroom for Effective

Learning’, t4e, pp.101-106, 2010 International Conference on Technology for Education,

2010.

Delic, K. A. & Walker, M. A. (2008) ‘Emergence of the Academic Computing Clouds’, ACM

Ubiquity, 9 (25) June 24, 2008.

Di Costanzo, A., De Assuncao, M. D. & Buyya, R. (2009) ‘Harnessing Cloud Technologies for a

Virtualized Distributed Computing Infrastructure’, internet Computing, IEEE, 13(5) pp.

24-33.

Doelitzscher, F., Sulistio, A., Reich, C., Kuijs, H. & Wolf, D. (2011) ‘Private Cloud for

Collaboration and E-Learning Services: from IaaS to SaaS’, Computing, Vol. 91, pp. 23-

42.

Dong, B., Zheng, Q., Qiao, M., Shu, J. & Yang, J. (2009b) ‘BlueSky Cloud Framework: An E-

Learning Framework Embracing Cloud Computing’, In: Jaatun, J., Zhao, M.G. & Rong, C.

(eds.) Cloud Computing Lecture Notes in Computer Science. Springer-Verlag Berlin

Heidelberg, pp. 577-582.

Dong, B., Zheng, Q., Xu, L., Li, H., Yang, J. & Qiao, M. (2009c) ‘Jampots: A Mashup System

towards an E-learning Ecosystem’, INC, IMS and IDC, 2009. NCM '09. Fifth International

Joint Conference on 25-27 Aug. 2009, pp. 200 - 205


111

Dong, B., Zheng, Q., Yang, J., Li, H. & Qiao, M. (2009a) ‘An e-Learning Ecosystem Based on

Cloud Computing Infrastructure’, Ninth IEEE International Conference on Advanced

Learning Technologies, pp. 125-127.

Dwivedi, Y. K. & Mustafee, N. (2010) ‘Viewpoint It's Unwritten in the Cloud: the Technology

Enablers for Realising the Promise of Cloud Computing’, Journal of Enterprise

Information Management, 23 (6) pp.673-679.

Ekanayake, J. & Fox, G. (2009) ‘High Performance Parallel Computing with Clouds and Cloud

Technologies’, First International Conference CloudComp on Cloud Computing, pp. 20-

38, 2009

Ekanayake, J., Qiu, X., Gunarathne, T., Beason, S. & Fox, G. (2010) High Performance Parallel

Computing with Cloud and Cloud Technologies, Technical Report August 25, 2009

http://grids.ucs.indiana.edu/ptliupages/publications/CGLCloudReview.pdf

Evangelinos, C. & Hill, C. N. (2008) Cloud Computing for Parallel Scientific HPC Applications:

Feasibility of Running Coupled Atmosphere-Ocean Climate Models on Amazon's EC2,

CCA-08 October 22–23, (2008) Chicago, IL.

Fang, C. F. & Sing, L. C. (2009) ‘Collaborative Learning Using Service-Oriented Architecture:

A Framework Design’, Knowledge-Based Systems 22 pp. 271–274.

Ferzli, R. & Khalife, I. (2011) ‘Mobile Cloud Computing Educational Tool for Image/Video

Processing Algorithms’, Digital Signal Processing Workshop and IEEE Signal Processing

Education Workshop (DSP/SPE), 2011 IEEE, pp. 529 – 533.

Feuerlicht, G. & Govardhan, S. (2009) ‘SOA: Trends and Directions’, Systems Integration,

pp.149-155.
112

Fiaidhi, J. (2010) ‘Developing Personal Learning Environments Based on Calm Technologies’,

U- and E-Service, Science and Technology Communications in Computer and Information

Science, 124, pp. 134-146.

Finke, A. & Bicans, J. (2010) ‘E-Learning System Content and Architecture Evolution’, 16th

International Conference on Information and Software Technologies, Kaunas, Lithuania

pp. 311-315.

Foster, I. (2002) ‘What is the Grid? A Three Point Checklist’,

http://dlib.cs.odu.edu/WhatIsTheGrid.pdf

Foster, I., Zhao, Y., Raicu, I. & Lu, S. (2008) Cloud Computing and Grid Computing 360-

Degree Compared, GCE ‘08 In 2008 Grid Computing Environments Workshop, pp. 1-10,

November 16, 2008.

Fox, A. (2011) Cloud Computing-What‘s in it for me as a Scientist? , Computer Science. 2011

by the American Association for the Advancement of Science. www.sciencemag.org on

March 29, 2011.

Fujimoto, R. M., Malik, A. W. & Park, A. J. (2010) ‘Parallel and Distributed Simulation in the

Cloud’, SCS M&S Magazine- 3, July, pp. 1-10.

Gambi, A., Pezze, M. & Young, M. (2009) ‘SLA Protection Models for Virtualized Data

Centers’, SEAMS'09, May 18-19, 2009, Vancouver, Canada.

Gasparyan, A. (2007) Cost-Efficient Video Interactions for Virtual Training Environment, M.Sc.

Thesis, Bowling Green State University.

Gember, A. & Akella, A. (2010) Mobile Device Offloading Using Enterprise Network and Cloud

Resources, Technical Report, University of Wisconsin Madison.


113

Gill, A. Q. (2011) Cloud Computing: Application Development in the Cloud Computing

Environment, Postdoctoral Researcher, University of Sydney.

Goldstein, P. J. (2010) ‘Demystifying the Cloud: Implications for IT Funding in Higher

Education’, Educause center for Applied Research, ECAR Research Bulletin 4.

http://www.educause.edu/ecar

Gong, C., Liu, J., Zhang, Q., Chen, H. & Gong, Z. (2010) ‘The Characteristics of Cloud

Computing’, Parallel Processing Workshops (ICPPW), 2010 39th International Conference

on 13-16 Sept. 2010, pp. 275 – 279.

Google (2011a), Google App Engine, http://www.google.com/apps/, [accessed 5/5/2011].

Google (2011b), Google Apps, http://code.google.com/appengine/, [accessed 6/8/2011].

Grobauer, B., Walloschek, T. & Stocker, E. (2011) ‘Understanding Cloud Computing

Vulnerabilities’, Security & Privacy, IEEE, 9 (2) pp. 50-57.

Grossman, R. L. (2009) ‘The Case for Cloud Computing’, IEEE Computer Society, 11(2) pp. 23

– 27.

Gudanescu, N. (2010) 'Using Modern Technology for Improving Learning process at Different

Educational Levels', Procedia Social and Behavioral Sciences, 2, pp. 5641-5645.

Hayes, B. (2008) ‘Cloud Computing As Software Migrates from Local PCs to Distant Internet

Servers, Users and Developers Alike Go Along for the Ride’, Communications of the

ACM. 51(7) pp. 9-11.

He, Q., Zhou, S., Kobler, B., Duffy, D. & McGlynn, T. (2010) ‘Case Study for Running HPC

Applications in Public Clouds’, High Performance Distributed Computing (HPDC) ‘10,

June 20–25, (2010) Chicago, Illinois, USA. pp 395-401.


114

Hoffman, E.S. (2009) ‘Evaluating Social Networking Tools for Distance Learning’, Proceedings

in: Theory of Cryptography Conference (TCC), 2009.

Hofmann, P. & Woods, D. (2010) ‘Cloud Computing: The Limits of Public Clouds for Business

Applications’, Internet Computing, IEEE, 14 (6) pp. 90 - 93

Hu, Z. & Zhang, S. (2010) ‘Blended/Hybrid Course Design in Active Learning Cloud at South

Dakota State University’, 2nd International Conference on Education Technology and

Computer (ICETC), Vol. 1, pp. 63-67.

Huang, W. & Yang, J. (2010) ‘New Network Security Based on Cloud Computing’, 2010

Second International Workshop on Education Technology and Computer Science, IEEE,

pp. 206-209.

Idziorek, J. (2010) ‘Discrete Event Simulation Model for Analysis of Horizontal Scaling in the

Cloud Computing Model’, Winter Simulation Conference (WSC), Proceedings of the

(2010) pp.3004-3014, Dec. 5-8, 2010.

Iris, R. & Vikas, A. (2011) 'E-Learning Technologies: A Key to Dynamic Capabilities',

Computers in Human Behavior, Vol. 27, pp. 1868-1874.

Ivica, C., Riley, J. T. & Shubert, C. (2009) ‘StarHPC — Teaching Parallel Programming within

Elastic Compute Cloud ’, Information Technology Interfaces, 2009. ITI ‘09. Proceedings

of the ITI 2009 31st International Conference on June 22-25, (2009) pp. 353-356.

Jadhav, M. B., Gaikwad, V. J., Patil, C. V. & Deshpe, G. S. (2010) ‘Cloud Computing

Application in Computational Science’, International Journal of Advanced Computer and

Mathematical Sciences, 1(1), Dec. (2010) pp. 1-6.

Jadhwani, P., MacKinnon, J. & Elrefai, M. (2011) Cloud Computing Building a Framework for

Successful Transition, GTSI Solutions, White Paper, Cloud Computing.


115

Jaligama, V. & Liarokapis, F. (2011) ‘An Online Virtual Learning Environment for Higher

Education’, Third International Conference on Games and Virtual Worlds for Serious

Applications) pp. 207-214.

Jun, L. & Zi, J. L. (2010) ‘ Influence of Cloud Computing on Educational Informationization of

China Rural Areas ’, Information Science and Engineering (ICISE), 2010 2nd

International Conference on 4-6 Dec. (2010) pp. 281 – 283.

Jurgelionis, A., Bellotti, F., De Gloria, A., Laulajainen, J. P., Fechteler, P., Eisert, P. & David,

H. (2010) ‘Testing Cross-Platform Streamingof Video Games over Wired and Wireless

LANs’, Advanced Information Networking and Applications Workshops (WAINA), 2010

IEEE 24th International Conference on 20-23 April 2010, pp. 1053 – 1058.

Kajita, S. (2010) ‘Academic Refactoring through Realizing Academic Cloud ’, IEEE. TENCON

(2010) pp. 1082-1087.

Kant, K. (2009) ‘ Data Center Evolution a Tutorial on State of The Art, Issues, and Challenges ’,

Computer Networks, 53, pp. 2939–2965.

Katz, R. N., Goldstein, P. J. & Yanosky, R. (2009) Demystifying Cloud Computing For Higher

Education, EDUCAUSE Center for Applied Reserch, Research Bulletin, Vol. 22.

Kim, S., Song, S. & Yoon, Y. (2011) ‘Communication Smart Learning Services Based on Smart

Cloud Computing ’, Sensors. 11, pp.7835- 7850, Available in:

www.mdpi.com/journal/sensors

Kliazovich, D., Bouvry, P. & Khan, S. U. (2010b) ‘GreenCloud: A packet-Level Simulator of

Energy-Aware Cloud Computing Data Centers ’, Springer Science+ Business Media, LLC.
116

Kliazovich, D., Bouvry, P., Audzevich, Y. & Khan, S.U. (2010a) ‘GreenCloud: A packet-Level

Simulator of Energy-Aware Cloud Computing Data Centers ’, GLOBECOM (2010) 2010

IEEE Global Telecommunications Conference) pp.1-5.

Kondo, D., Javadi, B., Malecot, P., Cappello, F. & Anderson, D.P. (2009) ‘Cost-Benefit Analysis

of Cloud Computing Versus Desktop Grids ’, Parallel and Distributed Processing, 2009.

IPDPS 2009. IEEE International Symposium on 23-29 May 200, Rome, pp.1-12.

Kotov, V. (2001) On Virtual Data Centers and their Operating Environments, HP Labs

Technical Report, HPL-2001-44, March 2001.

Krook, D. (2011) Create a PHP development environment on the Cloud, Learn how to use the

IBM Cloud to build and test your PHP applications, Copyright IBM Corporation.

http://www.ibm.com/developerworks/cloud/library/cl-createphponcloud/

Kseneman, M., Gleich, D. & Chowdhury, A. (2010) ‘Despeckling Synthetic Aperture Radar

Images with Cloud Computing Using Graphics Processing Units’, The 5th International

Conference on Pervasive Computing and Applications, ICPCA 10 Program Sessions.1

December, 2010.

Lawton, G. (2008) ‘Moving the OS to the Web ’, Technology News, IEEE Computer Society,

March (2008) pp.16-19.

Lee, B., Yoon, J. & Lee, I. (2009) ‘Learners' Acceptance of E-Learning in South Korea: Theories

and Results’, Computers & Education, Vol. 53, pp. 1320-1329.

Liarokapis, F. & Anderson, E. (2010) ‘Using Augmented Reality as a Medium to Assist

Teaching in Higher Education’, Proc. of the 31st Annual Conference of the European

Association for Computer Graphics (Eurographics 2010), Education Program,

Eurographics Association, Norrköping, Sweden, 4-7 May, 9-16, (2010).


117

Liu, J. & Zhou, J. & White, N. F. (2011) Hybrid Clouds for BGSU, Technical Report, Bowling

Green State University, Ohio.

Liu, J., Wang, J. & Gu, N. (2003) ‘Several Critical Problems in a Real-Time Interactive Virtual

Classroom’, The 8th International Conference on Computer Supported Cooperative Work

in Design Proceedings pp.631-636.

Liu, L., Wang, H., Liu, X., Jin, X., He, W., Wang, Q. & Chen, Y. (2009a) ‘GreenCloud: A New

Architecture for Green Data Center’, ICAC-INDST09, ACM, JUNE 16, 2009, Barcelona,

Spain.

Liu, S., Liao, H. & Pratt, J. A. (2009b) ‘Impact of Media Richness and Flow on E-Learning

Technology Acceptance’, Computers & Education, 52, pp. 599-607.

Liu, W., Du, Z., Chen, Y., Chai, X. & Wang, X. (2010b) ‘On an Automatic Simulation

Environment Customizing Services for Cloud Simulation Center’, 2010 Fifth IEEE

International Symposium on Service Oriented System Engineering) pp. 214-221.

Liu, Y., Chen, L., Xu, K. & Zhang, Y. (2010a) ‘Application Modes, Architecture and Challenges

for Cloud Educational System’, Second International Conference on Computer Research

and Development. IEEE Computer Society. pp. 331-334.

Llorente, I. M., Montero, R. S., Sotomayor, B., Breitgand, D., Maraschini, A., Levy, E. &

Rochwerger, B. (2011) ‘On the Management of Virtual Machines for Cloud

Infrastructures’ In: Buyya, R., Broberg, J. & Goscinski, A. (eds.) Cloud Computing:

Principles and Paradigms. Wiley & Sons, Inc. pp.157-191.

Ma, H., Zheng, Z., Ye, F. & Tong, S. (2010) ‘The Applied Research of Cloud Computing in the

Construction of Collaborative Learning Platform under E-Learning Environment’,


118

International Conference on System Science, Engineering Design and Manufacturing

Informatization.

Malik, A.W., Park, A.J. & Fujimoto, R.M. (2010) ‘An Optimistic Parallel Simulation Protocol

for Cloud Computing Environments’, SCS M and S Magazine – 2010 / n4 (Oct)

Malik/Park/Fujimoto 1-9.

Marinos, A. & Briscoe, G. (2009) ‘Community Cloud Computing ’, In: Jaatun, M.G., Zhao, G.

& Rong, C. (Eds.) Cloud Computing Lecture Notes in Computer Science. Springer-Verlag

Berlin Heidelberg. pp. 472–484. www.springerlink.com

Marston, S., Li, Z., Bandyopadhyay, S. & Ghalsasi, A. (2011) ‘Cloud Computing - The Business

Perspective’, Decision Support Systems 51: 176–189. System Sciences (HICSS), 2011 44th

Hawaii International Conference on 4-7 Jan. 2011.

Martin, F. (2010) ‘Best Practices for Teaching in a Synchronous Virtual Classroom’, Proceeding

in: Association of Educational Communications and Technology Conference, Anaheim,

CA.

Mason Virtual Computing Lab (2011), George Mason University Cloud Computing with IBM,

http://www.ibm.com/ibm/files/T600165Z23874Q78/EDB03006USEN.PDF [accessed 14

July 2011].

Mavroudi, A., Hadzilacos, T. & Egarchou, D. (2010) ‘A Distributed E-Learning Service for

Remote Areas’, Association for Information Systems AIS Electronic Library (AISeL)

Proceedings Mediterranean Conference on Information Systems (MCIS), 9-1-2010.

McCrea, B. (2009) IT on Demand: The Pros and Cons of Cloud Computing in Higher

Education, Campus Technology. [Online], http://campustechnology.com/Articles/2009/08/


119

20/IT-on-Demand-The-Pros-and-Cons-of-Cloud- Computing-in-Higher-

Education.aspx?Page=1

Mehta, H.K., Chandwani, M. & Kanungo, P. (2010) ‘Towards development of a distributed e-

Learning ecosystem’, Technology for Education (T4E), 2010 International Conference on

1-3 July 2010 pp. 68 – 71.

Microsoft (2011a), Live Meeting, http://office.Microsoft.com/en-us/livemeeting/, [accessed 12

June 2011].

Microsoft (2011b), SkyDrive Service, http://skydrive.live.com/, [accessed 26 July 2011].

Microsoft (2011c), Windows Azure Platform, http://www.microsoft.com/azure/default.mspx,

[accessed 1 April 2011].

Miettinen, A.P. & Nurminen, J.K. (2010) ‘Energy Efficiency of Mobile Clients in Cloud

Computing’, HotCloud 2nd USENIX Workshop on Hot Topics in Cloud Computing.

Migue, L., Lorenzo, B., Gόmez-Sánchez, E., Vega-Gorgojo, G. M., Vecchiola, C., Pandey, S. &

Buyya, R. (2009) ‘High-Performance Cloud Computing: A View of Scientific

Applications ’, Proceedings of the 10th International Symposium on Pervasive Systems,

Algorithms & Networks (I-SPAN (2009) IEEE CS Press, USA), Kaohsiung, Taiwan,

December 14-16, 2009.

Mircea, M. & Andreescu, A. (2010) ‘Using Cloud Computing in Higher Education: A Strategy

to Improve Agility in the Current Financial Crisis’, Communications of the IBIMA.

[Online], http://www.ibimapublishing.com/journals/CIBIMA/cibima.html.

Mircea, M. (2010) ‘SOA, BPM and Cloud Computing: Connected for Innovation in Higher

Education’, 2010 International Conference on Education and Management Technology,

ICEMT (2010) pp. 456-460.


120

Moron-Garcia, S. (2002) ‘Using Virtual Learning Environments: Lecturers' Conceptions of

Teaching and the Move to Student-Centred Learning’, Proceedings of the International

Conference on Computers in Education (ICCE02) on 3-6 Dec. 2002, pp.1494 - 1495 vol.2.

Mustafee, N. (2010) ‘Exploiting Grid Computing, Desktop Grids and Cloud Computing for E-

Science Future Directions ’, Transforming Government: People, Process and Policy, 4( 4)

pp.288 – 298.

Nandi, S. K., Garrawal, B. R. S. & Mantri, A. (2010) Dynamic Higher Education and Research

Cloud, at ASE 9th Global Colloquium on Engineering Education, Singapore, Oct 2010.

Nick, J. M., Cohen, D. & Kaliski, B. S.(2010) ‘ Key Enabling Technologies for Virtual Private

Clouds ’, B. Furht, A. Escalante (eds.), Handbook of Cloud Computing, C Springer Science

+ Business Media, LLC, 47( 30), pp. 47-68.

Nyarko, M. & Ventura, N. (2010) ‘E-Learning: Virtual Classrooms as an Added Learning

Platform ’, IEEE Region 8 SIBIRCON-2010, Irkutsk Listvyanka, Russia, July 11 - 15, pp.

426-431.

OpenNebula (2011), http://opennebula.org/, [accessed 17 June 2011].

OpenSSH (2011), http://www.openssh.com, [accessed 6 April 2011].

Ouf, S., Nasr, M. & Helmy, Y. (2010) ‘An Enhanced E-Learning Ecosystem Based on an

Integration Between Cloud Computing and Web2.0 ’, Signal Processing and Information

Technology (ISSPIT), 2010 IEEE International Symposium on 15-18 Dec. (2010) pp.48-55.

Palmer, R. & Dodson, L. (2011) ‘Distance Learning in the Cloud: Using 3G Enabled Mobile

Computing to Support Rural Medical Education ’, Journal of the Research Center for

Educational Technology (RCET), 7(1), Spring 2011.


121

Papazoglou, M. P. & Heuvel, W. V. (2007) ‘Service Oriented Architectures: Approaches,

Technologies and Research Issues ’, The VLDB Journal, 16, pp.389-415.

Pathan, M., Broberg, J., Buyya, R., Vossen, G., Long, D. D. E. & Yu, J. X. (2009) ‘Maximizing

Utility for Content Delivery Clouds ’, (Eds.): WISE (2009) LNCS 5802) pp. 13–28. ©

Springer-Verlag Berlin Heidelberg 2009.

Peng, J., Zhang, X., Lei, Z., Zhang, B., Zhang, W. & Li, Q. (2009) ‘Comparison of Several

Cloud Computing Platforms ’, Information Science & Engineering (ISISE), 2009 Second

International Symposium on 26-28 Dec. (2009) pp. 23 – 27.

Pocatilu, P. (2010) ‘Cloud Computing Benefits for e-Learning Solutions ’, Oeconomics of

Knowledge, 2(1) pp. 9-14.

Pocatilu, P., Alecu, F. & Vetrici, M. (2009) ‘Using Cloud Computing for E-learning Systems’,

Proceeding Proceedings of the 8th WSEAS international conference on Data networks,

communications, computers, ACM, World Scientific and Engineering Academy and

Society (WSEAS) Stevens Point, Wisconsin, USA.

Pocatilu, P., Alecu, F. & Vetrici, M. (2010) ‘Measuring the Efficiency of Cloud Computing for

E-Learning Systems ’, Wseas Transactions on Computers, 9(1, January 2010) pp. 42-51.

Powell, J. (2009) ‘Cloud Computing – What is it and What Does it Mean for Education?’,

erevolution. jiscinvolve.org/wp/files/2009/07/Clouds-johnpowell.pdf.

Qian, L., Luo, Z., Du, Y. & Guo, L. (2009) Cloud Computing: an Overview, Springer-Verlag

Berlin Heidelberg 2009.

Raines, G. (2009) ‘Cloud Computing and SOA’, Systems Engineering at Mitre service-oriented

architecture (SOA) series, Executive Summary—Cloud Computing and SOA For more

information on SOA, see http://www.mitre.org/soa.


122

Rajaei, H. (2004) ‘Distributed Virtual Training Environment’, In: Proceedings of 2nd Swedish-

American Workshop on Modeling and Simulation (SAWMAS 2004), Feb, FL

Ramani, R. (2011) Learning in the Cloud, Chief Learning Officer, March 2011,

www.clomedia.com pp. 42-45.

Rao, N.M. Sasidhar C. & Kumar, V.S. (2010) ‘Cloud Computing through mobile-learning ’,

(IJACSA) International Journal of Advanced Computer Science and Applications, 1(6,

December 2010 http://ijacsa.thesai.org/ 42-47.

Redondo, P. R. D., Vilas, A. F. & Arias, J. P. (2010) ‘Educateca: A web 2.0 Approach to E-

Learning with SCORM ’, in: Cellary, W. & Estevez, E. (Eds.) IFIP International

Federation for Information Processing, I3E pp.118-126.

Richards, G., McGreal, R. & Stewart, B. (2010) Cloud Computing, and Adult Literacy: How

Cloud Computing Can Sustain the Promise of Adult Learning , A report on emerging

technology for the alpha plus project, 31 December (2010) Cloud Computing and Adult

Literacy 31 December (2010) from http://auspace.athabascau.ca.

Rimal, B., Choi, E. & Lumb, I. (2009) ‘A Taxonomy and Survey of Cloud Computing Systems’,

Proceedings of the 5th International Joint Conference on INC, IMS and IDC, p. 44, Seoul,

Republic of Korea.

Sakai Project (2011), Sakai, http://sakaiproject.org/ [accessed 8 July 2011].

Sankey, M. & Huijser, H. (2009) ‘A Likely Benefit from Aligning Web2.0 Technologies with an

Institutional Learning and Teaching Agenda’, World Conference on E-Learning in

Corporate, Government, Healthcare and Higher Education (E-Learn 2009), 26-30 Oct

(2009) Vancouver, Canada.


123

Sattler, B., Spyridakis, I., Dalal, N. & Ramey, J. (2010) ‘the Learning Experience: A Literature

Review of the Role of Mobile Technology ’, ©2010 IEEE 38-45.

Scale, M.E. (2010) ‘Assessing the Impact of Cloud Computing and Web Collaboration on the

Work of Distance Library Services ’, Journal of Library Administration, 50(7-8) pp.933-

950.

Schollmeier, R. (2002) ‘A Definition of Peer-to-Peer Networking for the Classification of Peer-

to-Peer Architectures and Applications’, Proceedings of the First International Conference

on Peer-to-Peer Computing, IEEE. 27 Aug 2001-29 Aug 2001, pp.101-102.

Sclater, N. (2010). ‘E-Learning in the Cloud’ International Journal of Virtual and Personal

Learning Environments, 1(1) pp. 10-19.

Second Life (2011), http://secondlife.com/, [accessed 1 July 2011].

Sedayao, J. (2008) ‘Implementing and Operating an Internet Scale Distributed Application Using

Service Oriented Architecture Principles and Cloud Computing Infrastructure ’,

Proceedings of iiWAS (2008) November 24–26, (2008) Linz, Austria.

Seo, C., Han, Y., Lee, H., Jung, J.J. & Lee, C. (2010) ‘Implementation of Cloud Computing

Environment for Discrete event System Simulation Using Service Oriented Architecture’,

Embedded and Ubiquitous Computing (EUC), 2010 IEEE/IFIP 8th International

Conference on 11-13 Dec. (2010) pp.359 – 362.

Shen, Z. & Tong, Q. (2010) ‘The Security of Cloud Computing System Enabled by Trusted

Computing Technology’, 2010 2nd International Conference on Signal Processing

Systems (ICSPS), 2010 IEEE 2pp.11- 15.

Shih, W., Tseng, S. & Yang, C. (2011) ‘Due Time Setting for Peer-to-Peer Retrieval of Teaching

Material in Cloud Computing Environments’,


124

Information Science and Applications (ICISA), 2011 International Conference on 26-29

April 2011, pp. 1 – 9.

Singh, H. (2003) ‘Building Effective Blended Learning Programs ’, November - December 2003

Issue of Educational Technology, 43(6) pp. 51-54.

Smith, G.G. & Kurthen, H. (2007) ‘Front-Stage and Back-Stage in Hybrid E-Learning Face-to-

Face Courses’, International JI. On E-Learning, 6(3) pp.455-474.

Sobel, W., Subramanyam, S., Sucharitakul, A., Nguyen, J., Wong, H., Klepchukov, A., Patil, S.,

Fox, O. & Patterson, O. (2008) Cloudstone: Multi-Platform, Multi-Language Benchmark

and Measurement Tools for Web 2.0. http://citeseer.ist.psu.edu/viewdoc/summary.

Software Engineering Approaches for Offshore & Outsourced Development, pp. 81-95.

Sotomayor, B., Montero, R. S., Llorente, I. M. & Foster, I. (2009) ‘Virtual Infrastructure

Management in Private and Hybrid Clouds ’, IEEE Internet Computing,

September/October 2009, 13 no. 5.

Sriram, I. (2009) ‘SPECI, A Simulation Tool Exploring Cloud-Scale Data Centres’, In: Jaatun,

M.G., Zhao, G. & Rong, C. (Eds.) Cloud Computing Lecture Notes in Computer Science.

Springer-Verlag Berlin Heidelberg. pp. 381–392. www.springerlink.com

Stephen, M. & Gary, J. S. (2006) ‘Blended Learning, Classroom and E-Learning’, The Business

Review, 5(1) pp.82-88.

Sukumar, K., Vecchiola, C. & Buyya, R. (2011) The Structure of the New IT Frontier: Aneka

Platform for Elastic Cloud Computing Applications – Part III, Aneka Magazine Article.

available at: http://www.buyya.com/papers/AnekaMagazineArticle3.pdf


125

Tang, T. & McCalla, G. (2003) ‘Smart Recommendation for an Evolving E-Learning System’,

Proc. Workshop on Technologies for Electronic Documents for Supporting Learning, Int.

Conference on Artificial Intelligence in Education (AIED 2003)) pp. 11, Sydney, Australia.

Terry, D. (2011) ‘ACM Tech Pack on Cloud Computing’, ACM Tech Pack Committee on Cloud

Computing, (October, 2011) http://techpack.acm.org/Cloud/Cloud_computing.pdf

Thomas, B. B. (2003) ‘The Virtual Classroom Experience’, 33rd ASEEI/IEEE Frontiers in

Education Conference Session S2F-1, November 5-8, 2003, Boulder, CO.

Tian, W., Su, S. & Lu, G. (2010) ‘A Framework for Implementing and Managing Platform as A

Service in A Virtual Cloud Computing Lab ’, 2010 Second International Workshop on

Education Technology & Computer Science) pp.273-276.

Tillmann, N., De Halleux, J. & Xie, T. (2011) ‘Pex4Fun: Teaching and Learning Computer

Science Via Social Gaming’, Software Engineering Education and Training (CSEE and T),

2011 24th IEEE-CS Conference on 22-24 May (2011) pp.546 – 548.

Tout, S., Sverdlik, W. & Lawver, G. (2009). ‘Cloud Computing and its Security in Higher

Education,” Proc ISECON, v26 (Washington DC): 2314, EDSIG, [Online],

http://proc.isecon.org/2009/2314/ISECON.2009. Tout.pdf

Truong, H. & Dustdar, S. (2011) ‘Cloud Computing for Small Research Groups in

Computational Science and Engineering: Current Status and Outlook’, Journal Computing

- Cloud Computing, 91(1) Springer-Verlag New York, Inc., January 2011.

Tsai, W., Sun, X. & Balasooriya, J. (2010) ‘Service-Oriented Cloud Computing Architecture’,

Information Technology: New Generations (ITNG), 2010 Seventh International

Conference on 12-14 April 2010, pp. 684 – 689.


126

Tucker, J. P. & Gentry, G. R. (2009) ‘Developing an E-Learning Strategy in Higher Education’,

Emeraid Group Publishing Limited, 11 (2) pp. 43-49.

Vaquero, L., M. Rodero-Merino, L., Caceres, J. & Lindner, J. (2009) ‘A Break in the Clouds:

Towards a Cloud Definition ’, ACM SIGCOMM Computer Communication Review, 39(1)

pp. 50-55.

Vaquero, L.M. (2011) EduCloud: PaaS Versus IaaS Cloud Usage for an Advanced Computer

Science Course, Education, IEEE Transactions on Education (99) pp.1, January 2011.

Varia, J. (2010) Amazon Web Services - Migrating your Existing Applications to the AWS Cloud,

October (2010) A Phase-driven Approach to Cloud Migration, jvaria@amazon.com

Vecchiola, C., Abedini, M., Kirley, M., Chu, X. & Buyya, R. (2010) Gene Expression

Classificationwith a Novel Coevolutionary Based Learning Classifier System on Public

Clouds, e-Science Workshops, 2010 Sixth IEEE International Conference on 7-10 Dec.

2010, pp. 92 – 97.

Vecchiola, C., Chu, X., Mattess, M. & Buyya, R. (2011) ‘Aneka-Integration of Private and

Public Clouds ‘In: Buyya, R., Broberg, J. & Goscinski, A. (eds.) Cloud Computing:

Principles and Paradigms. Wiley& Sons, Inc. pp.251-274.

Vecchiola, C., Pandey, S. & Buyya, R. (2009) ‘High-Performance Cloud Computing: A View of

Scientific Applications’, Pervasive Systems, Algorithms, and Networks (ISPAN), 2009

10th International Symposium on 14-16 Dec. 2009, pp. 4 - 16

Vegso, J. (2006) Drop in CS Bachelor‘s Degree Production, Computing Research News, 18(2).

The paper can also be read at http://www.cra.org/CRN/articles/ march06/vegso.html.


127

Veni, P. & Masillamani, R. (2010) ‘Resource sharing Cloud for University Clusters’, Green

Computing and Communications (GreenCom), 2010 IEEE/ACM Int ‘l Conference on and

Int ‘l Conference on Cyber, Physical and Social Computing (CPSCom) pp.873 – 878.

Vouk, M., Averritt, S., Bugaev, M., Kurth, A., Peeler, A., Shaffer, H., Sills, E., Stein, S. &

Thompson, J. (2008) ‘Powered by VCL - Using Virtual Computing Laboratory (VCL)’,

Proc. 2nd International Conference on Virtual Computing (ICVCI), 15-16 May, 2008,

RTP, NC, pp 1-10.

Vouk, M.A. (2008) ‘Cloud Computing – Issues, Research and Implementations’, Journal of

Computing and Information Technology - CIT 16 (4) pp. 235–246.

Wainhouse Research (2010) Adobe Connect for Distance Education and E-Learning Excerpted

from the Distance Education and E-Learning Landscape, 3, Interactive Whiteboards, Web

Conferencing, and Synchronous Web Tools, Wainhouse Research Report Excerpt,

available at www.wainhouse.com/reports. © (2009) 2010 Wainhouse Research, LLC.

Wang, L., von Laszewski, G., Younge, A., He, X., Kunze, M., Tao, J. & Fu, C. (2010) ‘Cloud

Computing: a Perspective Study ’, New Generation Computing, Ohmsha, Ltd. & Springer,

28 pp.137-146.

Webx (2011), www.webx.com, [accessed 22 August 2011].

Wei, H. &Wang, F. (2010) ‘Application of Cloud Computing in the Network Learning

Environment ’, International Symposium on Computational Intelligence & Design 2010

IEEE) pp.205-208.

Wen, J. & Chen, C. (2011) ‘The Strategy of Implementing the Internet and Cloud Computing in

Teaching’, International Journal of Research and Reviews in Computer Science (IJRRCS),

2 (1) pp. 83-87.


128

Wittgenstein, L. (2000) ‘Distributed Application Architecture’, In: Reese, G. (eds.) Database

Programming with JDBC & Java, 2nd ed. pp 126- 145. O'Reilly Media, Inc.

Wolffe, G. & Treffiz, C. (2009) ‘Teaching Parallel Computing: New Possibilities’, CCSC:

Midwestern Conference, JCSC 25(1), Consortium for Computing Sciences in Colleges,

USA (October 2009).

Wong, D. (2007) ‘A Critical Literature Review on E-Learning Limitations’, JASA, 2, pp. 55-62.

Wu, J., Ping, L., Ge, X., Wang, Y. & Fu, J. (2010) ‘Cloud Storage as the Infrastructure of Cloud

Computing’, Intelligent Computing & Cognitive Informatics (ICICCI), 2010 International

Conference on 22-23 June (2010) pp.380 – 383.

Xu, Z., Yin, Z. & El Saddik, A. (2003) ‘A Web Services Oriented Framework for Dynamic E-

Learning Systems’, Canadian Conference Electrical and Computer Engineering, CCGEI

(2003) Montreal, May 2003. IEEE Computer Society. Res. Lab., Ottawa Univ., Ont.,

Canada

Yang, C., Chang, C. & Chien, L. (2010) ‘A Teacher Control Model of A Blended Learning

Environment Based on A Typical Classroom in Secondary School’, 2010 2nd International

Conference on Computer Engineering & Technology 7) pp.220-224.

Yang, Z. & Zhu, Z. (2010) ‘Construction of OSS-Based E-Learning Cloud in China ’, Education

Technology & Computer (ICETC), 2010 2nd International Conference on 22-24 June

(2010) 2) pp.398 -401.

Yang, Z. (2011) ‘Study on an Interoperable Cloud Framework for E-Education’, E -Business &

E -Government (ICEE), 2011 International Conference on 6-8 May (2011) pp.1 – 4.

Yara, P. Ramachandran, R. Balasubramanian, G. Muthuswamy, K. & Chandrasekar, D. (2009)

‘Global Software Development with Cloud platforms’, Yixin, Z. (2010) ‘A New Online
129

Trading Platform Based on Cloud Computing’, 2010 Second IITA International

Conference on Geoscience & Remote Sensing, pp. 85-88.

Yuru, W., Xinfang, L. & Xianchen, Z. (2010) ‘Cloud Computing and its Application to

Construction of Web-Based Learning Environment’, Computer Application & System

Modeling (ICCASM), (2010) International Conference on 22-24 October (2010) 8, pp.80-

83.

Zeng, W., Zhao, Y., Ou, K. & Song, W. (2009) ‘Research on Cloud Storage Architecture and

Key Technologies ’, ICIS '09 Proceedings of the 2nd International Conference on

Interaction Sciences: Information Technology, Culture and Human, ACM New York, NY,

USA.

Zhang, D. (2002) Media Structuration-Towards an Integrated Approach to Interactive

Multimedia-Based E-Learning. PhD dissertation. The University of Arizona.

Zhang, D. & Nunamaker, J. (2003) 'Powering E-Learning in the New Millennium: An Overview

of E-Learning and Enabling Technology', Information Systems Frontiers, 5 (2) pp. 207-

218.

Zhang, L. & Zhou, Q. (2009) ‘CCOA: Cloud Computing Open Architecture’, 2009 IEEE

International Conference on Web Services. pp. 607-616.

Zhang, L.J. (2009) Services University, IT Pro, IEEE Computer Society, pp. 60-62.

Zhang, S. Zhang, S. Chen, X. & Huo, X. (2010a) ‘Cloud Computing Research and Development

Trend ’, Future Networks, 2010. ICFN ‘10. Second International Conference on 22-24 Jan.

2010. pp. 93 – 97.


130

Zhang, S. Zhang, S. Chen, X. & Wu, S. (2010b) ‘Analysis and Research of Cloud Computing

System Instance’, Second International Conference on Future Networks, 2010 IEEE

Computer Society.) pp. 88-92.

Zhang, Z. & Zhang, X. (2009) ‘Realization of Open Cloud Computing Federation Based on

Mobile Agent’, Intelligent Computing & Intelligent Systems, 2009. ICIS 2009. IEEE

International Conference on 20-22 Nov. (2009) 3 pp.642-646.

Zhixiao, Y., Fengjuan, C. & Dexian, Z. (2008) ‘A Virtual Classroom Platform Based on Text to

Visual Speeches’, Proceedings of 2008 IEEE International Symposium on IT in Medicine

and Education, 2008.

Zhu, W., Luo, C., Wang, J. & Li, S. (2011) ‘Multimedia Cloud Computing, an Emerging

Technology for Providing Multimedia Services and Applications’, IEEE Signal Processing

Magazine, 61, MAY 2011.

Zuvic-Butorac, M., Nebic, Z., Nemcanin D., Mikac, T. & Lucin, P. (2011) ‘Establishing an

Institutional Framework for an E-Learning Implementation – Experiences from the

University of Rijeka, Croatia’, Journal of Information Technology Education: 10, 2011

Innovations in Practice.

You might also like