Keywords

1 Introduction

Cloud computing has created a revolution in the world of computing. Based on the concept of virtualization and service-oriented architecture (SOA), cloud computing has enabled researchers, academicians, and organizations to leverage enormous computing power for solving complex problems. The key characteristics of cloud are resource provisioning on demand, access to resources from different computing devices (tablets, desktops, and mobiles), serve multiple users through shared resources, automatic commissioning (or decommissioning) of resources, and measure service for predictive planning [1].

E-Learning systems revolutionized the way training content was delivered. The concept of delivering content anywhere and anytime to the learners became evident as e-Learning systems evolved. Besides, traditional systems had several limitations such as restricted access within a local network, scalability issues when volume of content increased, and tight coupling that made it difficult to add new functionalities. Such limitations are addressed by the novel approach of provisioning e-Learning service in cloud. Cloud computing provides abundant hardware infrastructure that can address scalability challenges for services. Besides, loose coupling of services can be achieved by implementing e-Learning services based on design principles of SOA. The objective of the paper is to propose a computational intelligent e-Learning architecture that can capture both functional and nonfunctional requirements to access e-Learning services in cloud. These requirements can be mapped to the SLAs agreed upon by service consumer and provider, and appropriate metrics can be derived to monitor QoS. The contribution of this paper is toward establishment of SLAs for e-Learning services and enablement of monitoring of SLAs through proposed architecture.

The following sections of this paper are organized as follows: Sect. 2 presents proposed architecture and interactions among various subsystems and modules. An evaluation of proposed architecture is described through test case implementation in Sect. 3. The paper concludes with Sect. 4.

2 E-Learning SLAs and Architecture

While simulation of e-Learning services has been researched on grid computing [2, 3], several attempts have been made to leverage cloud infrastructure for hosting e-Learning services. Iqbal et al. [4] proposed algorithm that minimizes response time for Web applications in cloud achieving maximum resource utilization. Lodde et al. [5] proposed service response time as a key parameter to measure and control service provisioning in cloud. The framework proposed in this research work provides a mechanism to maintain user request history and response time associated with each request and derives optimal amount of computing resources (number of VM instances) required. Masud and Huang [6] highlighted the significance of institutions focusing on creating content and managing education process while cloud provider managing infrastructure in cloud for hosting e-Learning system. Similarly, Fernandez et al. [7] articulated functions of cloud service layers that can be used to develop an e-Learning system. SLA, by definition [8], is a negotiated agreement that contains details on agreed service, service level parameters to measure performance of the services and guarantees that services shall comply. It acts as a legal contract between service provider and consumer and describes obligations and actions for any violation when the service is administered. However, in order to frame SLAs for the e-Learning services, it is important to understand the functionalities of different user groups.

2.1 Functionalities of User Groups

The user groups that are going to access the e-Learning services are primarily—learner, trainer, and author. Each of these user groups have different set of requirements that are summarized in Table 1.

Table 1 User groups and associated requirements for e-Learning service

2.2 SLA Specifications

As the requirements from the various user groups are presented in the previous section, the SLAs specifications pertaining to these user groups are illustrated in Fig. 1 for trainer groups. The pseudo-code for learner, trainer, and author groups is represented in Fig. 2. The author SLA specification will be of similar structure as that of the trainer. The key distinction between these SLA specifications is the access levels where the access to the e-Learning courses and content is defined. For instance, the trainer and author user groups will have read, write, and update access, whereas learner user group will have read access only.

Fig. 1
figure 1

SLA specification for e-Learning services for trainer role

Fig. 2
figure 2

Pseudo-code for learner, trainer, and author groups

2.3 Proposed Architecture

This paper proposes e-Learning architecture that can be virtually extended to every e-Learning service in cloud. This computational intelligent architecture can form the base for e-Learning services that can provide components for providing functional services and enable services to measure and monitor SLAs. The proposed e-Learning architecture in Fig. 3 comprises two subsystems—Learning Management and SLA Management. The interactions among these subsystems are briefly described as follows:

Fig. 3
figure 3

Proposed e-Learning architecture in cloud

  1. (a)

    Learning Management—This subsystem predominantly contains e-Learning services that expose learning courses to the learners. Learning courses are created by administrators that are stored in course management layer managed by trainers through content management layer. The content management layer can store content in the form of learning objects that encapsulate raw learning materials such as documents (files and videos), while course management layer provides template structure for trainers to define courses using content stored as learning objects. The users (trainers, learners, etc.) can interact with this subsystem through a portal. The user management layer authenticates users to access learning services. The administrator is responsible for maintaining this layer.

  2. (b)

    SLA Management—This subsystem focuses on SLA definition and enforcement. The service consumer and provider negotiate on functional requirements such as course details, content download. This step results in creation of SLAs for each of these requirements. Monitoring Agent plays a key role in communication between the two subsystems using dynamic generation of XML format of SLA parameters. It also ensures that statistics are collected on a regular basis through Metric Data Collection module. This module stores the data in the relational database. The SLAs negotiated during the start of the service through the SLA Submission module is also stored in the database along with the formulas. The Metric Evaluation module calculates the metric values based on the formulas from a database at regular intervals. These results are captured by the Report Generation module that generates reports.

The proposed architecture in cloud comes with some distinct benefits. First, the underlying cloud infrastructure handles the scalability for provisioning e-Learning services. This is contrary to grid architecture proposed by Roy et al. [3] where computational grid is explored for managing e-Learning services. Second, the interaction among the Learning Management and SLA Management modules are managed by Monitoring Agent that provides robust integration benefits such as real-time tracking of user activities. This is different from implementation approach [9] provided by service-oriented architecture (SOA) where service prototypes are responsible for designing, organizing, and utilizing distributed functionalities. Service prototypes are not robust in nature when it comes to real-time monitoring of e-Learning services.

3 Evaluation of Proposed Architecture

This section explains the evaluation of the proposed architecture using Google App Engine. Nonfunctional requirements are explained in [10]. Functional requirements are considered during evaluation. Functional requirements are the key requirements that pertain to the activity or functionality of the specific services. In context to this case study, the following functional requirements are considered:

  1. (a)

    Course details and duration: This is a fundamental requirement from both consumer and provider perspective for provisioning of the specific service. On selecting a course, the duration of those particular courses needs to be agreed between consumer and provider. This test case implementation provides an interface where a consumer can submit course details such as choice of course and duration of course (in months or days).

  2. (b)

    Content download: While consumers have access to any material pertaining to courses registered, the providers first verify the payment terms and then provides access to the e-Learning system. The consumer is required to submit content size (in GB) and type (document extensions such as pdf, doc) in the test case implementation. The Monitoring Agent tracks content downloads on behalf of the consumer during the session and sends this information for further processing for Metric Evaluation.

  3. (c)

    Usage reporting: When the consumer starts accessing e-Learning services, the tracking of consumer activities in the e-Learning system becomes critical. Reports pertaining to these activities provide views to consumers and providers for any action that may be required for upholding the service agreement. Figure 4 presents a screenshot of usage report for a particular consumer with agreed-upon parameters as well as current statistics on duration of access to e-Learning service and content downloaded per day. This usage report is generated on a daily basis.

    Fig. 4
    figure 4

    Usage report for e-Learning services in cloud

The evaluation of this test case was monitored for seven (7) days for a user and for a particular course for 100 h with download limit of 1 GB. The SLA Management subsystem maintains these SLA parameters and provides usage information that gets displayed in the usage report. In this test case, after 7 days, the course duration was 11 h and content download was 0.112 GB.

4 Conclusion

Provisioning of cloud service has become a real challenge with virtualization of physical resources, infrastructure, and applications. This paper provides scope to access e-Learning services in cloud through a proposed e-Learning architecture. This paper also identifies SLA parameters for functional requirements to provision e-Learning service in cloud. Consumers need to go through the SLA parameters and need to be agreed with the specific values for measuring each parameter before accessing service. The proposed architecture limits itself to the e-Learning services that deliver textual and video content. The future scope of this work can be to evaluate this work for real-time lectures. The proposed e-Learning architecture in this paper leverages Google App Engine architecture to provide scalable and flexible services to the end users.