Designing an Efficient Cloud Management Architecture for Sustainable Online Lifelong Education

As online learning and e-learning are prevalent and widely used in education, it is important to design an efficient and reliable information system for storing learning data and providing on-demand learning services. In this paper, we design a cloud-based information system architecture for online lifelong education. Since a cloud system is based on virtualization technology, we propose a virtual resource management scheme—virtual machine allocation and monitoring nodes assignment. With the proposed cloud-based architecture, we can build and operate an e-learning information system for online lifelong education, which requires efficiency, reliability, and persistence. The evaluation results show that our proposed method can deal with more tasks for e-learning (requests for learning management system (LMS) navigations, text learning contents, text and media learning contents, and video learning contents) while introducing 48× fewer service level agreement (SLA) violations than the existing method.


Introduction
Although education is strongly associated with children and youth, we are living in an age of technological innovation [1,2].With the help of information technology, e-learning and online courses are available for adults and older people.Since the proportion of older people (over 60 years of age) continues to grow at an unprecedented rate [3], lifelong education has become an essential tool to improve self-efficacy, self-sustainability, and quality of life [4,5].
Among education methods, there are several advantages of online learning since it provides convenient and portable learning options [6].More importantly, users can learn by online education at their own pace [7,8].Therefore, users are able to develop skills and explore knowledge whenever and wherever there are.
Cloud computing is an Internet-based computing paradigm that provides an illusion of infinite computing resources in the form of pay-as-you-go and on-demand [9][10][11].Because of the flexibility of cloud computing, it becomes an attractive way to provide the required computing and storage resources to sustainable online learning systems [12,13].Another benefit of using cloud computing in online learning and lifelong education is an automation process for resource (virtual machine) provisioning [14][15][16].Whenever a user (instructor or learner) requests a virtual machine instance, the requested virtual machine instance can be provisioned within a minute [17].
The request includes ownership information, tags, virtual hardware requirements, the operating system, and any customization of the request.Then, the request goes through an approval phase and is executed.Educational institutions, as well as teachers and learners can benefit from the cloud computing model for cost reduction, elasticity, easy and wide accessibility, and high availability [18,19].
However, prior cloud based online lifelong education systems suffer from some limitations due to inefficient implementation or lack of cloud consolidation techniques.Thus, the objective of the proposed solution is to enhance the usability of online lifelong education systems without experiencing downtime or service disruption by providing an efficient cloud resource management scheme.
In this paper, we present an efficient cloud architecture for online lifelong education.Since there are many computing and storage nodes in the cloud computing system, efficient resource management is essential, especially for resource allocation and node monitoring.For resource allocation and node monitoring, we propose a complexity-efficient algorithm based on the n-queen problem.
The n-queen problem is a popular classic puzzle, where n queens were to be placed on an n × n chessboard such that no queen can attack any other queen.Although the n-queen does not directly relate to cloud resource management and consolidation, we exploit the structure of the problem and apply the algorithmic design to the virtual resource monitoring scheme to provide fault tolerance and eliminate the problem of single point of failures.
One of the benefits of the resource allocation is load balancing.Load balancing is an essential metric for cloud computing since it is related to the service level agreement (SLA).When a virtual machine is allocated in a heavily loaded physical machine, the allocated virtual machine does not perform well and this leads to SLA violations.On the other hand, when a virtual machine is allocated in a lightly loaded physical machine, the energy consumption will rise due to the physical machine.Therefore, balancing the load of physical machines is vital to achieve both SLA satisfaction and energy reduction.
As for node monitoring in cloud computing environments, the monitoring node may result in a single point of failure.In other words, when the monitoring node fails, the whole cloud computing system will stop working.If the monitoring node does not fail, it can be a bottleneck for monitoring a large number of nodes in the cloud computing system.This motivates us to develop an efficient monitoring scheme that does not exhibit a single point of failure or bottleneck problem.The proposed monitoring scheme is able to monitor nodes in the cloud computing system efficiently by designating a fixed number of monitoring nodes.
The aforementioned context of efficient cloud resource management directly affects online lifelong education in several ways: (1) it supports high availability of online learning services for both computing and storage, in other words, our solution eliminates the problems of a bottleneck and single point of failures when services are operating in cloud computing environments, (2) it minimizes SLA violations, which are of great concern to online learners in multitenancy service architectures, since our techniques focus on maintaining cloud consolidation while improving server utilization, and (3) it provides a pleasant learning experience through improved response time, fewer task failures for online learning services, and reduced power consumption.
The roadmap of the paper can be summarized as follows.Section 2 discusses our research motivation and describes the system model.Section 3 proposes our cloud resource management scheme that assigns monitoring nodes based on the classic n-queen problem and allocates virtual machines to physical hosts in cloud computing environments.Section 4 provides results of performance evaluations that ensure load balancing in terms of monitoring messages and low power consumption compared to a previous approach.Finally, Section 5 concludes the paper.

Motivation and System Model
Our research aims at an efficient cloud resource management on the premise of processing general cloud applications, including e-learning information systems based on virtual machines.In this section, we present our research motivation and the system model.
Cloud computing is a new computing paradigm that enables users to access virtualized resources (virtual machines) on-demand in a pay-per-use basis [20].One of the reasons that cloud computing has received much attention is that virtual resources can easily be scaled up and down for users' requests [21].
At the same time, cloud computing offers the required properties for e-learning services, which are computation-intensive and data-intensive [22].The typical example of this scenario is massive open online courses (MOOCs) [23].In the context of programming, instructors of courses can provision virtual machines that contain pre-installed programming-related software to provide laboratories and programming projects.
In [24], the authors investigated smart learning services by extending existing e-learning services through context-awareness to smart learning content based on cloud computing for personalized and customized learning services.However, this work does not introduce cloud resource management solutions, which are crucial to the use and maintenance of sustainable services such as e-learning.
To develop a smart learning management system (LMS) and improve collaborative learning in higher education, the authors of [25] integrated a multi-agents system for tracking of collaboration levels and productivity status based on a cloud computing architecture.However, it uses an existing cloud service platform and does not implement resource management modules inside the cloud computing environment.
In [26], the authors constructed the digital learning environment by taking advantage of on-demand services of cloud computing.The learning environment promotes knowledge sharing, collaborative learning, and interactive communication.However, it does not provide techniques for learners to relieve the concerns for SLA, which is an important aspect in online learning services.On the other hand, one of our design goals is to develop an online learning platform that minimizes SLA violations through efficient cloud resource management.
As for developing an e-learning platform for resource sharing, the authors of [27] proposed an e-learning model based on private cloud computing.With the help of the virtualization technology, the private cloud based e-learning platform is capable of installing an e-learning system regardless of hardware requirements.Although it is designed to support multiplatform architectures, it does not support continuing interactions between the cloud server and online learners.However, we consider the sustainable online lifelong education with reduced service failures and improved fault tolerance.
Our work differs from previous work in that: (1) we design a cloud resource management framework that is transparent to the online learners and can be extended to other cloud based learning systems, (2) we consider a learning experience for minimizing SLA violations, service response time, and task failures, and (3) we propose an efficient cloud resource management implementation in the perspective of online lifelong education service providers by considering load balancing and power consumption.
The contribution of this work can be summarized as follows.We propose a cloud resource management scheme that not only provides a cloud monitoring mechanism with fault tolerance based on policy but also maintains virtual resources consolidation by examining the resource status and migrating virtual machines to reduce power consumption and improve utilization of cloud servers in the system.We model a monitoring nodes selection algorithm with efficient complexity by exploiting backtracking, and design a virtual resource allocation scheme that leverages the power of two choices [28].
For the system model, we consider 100 host machines in the cloud platform, with each host machine equipped with a Xeon X3470 2933 MHz (4 cores) central processing unit (CPU) and 8 GB random access memory (RAM).When allocating a virtual machine, a user specifies properties of the virtual machine such as the number of vCPU and the amount of RAM.For the experiments for the proposed cloud resource management scheme, we deem that the cloud platform is running for an hour, and therefore, several virtual machines reside in a number of hosts.

The Proposed Cloud Resource Management Algorithm
In this Section, we describe the proposed cloud resource management scheme that is designed to work with existing cloud frameworks as an extension.We explain in detail our architectural design for cloud resource management and how our cloud resource management schemes work with cloud managers.

Architectural Design
Figure 1 shows the architectural design of the proposed cloud resource management scheme, which is based on Xen hypervisor for managing virtual resources (computing, storage, and network).We consider Openstack for managing virtual machines for cloud computing and deploying infrastructure as a service (IaaS).On top of PaaS, learning management systems, visualizing, and other services can be categorized as software as a service (SaaS).Across the boundaries, there are common modules such as data indexing, security, computation offloading, and networking.The cloud computing operation part of the Figure includes metadata management, backup, reporting, metering, and provisioning modules.
For the cloud resource monitoring scheme, the hypervisor interacts with hardware resources and the operating system.In order to retrieve the monitoring information of physical machines and virtual machines, the hypervisor injects queries to the host operating system and guest virtual machines, and the monitored information can be collected to the privileged virtual machine.Then, the collected monitoring information can be used for cloud consolidation and live migration.
In the meantime, our monitoring node selection algorithm based on the n-queen problem works with the resource allocation module based on the monitoring information of physical machines and virtual machines.Individual clients use an LMS and other learning services, which are compatible with both physical and virtual resources.Note that we assume that the LMS and learning services are running inside virtual machines.For the cloud resource monitoring scheme, the hypervisor interacts with hardware resources and the operating system.In order to retrieve the monitoring information of physical machines and virtual machines, the hypervisor injects queries to the host operating system and guest virtual machines, and the monitored information can be collected to the privileged virtual machine.Then, the collected monitoring information can be used for cloud consolidation and live migration.
In the meantime, our monitoring node selection algorithm based on the n-queen problem works with the resource allocation module based on the monitoring information of physical machines and virtual machines.Individual clients use an LMS and other learning services, which are compatible with both physical and virtual resources.Note that we assume that the LMS and learning services are running inside virtual machines.

The Monitoring Scheme
The proposed monitoring scheme is based on a classic n-queen problem as shown in Figure 2. In the example, there is an n × n board, where n = 4.In Figure 2a, a queen is placed on the (2, 2) location.The queen can attack other chess pieces vertically, horizontally, or diagonally based on the location.In this work, we consider a queen as a monitoring node that monitors other board locations (attack lines).

The Monitoring Scheme
The proposed monitoring scheme is based on a classic n-queen problem as shown in Figure 2. In the example, there is an n × n board, where n = 4.In Figure 2a, a queen is placed on the (2, 2) location.The queen can attack other chess pieces vertically, horizontally, or diagonally based on the location.In this work, we consider a queen as a monitoring node that monitors other board locations (attack lines).The basic idea of our cloud monitoring scheme is that we locate queens on the board so that no two queens can attack each other.For example, Figure 2b shows a wrong solution for the n-queen problem, where n = 4, since there are conflicts between the following queens: (3, 1) and (1, 3), (3, 1) and (3,4), and (3, 1) and (4, 2).Possible solutions for the n-queen problem are shown in Figure 2c,d.
The simple approach to the n-queen problem is to use an exhaustive search.However, the search space of this approach is huge.If we consider n = 8, for instance, there are 64 8 (= 2 48 = 281,474,976,710,656) possible placements for eight queens on the 8 × 8 board.Then, we remove placements in mutually attacking locations.Hence, we use a more efficient algorithm for the n-queen problem based on a state space tree.
In a state space tree, a node is said to be promising if the partial solution is still feasible.Any time the partial node becomes the infeasible node, this non-promising branch will no longer be explored.To find a feasible solution, the algorithm backtracks to the previous promising node and examines the other branches of the state space tree.The basic idea of our cloud monitoring scheme is that we locate queens on the board so that no two queens can attack each other.For example, Figure 2b shows a wrong solution for the n-queen problem, where n = 4, since there are conflicts between the following queens: (3, 1) and (1, 3), (3, 1) and (3,4), and (3, 1) and (4, 2).Possible solutions for the n-queen problem are shown in Figure 2c,d.
The simple approach to the n-queen problem is to use an exhaustive search.However, the search space of this approach is huge.If we consider n = 8, for instance, there are 64 8 (= 2 48 = 281,474,976,710,656) possible placements for eight queens on the 8 × 8 board.Then, we remove placements in mutually attacking locations.Hence, we use a more efficient algorithm for the n-queen problem based on a state space tree.
In a state space tree, a node is said to be promising if the partial solution is still feasible.Any time the partial node becomes the infeasible node, this non-promising branch will no longer be explored.To find a feasible solution, the algorithm backtracks to the previous promising node and examines the other branches of the state space tree.end for 25: end function Algorithm 1 shows the proposed monitoring nodes selection algorithm based on the n-queen problem using backtracking.The input of the algorithm is N ( number o f nodes in the system) and the output is placements information on the board for N queens.For initialization, a local variable i is set to N. To begin with, it calls the Queens() function with N argument (line 1).In the Queens() function, when n is equal to 0, it returns and indicates all queens (monitoring nodes) are placed (assigned) on the board without conflicts (lines 3-5).
In the while statement, it iterates when i is less than or equal to N (line 6).First, it places a queen on (i, n) location and it is added to QSet (lines 7-8).Then, it checks other queens for conflicts by calling checkOtherQueens() (line 9).In this stage, the flow of the process execution is redirected to the checkOtherQueens() function (lines [16][17][18][19][20][21][22][23][24][25].To check conflicts between queens, it retrieves Q i from QSet.For all Q i , it compares locations of the two queens (Q i and Q n ).Note that Q n is a queen selected from line 7.Then, it checks whether |j − l| is equal to |i − k| (line 19).If the two values are equal, then it returns false (conflict).Otherwise, the function returns true (no conflict).
After returning the checkOtherQueens() function, the flow of the process execution is returned to line 9.If the result of the checkOtherQueens() function is true, then it calls the Queens() function recursively with n − 1 argument (line 10).Otherwise, it backtracks for Q n , which is assigned from lines 7-8.For backtracking, the location of Q n is nullified and it is removed from QSet (lines 12-13).When it backtracks, the algorithm does not go deep into the state space tree.

The Resource Allocation Scheme
Algorithm 2 shows the proposed cloud architecture management algorithm.There are three parts to the algorithms: (1) virtual machine allocation, (2) queen nodes assignment, and (3) resource monitoring.For the virtual machine allocation, it first checks and gets virtual machine information for a user's request.Then, our virtual machine allocation algorithm selects two host candidates at random.After selecting the two host candidates, it checks the requirement of a user's request.If a host candidate does not qualify a user's request, the procedure listed in lines 3-6 is repeated.Note that if one of the two host candidates does not qualify a user's request, it selects another random host in the system for the host candidate.
Afterward, it checks the utilization of the two host candidates.Of the two host candidates, our virtual machine allocation algorithm selects the one whose utilization is lower.The other one is selected as a nil host (lines 8-14).For optimizing cloud consolidation, it further checks the migration suitability for virtual machines of the nil host.If virtual machines on the nil host can be migrated to the target host, it performs the migration process.Each virtual machine on the nil host is scheduled for migration from the nil host to the target host (lines [16][17][18][19].Then, the nil host is scheduled to power off to reduce energy consumption. The queen nodes assignment algorithm is for optimizing the monitoring overheads induced by the master-slave architecture of cloud computing environments.The basic idea of the queen nodes assignment algorithm is to assign number o f nodes in the system monitoring nodes in the n × n board.The monitoring nodes are equivalent to queens in the traditional n-queen problem.The queen nodes are designated as the monitoring nodes in the cloud computing system.The designated monitoring nodes monitor at most 3 × (n − 1) nodes (vertical, horizontal, and diagonal nodes) of n × n nodes in the system.Thus, it mitigates the problems of the single point of failure and bottleneck.
The procedure of the queen nodes assignment algorithm is listed in Algorithm 1 (lines 23-41).To calculate the board size, it first retrieves the number of hosts in the cloud computing system.Then, it calculates the number of queens (monitoring nodes) by computing square root and round functions.The number of chess pieces is set to the number of hosts in the system at this stage.Note that the logical numbers are also assigned to the hosts for encoding the n-queen problem.
However, if the number of chess pieces and (the number of queens) 2 are not equal, the solution of the n-queen problem cannot be applied (e.g., assigning a queen to the (n, n) location.).Therefore, we resolve this problem by assigning duplicated signatures to existing chess pieces.The procedure for this problem is listed in lines 27-29.After assigning the logical chess pieces on the n × n board, it solves the n-queen problem and assigns chess pieces according to the calculated solution.
The resource monitoring procedure is based on the assigned chess pieces.The queen nodes monitor vertical, horizontal, and diagonal nodes in the cloud computing system.The other nodes (except queens) provide their local information to the queen node when requested from the queen node.Since the queens cannot attack each other in the n × n board, system information of a node is forwarded to only one queen in the system.When the number of clients is 550, however, the proposed method has 10x fewer failed tasks.The main reason of task failures is due to the heavy load of virtual machines.Since the default configuration runs with the next fit policy and has no consideration of efficient resource management such as load balancing, our proposed method has much fewer failed tasks.
Figure 4 shows the number of SLA violations as the number of clients increases.The SLA violation is defined as a slow response for the requests and the SLA violation occurs when more tasks are allocated to overloaded virtual machines.Similar to the previous experiment, our proposed method has much fewer SLA violations compared with the existing method (about a 48× improvement when the number of clients is 550).
Figure 5 shows the average server utilization for host machines.Because the proposed method is capable of managing more tasks from clients (our method has fewer failed tasks than the existing method), the average server utilization for our proposed method is higher than that for the existing method.The percentages of the average server utilization for the existing method are 4.75%, 12.22%, 24.30%, 33.96%, 44.32%, and 50.58%, while those for the proposed method are 6.75%, 20.38%, 33.80%, 49.17%, 63.64%, and 74.64%.The implication of this result is that our method can deal with more tasks while introducing fewer SLA violations, and our proposed cloud resource management scheme is effective.

Load Balancing
The performance of the proposed cloud management scheme is directly reflected in load balancing, since communication messages for cloud resource monitoring can be distributed from a single node to several nodes.With this in mind, the proposed scheme also supports fault tolerance The number of SLA violations The

Load Balancing
The performance of the proposed cloud management scheme is directly reflected in load balancing, since communication messages for cloud resource monitoring can be distributed from a single node to several nodes.With this in mind, the proposed scheme also supports fault tolerance The number of SLA violations The number of clients

Load Balancing
The performance of the proposed cloud management scheme is directly reflected in load balancing, since communication messages for cloud resource monitoring can be distributed from a single node to several nodes.With this in mind, the proposed scheme also supports fault tolerance and avoids the single point of failures.To show the performance improvement of the proposed cloud management scheme, we first focus on measuring load balancing of resources in cloud computing environments.To do so, we use the following balance metric: where n is the number of resources.
The load balancing refers to the distribution of message communication of the system.Thus, the performance metric is specifically designed to measure the difference between the maximum value and the minimum value.With the balance metric, we can easily observe the dispersion of message traffic for monitoring methods.
We consider two levels of fault tolerance for monitoring nodes in the system.Taking Figure 2c as an example, when the queens monitor other nodes in either the vertical or horizontal direction, we can monitor all the nodes in the system.In addition, when the queens monitor other nodes in both vertical and horizontal directions, nodes in the system get monitoring request messages twice, which can provide fault tolerance.We denote the former level as Level 1 and the latter one as Level 2.
Figure 6 depicts the balance metric and standard deviation for the previous method (master-slave architecture) and the two proposed methods (Level 1 and Level 2) in terms of monitoring messages.Note that when N is 5, 6, 7, 8, 9, and 10, the number of resources is 25, 36, 49, 64, 81, and 100, respectively.As seen from the Figure, the balance metric increases as N increases.However, many increments of the balance metric can be seen from the previous method.
can monitor all the nodes in the system.In addition, when the queens monitor other nodes in both vertical and horizontal directions, nodes in the system get monitoring request messages twice, which can provide fault tolerance.We denote the former level as Level 1 and the latter one as Level 2.
Figure 6 depicts the balance metric and standard deviation for the previous method (masterslave architecture) and the two proposed methods (Level 1 and Level 2) in terms of monitoring messages.Note that when N is 5, 6, 7, 8, 9, and 10, the number of resources is 25, 36, 49, 64, 81, and 100, respectively.As seen from the Figure, the balance metric increases as N increases.However, many increments of the balance metric can be seen from the previous method.
The values of the balance metric are about 12.24, 2.22, and 3.07 when N is 5, and 49.74, 4,73, and 6.42 when N is 10.The proposed method has a fault tolerance that is 10× and 7× less than the previous method, for Levels 1 and 2, respectively.This indicates the proposed cloud monitoring scheme improves load balancing, while providing fault tolerance in the presence of failures.Figure 6b shows the standard deviation of monitoring messages for cloud resources in the system.Considering the standard deviation, the proposed method has less dispersion of a dataset relative to its mean.

Resource Efficiency
Improvement of cloud consolidation for cloud computing environments is crucial.Cloud consolidation aims to make efficient use of virtualized cloud resources and prevent cloud servers from being under-utilized by packing more resources in physical hosts in the system.To show the efficient use of the proposed cloud resource management scheme, we measure the average, median, The values of the balance metric are about 12.24, 2.22, and 3.07 when N is 5, and 49.74, 4,73, and 6.42 when N is 10.The proposed method has a fault tolerance that is 10× and 7× less than the previous method, for Levels 1 and 2, respectively.This indicates the proposed cloud monitoring scheme improves load balancing, while providing fault tolerance in the presence of failures.Figure 6b shows the standard deviation of monitoring messages for cloud resources in the system.Considering the standard deviation, the proposed method has less dispersion of a dataset relative to its mean.

Resource Efficiency
Improvement of cloud consolidation for cloud computing environments is crucial.Cloud consolidation aims to make efficient use of virtualized cloud resources and prevent cloud servers from being under-utilized by packing more resources in physical hosts in the system.To show the efficient use of the proposed cloud resource management scheme, we measure the average, median, 10th, 25th, 75th, and 90th percentiles of CPU utilization by allocating the varying number of virtual machines from 10 to 40 as shown in Figure 7.
Comparing Figure 7a,b, we observe that those hosts running the same virtual machines have a noticeable difference than the previous method.The section between the 25th and 75th percentiles for the proposed method is shorter than that of the previous method.At the same time, the median value for the proposed method is higher than that for the previous method.Comparing the previous method and the proposed method with migration, the average utilization is about 62.1% and 68.3%, respectively.Note that the average value of Figure 7c includes powered off hosts, which are calculated as 0, and the number of powered off hosts is about 10% in this experiment.
10th, 25th, 75th, and 90th percentiles of CPU utilization by allocating the varying number of virtual machines from 10 to 40 as shown in Figure 7.  Figure 8 shows cumulative distribution functions (CDFs) for CPU utilization when the numbers of allocated virtual machines are 10, 20, 30, and 40.When the number of allocated virtual machines is 10, the three methods are comparable, where the differences in the standard deviation are about ± 1.0.However, when the number of allocated virtual machines is 40, the differences in the standard deviation are about ± 5.0.This is because the proposed cloud resource management scheme performs virtual machine migrations and shutdown processes when available. is 10, the three methods are comparable, where the differences in the standard deviation are about ± 1.0.However, when the number of allocated virtual machines is 40, the differences in the standard deviation are about ± 5.0.This is because the proposed cloud resource management scheme performs virtual machine migrations and shutdown processes when available.
Taking Figure 8d as an example, CDF for migration of the proposed method with migration slowly grows and ranges from 0 to 20, since about 10% of hosts are powered off.In the middle ranges from 20 to 50, CDF for utilization of the proposed method with migration rises sharply in comparison with the other two methods.The reason for this is due to the cloud consolidation capabilities of the proposed method.More specifically, when performing the virtual machine allocation algorithm, it compares two resources and checks whether all virtual machines of a host can be migrated to another host.If it is available, all the virtual machines of a host are scheduled for migration, then the host can be powered off for power reduction.Taking Figure 8d as an example, CDF for migration of the proposed method with migration slowly grows and ranges from 0 to 20, since about 10% of hosts are powered off.In the middle ranges from 20 to 50, CDF for utilization of the proposed method with migration rises sharply in comparison with the other two methods.The reason for this is due to the cloud consolidation capabilities of the proposed method.More specifically, when performing the virtual machine allocation algorithm, it compares two resources and checks whether all virtual machines of a host can be migrated to another host.If it is available, all the virtual machines of a host are scheduled for migration, then the host can be powered off for power reduction.

Power Consumption
One of the reasons for cloud resource consolidation is to reduce power consumption and save energy.The proposed cloud resource management scheme not only improves resource efficiency but also reduces power consumption in cloud computing environments.To measure power consumption in cloud computing environments, we use the power model of an IBM server x3250 (Xeon X3470 2933 MHz (4 cores) CPU and 8GB RAM), which provides average active power data in 10% scale (http://www.spec.org/power_ssj2008/results/res2009q4/power_ssj2008-20091104-00213.html).
Figure 9 draws the percentiles and CDF for power consumption.As seen from Figure 9a, the median value of the proposed method is higher than that of the previous method, while the average value of the proposed method is lower than that of the previous one.The main reason for this is that the proposed method eliminates unnecessary hosts from running in the system, which ensures efficient resource management.The CDF for power consumption is similar to Figure 8d, and it confirms that about 10% of the hosts are powered off, and thus, saves unnecessary power consumption.

Power Consumption
One of the reasons for cloud resource consolidation is to reduce power consumption and save energy.The proposed cloud resource management scheme not only improves resource efficiency but also reduces power consumption in cloud computing environments.To measure power consumption in cloud computing environments, we use the power model of an IBM server x3250 (Xeon X3470 2933 MHz (4 cores) CPU and 8GB RAM), which provides average active power data in 10% scale (http://www.spec.org/power_ssj2008/results/res2009q4/power_ssj2008-20091104-00213.html).
Figure 9 draws the percentiles and CDF for power consumption.As seen from Figure 9a, the median value of the proposed method is higher than that of the previous method, while the average value of the proposed method is lower than that of the previous one.The main reason for this is that the proposed method eliminates unnecessary hosts from running in the system, which ensures efficient resource management.The CDF for power consumption is similar to Figure 8d, and it confirms that about 10% of the hosts are powered off, and thus, saves unnecessary power consumption.To calculate how much power consumption is saved, we measure the total power consumption and power reduction in Watts as shown in Figure 10.Note that we also use the power model of an IBM server x3250, and the power reduction is measured relative to the previous method.The total amount of power consumption for the previous method is about 8750 Watts, while that for the proposed method without and with migration is about 8710 and 8415 Watts, respectively.It translates into a power reduction of about 40 and 334 Watts for the proposed method without and with migration, respectively.The improvement comes from the fact that our proposed cloud resource management scheme migrates virtual machines to other hosts when allocating virtual machines and schedules hosts to be powered off whenever possible.To calculate how much power consumption is saved, we measure the total power consumption and power reduction in Watts as shown in Figure 10.Note that we also use the power model of an IBM server x3250, and the power reduction is measured relative to the previous method.The total amount of power consumption for the previous method is about 8750 Watts, while that for the proposed method without and with migration is about 8710 and 8415 Watts, respectively.It translates into a power reduction of about 40 and 334 Watts for the proposed method without and with migration, respectively.The improvement comes from the fact that our proposed cloud resource management scheme migrates virtual machines to other hosts when allocating virtual machines and schedules hosts to be powered off whenever possible.

Summary of Results and Discussion
Regarding the experiments for LMS and learning services, we observe a much lower number of failed tasks as the number of clients increases.This indicates that the existing method does not overcome the failed tasks in a scalable system.To mitigate the catastrophe for this scenario, we can add more physical machines in cloud computing environments.Nevertheless, the effect of adding

Summary of Results and Discussion
Regarding the experiments for LMS and learning services, we observe a much lower number of failed tasks as the number of clients increases.This indicates that the existing method does not overcome the failed tasks in a scalable system.To mitigate the catastrophe for this scenario, we can add more physical machines in cloud computing environments.Nevertheless, the effect of adding physical machines applies to the proposed method as well.In this regard, our method is more beneficial for sustainable online lifelong education systems.
For the load balancing experiments, we use our own balance metric to measure the distribution of message communication.Although the balance metric is not a standard metric for load balancing, we observe that the balance metric is more effective at limiting the bottleneck than the standard deviation.Even though our method provides some degree of fault tolerance (Level 2 in Figure 6), the numbers show that our monitoring algorithm based on the n-queen problem effectively distributes the communication load.
As for resource efficiency, the proposed method with migration provides a more efficient use of physical machines than the previous method in cloud computing environments.The results depict that the proposed method has lower utilization than the previous method because we let the cloud resource manager shutdown unnecessary hosts.Note that the results are averaged for all the host machines in the system, while the results of Figure 5 are calculated only for active host machines.Since we focus on the use of online lifelong education services, we leave more sophisticated cloud consolidation techniques as future work.
Power consumption in datacenters is a global problem, and datacenters consume more than 2% of the world's electricity.The experiments in Section 4.4 consider only CPU in Watts, and do not include cooling-related power consumption.Although our proposed method with migration reduces power consumption with respect to the previous method, we conjecture that the real implementation of our proposed method in datacenters can further reduce the total power consumption since its cooling related power consumption also can be reduced.Note that the proposed method with migration features host shutdown.

Conclusions
As online lifelong education has become popular, cloud computing systems have received a lot of attention as they can provide computing resources and persistent storage.To offer more reliable and efficient cloud services for online lifelong education, we proposed an efficient cloud architecture management algorithm.The proposed virtual machine allocation reduces the complexity of the resource allocation process in virtualized cloud computing environments, and the monitoring nodes assignment algorithm based on the traditional n-queen problem resolves the potential problems in existing cloud computing systems (i.e., single point of failure and bottleneck).Through our proposed cloud resource management, we expect that online learners of the system will experience more pleasant learning activities since our experimental results show that our proposed method has 10× fewer failed tasks for e-learning requests and 10× improvement of load balancing while reducing SLA violations and power consumption.Future work includes deployments of various online learning applications and services to the cloud computing environments and evaluation on serverless computing environments.
consolidation part of the Figure and the proposed resource utilization management and node selection scheme reside in the resource allocation part of the Figure.The data acquisition, analysis platform, integrated development environments, and tools can be categorized as platform as a service (PaaS).

Figure 1 .
Figure 1.Architectural design of the proposed cloud resource management scheme.SaaS = software as a service; PaaS = platform as a service; IaaS = infrastructure as a service; IDE = integrated development environment.The proposed monitoring scheme and live migration capabilities reside in the cloud consolidation part of the Figure and the proposed resource utilization management and node selection scheme reside in the resource allocation part of the Figure.The data acquisition, analysis platform, integrated development environments, and tools can be categorized as platform as a service (PaaS).On top of PaaS, learning management systems, visualizing, and other services can be categorized as software as a service (SaaS).Across the boundaries, there are common modules such as data indexing, security, computation offloading, and networking.The cloud computing operation part of the Figure includes metadata management, backup, reporting, metering, and provisioning modules.For the cloud resource monitoring scheme, the hypervisor interacts with hardware resources and the operating system.In order to retrieve the monitoring information of physical machines and virtual machines, the hypervisor injects queries to the host operating system and guest virtual machines, and the monitored information can be collected to the privileged virtual machine.Then, the collected monitoring information can be used for cloud consolidation and live migration.In the meantime, our monitoring node selection algorithm based on the n-queen problem works with the resource allocation module based on the monitoring information of physical machines and virtual machines.Individual clients use an LMS and other learning services, which are compatible

Sustainability 2019 , 17 Figure 1 .
Figure 1.Architectural design of the proposed cloud resource management scheme.SaaS = software as a service; PaaS = platform as a service; IaaS = infrastructure as a service; IDE = integrated development environment.

Figure 3 .
Figure 3.The number of failed tasks.

Figure 4 .
Figure 4.The number of service level agreement (SLA) violations.

Figure 3 .
Figure 3.The number of failed tasks.

Figure 3 .
Figure 3.The number of failed tasks.

Figure 4 .
Figure 4.The number of service level agreement (SLA) violations.

Figure 5 .
Figure 5. Server utilization for host machines.

Figure 4 .
Figure 4.The number of service level agreement (SLA) violations.

Figure 3 .
Figure 3.The number of failed tasks.

Figure 4 .
Figure 4.The number of service level agreement (SLA) violations.

Figure 5 .
Figure 5. Server utilization for host machines.

Figure 5 .
Figure 5. Server utilization for host machines.

Figure 6 .
Figure 6.The balance metric and standard deviation for monitoring messages.

Figure 6 .
Figure 6.The balance metric and standard deviation for monitoring messages.

Figure 7 .
Figure 7.The average, median, 10th, 25th, 75th, and 90th percentiles of CPU utilization.The average and median values are marked as dashed lines and straight lines, respectively.

Figure 7 .
Figure 7.The average, median, 10th, 25th, 75th, and 90th percentiles of CPU utilization.The average and median values are marked as dashed lines and straight lines, respectively.

Figure 9 .
Figure 9.The percentiles and CDF for power consumption.(a) The average, median, 10th, 25th, 75th, and 90th percentiles of power consumption; (b) CDF for power consumption when the number of allocated virtual machines is 40.

Figure 9 .
Figure 9.The percentiles and CDF for power consumption.(a) The average, median, 10th, 25th, 75th, and 90th percentiles of power consumption; (b) CDF for power consumption when the number of allocated virtual machines is 40.

Algorithm 1. The monitoring nodes selection algorithm using backtracking. Input:
N = number o f nodes in the system Output: Q 1 , Q 2 , . . .Q N ∈ QSet