An Efficient Dynamic-Decision Based Task Scheduler for Task Offloading Optimization and Energy Management in Mobile Cloud Computing

Restricted abilities of mobile devices in terms of storage, computation, time, energy supply, and transmission causes issues related to energy optimization and time management while processing tasks on mobile phones. This issue pertains to multifarious mobile device-related dimensions, including mobile cloud computing, fog computing, and edge computing. On the contrary, mobile devices’ dearth of storage and processing power originates several issues for optimal energy and time management. These problems intensify the process of task retaining and offloading on mobile devices. This paper presents a novel task scheduling algorithm that addresses energy consumption and time execution by proposing an energy-efficient dynamic decision-based method. The proposed model quickly adapts to the cloud computing tasks and energy and time computation of mobile devices. Furthermore, we present a novel task scheduling server that performs the offloading computation process on the cloud, enhancing the mobile device’s decision-making ability and computational performance during task offloading. The process of task scheduling harnesses the proposed empirical algorithm. The outcomes of this study enable effective task scheduling wherein energy consumption and task scheduling reduces significantly.


Introduction
Advancements in the Information and Communication Technologies sector and related Internet of Things (IoT) technologies have an impact on humans' lives all over the world. IoT is, in simple words, intelligent things equipped with sensors that gather data without the interactions of humans. These devices are smart enough to collect/capture, handle, transmit and display the resulted data without any manual automation. The IoT concept provides the capability to connect almost everything around us that can communicate using the internet. The objective is to connect mobile devices to promote their task processing capabilities. Mobile cloud computing is a combination of IoT devices such as smartphones that use IoT-based technology to enhance the task processing capabilities of mobile devices.
In recent years, computing and information technology resources have been increased and deployed in many fields such as cloud, mobile cloud, fog computing, distributed, and parallel computing. In all these technological advancements, there is a rapid increase in the cation time, upload time, results in processing time, and some local executions parameters. Thus, task scheduling is one of the main fields to consider in MCC research objectives. Besides all this, every mobile user can experience these services at any time without any time limitations and interruptions [16]. However, user data, applications, confidential information, and locations are insecure for cloud users due to compromised attacks in this field [17,18].
Computation-intensive tasks (tasks sizes are larger than computational capabilities) are rich in computations. Energy and time consumption are the two main factors to manage in mobile cloud computing. Energy and time are the challenges faced during task scheduling in mobile cloud computing. Limited capabilities of mobile devices in terms of energy, storage, time, transmission bandwidth, and computations trigger problems associated with energy optimization and time management while processing tasks on a mobile phone. This problem needs to be addressed in this paper, focusing on efficient dynamic decision-based task scheduling in MCC.
The main contribution of the proposed system is to save time and computational energy using the mobile cloud computing approach as follows:

•
The main objective of this system is dynamic decision-making for task scheduling using the decision-based algorithm.

•
The task offloading decision is straightforward, using a dynamic decision-based scheduler to predict which task is offloaded to the mobile cloud and which task is executed on the mobile device.

•
The controller effectively decides to enhance the efficiency of the decision algorithm by making choices in less time.

•
The decision algorithm works collectively with the scheduler to enhance the probability of task-processing decision-making.

•
We effectively reduce the power consumed by mobile devices' task execution through task scheduling decision algorithms and task competition models.

•
Finally, for evaluation of the system performance, we analyze the results using mobile offloading through simulation. Our proposed technique indicates that the decision algorithm effectively improves the system decision-making, and less power is consumed through dynamic decision-making for task execution.
The rest of the paper is organized as follows. Section 2 presents the related work on task scheduling and fault tolerance. Then, in Section 3, we outline our approach for the research and proposed solutions to the relevant problems encountered in Section 1 of the paper. Then, in Section 4, we present the proposed method with simulations using a hybrid approach. In Section 5, we conclude our proposed system, highlighting that our technique makes it straightforward for fault tolerance methodology.

Related Work
In MCC, several studies have recently been discussed in the literature. Zhuo et al. [19] proposed a group-based fault tolerance technique called GFT-mCloud, which can classify mobile devices into different groups based on reliability, processing capacity, and mobility. Based on the task offloading schemes, specific groups of jobs are scheduled based on the criteria. Noraziah et al. [20] implemented a fault tolerance technique in which cloud providers and cloud users/customers share their responsibilities in response to fault tolerance techniques to efficiently utilize resources and energy efficiency. As in [21,22], different application faults can be repaired and detected at the user level, however, hardware and virtual machine faults can be identified and repaired at the cloud level. The recovery/restoration of the applications running on the refurbished VMs can be requested and performed at the customer level. The checkpointing technique is used to create re-establish points for the recovered VMs.
Chen et al. [23] proposed a new method for concentering fault tolerance in a cloud. They used a k-out-of-n approach that mobile devices can successfully retrieve and process different data in a very effective energy-efficient way as remote servers are accessible for processing. Park et al. [24] developed a new technique based on the Markov Chain Model system, based on the analysis and prediction of the status of all resources available. Li et al. [25] discovered that clouds are more resistant to the fault problems caused by mobile devices' mobility. Abd et al. [26] defined the cloud computing models that support on-demand Internet access, convenient, ubiquitous access to different bundles of resources for configurable computing. It has gained an enormous amount of popularity. The National Institute of Standards and Technology (NIST) has defined that cloud computing has many distinguishing characteristics for the cloud, such as measured services, on-demand selfservice, rapid elasticity, resource pooling, and broad network access. The high distribution of resources and heterogeneity makes the system more convenient and suitable for cloud resource distribution [27]. Fault tolerance is one of the significant issues in cloud computing that needs to be addressed when designing the cloud system for efficiency. Guo et al. [28] analyzed that hundred to millions of clients were affected whenever any cloud resources failed for any reason, which leads to disastrous implications.

Proposed Model
The following section provides a detailed overview of a system architecture proposed and implemented to efficiently handle the mobile cloud fault tolerance using a hybrid approach for access and the cloud services and other main scenarios. Consider the scenario where the tasks are either offloaded to the MCC VM or to processes on a local mobile device. Figure 1 shows the system architecture diagram of the three-layer architecture. The mobile user layer consists of mobile devices with local mobile task processors. The mobile devices are interconnected through high-speed wi-fi or other facilities. The second layer is the task scheduling layer. The task scheduling layer provides task decision capabilities with a highly intelligent scheduling algorithm. All the modules are discussed in the belowmentioned sub-headings. The task scheduling layer's final task should be processed either on the local machine/mobile device or offloaded to the MCC VM. The decision is based on the computational process and task information gathered through the mobile device. Every task is handled individually. The cloud layer is where the final and updated tasks are received and processed with high-speed processing capabilities. The MCC handler manages and assigns a separate VM to an individual task. These tasks are passed to the task scheduling layer. The main functions of the task scheduling layer are. Figures 2 and 3 depict the working of the task scheduling layer. All three layers are processed according to their assigned tasks. Initially, the information collection module of Layer 2 receives the mobile devices' data for strategic decision-making. When the task is not sufficient for the local mobile device computation, the data query organizer organizes and supports this device to process these steps. The task passed from the data query organizer is now well established and ready to decide the task offloading towards the cloud layer. The scheduling handler manages and finalizes the offload to the mobile cloud layer. The complete strategy is a layer-based collaborative offloading strategy to offload the tasks to the mobile cloud layer. In our proposed system, whole scheduling and fault tolerance methods are handled at the middle layer. The decision is made at this layer before the request has reached the cloud for processing and handling. Figure 2 shows the system model diagram, which consists of the flow of tasks from one module of the prosed MCC system to another. Scheduling of the jobs needs to be handled by the scheduler, whereas the jobs need to be submitted to the MCC for processing.

System Model
Our proposed model constructs two separate networks: task handling and VM networking to process task distribution and task handling. There are two basic networking models, one for mobile devices. The mobile device can process basic applications and enhance the capabilities for classifying the network system, consisting of a mobile device local engine and mobile device off-loader for offloading the tasks/jobs to the cloud for the relevant processing. The equation that describes the local engine to solve the task is (1 − P off )λ. The task offloading capability of the mobile devices is checked based on the job's time for every task. The time calculation probability on the mobile device is calculated with Equation (1). The model represents the local mobile calculation and task submission towards the mobile cloud. (1 − P off )λ represents the time subtracted from the total mobile calculated time.  In Equation (1), ∆T total mobile calculates the total time of the local mobile for calculation and submission for processing. In this equation, the λ represents the system's job request rate that required the mobile to get jobs/tasks from the devices. The ∆T total mobile total time indicates the total time for calculations on mobile devices. Similarly, if it requires a job to be scheduled on the cloud for the dispatcher/scheduler, its time is calculated using ΣT off λ = ∆T on + ∆T e + ∆T m + ∆T off (2) where ΣT off λ is the precise time for task submission until dispatch for scheduling. Furthermore, the scheduler can reject any task based on the task's information with proper execution and extension. The total time from process load to return after execution on the cloud is calculated with Equation (3). In Equation (3), ΣT total λ represents the total time from when the process starts to create and finalize the computed values.
We have used offloading based on the FCFS (First Come First Served) and the prioritybased hybrid model of the offloading queue for dispatching to the cloud for execution in this model. Job J is the set of all independent tasks executed on Central Processing Unit (CPU) cores based on N t (j) . The numbers of tasks collectively form the whole job for execution, and if the mobile contains a single core, then the tasks are done one after another in a sequential manner or if the mobile has multiple CPU cores, N c , all tasks are executed in a parallel manner. While on the other hand, on the cloud, all jobs/tasks will be executed in parallel on different cloud virtual machines. To speed up the execution of a job/task, we take the ratio of execution of the tasks and jobs for which it is executed. So, where α is the clock frequency ratio for mobile CPU cores and VM processors. The fault rate of any mobile device is estimated using the following information from the mobile device before dispatching it to the cloud. Power is a significant concern for handling the fault rate. To manage power resources, we needed to adapt to the data rate of the mobile device that needed to be handled. For task offloading, we checked the task probability first to determine if the task should be offloaded to the cloud because, for some tasks/jobs, the mobile device can handle them using Equation (5).
where U is the union of all tasks that group together a job for offloading, λ is the request rate of a mobile needing to execute on the cloud, N t (j) is the total number of tasks performed on the cloud, C is the job size (mainly in instructions), A is the clock frequency ratio of the mobile core processor, N c . In this model, first, the task is checked to determine whether the mobile CPU core(s) can handle the job. If they can, then the task will be executed on the mobile. Otherwise, it will be offloaded to cloud VM, which is modeled in the next step. Amoretti et al. [19] developed a model for offloading based on the energy consumed to execute by the mobile is higher than the energy consumed by the cloud VM. Still, in our approach, the power will also be wasted due to the massive network consumption power.
We checked for fault tolerance based on mobile battery information, location information, and mobile storage information by using the following model.
Equation (6) describes the battery information through the specified threshold.
Equation (7) represents the mobile location, with no changes to the new low bandwidth network.
M loc (B) ≥ M new-loc (B) In Equation (8), the mobile storage is less than that of the output results produced from the cloud VM to the mobile. M storage < B + Cloud output (8) In our research case, we needed to handle the fault tolerance before the task is distributed to the cloud. This helps the dispatcher check all the mobile device's required details to dispatch to the cloud plate form. Figure 3 shows the execution sequence of task processing from the local mobile device towards the MCC. The estimated Time ∆T ec is reflected from the scheduler.
The task scheduling process based on Algorithm 1 (below), which estimates the job, needs to be executed on mobile and the job performed on the cloud VM. Initially, the algorithm gathers the mobile device information through mob_info(T, B, L, S, App), the number of jobs through jobs_num(m), the number of mobile nodes with nodes_num(n), and gets the mobile information with fetch_info(T). Based on the information gained through steps 1, 2, 3, and 4, new mobile cloud nodes, a job schedular, and cloud VMs are created. The mobile device sends the information to the schedular with arguments. If the execution time is less than the justified threshold value, then the task should be processed on the mobile cloud, and if the task is heavyweight, then the task is uploaded towards the cloud VM. The equation below in step 7 of the cloud estimation plan based on this approach allows the system to continuously check the job execution time computed through Equations (1)-(3). The system then schedules the task for either the cloud VM or local mobile devices. Finally, the algorithm returns the job state.

Algorithm 1. Task Scheduling Decision
Input: Input from Table 1 (LEGENDS Table) Output: Returns the state of the job submitted to the cloud or processed on mobile device/decision about mobile or cloud execution

Simulation Environment
To evaluate the effectiveness of the proposed model for MCC, we implemented a simulation based on a mobile cloud simulator called CloudSIM and a mobile cloud simulator called Cloud Analyst (which is based on CloudSIM with an improved GUI interface). To the best of our knowledge, the CloudSIM is the best simulator for the simulation of Cloud and MCC environments, just like real-world environments. Cloud Analyst, built on top of CloudSIM, is a very active and user-friendly environment for a specific mobile cloud simulation setup. CloudSIM simulator is for mobile simulation on local machines with limited battery, processing (number of CPUs and cores), RAM, Internet and bandwidth, processing time (in milliseconds), etc. First, we simulated the results based on task availability on local machine simulations. If the cloud affected local machines, then the simulator was working fine on the availability of tasks on the local mobile. Based on the task information and mobile capacity information, the simulator would choose the probability and perform all of the local mobile simulations. At first mobile, we evaluated the information that we obtained in the following fashion.
We took ten chosen tasks randomly from the system in the initial simulations and considered the first iteration for simulation for the results extraction. Table 2 shows the information that is extracted from the tasks using a mobile phone. ∆T total mobile is the time calculated using Equation (1) from the above simulations. When using the total time for mobile execution, the system must represent the following calculation as an example. The information is collected after simulation steps and it provides the complete details of the tasks and their processing capabilities. Based on the data captured from the mobile devices, the CM and the local mobile devices are ready to process the data after the scheduler's decision.
Related to these calculations, we cleared that the first task was evaluated in line with the above calculations. Next in the list, we calculated all the jobs requiring calculation using Table 3.
ΣT off λ is the tasks offloading time. For MCC, it is the total time for the task being shifted from the local mobile to the cloud. This time is evaluated by Equation (2)  After calculating all ΣT off λ times for the calculations, we simulate and extract the results based on the simulation scenarios. Figure 4 depicts the actual results to get the tasks processed on MCC or local mobile devices.
ΣT total λ time is the total time from task creation from the mobile device to the cloud. This time includes the time in which the mobile device decides the offloading or local device calculations. The decision taken by the mobile is that the device is ready to offload. Figure 5 shows the time calculation completed with offloading time and the time required by the cloud VM for execution. From Equation (3), we calculated the total time for a task from the mobile device to the cloud for processing with the formulae below.
ΣT total λ = (∆T off + ∆T ec ) + (1 + ∆T on + ∆T m ) ΣT total λ = (3.342 + 1.2) + (1 + 0.3 + 0.5) ΣT total λ = (4.542) + (1.8) ΣT total λ = (6.342) ms The total time for a task is used for decision purposes to calculate the task for offload, calculations for the cloud, and calculations for the mobile. Figure 6 shows the percentage of power consumed by the tasks. Some tasks show that higher power consumption means these tasks should be offloaded for MCC, and other tasks should be executed on local mobile devices.
Time consumption ΣT total λ with power P was used for the tasks at different time intervals during the simulations. Figure 7 shows the comparison of task total time and power used by the task for processing on the mobile and cloud in the proposed system. It is observed that if tasks are increased in batch (number of jobs become batch), the calculations are less, so the power required for the task is less than other techniques. The probability is computed through Equation (8). After the computation of the probability, Figure 8 shows the highest and lowest offloading probability for task processing energy optimization. There are two approaches, P and T. P shows our proposed algorithm, and T shows the existing approach [22]. We analyze the energy of the tasks from 2000 to 20,000 energy efficiency costs for all tasks. Based on the graphs, we conclude that the proposed technique efficiently reduces energy consumption while offloading the tasks. On every single node, all the results effectively handle the tasks offloading and processing energy consumption for mobile and VM processing. Table 2. List of parameters and variables used in the system.

S.No
Lagend Description      Task offloading time ΣT off λ from Equation (2), is the total time we need to offload the responsibility from the mobile to another if it uses the battery power of the mobile machine. So for passing the results of the remaining time, Equation (5) is used with the constraints from Equations (6)- (8). From this, it is observed that only the tasks that have a computation time higher than the required calculations are shifted to the cloud VM for calculations. Figure 9 shows the time and task offloading decisions based on calculations.

Figure 8.
Energy optimization results for the proposed technique in comparison with Mukherjee et al. [22]. The major decision is based on the task execution time. The load on the cloud is decreased because we do not offload jobs to the cloud VM until it possesses the required probability value, which is set to offload the jobs for processing on the cloud VM. Figure 10 shows the probability of tasks transferred to the cloud VM and demonstrates that the proposed system requires fewer results than the existing system in [22]. For the probability of task offloading and scheduling tasks for transfer to the cloud VM for high processing, Equation (5) is used with the conditions checked through Equations (6)-(8), respectively, after the simulation takes place. The simulation setup based on the results calculates the task scheduling based on the algorithm proposed in the system. The probability and statistics results for the tasks of the mobile device configurations are shown in Figure 11. The graph clearly indicates that task processing energy is optimized from T to P. As its shows that T consumes higher power than P on every job from ∑ 10 j=1 J i , the proposed approach effectively saves the processing energy from the mobile device for MCC, the consequences of the final task offloading decision are based on the following indicators: Job completion rate Table 4 shows the mobile device's indicators to offload the task based on the statistics of the mobile device to execute tasks, which are related to the various job scenarios. Certain task times are significantly above the specified threshold value. The scheduler will schedule the offload based on these results.  Figure 11. Energy optimization request submitted to the cloud of Mukherjee et al. [22] and proposed system.

Conclusions
This paper presents a proposal and simulation relative to MCC and the Cloud VM with a task scheduling technique based on the task time parameter. We explored task scheduling and task enhancement effects on MCC to improve the performance of mobile devices. Based on the proposed model in this paper, we submit a new task scheduling policy that incorporates and provides offloading mobile device calculation and offloading probability based on the time calculation of different scenarios of task scheduling from the mobile device to the cloud. MCC is an essential factor in offloading the tasks, which significantly affects the task handling and task scheduling policies from mobile devices to cloud resources. The technique enables mobile users to effectively balance the time bounds for efficient time handling capabilities. We considered two scenarios; the first involved tasks being executed on mobile devices. The second involved tasks being completed on the cloud VM. Time and energy constraints were used to assess when time efficiency had been achieved, and energy automatically managed. Our proposal scheduled shorter execution time and energy-optimized tasks to mobile devices, with larger and energy-intensive tasks being offloaded to the cloud. Our strategy effectively achieves time efficiency, energy efficiency, better performance, higher resource utilization, and task execution success without diminishing performance quality. Moreover, the results showed that the jobs which go beyond the time thresholds will be shifted to the cloud VM for processing to save the mobile device's limited battery power.

Future Work
We will consider a privacy-aware and authentic approach to handle task scheduling. We will determine better task modeling and decision-making capabilities by using blockchain-based privacy-aware task scheduling through MCC as a better and essential research direction. In this regard, the currently applied model will provide better support for this work.