Professional Documents
Culture Documents
Eman A. Aldakheel
A Thesis
MASTER OF SCIENCE
December 2011
Committee:
ABSTRACT
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.
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
virtual classrooms and the traditional e-learning system to highlight the advantages of using
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
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
framework for CSE-CS considering the service layers and the selected courses.
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
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
I would also like to greatly thank Dr. Zimmerman and Dr. Lee for their insightful and
Also great thanks to the Computer Science Department for allowing me this opportunity
Last but not least, I would like to thank my parents, my husband, my family, and my
TABLE OF CONTENTS
Page
ECOSYSTEM ............................................................................................................................... 83
LIST OF FIGURES
Figure Page
Figure 3: Basic Service Layers of Cloud Computing with some selected Cloud service providers
Figure 4: Hierarchical view of Cloud Computing based on the data centers ............................... 18
Figure 8: A P2P network architecture which has two sub networks in each subnet the peers
Figure 12: Web service oriented framework with multiple tiers for dynamic e-learning system 48
Figure 15: Proposed Cloud Computing conceptual design for SAR images distribution ............ 53
Figure 21: Framework for developing innovative personal learning environments ..................... 62
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 28: AWS interface with the selection of Elastic Beanstalk tap ......................................... 78
Figure 29: Select instance from the available virtual machine image to allow start
Figure 31: Amazon Virtual Private Cloud (VPC) service interface snapshot .............................. 81
Figure 32: Select deployment methodology of the virtual private Cloud snapshot ...................... 82
Figure 34: Cloud based virtual classroom for Computer Scientests architecture ......................... 84
Figure 35: Virtual Classroom Ecosystem for Computer Science based on Cloud Computing .... 85
LIST OF TABLES
Table Page
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
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
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
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
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
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
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
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
answering the following questions: How can we harness the Cloud as a learning environment to
Other objectives include providing a cost effective solution, scalable, and accessible
environment that could be deployed in any learning institution which teaches Computer Science
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
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:
particular.
II. Providing framework architecture for Cloud-Based Education (CBE) and Cloud-
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
(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
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
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
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).
Computing, and Utility Computing (Kim et al., 2011). A simple illustration of Cloud Computing
Clo
ud
Co
mp
uti
Utility
ng
Comp
uting
Grid
Computing
Distributed
Computing
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
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
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
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.
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
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
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
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-
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
Figure 3: Basic Service Layers of Cloud Computing with some selected Cloud service providers
for each layer
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
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
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.
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
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
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
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
By using virtualized data center technology, we can reduce the costs (Gambi et al., 2009)
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
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
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.
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
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
VCR has two types of learning environments (Liu et al., 2003) which can promote
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
interact in real-time.
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
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.
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.
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
(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
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
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
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
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).
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
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
The key to success in VCR is the initial building and constructing represented in the
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
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).
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
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
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
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
Figure 9: Multi-Server online game system with dispatcher (Chen & Lee, 2004)
infrastructure control, but it is more scalable which lowers failure rates since there are many
available servers.
3.2.4. Grid
delivers dependable, consistent, and accessible resources (Foster, 2002). A Grid enables
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
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
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
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
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
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,
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,
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
teach.
• Maintenance: We can measure the need of the system to be updated and reconfigured
• Accessibility: When there are no time or location constraints, the system is accessible.
• Compatibility: If the e-learning environment does not need special hardware, we can
• Resource Utilization: This shows how the learning system utilizes the available
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
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
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
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
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
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
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
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
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
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
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
3.6. Limitations
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
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.
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
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
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
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
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
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
One of the reasons for moving forward to e-learning systems as a web oriented service is
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
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,
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
reliable, flexible, self-recovered with QoS, and cost reductive; these features are the Cloud
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
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
learning by designing around the sharing principle, and the effectiveness of teaching resources
Research by Vaquero (2011) focused on the effectiveness of using IaaS and PaaS in
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
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-
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
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.
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
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
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
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
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
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
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
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:
Fiaidhi (2010) adapted Calm technologies, which adapt the learner centered concept, in a
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,
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
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
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
2. The mathematical and numerical capability: when R or Scilab imports to the Cloud
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
5. The persistence capability: by using Amazon Elastic block Stores (EBS) as virtual disk
The next figure shows the environment of the general architecture which used Amazon
4.2.1. CloudSim
It is a toolkit for a novel framework to simulate the infrastructures and the Cloud
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
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
4.2.2. GreenCloud
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
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
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
Computing technology.
67
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
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
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
3. Build the framework which underlines the way of teaching these courses and how to
4. Select examples for the pilot courses, such as Database, Operating System, Parallel
5.2. Methodology
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
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
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,
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
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
AWS provides scalable, elastic, and reliable resources (Varia, 2010), and it offers
• 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,
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
Amazon Virtual Private Cloud (Amazon VPC) which uses a Virtual Private
infrastructure and Amazon CloudFront which delivers the content base on the
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)
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.
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
• 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:
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
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
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
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
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
Windows Azure also has another solution which provides a database solution with a user
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.
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
To start programming with Amazon, the service selection comes first. Each service is
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
Figure 29: Select instance from the available virtual machine image to allow start
implementation and dealing with the operating system
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.
parallel programming problems by enhancing the user experience which helps in the wide
There are many models on parallel systems which can be taught in a parallel
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
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
applications for building networks since they are providing the service of building virtual
1. Routing
2. Scheduling
3. Network Topology
Some of these services are shown in the next figure which represents available services
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
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
Scientist
Engineers
Artist
Interface
Virtual Classroom
Cloud Computing
Distance Learning
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
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
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
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
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
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).
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.
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
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
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
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,
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
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).
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
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
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
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.
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:
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
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;
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
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.
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.
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.
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
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
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
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
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.
performance in the course? If so, what are the suitable solutions? How can inexperienced
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
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
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
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
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
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
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
As debates regarding the use of social networking in teaching rage (Hoffman, 2009), so
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
Monash University, Sunway campus, Malaysia, 25-26 July (2009) pp. 101-106.
Aldhalaan, A. (2010) Advances in Virtual Environments and the Virtual Classroom, Technical
Amazon (2010) Amazon Web Services: Overview of Amazon Web Services, Amazon Web
1 September 2011].
Amazon (2011b) Amazon Web Services: Overview of Security Processes, Amazon Web
September 2011].
2011].
Anderson, J. & Rainie, L. (2010) ‘The future of Cloud Computing’, Pew Internet & American
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
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
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
Basak, D., Toshniwal, R., Maskalik, S. & Sequeira, A. (2010) ‘Virtualizing networking and
security in the Cloud’, Newsletter ACM SIGOPS Operating Systems Review, 44 (4),
Beaubouef, T. & Mason, J. (2005) ‘Why the High Attrition Rate for Computer Science Students:
Berl, A., Gelenbe, E., Girolamo, M., Giuliani, G., Meer, H., Dang, M. Q. & Pentikousis, K.
Blake, R. (2008) ‘Distance Learning for Second and Foreign Language Teaching’, In: N. Van
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
(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
www.ibm.com/developerworks/websphere/zones/hipods/
Broberg, J., Buyya, R. & Tari, Z. (2008) ‘Creating a Cloud Storage Mash Up for High
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,
Buyya, R., Pandey, S. & Vecchiola, C. (2010) ‘Market-Oriented Cloud Computing and the
Cloudbus Toolkit, Concurrency and Computation: Practice and Experience’, 2010. Under
Buyya, R., Ranjan, R. & Calheiros, R. N. (2009) ‘Modeling and Simulation of Scalable Cloud
Proceedings of the 7th High Performance Computing and Simulation Conference, Leipzig,
Cai, Y. (2010) ‘The Research and Application of SaaS in Educational Information System Based
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
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
Callaghan, M. J., McCusker, K., Losada, J. L., Harkin, J. G. & Wilson, S. (2009b) ‘Teaching
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
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
Chen, C. & Lee, C. (2004) ‘A Dynamic Load Balancing Model for the Multi-Server Online
Chen, R. & Liu, S. (2009) ‘Applying Concept Mapping on the Influent Learning in Virtual
Chen, Z. & Zhang, L. (2008) A Case Study Based Services Computing Course Delivery Practice,
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
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
Cubillo, J., Marten, S. & Castro, M. (2011) ‘ New Technologies Applied in the Educational
Das, S., Dhande, A. P. & Bhoi, M. (2010) ‘Leveraging Virtual Classroom for Effective
2010.
Delic, K. A. & Walker, M. A. (2008) ‘Emergence of the Academic Computing Clouds’, ACM
Di Costanzo, A., De Assuncao, M. D. & Buyya, R. (2009) ‘Harnessing Cloud Technologies for a
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.
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
Dong, B., Zheng, Q., Yang, J., Li, H. & Qiao, M. (2009a) ‘An e-Learning Ecosystem Based on
Dwivedi, Y. K. & Mustafee, N. (2010) ‘Viewpoint It's Unwritten in the Cloud: the Technology
Ekanayake, J. & Fox, G. (2009) ‘High Performance Parallel Computing with Clouds and Cloud
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:
Ferzli, R. & Khalife, I. (2011) ‘Mobile Cloud Computing Educational Tool for Image/Video
Processing Algorithms’, Digital Signal Processing Workshop and IEEE Signal Processing
Feuerlicht, G. & Govardhan, S. (2009) ‘SOA: Trends and Directions’, Systems Integration,
pp.149-155.
112
Finke, A. & Bicans, J. (2010) ‘E-Learning System Content and Architecture Evolution’, 16th
pp. 311-315.
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,
Fujimoto, R. M., Malik, A. W. & Park, A. J. (2010) ‘Parallel and Distributed Simulation in the
Gambi, A., Pezze, M. & Young, M. (2009) ‘SLA Protection Models for Virtualized Data
Gasparyan, A. (2007) Cost-Efficient Video Interactions for Virtual Training Environment, M.Sc.
Gember, A. & Akella, A. (2010) Mobile Device Offloading Using Enterprise Network and Cloud
http://www.educause.edu/ecar
Gong, C., Liu, J., Zhang, Q., Chen, H. & Gong, Z. (2010) ‘The Characteristics of Cloud
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
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
He, Q., Zhou, S., Kobler, B., Duffy, D. & McGlynn, T. (2010) ‘Case Study for Running HPC
Hoffman, E.S. (2009) ‘Evaluating Social Networking Tools for Distance Learning’, Proceedings
Hofmann, P. & Woods, D. (2010) ‘Cloud Computing: The Limits of Public Clouds for Business
Hu, Z. & Zhang, S. (2010) ‘Blended/Hybrid Course Design in Active Learning Cloud at South
Huang, W. & Yang, J. (2010) ‘New Network Security Based on Cloud Computing’, 2010
pp. 206-209.
Idziorek, J. (2010) ‘Discrete Event Simulation Model for Analysis of Horizontal Scaling in the
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
Jadhwani, P., MacKinnon, J. & Elrefai, M. (2011) Cloud Computing Building a Framework for
Jaligama, V. & Liarokapis, F. (2011) ‘An Online Virtual Learning Environment for Higher
Education’, Third International Conference on Games and Virtual Worlds for Serious
China Rural Areas ’, Information Science and Engineering (ICISE), 2010 2nd
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
IEEE 24th International Conference on 20-23 April 2010, pp. 1053 – 1058.
Kajita, S. (2010) ‘Academic Refactoring through Realizing Academic Cloud ’, IEEE. TENCON
Kant, K. (2009) ‘ Data Center Evolution a Tutorial on State of The Art, Issues, and Challenges ’,
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
www.mdpi.com/journal/sensors
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
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
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
December, 2010.
Lawton, G. (2008) ‘Moving the OS to the Web ’, Technology News, IEEE Computer Society,
Lee, B., Yoon, J. & Lee, I. (2009) ‘Learners' Acceptance of E-Learning in South Korea: Theories
Teaching in Higher Education’, Proc. of the 31st Annual Conference of the European
Liu, J. & Zhou, J. & White, N. F. (2011) Hybrid Clouds for BGSU, Technical Report, Bowling
Liu, J., Wang, J. & Gu, N. (2003) ‘Several Critical Problems in a Real-Time Interactive Virtual
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
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
Liu, Y., Chen, L., Xu, K. & Zhang, Y. (2010a) ‘Application Modes, Architecture and Challenges
Llorente, I. M., Montero, R. S., Sotomayor, B., Breitgand, D., Maraschini, A., Levy, E. &
Infrastructures’ In: Buyya, R., Broberg, J. & Goscinski, A. (eds.) Cloud Computing:
Ma, H., Zheng, Z., Ye, F. & Tong, S. (2010) ‘The Applied Research of Cloud Computing in the
Informatization.
Malik, A.W., Park, A.J. & Fujimoto, R.M. (2010) ‘An Optimistic Parallel Simulation Protocol
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
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
Martin, F. (2010) ‘Best Practices for Teaching in a Synchronous Virtual Classroom’, Proceeding
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)
McCrea, B. (2009) IT on Demand: The Pros and Cons of Cloud Computing in Higher
20/IT-on-Demand-The-Pros-and-Cons-of-Cloud- Computing-in-Higher-
Education.aspx?Page=1
June 2011].
Miettinen, A.P. & Nurminen, J.K. (2010) ‘Energy Efficiency of Mobile Clients in Cloud
Migue, L., Lorenzo, B., Gόmez-Sánchez, E., Vega-Gorgojo, G. M., Vecchiola, C., Pandey, S. &
Algorithms & Networks (I-SPAN (2009) IEEE CS Press, USA), Kaohsiung, Taiwan,
Mircea, M. & Andreescu, A. (2010) ‘Using Cloud Computing in Higher Education: A Strategy
[Online], http://www.ibimapublishing.com/journals/CIBIMA/cibima.html.
Mircea, M. (2010) ‘SOA, BPM and Cloud Computing: Connected for Innovation in Higher
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-
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
Platform ’, IEEE Region 8 SIBIRCON-2010, Irkutsk Listvyanka, Russia, July 11 - 15, pp.
426-431.
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
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. ©
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
Pocatilu, P., Alecu, F. & Vetrici, M. (2009) ‘Using Cloud Computing for E-learning Systems’,
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
Raines, G. (2009) ‘Cloud Computing and SOA’, Systems Engineering at Mitre service-oriented
architecture (SOA) series, Executive Summary—Cloud Computing and SOA For more
Rajaei, H. (2004) ‘Distributed Virtual Training Environment’, In: Proceedings of 2nd Swedish-
Ramani, R. (2011) Learning in the Cloud, Chief Learning Officer, March 2011,
Rao, N.M. Sasidhar C. & Kumar, V.S. (2010) ‘Cloud Computing through mobile-learning ’,
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
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
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.
Sankey, M. & Huijser, H. (2009) ‘A Likely Benefit from Aligning Web2.0 Technologies with an
Corporate, Government, Healthcare and Higher Education (E-Learn 2009), 26-30 Oct
Sattler, B., Spyridakis, I., Dalal, N. & Ramey, J. (2010) ‘the Learning Experience: A Literature
Scale, M.E. (2010) ‘Assessing the Impact of Cloud Computing and Web Collaboration on the
950.
Sclater, N. (2010). ‘E-Learning in the Cloud’ International Journal of Virtual and Personal
Sedayao, J. (2008) ‘Implementing and Operating an Internet Scale Distributed Application Using
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’,
Shen, Z. & Tong, Q. (2010) ‘The Security of Cloud Computing System Enabled by Trusted
Shih, W., Tseng, S. & Yang, C. (2011) ‘Due Time Setting for Peer-to-Peer Retrieval of Teaching
Singh, H. (2003) ‘Building Effective Blended Learning Programs ’, November - December 2003
Smith, G.G. & Kurthen, H. (2007) ‘Front-Stage and Back-Stage in Hybrid E-Learning Face-to-
Sobel, W., Subramanyam, S., Sucharitakul, A., Nguyen, J., Wong, H., Klepchukov, A., Patil, S.,
Software Engineering Approaches for Offshore & Outsourced Development, pp. 81-95.
Sotomayor, B., Montero, R. S., Llorente, I. M. & Foster, I. (2009) ‘Virtual Infrastructure
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.
Stephen, M. & Gary, J. S. (2006) ‘Blended Learning, Classroom and E-Learning’, The Business
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.
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
Tian, W., Su, S. & Lu, G. (2010) ‘A Framework for Implementing and Managing Platform as A
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),
Tout, S., Sverdlik, W. & Lawver, G. (2009). ‘Cloud Computing and its Security in Higher
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
Tsai, W., Sun, X. & Balasooriya, J. (2010) ‘Service-Oriented Cloud Computing Architecture’,
Vaquero, L., M. Rodero-Merino, L., Caceres, J. & Lindner, J. (2009) ‘A Break in the Clouds:
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,
Vecchiola, C., Abedini, M., Kirley, M., Chu, X. & Buyya, R. (2010) Gene Expression
Clouds, e-Science Workshops, 2010 Sixth IEEE International Conference on 7-10 Dec.
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:
Vecchiola, C., Pandey, S. & Buyya, R. (2009) ‘High-Performance Cloud Computing: A View of
Vegso, J. (2006) Drop in CS Bachelor‘s Degree Production, Computing Research News, 18(2).
Veni, P. & Masillamani, R. (2010) ‘Resource sharing Cloud for University Clusters’, Green
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. &
Proc. 2nd International Conference on Virtual Computing (ICVCI), 15-16 May, 2008,
Vouk, M.A. (2008) ‘Cloud Computing – Issues, Research and Implementations’, Journal of
Wainhouse Research (2010) Adobe Connect for Distance Education and E-Learning Excerpted
from the Distance Education and E-Learning Landscape, 3, Interactive Whiteboards, Web
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.
IEEE) pp.205-208.
Wen, J. & Chen, C. (2011) ‘The Strategy of Implementing the Internet and Cloud Computing in
Programming with JDBC & Java, 2nd ed. pp 126- 145. O'Reilly Media, Inc.
Wolffe, G. & Treffiz, C. (2009) ‘Teaching Parallel Computing: New Possibilities’, CCSC:
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
Xu, Z., Yin, Z. & El Saddik, A. (2003) ‘A Web Services Oriented Framework for Dynamic E-
(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
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
Yang, Z. (2011) ‘Study on an Interoperable Cloud Framework for E-Education’, E -Business &
‘Global Software Development with Cloud platforms’, Yixin, Z. (2010) ‘A New Online
129
Yuru, W., Xinfang, L. & Xianchen, Z. (2010) ‘Cloud Computing and its Application to
83.
Zeng, W., Zhao, Y., Ou, K. & Song, W. (2009) ‘Research on Cloud Storage Architecture and
Interaction Sciences: Information Technology, Culture and Human, ACM New York, NY,
USA.
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
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.
Zhang, S. Zhang, S. Chen, X. & Wu, S. (2010b) ‘Analysis and Research of Cloud Computing
Zhang, Z. & Zhang, X. (2009) ‘Realization of Open Cloud Computing Federation Based on
Mobile Agent’, Intelligent Computing & Intelligent Systems, 2009. ICIS 2009. IEEE
Zhixiao, Y., Fengjuan, C. & Dexian, Z. (2008) ‘A Virtual Classroom Platform Based on Text to
Zhu, W., Luo, C., Wang, J. & Li, S. (2011) ‘Multimedia Cloud Computing, an Emerging
Technology for Providing Multimedia Services and Applications’, IEEE Signal Processing
Zuvic-Butorac, M., Nebic, Z., Nemcanin D., Mikac, T. & Lucin, P. (2011) ‘Establishing an
Innovations in Practice.