Enhanced Virtual E-Learning Environments Using Cloud Computing Architectures
Eugen Zaharescu 1, Georgeta-Atena Zaharescu 2
((1)Associate Professor PhD., Mathematics and Informatics Faculty,
Ovidius University of Constanta, Romania 124 Mamaia Blvd., Constanta ROMANIA
email@example.com ; http://math.univ-ovidius.ro/ (2) "Decebal" High School, Constanta, ROMANIA
Abstract This paper presents the essential information about the most complex software systems and platforms managing enhanced educational virtual spaces that can integrate adaptive hypermedia units, video-conference support, mobile devices, etc.. In the description of these modern e-learning technologies, their most important features are revealed, like communications across disciplines, collaboration and team capabilities based on Web infrastructure. These enhanced education services use shared cloud computing approaches or methods and provide an optimized e-learning management to generate creative and intelligent decision. The basic architectural concepts and principles are imported from grid computing and cloud computing systems (e.g. Microsoft Azure, IBM Smart Cloud, IBM Tivoli- Live Monitoring Infrastructure Services, IBM Computing on Demand (CoD)). World-class social networking services and online collaboration tools, including file sharing, Web conferencing, and instant messaging are described subsequently (e.g. IBM LotusLive). Keywords: Cloud Computing, Enhanced E-Learning Services, E-Learning Management Systems, Intelligent Virtual E-Learning Environments
1. Introduction Cloud Computing technologies have changed the way applications are developed and accessed. More and more complex applications (e.g. word processors, spreadsheets, hypermedia presentations, database systems) are delivered as services over the Internet on a scalable infrastructure. All of them can be accessed from a web browser, while the software and files are hosted in the Cloud.
Clouds are developed to address Internet-scale computing problems where some assumptions are different from those of the Grids. Clouds are usually referred to as a large pool of computing and/or storage resources, which can be accessed via an abstract interface using standard protocols. Clouds can be built on top of many existing protocols such as Web Services (WSDL, SOAP), and some advanced Web 2.0 technologies such as REST, RSS, AJAX, etc.
Educational institutions can take advantage of Cloud applications to provide students and teachers with free or low-cost software environments. Browser-based applications are also accessible with a variety of computer and even mobile platforms, making these tools available anywhere the Internet can be accessed. This paper presents a Private Cloud Computing-based solution for the implementation of a virtual and personal learning environment using a wide range of technologies for science education.
University of Bucharest and "Babe-Bolyai" University of Cluj-Napoca
2. Defining Cloud Computing Paradigm The major providers in the field of Cloud Computing are Google, Microsoft, Amazon, Yahoo, IBM and Intel. Cloud Computing applications are mainly intended to help organisations, institutions and individuals to stretch resources and work smarter by moving everything to the Cloud.
One of the biggest promoters of the Cloud Computing is Google that already owns a massive computer infrastructure (the Cloud) where millions of people are connecting to. Today, the Google cloud can be accessed by Google Apps intended to be Software as a Service suite dedicated to information sharing and security. Google Apps covers the following three main areas: messaging (Gmail, Calendar and Google Talk), collaboration (Google Docs, Video and Sites) and security (email security, encryption and archiving).
Microsoft is developing a new Windows platform, called Windows Azure, which will be able to run cloud based applications.
Amazon extended its AWS (Amazon Web Services) suite with a new component called Amazon Elastic Compute Cloud (or EC2), that allows to the users to rent from Amazon processing power to be used to run their own applications. The EC2 users rent out from Amazon virtual machines that can be accessed remotely. The user can start, stop and create small, medium or large virtual machines through the web service, depending on the physical hardware performances.
One of the many possible definitions for Cloud Computing may be the following: Cloud Computing is a large-scale distributed computing paradigm, driven by economies of
scale, in which a pool of abstracted, virtualized, dynamically-scalable and managed computing power, storage capabilities, software platforms and services
are delivered on demand to external customers over the Internet (Foster et al. 2009). The main characteristics of Cloud Computing as a specialized distributed computing paradigm
are the following (Brunette and Mogull 2009): Scalability and elasticity. Cloud resources can be dynamically ("on-demand") delivered in real-
time on a fine-grained and self-service basis. Users are able to re-provision with technological infrastructure resources;
Economies of scale. Services are claimed to be free of charge or low cost even for hardware upgrades. Capital expenditure is converted to operational expenditure in a public cloud delivery model. The cost of licensing different software packages is moved to the data center level and there is no need to upgrade the local system when new service packs or patches are released. Also the infrastructure is centralized in low cost locations (such as real estate, electricity, etc.);
Abstract entity. The provider can encapsulate and deliver different levels of services to customers outside the Cloud. The services can be dynamically configured (via virtualization or other approaches) and delivered on demand.
Accessibility to software enables machines to interact with the Cloud software in the same way the user interface facilitates interaction between humans and computers. Users can reach the same result by using any Internet connected device having minimum software requirements. Cloud computing systems typically use REST-based API (Application Programming Interface).
Device and location independence enables users to access systems using a web browser regardless of their location or what device they are using (e.g., PC, mobile phone). Devices with minimal hardware requirements could be successfully used as cloud clients. As infrastructure is off-site (typically provided by a third-party) and accessed via the Internet, there is no need to download or install a specific software. Only the Internet connection is required, in order to become part of the Cloud.
High reliability is achieved because multiple redundant sites are used. In case of client computer crashes, almost no data are lost due to centralized storage into the multiple cloud
The 6th International Conference on Virtual Learning ICVL 2011
resources. Thus well-designed cloud computing are suitable for business continuity and disaster recovery.
Improved security is achieved due to centralization of data, increased security-focused resources, etc. The complexity of security is greatly increased when data is distributed over a wider area or greater number of devices. Private cloud installations are in part motivated by users desire to retain control over the infrastructure and to avoid losing control of certain sensitive data or lack of security for stored kernels.
Improved efficiency and utilization for under-used systems (only 1020% often utilized). Increased peak-load capacity is achieved with no need to engineer for highest possible load-levels on the client side;
Constant performance monitoring. Most of the consistent and loosely coupled architectures are implemented using web services as the system interface.
Maintenance of cloud computing applications is easier, because they do not need to be installed on each user's computer. They are easier to support and to update, as the changes reach the clients instantly.
On the other side, few Cloud Computing disadvantages could be indentified: overall performances may be affected by the Internet connection transfer rate; data center subscription fee may be more expensive than the private hardware costs, on
a long term basis; data security require a high level QoS (Quality of Service) management and the need
for backups is critical. Cloud computing systems are implemented and structured over 5 layers: 1. Client Layer may be any computer hardware device (e.g. regular PCs, notebooks, mobile
phones, PDAs or any other similar equipment) and/or computer software application (operating systems, web browsers) that relies on cloud computing for application delivery and that is in essence useless without it.
2. Software as a Service (SaaS). Cloud application layer deliver software as a service over the Internet, eliminating the need to install and run the application on the customer's own computers and simplifying maintenance and support. Software as a Service (SaaS) delivers special-purpose software that is remotely accessible by consumers through the Internet with a usage-based pricing model. Salesforce is an industry leader in providing online CRM (Customer Relationship Management) Services. Live Mesh from Microsoft allows files and folders to be shared and synchronized across multiple devices. Partial taxonomy: Google App, Microsoft Dynamics CRM online, Microsoft Live@edu, Business Producivity Online Suite, Exchange Hosted Services, Microsoft Office Web Apps, CampusEAI, EducationERP.net, Campus Management, Jaspersoft, Coupa's e-Procuiement.
3. Platform as a Service (PaaS). Cloud platform services deliver a computing platform and/or solution stack as a service, often consuming cloud infrastructure and sustaining cloud applications. It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. The Platform Layer adds on a collection of specialized tools, middleware and services on top of the unified resources to provide a development and/or deployment platform. For instance, a Web hosting environment, a scheduling service, etc. Platform as a Service (PaaS) offers a high-level integrated environment to build, test, and deploy custom applications. Generally, developers will need to accept some restrictions on the type of software they can write in exchange for built-in application scalability. An example is Googles App Engine, which enables users to build Web applications on the same scalable systems that power Google applications. Partial taxonomy: Google App Engine, Microsoft Azure Services, Amazon SimpleDB, Microsoft SDS, Oracle Higher Education Constituent Hub, Amazon SQS, Dynamsoft, Force.com, Microsoft Dynarnics CRM online.
University of Bucharest and "Babe-Bolyai" University of Cluj-Napoca
4. Infrastructure as a Service (IaaS). Cloud infrastructure services deliver computer infrastructure typically a platform virtualization environment as a service, along with raw (block) storage and networking. Clients can access these resources as a fully outsourced service. The amount of resources consumed (and therefore the cost) will typically reflect the level of utility computing activity. Infrastructure as a Service (IaaS) provisions hardware, software, and equipments to deliver software application environments with a resource usage-based pricing model. Infrastructure can scale up and down dynamically based on application resource needs. Typical examples are Amazon EC2 (Elastic Cloud Computing) Service and S3 (Simple Storage Service) where compute and storage infrastructures are open to public access with a utility pricing model. Eucalyptus is an open source Cloud implementation that provides a compatible interface to Amazons EC2, and allows people to set up a Cloud infrastructure at premise and experiment prior to buying commercial services. Partial taxonomy: EducationERP.net, Amazon S3-EBS- EC2, Eucalyptus, Microsoft, Oracle Coherence, Rackspace, RightScale, 3Tera App Logic, EnStratus, Flexiscale, GoGrid, CloudStatus, CampusEAI.
5. Server or Fabric Layer contains the raw hardware resources, such as computing resources, storage resources and network resources. These computer hardware and/or computer software products are specifically designed for the delivery of cloud services, including multi-core processors, cloud-specific operating systems and combined offerings.
Fig. 1 Cloud Computing structuring layers The complete Cloud Computing taxonomy can be found in a technical report from Cloud
Security Alliance Organisation (Brunette and Mogull 2009).
3. Cloud Computing for E-learning The architectural pattern of Cloud Computing-based E-learning systems follows the layered structure of services (Saas, PaaS and IaaS) and abstract/virtualized resources offered by Cloud Computing (figure 2).
Server / Fabric Layer
The 6th International Conference on Virtual Learning ICVL 2011
Studying the related work in this domain, one may found several interesting achievements and implementations. A brief analysis of these systems is presented here.
Several modern Cloud Computing-based e-Learning applications that can use IaaS for dynamic assignable storage and compute resources were proposed by (Dong et al. 2009a). They describe a general and simple architecture with monitoring, policy and provision modules.
BlueSky cloud framework (Dong et al. 2009b), developed by Xian Jiaotong University (China), enables physical machines to be virtualized and allocated on-demand for e-Learning systems. The BlueSky framework is focused on delivering IaaS and has some architectural layers dealing with physical resources, provisioning, monitoring and user interface but no security layer for user access policies.
Virtual Computing Laboratory (VCL) (Vouk et al. 2008), developed by North Carolina State University (USA), enables students to reserve and access virtual machines (VMs) with a basic image or specific applications environments, such as Matlab and Autodesk. VCL does not offer collaboration features, but offers (IaaS and PaaS) platforms which could be used to host collaboration systems (SaaS) on top of it.
Snow Leopard Cloud (Cayirci et al. 2009) provides PaaS for North Atlantic Treaty Organization (NATO) to run its various military exercises and mission events. In addition, Snow Leopard is used to run web 2.0 applications, such as video teleconferencing, voice over IP, and remote management, over handheld devices and terminals. As Snow Leopard Cloud is targeted towards military usage, it has a multi-level security and the network infrastructure is encrypted....