Mobility and Fault Aware Adaptive Task O ﬄ oading in Heterogeneous Mobile Cloud Environments

Nowadays, Mobile Cloud Computing (MCC) has become a predominant prototype for fetching the beneﬁts of cloud computing to mobile devices’ propinquity. Service availability in addition to performance enhancement and mobility features is a preliminary goal in MCC. This paper proposes a mobility aware adaptive o ﬄ oading framework, known as Mob-Cloud, which includes a mobile device as a thick client, ad-hoc networking, cloudlet DC, and remote cloud services, to augment the performance and availability of the MCC services. However, the impact of dynamic changes in a mobile content (e.g., network status, bandwidth, latency, and location) for the task o ﬄ oading model observes through proposing a mobility aware adaptive task o ﬄ oading algorithm (MATOA), which makes a task o ﬄ oading decision at runtime on selecting optimal wireless network channels and suitable resources for o ﬄ oading. In this paper, we are formulating the decision problem, and it is well-known as an NP-hard problem. Nonetheless, MATOA has the following phases for the entire Mob-Cloud model: (i) adaptive o ﬄ oading decision based on real-time information, (ii) workﬂow task scheduling phase, (iii) mobility model phase to motivate end-user invoke cloud services seamlessly while roaming, and (iv) fault-tolerant phase to deal with failure (either network or node). We carry out actual real-life experiments at the implemented instruments to evaluate the overall performance of the MATOA algorithm. Evaluation results prove that MATOA adopts dynamic changes on o ﬄ oading decision during run-time, and meet an enormous reduction in the total response time with the improved service availability whilst in comparison with the baseline task o ﬄ oading strategies.


Introduction
Recently, mobile business workflow applications, such as E-commerce, E-healthcare, Augmented Reality, 3D-Games, and Augmented Reality are increasingly progressively [1].However, the latest mobile technologies are faced by resource-constrained issues (e.g., limited storage, lower processing speed, bandwidth utilization, and battery), and can not execute prior applications locally inside the mobile device [2].To alleviate the resource limitation issue of mobile devices, a promising paradigm mobile cloud computing (MCC) is introduced.MCC allows to transfer compute intensive tasks of a mobile program to the cloud for processing [3].Since, task offloading is a method in MCC, which divides the into fine-grained small tasks and makes a decision where to offload them for execution.In more general terms, task offloading computationally divides application execution between the mobile devices and cloud computing networks [4].In the conception of task offloading, cloud computing networks is classified into the following paradigms, such as ad-hoc cloud network (WANET) paradigm, decentralized cloudlet computing paradigm, and centralized cloud computing paradigm [5].Whereas big giants, particularly Amazon, IBM, Google, and Microsoft provide pay-as-you-go public cloud services via internet technology for the mobile workflow applications [6].A decentralized cloudlet is a mobility-enhanced and latency optimal computing paradigm that is placed at the edge of the mobile networks.[7].Nowadays, mobility is a commonly used feature which allows the mobile-end user to invoke the cloud services for running application during roaming from any place within network range [8].Since WANET paradigm is supportive when offloading performing between different devices (i.e., mobile phones or vehicle devices).
In this paper, we are formulating mobility and fault aware adaptive task offloading problem in the heterogeneous MCC environments (i.e., local device, WANET, cloudlet, public cloud).The is to minimize the application response time as well as satisfies the deadline requirements.The response time includes communication time and processing during processing in the mobile cloud environment.Since each workflow application has deadline constraint.We model the workflow application into the fine-grained tasks with different characteristics.All workflow applications have stringent requirements and all tasks must be completed under deadline constraint.In the heterogeneous MCC, the fundamental requirements of mobile-end users are their mobility based cloud services, therefore there are numerous factors that can antagonistically influence task offloading performance of an application.Those are the network bandwidth impediment between mobile phones and cloud servers during offloading/downloading and exchange data.However, it is most important to design task offloading strategy that must be adaptive and adapt any environmental changes while end-user roaming among different networks.
In the literature, many studies have already been proposed task offloading techniques in the MCC environment for mobile workflow applications.For instance [5], [6], [7], [8], [9], [10], [11], [12], [13] devised a task offloading techniques assuming the wireless communication network and cloud services are always remained stable.However, the earlier supposition is rather impractical.As in daily practice a wireless network context intermittently changes due to traffic at different time.Whereas, fluctuation in the cloud services often happens in different time zones.Recently, with the advance in the wireless technology a mobile device has access to the many wireless channels, for example WiFi, cellular network and Bluetooth.Every connection performs in a different ways in terms of speed and strength.For mobile workflow applications, we have different communication channels and different cloud paradigms, thus mobility and fault aware task offloading in a dynamic environment is an important problem to solve.The following questions that needed to be addressed in an adaptive environment.
• Adaptive Task Offloading: Since many factors, such as network bandwidth, connection type, end to end latency, cloud services availability after task offloading decision during time.However, static task offloading algorithms proposed through preceding works with a set bandwidth assumption are flawed for mobility feature in the MCC environment [14].The partitioning algorithms ought to be adaptive to easily adopt network changes and should have an awareness of the mobility model.Since the network condition is merely measurable at runtime, the task offloading must be an adaptive and mobility aware of the MCC domain [15].
• Connection Failure: To get access to the cloud services is normally stimulated with the aid of uncontrollable factors, such as the instability and intermittent of wireless networks.Due to enduser mobility and weaker bandwidth of wireless connection can also be caused of connection failure.When a network connection unexpectedly breaks down, an offloaded computation will suffer extremely, overall performance of an application.Question how to deal with this obstacle?
• Node Failure: cloud services sometime may be unreachable due to either due to node failure or service out of communication of range.Question how to fix this issue?
• Fault Recovery Mechanism: Due to either connection failure or node, how to fix them without compromising the entire application performance.
To answer the above-cited questions, this work differs from the preceding work by means of focusing on the MCC mission offloading hassle, wherein there are four key issues to be addressed.We formulated mobility aware task offloading problem as an NPhard optimization problem.We used a dynamic programming technique to divide the considered problem into sub problems.For instance mobility aware adaptive task offloading problem involves following steps to make the optimal offloading decision: (i) task offloading process, (ii) task scheduling process, (iii) mobility mechanism, and (iv) fault-recovery management.To cope up with the issue of dynamic change in the environment due to the mobility we proposed a novel mobility aware task offloading algorithm (MATOA), which adopt dynamic changes at run-time due to the mobility features in order to manage application performance.
• Adaptive Task Offloading: To deal with the first question,we formulated adaptive task offloading decision dilemma as a Multi-criteria decision making (MCDM) problem.It refers to making choice of the ideal alternative (e.g., 3G/4G, WiFi, Cellular, mobile device, WANET, cloudlet DC, and public cloud) from amongst a finite set of decision alternatives in phrases of more than one with conflicting criteria.The offloading system examines a few parameters along with network bandwidth, execution time, connection type, service availability, latency, and round-trip time to make an optimal offloading selection for application partitioning between mobile and cloud.Although the aforementioned parameters appear to be virtually adequate to adopt any environmental changes.To cope with circumstances we modified a Technique for Order Preference by Similarity to an Ideal Solution (MTOPSIS) method [16] to take offloading action in the dynamic MCC environment.
• Connection Failure: to cope up with the question, we propose a novel mob-cloud architecture, which handles both failures (network and node) with the assist of the fault-awareness algorithm.This algorithm employs two primary techniques such as, dynamic task re-clustering and failover Mechanisms for Distributed SDN Controllers (FMDSC) to deal with both failure.
• Task Scheduling: All considered applications are directed acyclic graph (DAG) based and has different size of fine-grained tasks.However, cloud resources are organized in heterogeneous approach.For task scheduling, we modified traditional modified heterogeneous earliest finish time (MHEFT) heuristic [17] to deal workflow task scheduling problem in mob-cloud domain, where workflow scheduler map application tasks on the local mobile device resource, wireless network resource and cloud resources.
• Mobility Model: We introduce a mobility algorithm based on Markovian random waypoint model [18] which allows us to create diverse mobility location pattern inside the given movement network domain.The mobility model allows adjusting random pause times and the velocity speed in a given network.The algorithm tries to choose an optimal state (offloading values) in order to quality of the application remain stable.
Summary, with the best knowledge, mobility aware adaptive task offloading has not been studied yet in a dynamic environment.We proposed a novel MCC mobcloud architecture with heterogeneous cloud services availability in order to support any kind of application from any place.Due to mobility feature, it is difficult to maintain application performing when user roaming among different base stations.Most importantly, mobcloud support any kind of application requirements (i.e., security, compression-technique for huge data, big data processing before offload in the remote cloud) with some additional component.However, in this paper mob-cloud has primary two components to deal with the considered problem.It is noteworthy, local device and WANET has a different mechanism for task execution, local device is only a single client machine, whereas WANET is made of different devices design cloud-device in a temporary network.The rest of the paper is organized as follows.Section 2 elaborates related work and 3 explains the problem description and formalizes the problem under study.The MATOA is proposed for the considered problem in Section 4 that describes proposed methods.Section 5 evaluates the simulation part, section 6 is summarized the paper conclusion.

Related work
In literature, a number of comprehensive studies have already been investigated for task offloading in MCC environment.However, latest technologies IoT (Internet of Things) devices are different in computing power point of view.Nonetheless, In this paper, proposed mob-cloud is not specific to the mobile device, but this work focuses only mobile device as a IoT device, that offloaded their compute intensive tasks to the cloud for processing.Whereas, mobility management and fault tolerant based task offloading strategy would be satisfied the service requirements for IoT devices.The following studies have already been proposed different strategies to task offloading in MCC environment Chun and at.al proposed CloneCloud offloading framework in [5].The aim was to improve the mobile battery life and augment the application operation.Thread level granularity is used for the application partitioning for performing the computational offloading.Energy efficient computational offloading framework Think-Air is proposed in [6].The primary objective was to minimize the energy consumption of mobile device and prolong the battery performance.The code level (binaries) computational offloading is performed in the proposed framework.In [7][8][9] Cuckoo, MAUI, and JADE were proposed their energy efficient frameworks for computational offloading that is whether offloads or not during run time.The primary objective was to augment the mobile battery life and reduce the burden of the application developer via run time offloading decision.Delay sensitive applications are required to execute within shorten time, however, contemporary cloud services are available on long distance WAN, it could be incurred by longer end to end delay.To cope with above problem a Cloudlet framework is proposed by satyanarayanan et.al in [10].The primary objective is to bring cloud computing capabilities closer to the mobile user in order to minimize the total delay for delay sensitive application.However, many of above works focused on task offloading strategies without considering mobility features in an adaptive environment.
Latency sensitive tasks of application can offload near cloudlet, which is placed between mobile devices and public cloud at the edge of network [11].The Mobility and Fault Aware Adaptive Task Offloading in Heterogeneous Mobile Cloud Environments offloading strategy is proposed based on mixed fog and cloud architecture in order to support delay sensitive application [12].Online Task offloading strategies investigated in their respective papers [13][14][15], the primary goal how to do application partitioning in a dynamic environment in MCC architecture to invoke cloud services.Latency aware optimal workload assignment to cloud computing investigated in these papers [16,17,19], however, [19] considered heterogeneous mobile cloud environment (ad-hoc, edge cloud and remote) to make offloading decision.[20,21] proposed decentralized mobile cloud environment in order to improve resource availability for task offloading.These efforts focused on delay minimization for real time application in MCC paradigm.Nowadays, each IoT technology is moveable, however, mobility and fault aware adaptive task offloading would be more appropriate in a dynamic environment.With the best knowledge, mobility aware adaptive task offloading with a fault tolerant mechanism has not been studied yet.In order to extend the feature of the task offloading strategy, we proposed the MATOA algorithm framework, which deals mobile application performance during roaming and invoking suitable services in the shadow of fault-tolerant awareness.

Proposed Description
The mobility and fault aware adaptive task offloading in heterogeneous cloud networks is a difficult problem.Therefore, proper handling of application tasks in the dynamic environment is a challenging task.We proposed mob-cloud architecture similar to the existing architectures in [22], there are two main components in the mob-cloud architecture: client-side component and the cloud side component as shown in Fig. 1.There are four major modules on client sides: Content Agent module, Decision Engine module, Workflow Scheduler module, and Failure Manager module.Content Agent module collects real-time data of multiple parameters, such as an application program, current network bandwidth, latency, roundtrip time, and cloud resource estimation at runtime [22].Whereas, Content Agent module assists Decision Engine module to make adaptive task offloading decisions based on collecting real-time information of multiple parameters.Then the decision engine module divides the resilient workflow application in a local cluster of tasks (e.g., lightweight tasks) and a remote cluster of tasks (e.g., compute-intensive tasks).The Workflow Scheduler module is the responsible for task scheduling and has two primary jobs: first, it schedules the local cluster of tasks on the heterogeneous mobile cores second, schedule the remote cluster of tasks on a fitting available efficient wireless network channel to the cloud server.It is a noteworthy Workflow scheduler only schedule one task at a time, and able to schedule tasks either on the mobile device or a wireless channel network, it cannot schedule the tasks on the cloud server, but it can predict the task process time on the cloud server.The Failure Manager module has a more important role and identifies two preliminary sub failure modules during runtime of an application: such as a network failure module (NF) and a node or resource failure module (RF).Due to the mobility feature of network contents change due to many reasons, such as weak signals, high communication latency, and lower bandwidth could degrade overall performance.Thus, because of dynamic network context the transmission time for offloading and downloading data for running application exceed the given deadline, in this case, possibly many application tasks could be failed due to either weak network or unavailability of the network.NF module adaptively lets know to the failure manager about failed tasks and show an alternative list of wireless networks.Whereas RF module monitors the remote set of task execution process on assigned resources.Once it detects any failure due to node capacity, or unavailability it would collect tuple of information tuple information (e.g., task ID, location ID, the point of failure, and the result obtained) and sent back to the failure manager for rescheduling.It is noteworthy; failure only can be detected after scheduling.

Problem Formulation and System Model
Application Partitioning.Generally, the mobile workflow application usually consists of composite dependent components (e.g., tasks).However, some of them compute intensive components of the application will offload their data and operation to the cloud remote via partitioning method.There are many methods for application partitioning, such as programmer define a method, linear programming, profile-based, simulation based, graph based, and last but not least inference algorithm, all partitioning methods detail can be presented in [22].In this paper, we only focus on profile-based partitioning, because of the considered problem mob-cloud has many parameters to do application partitioning, namely task execution cost, bandwidth, CPU speed, network type, cloud service availability, and round-trip time as illustrated.The propose MATOA algorithm make offloading decision based on collecting real-time information that is provided by different profilers, likewise, program, network, resource profiler individually.
Task Characterization.After partitioning process, application can be broken down into multiple types of fine-grained objects, modules, classes, bundles, threads, functions, and components [22].Since, this paper only

G
A mobile application Assignment of task v i on virtual machine j y i,k Assignment of task v i on mobile k th core focuses on components based fine-grained for application partition.Each component can be assumed as a task, after partitioning there are two kinds tasks for execution, named remote tasks and local tasks.The Decision Engine makes a task offloading decision typically, which tasks are executed locally (a local cluster of tasks), which are offloaded to be executed on a cloud (a remote cluster of tasks).In general terms, based on real-time information provided by different profiler, Decision Engine divides application components into a local cluster of tasks V l and a remote cluster of task V c in order to manage application performance.Each task has input/output data, i.e., data/data , that require the CPU instruction to do execution, however, local cluster of tasks can be retained inside mobile device, because they required lower CPU instruction for execution and the device has sufficient resources to execute all tasks.However, remote clusters of tasks require huge CPU cycle of instruction, thus they would be offloaded to the rich resource cloud computing, but incur extra network round-trip time RT T , such as communication time.Generally, total application response time is the combination of computation time and communication for execution.
Different Topologies.There are many types topologies to represent the application task structures, particularly Linear topology, Loop topology, Tree topology, Mesh topology, and call graph [18].This paper only considers call graph as a directed acyclic task graph (DAG) topology, where a workflow application can be modeled as a DAG e.g., G(V , E). Whereas, each node v i ∈ V represents a task and edge e(v i , v j ) ∈ E represents precedence constraint that a task v i should complete its execution before a task v j starts execution.The application G has a V number of tasks, whereas, in the graph, a task v 1 is the entry task and v 10 is an exit task.
For each task v i we define data i and data i input data and output data, each of the application is restricted by their deadlines G D .V l ∪ V c =V denotes the application Task Scheduling.The binary variable y, represents the assignment of a task i to a k th mobile core y ik = {0, 1} namely: if a task v i is scheduled locally, then the average execution time of a task v i is calculated by: T e i is the task execution time at locally, the average execution time of local cluster describes in the following: if a task v i is scheduled for the cloud, the execution time of the v i it depends on the location: since T c i is the average execution time, if a task V i immediate predecessor of a task v j then communication time depends upon the service location, i.e., (either local mobile cores or offloaded to the cloud servers).Whenever, a task v i offloads to the cloud server, the communication time can express in the following way:

T s
i is communication time for offloaded task v i and it depends upon the site that determines by a variable l i .The average execution time the remote cluster express in the following way: The communication time of task v i when it returns results back to the mobile device and it is similar to the equation (3).Mobility and Fault Aware Adaptive Task Offloading in Heterogeneous Mobile Cloud Environments All its immediate predecessors must schedule before a task v i .However, if a task v i schedule on a mobile core, the setup-time can calculate in the following way: FT l j , FT wr j denotes before schedule a task v i predecessor v j finished its execution or FT wr j result received back from cloud server after v j finish its execution.The setup time of a remote cluster of tasks is scheduled on the wireless network channel: The setup time of a task v i onto the cloud server: setup time for the cloud to send back the results of a task v i to the mobile device: Where if a task schedule v i on the cloud server, the round-trip time calculate in the following way: Since, the total average response time of the application is expressed in the following way: The considered problem is mathematically modelled as below, whereas, notations are explained in Table 1.
min T total (12) subject to However, equation (12) shows the average response time of an application G.Where equation ( 13) and equation (14) show that the size of the local cluster less than the total capacity of the mobile device and similar requested size of the remote cluster less than the total capacity of all types of cloud resource.Since, equation ( 15) and ( 16) that every resource is assigned to exactly one task, every task is assigned exactly one resource.Application average execution time less than a given deadline is defined in equation (17).The binary variable is defined in equation ( 18).

Proposed MATOA Algorithm
For the considered problem minimizes total response is determined mobility aware adaptive task offloading for a workflow application in a heterogeneous mobile cloud environment can be solved via multiple steps.
The problem that we are investigating is the decision problem, and it is a well-known NP-hard problem.
We apply dynamic programming approach to this problem, to divide the main problem into subproblems.
The problem mobility aware adaptive task offloading problem has the following phases: (i) task offloading engine phase, (ii) task scheduling phase, (iii) mobility model phase, and (iv) fault aware phase and calculated via Algorithm 1.To deal with all phases of the problem we have proposed mobility aware adaptive task offloading algorithm (MATOA).For phase (i) to make potential and optimal task offloading decision we propose a modified MTOPSIS algorithm, because there are multiple parameters and alternative involve in the task offloading decision, it takes DAG as an input, and generate the result as two clusters (i.e., blue local cluster and red remote cluster).Whereas, phase (ii) to map resource to the clusters we proposed a modified MHEFT method because resources are heterogeneous and clusters have task-precedence need while invoking cloud services for running applications.Since phase (iii) allows the benefit of mobility features while end-user roaming on a given network (base-station to a basestation efficient way to roam with edge cloud services and for WANET network, not public cloud).To deal with the mobility feature system proposed mobility algorithm based on Markovian mobility model, where each base-station assume as a state, performance can be improved via reward value to reach at last destination.
The final phase (iv) is a fault awareness for running application, that might be rise due to the mobility feature when uploading and downloading speed for task offloading could be changed, the fault aware algorithm employs two strategies, such as network failure strategy (NF) and node failure strategy (RF), to detect either task fail due to wireless connection or node capacity constraint.We will discuss all phases in detail in the following sections.

Adaptive Task Offloading Phase
The latter offloading orchestrate policies only considered two core threshold values network speed and energy consumption when they fabricate offloading decision.However, in dynamic environment many factors can degrade application performance (i.e., bandwidth, latency, signal strength, and delay), whereas the previously mentioned threshold criteria is not suitable in MCC environment when do application partitioning.
To deal with the above situation our study considers to fabricate offloading decision, for suppose available network type, bandwidth, latency, resource availability, execution cost, and network congestion.mob-cloud follow a modified multi-criteria decision making (MCDM) method [23] in the MATOA framework to make a task offloading decision as illustrated.For MCDM, system employs modified Technique in order-of Preference by Similar to Ideal Solution (TOPSIS) for appropriate offloading decision.Traditional TOPSIS only considers parameters, however, we need to modify and some additional module which involves an application partitioning module because only light tasks are executed locally, and compute intensive tasks offloaded to the cloud server.A modified MTOPSIS has the following steps (i) collect the device context information and application scale down (i.e., task size), (ii) real time information for selecting appropriate network connection (offloading round-trip time, congestion, latency, and bandwidth), (iii) availability of cloud resources (ad-hoc devices, cloudlet, and public cloud), system partition the application into local cluster of tasks and remote cluster of tasks based on above mentioned steps by using a MTOPSIS method.We obtained some relative weight for criteria ω = {0.1,0.4, 0.3, 0.5, 0.7, 0.2} for task size, latency, round-trip time, congestion, inference, and execution time, respectively, by using the analytic hierarchy process (AHP) [23].It is a pair-wise approach, and their results are shown in the matrix X.
The m × n(3 × 6) shows three alternative cloud resources (e.g., local devices could be ad-hoc, local cloudlet edge server, and public cloud) and six criteria as mentioned above.The pairwise comparisons of giving criteria are produced based on the normalized comparison scale on nine levels as illustrated in Table 2. MTOPSIS employs matrix X to compute the weight of the criteria by getting a eigenvector ω which associated with addition to the prime eigenvalue λ max .As generally, the outcome of the AHP technique is stringently associated with the reliability of the pairwise comparison, so it is compulsory to estimate the reliability index (RI) in the following way: RR is the reliability index ration of RI, and it should be less than given threshold 0.1, then it has a suitable relative weight output.Successive relative weights are produced, the possibility of multi-criteria derive via N M(x mn ) k x, since m is a fascinating alternative (local devices, cloudlet, and public cloud) with n multi-criteria (available network, resource availability, bandwidth, task size, latency, congestion) can be further normalized in the following way: x is a any real number R to explore the choices may be criteria and alternative can be varied, where k be a k th decision maker.It is noteworthy, it could be possible system has a set decision making choices {k 1 , k 2 , k 3 , ..., K}.
where ω n be a weight which is already initialized above.Find out the affirmative best solution and the aversive solutions for each decision maker k from weight matrix.
where J + is a positive solution of the decision maker for application objective, where J − is aversive (negative) solution to the objective.It is natural to consider the real time information related to the available wireless network via network profiler, system uses Euclidean distance matrix among all possible alternatives and can be calculated in this way: Algorithm 2 optimally partition the application into Algorithm 1: MATOA

Task Scheduling Phase
The clustering based task scheduling is a promising and efficient method when there are more than one resource types (local device, WANET, cloudlet DC, public cloud) [24].However, for the considered problem, we have different fine-grained size of tasks and heterogeneous resource in different types, so that HEFT is an appropriate heuristic to map application tasks on heterogeneous resources [25].In our case, we modified MHEFT heuristic, because traditional HEFT only schedule tasks on cloud resources, but mob-cloud schedule tasks on the local mobile device, wireless network, and cloud computing.We calculate the execution time of local as well as a remote cluster of tasks based on equation (3) and equation ( 4), respectively.The task priority is identical to HEFT algorithm, if a task v i remote cluster task the average computation time is: similar the average computation of a task v i when schedule locally: the priority shows the task precedence requirements: equation ( 29) and equation (30) show that the priority level of all tasks recursively computed from the starting point of the task graph until exist tasks [25].a FMDSC method to fix failure issue.Once, these failures are fixed offloading decision would drive these information to the task scheduler for re-scheduling if still application deadline not missed.

Fault Aware Phase
Failure Detection Strategy.In Algorithm 3, Line 2 shows a detection function, which involves (NF and RF module).Lines 2-7 illustrate initializations.Lines 8-13 evaluate that checkpointing technique for all entire nodes that handles data transmit and receiving from the cloud.Whereas, lines 14-19 if a failure detects on a node and still would be recovered based dynamic reclustering technique within the application deadline, then it fetch checkpointing information from a failure manager other it re-schedule a failed task from scratch.Line 20-23 will fix network failure task based on FMDSC technique.

. Mobility Model Phase
This study formulates a mobility model phase based on Markov random waypoint paradigm, where the each waypoint works as a state, and each state has a set of parameters (e.g., offloading results and decision action), transition function is used to select the next waypoint which may be possibly depend on the recent state location and result.After all waypoints (states) of the entire network is shown via a visibility graph.
It is remarkable that the study only consider finite states (sequence) for mobility model.There are some factors like pause time and transitory velocity need to adjust while end-user roaming in a given network range environments.

23
T ermination; 24 End; equation (19) and equation (20) show map policy provides the probability of acquiring the action a in specific state s.Since, the value function V π (s) described as expected return and starting with s i.e., s o successively following policy π.It also estimates how good it to be in the given state s, and explain in the following way: R is a random variable and return expected value and described as a future of discount rewards.Where, R = ∞ t=0 shows reward r t at step t and γ ∈ [0, 1] is discount rate.The mobility Algorithm 4 typically works with the entire offloading system in order to take the optimal action in a dynamic environment.Algorithm 4 assists Algorithm 1 to take optimal action in any given state in order to maintain application performance during mobility.In Algorithm 4 lines 4-8 initialize visibility graph of entire network, and their variables.Line 9 surf all areas which involve in visibility graph.Line 9 traces user existing movement either it is in moving state or stop for some reason.Lines 13-21, Algorithm detect user location coordinates and movement state it checks round-trip for data uploading/ downloading is under given threshold and exceeds their limits.If until it is under given threshold and transition to the next state, the policy will be updated based on current state results.Lines 22-26 illustrates that, if an end-user still in same state and did not transit to next state will be carry in addition to same policy.Whereas, lines 27-29 search another value based on update policy, once next state has better offloading action results and roundtrip time as compared to existing state, the transition probability will add reward in result as illustrated in Lines 31-38.The update Q-learning based policy always optimize entire states in a given waypoint visibility graph.Whenever, Q-value is updated by the entire waypoints it calculate optimal t value (e.g) minimum delay between mobile clients and cloud service will be returned as shown by lines 39-42.

Time Complexity
The complexity of the proposed algorithm MATOA O(KN logN ), where K is the number of WANET devices, whereas N is a number of workflow application tasks.We modified the DHEFT algorithm for task scheduling between mobile and cloud computing in terms of time complexity.For task scheduling, all tasks are organized with some sequences (e.g., apply sorted queue), it gets O(KN logN ) to build task queue.For resource mapping, each iteration uses O(KN ) complexity of comparing the head of the queue.Therefore the entire complexity of for local devices is O(KN logN ).Since, mob-cloud has cloudlet DC resources, and public cloud resources, initially they used O(N ) to estimate the task execution at cloud servers, thus the total complexity of the cloud is O(KN logN + N ) = O(KN logN ).The decision engine uses O(1) time complexity of clustering the application into local and remote cluster.Hence the entire time complexity of the MATOA for offloading system is O(KN logN ).

Experiments settings
To the best we know, for the performance evaluation existing MCC workflow simulator must be modified, where both computational and network resources should be measured simultaneously.Therefore, we added some additional components such as mobility model, network model and edge component to the mob-cloud workflow simulator.Thus, to evaluate the effectiveness and efficiency of MATOA as compared to existing offloading schemes on different kinds of mobile applications, we carry out 4 android workflow applications as shown in Table 4. Furthermore, MCC setup parameters are listed in Table 3.We designed the simulator mob-cloud for the considered problem which We exploited all scenarios as baseline approaches when compared them with the proposed architecture mob-cloud.Based on the simulation parameters as illustrated in Table 3, we divided the application into distributed tasks among heterogeneous networks.The GenyMotion android client is exploited as a user interface for testing purpose in the mobile device, and GenyMotion as the server-side for the cloud services Mobility and Fault Aware Adaptive Task Offloading in Heterogeneous Mobile Cloud Environments [26].The existing simulators, for instances cloudsim simulator [27] device to device offloading simulator [28], and cloudlet simulator [29] devised different modeling models.The mob-cloud composed of the heterogeneous cloud environment and exploited GenyMotion with different network models.However, mob-cloud is integrated mobility, and fault aware features in order to adapt any environment changes during application execution.

Baseline Approaches
We will evaluate the efficiency and effectiveness of MATOA algorithm by comparing it with existing task offloading strategies from a different perspective, such as task offloading, task scheduling, fault awareness, and mobility scenarios for workflow applications.The following existing approaches are under consideration in comparison.
• Full offloading (FUL): It is a task offloading strategy, adopted by many papers, such as [10][11][12], the primary goal is to offload entire mobile application to the cloud server.
• NO offloading (NOF): This strategy allows offload the application tasks among a set of mobile devices when there are lightweight and required less network requirement.
• Partial Offloading (PAR): It is a widely employed strategy, adopted by many papers, likewise Think-Air [6], MAUI [8], and JADE [9].The main goal is to be partitioned the application between the mobile device and cloud computing.However, above-mentioned papers based on PAR strategy proposed their efficient and unique framework to optimize user preferences (e.g., mobile energy consumption, application response time).The paper and frameworks detailed you can find in their respective references.

Parameter and Components Calibration
In the MATOA has four preliminary components, namely task offloading, task scheduling, failure manager, and mobility for each workflow application.At the same time, in order to verify the performance of the algorithm at different deadline, the performance of the MATOA and the state-of-art algorithms (local offloading techniques) are evaluated under the deadlines from strict to lose.The RPD (Relative Percentage Deviation) is employed to evaluate the performance of the algorithm, the calculation of RPD is defined as follows: we compare RP D% based on existing local offloading with our proposed partial offloading MATOA.

Adaptive Task Offloading Phase
We analyze different application performance in two real scenarios such as stable environment where both network and cloud resource always remain stable.
Another scenario where both network and cloud resources values change due to user mobility and cannot remain stable.To evaluate the performance of phase (i), adaptive task offloading strategy uses a MTOPSIS method for application partitioning based on multi-criteria decision engine.Whereas, Fig. 5 shows that the partitioning accuracy during time is an efficient and optimal as compared to the single threshold value based method and others baseline methods.It is noticed in Fig. 6 that the task offloading strategy (adaptive TS) in a dynamic environment for all applications partitioning performance better as compared existing offloading strategies (they assume stable environment remains ever) in terms of response time.

Algorithm Comparison
Based on the ANOVA technique, Fig. 7 demonstrates that the mean plot of T total by 95.0%Tukey HSD intervals, reduces RPD% of T total by using MATOA algorithm.It is noticed that, baseline approaches did not adopt any dynamic changes and degraded application performance during mobility.Table 5 shows workload analysis for different application for execution.To support the mobility and interactivity of an end-user application, we set the multiple cases for network values and cloud resources as shown in Table 6 and Table 7, it can be observed from   Each workflow application has different properties and task characterization.We measure the application execution performance without mobility and with mobility features in context of task failure.Since, Figure 13, 14, and 16 illustrate that application tasks failed during mobility and without mobility environment, however, MATOA outperforms as compared to existing approaches in context task failure.MATOA has less failure ratio, while applications are offloading or invoking services while roaming between networks.
The mobility movement dataset has many parameters and values since, we have shown a few values in Table 8 for understanding the scenario, however you can find the full detail in [30].

CONCLUSION and Future Work
This work studies the dynamic content aware task offloading problem in heterogeneous mobile cloud environments.To the best knowledge, failure aware task offloading in an adaptive environment is useful for real life application.We modified existing MCC architecture with additional components that one may support the user mobility, fault tolerant and task scheduling mechanism for a workflow application.We proposed a novel Mobility Aware Task Offloading Algorithm (MATOA) that minimizes the average response time of the workflow application and delay sensitive application under task precedence constraint and hard constraint deadline.MATOA has three phases: first, it performs the task offloading mechanism based on multi-criteria as mentioned above, second task scheduling based on modified DHEFT heuristic in order to schedule local and remote cluster tasks on appropriate resources, third failure mechanism in order to support mobility and interactivity features of the end user in a dynamic environment.
For future work, we will develop a complex task offloading algorithm and mob-cloud architecture, because existing modified mob-cloud provides cloud services as infrastructure as a service which are wrapped in a virtual machine box.However, virtual machine based services are heavyweight and need pre-allocation of cloud resources (e.g., RAM, storage, libraries, host OS) in advance, but might be requested tasks of an application would use a small amount of resources, thus remaining resources are wastage.Most of the IoT devices invoking microservices to dealing their tasks, however, single code virtual machine services are difficult to recover or redeploy one they failed due to the any reason.In future work, we will design mob-cloud based on container microservices in order to support IoT devices data in a more optimal way and augment the resource utilization of the cloud server.With the development of advance wireless technology and cloud computing mobility as a service, function as a service, and offloading as a service will effective architecture for smart devices, it is difficult to directly deploy complex workflow application into smart devices, in the future we will extend mob-cloud and add fog nodes for preprocessing the IoT on the edge nodes before offloading to remote cloud.There are many questions need to be addressed, such mobile cloud architecture in the context of Big Services, Service Composition, and Big Data.

Fault
Tolerant.Fig. 2 elucidates that failure manager component traces and monitor the failure either due to the communication failure or node failure, it annotates these reports to the decision to recover failure tasks from effecting point not from scratch based fault recovery algorithm.Since, the Failure Manager (NT) has NF module and RF module to detect failure.The tracing information by a N T module is shown in the following expression:

Algorithm 2 :
local cluster and remote cluster.Whereas, local cluster consists of tasks which have to be retained locally on a mobile device, remote cluster of tasks offloaded to the remote cloud via wireless network.In Algorithm 2, Line 2 shows a decision function which collects information via real-time profile technologies.Line 4 illustrates application partition clusters (local and remote cluster).Lines 6-8 calculate the task execution time at local and remote cloud.Lines 10-19 it checks where to offload (WANET, cloudlet DC, and public) on what wireless network (WiFi, Bluetooth, Cellular network).Line 20 return optimal T after entire task assignment.Adaptive Task Offloading

Figure 7 .Figure 8 .Figure 9 .
Figure 7.The mean plot of ęÓ with 95.0%Tukey HSD intervals and The mean plot of workflow Application rules with 95.0%Tukey HSD intervals

Table 2 .
Mobility and Fault Aware Adaptive Task Offloading in Heterogeneous Mobile Cloud Environments Scale & Definition 9 EAI Endorsed Transactions on Mobile Communications and Applications 01 2019 | Volume 5 | Issue 16 | e4 Mobility and Fault Aware Adaptive Task Offloading in Heterogeneous Mobile Cloud Environments 11 EAI Endorsed Transactions on Mobile Communications and Applications 01 2019 | Volume 5 | Issue 16 | e4

Table 4 .
Practical Application Scenarios

Table 6 .
Resource Availability Cases