Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Application Partitioning and Offloading in Mobile Cloud Computing Asad Javied PhD of Electronics Engineering From the University of Surrey Centre for Vision Speech & Signal Processing Department of Electronic Engineering January 2017 Supervised by: Janko Calic, Adrian Hilton, Ahmet Kondoz Asad Javied 2017 ABSTRACT With the emergence of high quality and rich multimedia content, the end user demands of content processing and delivery are increasing rapidly. In view of increasing user demands and quality of service (QoS), cloud computing offers a huge amount of online processing and storage resources which can be exploited on demand. Moreover, the current high speed 4G mobile network i.e. Long Term Evolution (LTE) enables leveraging of the cloud resources. Mobile Cloud Computing (MCC) is an emerging paradigm comprising three heterogeneous domains of mobile computing, cloud computing, and wireless networks. MCC aims to enhance computational capabilities of resource-constrained mobile devices towards rich user experience. Decreasing cloud cost and latency is attracting the research community to exploit the cloud computing resource to offload and process multimedia content in the cloud. High bandwidth and low latency of LTE makes it a suitable candidate for delivering of rich multimedia cloud content back to the user. The convergence of cloud and LTE give rise to an endto-end communication framework which opens up the possibility for new applications and services. In addition to cloud and network, end user and application constitute the other entities of the end-to-end communication framework. End user quality of service and particular application profile dictate about resource allocation in the cloud and the wireless network. This research formulates different building blocks of the end-to-end communications and introduces a new paradigm to exploit the network and cloud resources for the end user. In this way, we employ a multi-objective optimization strategy to propose and simulate an end-toend communication framework which promises to optimize the behavior of MCC based endto-end communication to deliver appropriate quality of service (QoS) with utilization of minimum cloud and network resources. Then we apply application partitioning and offloading schemes to offload certain parts of an application to the cloud to improve energy efficiency and response time. As deliverables of this research, behavior of different entities (cloud, LTE based mobile network, user and application context) have been modeled. In addition, a comprehensive application partitioning and offloading framework has been proposed in order to minimize the cloud and network resources to achieve user required QoS. Keywords: Long Term Evolution (LTE), Cloud computing, Application partitioning and offloading, Image Retrieval. 2 TABLE OF CONTENTS Abstract ................................................................................................................................. 2 Table of Contents .................................................................................................................. 3 List of figures ........................................................................................................................ 8 ABBREVIATIONS & ACRONYMS ................................................................................. 11 1 Introduction ................................................................................................................... 12 1.1 Motivation .............................................................................................................. 12 1.2 Research Questions ................................................................................................ 15 1.3 Research Objectives ............................................................................................... 16 1.4 Contributions.......................................................................................................... 17 1.5 Structure of the thesis............................................................................................. 17 1.6 Publications ............................................................................................................ 17 2 State of the art ................................................................................................................ 19 2.1 Cloud Computing ................................................................................................... 19 Deployment models .......................................................................................... 19 Service models .................................................................................................. 20 Cloud Computing Features and Research Avenues .......................................... 21 Challenges of Mobile Cloud Computing: ......................................................... 22 Mobile Cloud Computing: ................................................................................ 23 Simulation Environments for Cloud Computing .............................................. 23 Cloud computing offloading ............................................................................. 24 Identified Research Gaps .................................................................................. 24 2.2 Mobile Communications Network ......................................................................... 24 Orthogonal Frequency Division Multiple Access (OFDM):............................. 25 2.2.1.1 Motivation for OFDM:.............................................................................. 26 2.2.1.2 Intersymbol Interference (ISI)................................................................... 26 2.2.1.3 Orthogonal Frequency Division Multiplexing (OFDM) ........................... 27 2.2.1.4 OFDMA: ................................................................................................... 28 2.2.1.5 Multiple Input Multiple Output (MIMO) .................................................. 28 2.2.1.6 Maximum Ration Combining (MRC) ....................................................... 29 2.2.1.7 Single Carrier Frequency Division multiple access (SC-FDMA) ............. 29 LTE Network Architecture:............................................................................... 30 Research in Mobile Network (LTE).................................................................. 32 2.3 Applications Context ............................................................................................. 33 Application Offloading ..................................................................................... 34 3 Offloading leverage by Cloud Computing ........................................................ 34 Offloading leverage by Cloudlet ....................................................................... 34 Research Gaps................................................................................................... 35 Characterization of Mobile Environment ......................................................... 35 Mobile Battery .................................................................................................. 37 Mobile Platform ................................................................................................ 37 Taxonomy of Application Partitioning.............................................................. 38 2.3.8.1 Partitioning Granularity ............................................................................ 38 2.3.8.2 Application Partitioning Objective Functions: .......................................... 38 2.3.8.3 Partitioning Model: ................................................................................... 39 2.3.8.4 Programming Language Support (PLS): ................................................... 39 2.3.8.5 Allocation Decision:.................................................................................. 40 2.3.8.6 Analysis Technique: .................................................................................. 40 User Contextual Model ..................................................................................... 42 2.4 Multi-objective Optimization (MOP) .................................................................... 42 Pareto Optimization Algorithms ....................................................................... 44 2.4.1.1 NSGA-II Algorithm .................................................................................. 45 2.5 Pareto Multi-objective Optimization in Cloud and Network ................................. 45 2.6 Summary ................................................................................................................ 46 3 Multi-objective optimization in Cloud Mobile Environment ........................................ 47 3.1 End-to-End Communication Models ..................................................................... 49 Application Profile ............................................................................................ 49 3.2 Cloud Model .......................................................................................................... 50 Analytical Model of the Cloud Service: ........................................................... 52 Mathematical model of the cloud: .................................................................... 53 3.2.2.1 Public Cloud:............................................................................................. 54 3.2.2.2 Private Cloud............................................................................................. 58 3.3 Mathematical Model of Wireless Network ............................................................ 62 Vienna Link Level Simulator ............................................................................ 62 LTE Transmitter: ............................................................................................... 63 Channel: ............................................................................................................ 64 Receiver: ........................................................................................................... 65 3.4 Mobile User Context and QoS ............................................................................... 75 3.5 Mobile Hardware Model: ....................................................................................... 77 3.6 Multi-objective Optimization Methodology .......................................................... 78 3.7 Dependency Functions ........................................................................................... 78 3.8 Results and Discussions ......................................................................................... 79 4 Effect of Channel on Throughput ..................................................................... 79 Effect of Cloud Load on Network BLER ......................................................... 80 Effect of Population Size and Number of Generations ..................................... 81 3.9 Comprehensive CANU Model ............................................................................... 82 3.10 Summary ................................................................................................................ 83 4 A Comprehensive application partitioning and offloading Framework......................... 85 4.1 Application Attributes ............................................................................................ 86 Application Scalability and Flexibility ............................................................. 86 Feasibility of Application Offloading ............................................................... 86 Classification of Application Tasks................................................................... 86 Topologies of Applications ............................................................................... 87 Representation of Application .......................................................................... 88 4.2 Application Offloading and Partitioning Framework ............................................ 89 Application Parameter Modeling ...................................................................... 89 Partitioning Benchmarks: ................................................................................. 91 4.3 Influence of CANU models on Partitioning: ......................................................... 91 User QoE (Quality of Experience) .................................................................... 92 Device information: .......................................................................................... 92 Wireless Network: ............................................................................................ 92 Mobile device model ........................................................................................ 92 Application ....................................................................................................... 93 4.4 Partitioning Algorithm for offloading: ................................................................... 93 4.5 Image Retrieval Application: ................................................................................. 94 Algorithmic structure of Image Retrieval Application ..................................... 95 4.5.1.1 Image Retrieval: ........................................................................................ 95 4.5.1.2 Feature Detection. ..................................................................................... 96 4.5.1.3 Description ................................................................................................ 96 4.5.1.4 SIFT dimensionality reduction .................................................................. 97 4.5.1.5 Robust Visual Descriptor .......................................................................... 98 4.5.1.6 Power norm ............................................................................................... 98 Quantitative Profiling of the Application:......................................................... 99 4.5.2.1 Raw Objective Graph (ROG): ................................................................... 99 4.5.2.2 Normalised Objective Graph (NOG): ....................................................... 99 4.6 Offloading performance objective parameters: .................................................... 102 Response time optimization: ........................................................................... 102 Energy minimization:...................................................................................... 103 Joint objective function:.................................................................................. 104 5 4.7 Partitioning Algorithm Model: ............................................................................. 105 4.8 Evaluation of Offloading Performance: ............................................................... 107 Effect of CQI on the Performance: ................................................................. 107 Effect of user battery on Performance: ........................................................... 109 Effect of user preference parameter ℇ on Performance .................................. 110 Effect of cloud blocking probability on offloading cost ................................. 111 Effect of number of users in wireless network on response time ................... 112 4.9 Summary .............................................................................................................. 114 5 Improved Application Partitioning and Offloading ..................................................... 115 5.1 Offloading Likelihood Index: .............................................................................. 115 5.2 Experiment with synthetic graphs on application topologies .............................. 116 Effect of weightage of edge: ........................................................................... 116 Effect of number of vertices: .......................................................................... 118 Effect of branching: ........................................................................................ 119 5.3 Computational measures of objective graph: ....................................................... 120 Shortest path measure ψ(A): .......................................................................... 121 Betweenness centrality ∂(A) .......................................................................... 121 Clustering coefficients: ................................................................................... 123 Network heterogeneity .................................................................................... 123 Number of connected components.................................................................. 123 Max-flow coefficient: ..................................................................................... 123 Topological order ∅(C) ................................................................................... 124 Boye myrvold planaity test: ............................................................................ 124 Edmonds' maximum cardinality matching (Edmunds-Karp number): ........... 124 Number of Edges and Vertices:....................................................................... 124 Graph Diameter: ............................................................................................. 125 Eccentricity: .................................................................................................... 125 Radiality:......................................................................................................... 125 Graph Density: ................................................................................................ 125 Degree distribution: ........................................................................................ 125 Stress distribution: .......................................................................................... 125 5.4 Applications for Performance Evaluation: ........................................................... 125 Image Visual Retrieval ( IVR Mobile) ............................................................ 126 5.4.1.1 Keypoints detection................................................................................. 127 5.4.1.2 Feature selection ..................................................................................... 127 5.4.1.3 Local Descriptor Extraction .................................................................... 127 6 5.4.1.4 Local Descriptor Compression ................................................................ 127 5.4.1.5 Coordinate Coding .................................................................................. 127 5.4.1.6 Global descriptor aggregation ................................................................. 128 5.4.1.7 Binarise components ............................................................................... 128 5.4.1.8 Cluster and Bit Selection......................................................................... 128 5.4.1.9 Superior matching ................................................................................... 129 5.5 Error Response of Applications: .......................................................................... 132 Type of Errors ................................................................................................. 132 5.5.1.1 Burst Error............................................................................................... 132 5.5.1.2 Random Error .......................................................................................... 132 Error Response of Applications ...................................................................... 132 5.5.2.1 IVR (float) ............................................................................................... 132 5.5.2.2 IVR (binary) ............................................................................................ 133 5.5.2.3 IVR (mobile) ........................................................................................... 134 Conclusion: ..................................................................................................... 135 5.6 Improved partitioning algorithm .......................................................................... 136 5.7 Performance Analysis .......................................................................................... 136 Effect of Cloud blocking probability .............................................................. 136 Effect of UE battery on offloading cost .......................................................... 137 Effect of number of wireless users on offloading cost .................................... 138 5.8 Summary .............................................................................................................. 139 6 Future work & Conclusion .......................................................................................... 140 6.1 Conclusion ........................................................................................................... 140 6.2 Critical Review .................................................................................................... 141 6.3 Future Work ......................................................................................................... 142 References......................................................................................................................... 144 Appendices.........................................................................................................................153 7 LIST OF FIGURES Figure 1-1 Heterogeneity of UE devices, wireless access and applications [12] .................................. 13 Figure 2-1: Layers of Cloud services [25] ............................................................................................ 21 Figure 2-2 Multipath Reflections in Wireless Communications ........................................................... 26 Figure 2-3: Effect of Intersymbol Interference ..................................................................................... 27 Figure 2-4: Effect of Frequency Selective Fading in Mobile Communications ................................... 27 Figure 2-5 Longer Symbol Periods and Cyclic Prefix in OFDM ......................................................... 28 Figure 2-6 Multiple Input Multiple Output (MIMO) ............................................................................ 29 Figure 2-7 Maximum Ratio Combining in Wireless Communications................................................. 29 Figure 2-8 LTE Architecture [140] ....................................................................................................... 31 Figure 2-9 QoS Management in LTE [140] .......................................................................................... 32 Figure 2-10 Taxonomy of Application Partitioning .............................................................................. 41 Figure 2-11: Classification of Optimization Algorithms....................................................................... 43 Figure 2-12: a) MOP dominance b) Pareto front in MOP............................................................ 44 Figure 3-1: Contextual Model and their corresponding parameters .................................................... 47 Figure 3-2: Cost-Benefit optimization model and Knee Point.............................................................. 48 Figure 3-3: Contextual Models in optimization domain ....................................................................... 49 Figure 3-4: Effect of Cloud Input & Output packet sizes on cost................................................... 52 Figure 3-5: Infinite source model of Public Cloud [95]........................................................................ 54 Figure 3-6 Markov Chain Model of Public Cloud ................................................................................ 55 Figure 3-7: Effect of Load on Blocking Probability for various VM’s................................................. 56 Figure 3-8 Effect of Blocking Probability on Number of VM’s required for different Cloud Loads ... 57 Figure 3-9 Finite source model of Private Cloud .................................................................................. 59 Figure 3-10 Markov Chain Model of the Private Cloud ....................................................................... 59 Figure 3-11 Effect of Load on Blocking Probability for various VM’s ................................................ 60 Figure 3-12 Effect of Blocking Probability on the Number of VM’s required for different Private Cloud Loads .................................................................................................................................. 61 Figure 3-13 Structure of Link Level Vienna Simulator [97] ................................................................. 62 Figure 3-14 Flow Diagram of LTE Transmitter [96] ............................................................................ 63 Figure 3-15 Flow Diagram of LTE Receiver [98]................................................................................. 65 Figure 3-16 Effect of SNR on Block Error Rate (BLER) for multiple CQI values .............................. 68 Figure 3-17 Effect of SNR on Throughput for multiple CQI values .................................................... 69 Figure 3-18 Effect of SNR and RB's/User on Throughput ................................................................... 70 Figure 3-19 Effect of SNR on Block Error Rate (BLER) for different Transmission Schemes (3 retransmissions) ............................................................................................................................ 71 8 Figure 3-20 Effect of SNR on Throughput for different Transmission Schemes (3 retransmissions) .. 72 Figure 3-21 Effect of SNR on Block Error Rate (BLER) for different Transmission Schemes (No HARQ) .......................................................................................................................................... 73 Figure 3-22 Effect of SNR on Throughput for different Transmission Schemes (3 retransmissions) .. 74 Figure 3-23: Effect of Traffic Skewness (𝞪�) and Traffic Size (𝞫�) on user capacity ........................... 77 Figure 3-24 CANU (Cloud-Application-Network-User) Framework .................................................. 79 Figure 3-25: Effect of CQI on Throughput ........................................................................................... 80 Figure 3-26 Effect of Cloud Load on Network BLER ....................................................................... 81 Figure 3-27 Effect of number of Generations on the performance....................................................... 82 Figure 3-28 Effect of the Populations size on the performance ............................................................ 82 Figure 4-1 Task Flow Graphs in different topologies ........................................................................... 88 Figure 4-2 Flowchart of Application Partitioning Framework ............................................................. 90 Figure 4-3 Image Retrieval Application................................................................................................ 95 Figure 4-4 Detection of key points in DOG Space ............................................................................... 96 Figure 4-5 Extraction of Keypoint Descriptors from Image Gradients ................................................ 96 Figure 4-6 Aggregation of Feature Vectors [104] ................................................................................. 98 Figure 4-7 Raw Objective Graph (ROG) of Image Retrieval Application ......................................... 100 Figure 4-8 Normalised Objective Graph (NOG) of Image Retrieval Application .............................. 101 Figure 4-9: Effect of CQI on offloading cost for different communication paradigms ...................... 108 Figure 4-10: Effect of UE Battery on offloading cost ......................................................................... 110 Figure 4-11: Effect of UE Battery on offloading cost ......................................................................... 111 Figure 4-12: Effect of Cloud blocking probability on offloading cost................................................ 112 Figure 4-13: Effect of number of wireless users on offloading cost ................................................... 113 Figure 5-1: Topology A1 (Influence of vertex weights on partition) ................................................. 117 Figure 5-2: Topology A2 (Influence of edge weights on partition) ................................................... 118 Figure 5-3: Topology A3 (Influence of number of nodes on partition).............................................. 119 Figure 5-4: Topology A4 (Influence of branching of directed graph on partition) ............................. 120 Figure 5-5 Betweeness Centrality of graph......................................................................................... 122 Figure 5-6 Algorithmic Structure of IVR Mobile Application [103] .................................................. 127 Figure 5-7: IVR (binary) Raw Objective Graph (ROG) ..................................................................... 130 Figure 5-8: IVR (Mobile) Raw Objective Graph (ROG)............................................................... 131 Figure 5-9: Error response of IVC (float) ........................................................................................... 133 Figure 5-10: Error response of IVR (Binary)...................................................................................... 134 Figure 5-11: Error response of IVR (flexible) .................................................................................... 135 Figure 5-12: Effect of Cloud blocking probability on offloading cost................................................ 137 Figure 5-13: Effect of UE Battery on offloading cost ......................................................................... 138 Figure 5-14: Effect of Number of wireless users on offloading cost .................................................. 139 9 10 ABBREVIATIONS & ACRONYMS 3GPP 4G AUC BLER E2E eNodeB EPC FTP GA GSM HSPA IaaS ICIC IMS ISI LTE MBMS Mbps MCC MCS MIMO MISO MME MOGA MOP NPGA NSGA-II OFDM OLSM PaaS PDN QCI QoE QoS RB SaaS SAE SIMO SNR SPEA TTI TxD UE UMTS VEGA VoIP 3rd Generation Partnership Project 4th Generation Authentication Center Block Error Rate End-to-End Enhanced Node B (Mobile Base Station) Evolved Packet Core File Transfer Protocol Genetic Algorithm Global System for Mobiles High-speed Packet Access Infrastructure as a Service Inter-Cell Interference Coordination IP Multimedia Subsystem Intersymbol Interference Long Term Evolutions Multimedia Broadcast Multicast Service Megabits per second Mobile Cloud Computing Modulation & Coding Scheme Multiple Input Multiple Output Multiple Input Single Output Mobility Management Entity Multi-objective Genetic Algorithm Multi-objective Optimization Niched Pareto Genetic Algorithm Non sorting genetic algorithm II Orthogonal frequency-division multiplexing Open Loop Spatial Multiplexing Platform as a Service Packet Data Network Quality of Service Class Indicator Quality of Experience Quality of Service Resource Block Software as a Service System Architecture Evolved Single Input Multiple Output Signal to Noise Ration Strength Pareto Evolutionary Algorithm Transmission Time Interval Transmitter Diversity User Equipment Universal Mobile Telecommunications System Vector Evaluated Genetic Algorithm Voice over IP 11 1 INTRODUCTION In this chapter, we will formulate the research questions and corresponding research objectives in view of the current demands of the end to end communications. In addition, we will summarize our contributions of this research. 1.1 Motivation Over the recent years, various innovative multimedia applications, services and devices have emerged in the consumer market and have allowed people to explore and consume more media contents while on the go [1]. We are experiencing a media revolution. With the emergence of rich complex mobile applications, the processing and storage hardware demands of the end user are increasing in comparison to the available mobile hardware resources. An approach to leverage this increase in the demand is by thin client approach [2], where the end user mobile resources are assumed to be scarce and surrogate model [3] e.g. cloud computing is used to leverage the imbalance of the resources. Cloud computing [4] has emerged as a flourishing framework and the cloud computing platform have proved itself to become a unique framework providing various services, high computational ability, huge storage and bandwidth at competitive cost. In the near future, we foresee the need of many possible scenario's involving resource (computational and storage) constrained mobile devices to access and process highly intensive computational tasks like 3D rendering [5], video streaming [6] and gaming [7]. Moore's law [8] predicts that the storage and processing abilities of the cloud will continue to increase while corresponding costs will go down over the next few years. This enables cloud computing to be favorable candidate to handle computational intensive tasks for mobile devices. Mobile Cloud Computing (MCC) [9] provides an efficient computational framework for mobile terminals i.e. User Equipment (UE) to offload it's computationally intensive tasks to remote server. Mobile-cloud interaction opens up the further avenues for research if cooperative communication among the mobile nodes is also considered [10]. Cloud process the offloaded content and deliver it to the UE. Content offloading and delivery represents an endto-end communication (E2E) scenario in which mobile terminal interacts with the cloud through the network. In this way, the offered end user QoS depends upon different parameters of cloud (cost, latency) and network (throughput, bandwidth, channel errors, number of users) [11]. Moreover, application profile (service requirements including jitter, time stamp 12 and graphics) and user profile (cost profile, service perception) also contribute towards shaping the end user QoS delivered. As an institutive example, consider a lost child scenario. Consider a child is lost in a busy crowd of parade. Tourists are asked to take and upload the pictures of unaccompanied child in their closed vicinity. These pictures are accumulated in a center processing server where image search is performed i.e. comparing child picture provided by the parent with all the images received. In this way, all the entities explained earlier i.e. cloud, network, user and application profile will influence the complete scenario. Figure 1-1 Heterogeneity of UE devices, wireless access and applications [12] As shown in the Figure 1.1, the broad range of heterogeneous mobile devices access the cloud service through a range of wireless as well as wired services. The disparity of user perception of QoS with the range of devices mentioned is quite broad. The state of the art mobile network, 3rd Generation Partnership Project (3GPP)’s Release’8 13 Long Term Evolution (LTE) promises significant improvement over previous technologies Global System for Mobiles (GSM) and High Speed Packet Access (HSPA) [13]. LTE promises high uplink and downlink data rates, very low latencies and backward compatibility with previous telecommunication technologies. These features make it favorable candidate for cloud computing resources. Let us consider the resources allocated in cloud and network for processing and delivering of content respectively. Law of diminishing returns dictates that in certain systems investment of extra resources after a certain threshold does not translate into proportional returns. Diminishing returns phenomenon was observed clearly, when we simulated the behavior of cloud computing and mobile network models. For example, when we simulate the LTE model in view of given performance parameters (throughput, error), we observe that after a certain limit extra investment into the network resources (SNR, bandwidth) does not translate into proportional gains i.e. increase in throughput and reduction in errors. That means increase in input side of system does not translate into proportional output, due to the saturation effect dictated by law of diminishing returns. This leads us to translate cloud and network models into a mathematical objective function with corresponding performance parameters. In this way, each of the cloud, network, mobile and application are represented as by a contextual model having multiple parameters. These multiple inter-dependent and conflicting parameters give rise to an optimization methodology which enables us to maximize the user QoS with minimum invested cloud and network resources. QoS of the end user depends upon various parameters in the cloud and network. For example, user speed in the cellular network can cause handovers which may affect the end user QoS delivered. Similarly QoS is also susceptible to type of application. For duplex applications like VoiP, the interactivity is high so using cloud services for such applications is less feasible in view of QoS requirements. In the view of end user’s quality of service (QoS), multi-objective optimization has attracted a lot of research in the past. Although a lot of optimization efforts have been made in the literature, to optimize the behavior mobile network [14], cloud [15] and user context [16], our work is another effort to optimize the overall end-to-end communications scenario considering detailed parameters of cloud, network, end user and application simultaneously. In the multi-objective optimization approach explained above, we see that network and cloud contextual models are beyond the control but because an application being scalable it can be tuned according to the demands of the user. So we can partition a flexible application and use the extensive resources available at the cloud through the 4G network 14 The outcomes of this research are expected to benefit not only the mobile network operators in terms of ease and cost of network management, but also the content providers, cloud service providers in terms of evolution of sustainable green services and the end-users in form of enhanced quality of service (QoS). This research may also have a potential for future commercialization. 1.2 Research Questions In the outlined research, we propose an optimization effort to achieve the required QoS with minimum amount of invested resources in cloud, network by exploiting the user contextual behavior and corresponding application profile. This research will focus on the following questions: I. What is the appropriate architecture and corresponding modules required to describe the end-to-end communication framework? In view of the immersive multimedia applications involving huge computational complexity, representation of E2E communication framework is a big challenge. The entities involved and their associated heterogeneity frames the end to end communication a highly complex paradigm. This question involves the investigation of the corresponding modules which can influence the end-to-end (E2E) communications and their corresponding performance parameters. In this way, a holistic approach needs to be adopted, to design and analyze the E2E communication framework considering all the modules i.e. cloud, network, application and user context. Each module has corresponding performance parameters which not only influence its own behavior but affect the other modules also. II. How the behavior of an application can influence an end-to-end multimedia communications? And how much efficiency gains we can achieve if we partition and offload an application over cloud? Behavior of an application running on the E2E communication framework depends upon a set of parameters related to user QoS demands. This question allow us to formulate the criteria to characterize and simulate the behavior of the individual modules involved in an end-to-end communication framework described in Question-I. Then based on the requirements, design and apply appropriate algorithm to optimize the behavior of the 15 modules. The challenge is to partition the application at that point which fulfil certain requirements simultaneously e.g. saving mobile battery, utilizing the wireless network and cloud resources at minimum and after all satisfying the end user ultimately. The corresponding framework should achieve best performance in terms of agility, minimum resource allocation, energy efficiency and maximum end-user QoS. III. How we can judge the performance of an application partitioning in view of a diverse scenario involving all the components of the end-to-end communication? Applying and testing the designed partitioning and offloading methodology on the image retrieval application. This involves designing an application partitioning and offloading framework which aim to fulfil certain objectives e.g. improving energy efficiency and reducing execution time of an application in view of changing wireless network and cloud resources. Testing the application partitioning and offloading framework in a number of scenarios with diverse parameters of cloud, network and user model to fully characterize and judge the performance objectives. 1.3 Research Objectives In the previous section, we highlighted certain challenges related to the end to end communication framework. In light of the research questions mentioned in section 1.2, we aim to address the following research objectives. These research objectives provides a baseline of our research: I. Investigate the behavior of cloud, network, application and user QoS aspects in terms of corresponding input and output performance parameters. II. In view of the outlined parameters, design and express corresponding models in terms of mathematical objective functions. III. Select the appropriate optimization methodology in view of the constraints imposed in I and II. Apply the selected optimization methodology to the given end-to-end communication scenario for application partitioning and offloading, and estimate the potential benefits in terms of resources saved. IV. Investigate the effect of application offloading into cloud with current optimization scenario, and how different topologies of the application can influence the application partitioning and offloading framework. 16 V. Simulate the application partitioning and offloading framework in terms of objective parameters. 1.4 Contributions At the end of this research, we have done the following contributions towards current research in respective avenues of the cloud and mobile network. I. This research opens up the possibility of transforming the current domain of end-toend content delivery into mathematical formulation and then optimizing the formulated multi-dimensional mathematical problem in view of multiple context models of an end-to-end communication system. Then we proposed CANU model which takes into account the comprehensive models of cloud, application, network and user and simulate the implications of one model onto other. II. We define and implement an application partitioning and offloading framework which takes the parameters of the context models defined above and maximize certain objective functions e.g. energy efficiency and response time saving. We further expand the application and offloading framework to the next level by tak- III. ing offline parameters about the application contextual model and topological structure of an application. Then we further improvise the partitioning and offloading framework so that application response time and energy saving are further improved. 1.5 Structure of the thesis In chapter 2, we discuss the literature review in detail. Since our system involve a lot of entities so best effort has been made to cover all the significant entities and the corresponding techniques used in this regard. A joint optimization problem involving Cloud, Application, Network and mobile User has been discussed in chapter 3, in the form CANU model. In chapter 4, we discuss the role of application in CANU model and discuss the partitioning and offloading framework. Finally, in chapter 5 we improved the partitioning and offloading framework further by including the structural information of an application by using graph theory analytics. 1.6 Publications Asad Javied, Janko Calic, Ahmet Kondoz “A Comprehensive Framework of Application Partitioning and Offloading in Mobile Cloud Computing” Journal of Selected Areas of Communication, to be submitted Volume 23, February 2017. 17 Asad Javied, Janko Calic “Multiobjective Optimization in Mobile Cloud Computing”, Poster Presentation in Research and Development Conference, University of Surrey 2013 Asad Javied, Janko Calic, “A Comprehensive Application Partitioning and Offloading Framework” Poster Presentation in Research and Development Conference (RDP), University of Surrey 2014 18 2 STATE OF THE ART This chapter discusses the state of the art of different components of the system. End-toend multimedia communication architecture involves the cloud computing infrastructure, mobile network, user and application profile. In this chapter, we will discuss the state of the art relevant to each module. In addition, we will also discuss optimization methodologies. Then in view of the state of the art, we will formulate baseline for our research direction. 2.1 Cloud Computing "Cloud Computing provides an avenue to access on demand shared pool of computation and storage that can be rapidly provisioned and released with minimal management effort or service provider interaction [17]."There are certain characteristics of the cloud computing services which differentiate it from the typical server-client model. The resources offered to the customers appear to be unlimited and highly elastic and can be called quantitatively with respect to the demands of the user. Due to the virtualisation of the underlying physical hardware the services offered by the virtual resources are dynamically shuffled and pooled among different consumers quite quickly. Cloud provides on-demand self-service with automatic decision making ability to scale up or scale down the resources offered to different users according to their requirements [18]. Cloud ensures broad network access by providing easy accessibility via mobile phones, tablets, laptops and workstations. Resource usage can be quantitatively measured in term of parameters as well as it can be monitored and controlled from a remote location. In this way, it provides transparency for both the provider and the consumer [19]. Deployment models According to the demands of certain user groups, cloud services have been tailors to certain broad categories. Each category is recognised by the type of the users they are designed for e.g. single user or a group of users. Private cloud serves only a single organization or group of users exclusively. Community cloud is designed for the usage by a certain consumer group from certain geographical location or having similar pattern of service usage. Public cloud, as the name indicates, is open use by the general public usage by some service provider [20]. Hybrid cloud is the tailored composition of two or more distinct cloud infrastructures 19 (private, community or public). Service models According to the services provided by the cloud, researchers has devised certain service models and named them accordingly. The layer at which cloud service is provided differs mainly in line with the user ability to tune the service settings. Software as a Service (SaaS): In this model, consumers get access to the resources of the cloud via the application layer. The applications running on the provider’s cloud resourced are accessed by the user through an easy to use interface. In this way, end user will not have to worry about software licensing, installation and support of the hardware infrastructure, operating systems and storage [21]. Moreover they can access the quality of the service according to their demands and price paid. Customer has no control over the management and control over the cloud infrastructure and deployed applications. Emerging applications using the SaaS are the Hotmail and Gmail as well as the Microsoft office versions in which the end users enjoy the ability to manage (send, read) their e-mails or documents in the cloud [22]. Platform as a Service (PaaS): In this model, customers have marginal control over the infrastructure and the services of the cloud. It is similar to SaaS except the ability of the customers to use cloud as a platform to create, run and host applications within the charter of the cloud service provider. Users still do not manage or control the underlying cloud infrastructure, operating systems and storage, but can manage and control the deployed applications [23]. Infrastructure as a Service (IaaS): In this model, customers have full control over the usage as well the accessibility of the cloud resources. They can use on demand the cloud servers, network, storage and operating systems on the cloud infrastructure of the provider. Users do not have any control over the cloud infrastructure but according to their requirements they can provision the operating systems, and acquire storage for their deployed applications. A best example of IaaS is the Amazon, which offers storage as well as the computational ability in the cloud to the end users based on their demands and accessibility requirements [24]. A hierarchy of the cloud services are shown in the Figure 2.1. 20 Figure 2-1: Layers of Cloud services [25] Cloud Computing Features and Research Avenues Cloud computing architecture has been defined in terms of multiple layers. Moreover, the services offered by cloud computing can be dimensioned in multiple domains. Cloud provides an opportunity so that a consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider [26]. Resource pooling provides the ability for computing resources to be pooled to serve multiple consumers using a multi-user model, with different physical and virtual resources dynamically assigned and reassigned according to the consumer demand. There is a sense of location independence, such that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage and processing [27], memory [28], network bandwidth [29], and virtual machines [30]. Network Access Capabilities enable cloud services to be available over the network and accessed through standard communication mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs)[2]. Moreover the resources and capabilities provided by cloud computing are highly elastic and scalable. They are provisioned, in some cases automatically to quickly scale out, and rapidly released to quickly scale in, as mentioned in [31]. To the consumer, the capabilities available for provisioning often appears to be unlimited and can be purchased in any quantity at any time. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage [32], processing [33], bandwidth [34], and active user accounts [35]). Therefore, 21 resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service. Challenges of Mobile Cloud Computing: Although the ways to exploit the rich cloud computing services are enormously attractive, but there are still a lot of limitations from research as well as implementation point of view. Certain significant challenges are mentioned below: Device Battery Lifetime: Mobile device battery is one of the major limiting factors. Any technique which does not guarantee reduction in the battery usage of the mobile phone is discouraged in the research community. So the usage of cloud computing resources should ultimately ensure to save the battery time of the mobile [36]. Wireless Bandwidth Availability: Despite the significant improvements in the wireless networks, it is still considered to be highly vulnerable in terms of bandwidth limitations and loss of service. Transferring large amounts of data between the device and the cloud can be problematic. Moreover cost factor is also a key consideration while using cellular 3G/4G LTE networks [37]. Interaction Latency: Usability of the cloud resources is highly sensitive to the type of application. Applications having very strict latency requirements may not always be feasible to run on cloud always. Moreover applications involving real-time or near real-time requirements e.g. multimedia rendering or gaming applications need reserved resources in cloud as well as in the wireless network. Latency issues results in poor QoE for the end user and less likelihood of using cloud services [38]. User Mobility: Mobility of the user in cellular network incurs mobile handovers and reduction in data rate due to the Doppler shifts. Moreover shift in terrains also causes the loss of service sometimes. This ultimately induces vulnerabilities in using mobile networks [39]. Handovers pose a lot of concerns about the QoS delivered to end user in E2E communication. In our research, we have used LTE 4G communication model for wireless communications. It ensures reliable connectivity at very high speeds but it introduces undesirable delays. A lot of research has been done in the area of mobile mobility managements but handovers still remain a significant challenge in wireless communications [114]. Mobile Device Heterogeneity: Recent technological advancement in mobile device manu22 facturing and user demands has resulted in the multitude of different mobile device types and the platforms underlying. So providing the services in view of multiple heterogeneous devices is troublesome [40]. Cloud Heterogeneity: Similar to the mobile device heterogeneity, the services, applications as well as the infrastructure offered by the cloud service providers is highly variable. Moreover the protocols connecting the mobile networks to the cloud services are non-existent, as cloud standards or interfaces are currently not standardized [32]. Mobile Cloud Computing: Summarising the previous sections, the opportunities offered by cloud computing for mobile devices are enormous. But the limitations are there in the network as on well as the device side which hinders the true potential offered by the cloud computing. In order to cope with the resource limitations offered by the network as well as the mobile devices, research community has managed to combine the infinitely growing resources of cloud infrastructure with mobile devices [41]. Researchers call this joint area of research as Mobile Cloud Computing (MCC). Researchers and enterprise have joined their hand to build and provision a joint mechanism in which cloud offer services and able to run applications specifically to mobile devices (UE). Mobile Cloud Computing has become quite attractive because it formulates the ways by which applications will be considered, having huge computational complexity, to be executed on a mobile device of limited hardware and software resources. So applications can be offloaded to the cloud. Cloud executes the application and sends the output to the mobile device [42]. Simulation Environments for Cloud Computing Few efforts have been made to simulate the cloud behaviour. Cloudsim [43] is one of the sophisticated simulators for simulating general cloud computing infrastructure. Cloud Analyst is another simulator [44] built on the Cloudsim and provides nice user interface for configuring the cloud computing infrastructural components. We will be using Cloudsim and Cloud Analyst for simulating the behaviour of Cloud. Few other simulators have been built upon the Cloudsim: NetworkCloudSim [45] extends the Cloudsim with a scalable network and generalized application model, which helps to simulate scheduling and resource provisioning policies in cloud datacenter. Similarly another cloud simulator [46] is focused towards simu23 lating the storage aspects of the cloud. Cloud computing offloading Cloud offloading offers the opportunity for the mobile user to offload computational intensive tasks onto cloud. But offloading to cloud is not always feasible in view of the energy efficiency, network and cloud cost. For example, during offloading process mobile may start consuming a lot of power to access the radio network. Let 𝑃𝑐 , 𝑃𝑡𝑟 �𝑎𝑛𝑑�𝑃𝑖 be the power consumed by mobile for computation, transmitting and being idle respectively. S and M are the computational ability of cloud and mobile respectively. If B, C and D are channel bandwidth, computation to be offloaded and offloaded data respectively, then according to [23], the energy saved 𝐸 by computational offloading is; 𝐶 𝐶 𝐷 𝐸 = �𝑃𝑐 𝑀 � − � 𝑃𝑖 𝑆 � − � 𝑃𝑡𝑟 𝐵 (2.1) 𝐶 𝑃𝑐 𝑀 denotes the energy expenditure if we execute a task in the mobile, while 𝐶 𝐷 �𝑃𝑖 𝑆 �𝑎𝑛𝑑�𝑃𝑡𝑟 𝐵 � denote the total energy expenditure executing and transmission respectively if we execute a task in the cloud. So E will be negative if it is feasible to execute in the mobile and E will be positive if it is feasible to execute in the cloud. The authors in [23] further suggest that cloud offloading is only energy efficient, if the offloaded data D is very small as compared to computational gain C offered by cloud. A dynamic cloud offloading algorithm has been discussed in [48], which partitions and offloads the application dynamically such that mobile energy consumption is minimized. Identified Research Gaps As mentioned in the section 2.1.3, a lot of efforts jointly have been focused towards optimizing the behaviour of cloud computing resources and paving ways for providing excellent QoS to the end user within limited available resources. In this way, although behaviour of network has been taken into consideration in few researches but rapid variability of mobile network, user preference oriented application scaling and optimizing the cloud computing resource has not been investigated. In our outlined research, we will try to exploit those gaps, in leveraging the cloud computing model for the application partitioning and offloading framework. 2.2 Mobile Communications Network LTE (Long Term Evolution) is 4G mobile network standardization within the 3GPP (3rd 24 Generation Partnership Project). In comparison to the 3G network, LTE represents a major advancement. LTE has been evolved to fulfil the demands of the end users for rich media transport requirements as well as high-capacity voice support. LTE provides flexible bandwidth and ensures high-speed data rate and ability to adapt itself for multimedia unicast and broadcast applications [129]. Long Term Evolution (LTE) promises high data rates with very low latencies, particularly for unsymmetrical data applications, where downlink data is much large than uplink data e.g. video-streaming. LTE dynamic resource allocation makes it favourable for resource pooling due to its bandwidth scaling (1.25, 2.5, 5.0, 10.0 and 20.0 MHz) feature. Moreover very low control and user plane latencies (10ms, 50ms) and adequate performance at very high user speed (120km/hr) helps to provide excellent user experience. For that, LTE system also takes into account the channel variations [130]. When the radio channel varies significantly, that change can be exploited to achieve large performance gains. The described features of LTE makes it competitive candidate to leverage cloud based processing in mobile communication perspective. LTE has an inherent mechanism which changes the Modulation and Coding Schemes (MCS) in accordance with the Channel Quality Indicator (CQI). CQI is a 4 bit binary number which is reported by the end user in each Transmission Time Interval (TTI). It indicates the state of channel i.e. 1111 and 0000 being the best and worst channels available respectively. Similarly LTE has inherent QoS management mechanism which allocates the priority in LTE scheduler according to the different traffic requirements. In this way, QoS Class Identifier (QCI) is used. Logical and Physical channels are mapped together to provide appropriate services required by a certain set of users. The LTE physical layer (LTE-PHY) provides highly efficient way of transportation for data as well as signalling information that is exchanged between mobile base station (eNodeB) and mobile user equipment (UE). In the core of LTE PHY implementation lies highly efficient mobile technologies like Orthogonal Frequency Division Multiplexing (OFDM) and Multiple Input Multiple Output (MIMO) data transmission. In this way, Orthogonal Frequency Division Multiple Access (OFDMA) is used on the downlink (DL) and Single Carrier – Frequency Division Multiple Access (SC-FDMA) on the uplink (UL). In the following section 2.2.1 we explain OFMA in detail. Orthogonal Frequency Division Multiple Access (OFDM): OFDM is a multi-carrier wireless communications system which aims to provide high speed and connectivity by countering the problem of intersymbol interference (ISI) as faced in sin25 gle-carrier systems. 2.2.1.1 Motivation for OFDM: As the information is transmitted over the wireless channel, the signal takes number of paths while reaching the receiver. In this way, it gets distorted. Typically (but not always) there is a line-of-sight path between the transmitter and receiver. In addition to the main path i.e. line of sight (LOS), there are many alternative paths which are created as signal gets reflected from various surfaces e.g. buildings, vehicles and other obstructions, as shown in Figure 2.2. Figure 2-2 Multipath Reflections in Wireless Communications 2.2.1.2 Intersymbol Interference (ISI) As explained in the section 2.2.1.2, due to the reflections from different places, at the receiver we receive multiple time delayed copies of the transmitted signal. The time delay depends upon the in the distance travelled by the signals corresponding to their paths. If we consider a symbol of information we transmitted from the transmitter (Tx), the time delayed copies of that symbol are received (Rx) at the receiver. These copies are infused into each other and cause Inter Symbol Interference (ISI) [130]. This effect is depicted in Figure 2.3 in which the line of sight symbol is infused with non-line of sight symbol. ISI limits the performance of wireless communications. If we see the effect of ISI in frequency domain, we realise that due to ISI we receive a distorted signal at Rx as shown in figure 2.3. In order to solve the problem of ISI, various ways are proposed. A typical way is to use an equaliser 26 which delays each copy of the transmitted signal by the same amount and then combines them together. But the performance of the equaliser is limited by the time disparity among received signals (delay spread). Figure 2-3: Effect of Intersymbol Interference At high speed of 100mbps, it becomes impossible for the equaliser to remove ISI. Figure 2-4: Effect of Frequency Selective Fading in Mobile Communications 2.2.1.3 Orthogonal Frequency Division Multiplexing (OFDM) OFDM is a multi-carrier system which removes the ISI from received signal in the frequency domain. OFDM is designed in such a way that it divides the available bandwidth into smaller chunks (sub-carriers) and then the data is transmitted in parallel streams. Each stream is associated with a corresponding subcarrier which is then modulated using different modulation schemes e.g. QPSK, QAM, 64QAM based on the signal strength. In OFDM, data is transmitted in parallel rather than serially, OFDM symbols transmission efficiency is not limited by the shorter symbols delay requirements as seen in single carrier systems. If we compress some signal in time domain it expands in the frequency domain. In view of the same principle, OFDM symbols are relatively longer than symbols in single carrier systems because they are compressed in frequency domain. In addition to parallelisation of the symbol stream, in OFDM a cyclic prefix (CP) is also attached to the OFDM symbols [131]. So in summary, we convert the serial symbol stream of symbols to parallel. The overall structure of the OFDM symbol is shown in the Figure 2.5. As we can see, in addition to the data part, CP 27 is also attached. Figure 2-5 Longer Symbol Periods and Cyclic Prefix in OFDM 2.2.1.4 OFDMA: When multiplexing is integrated in OFDM, the structure of OFDMA is formulated. OFDMA serves the same function as any multiple access schemes by allowing the eNodeB to communicate with multiple UE simultaneously by dividing the physical resources intelligently. OFDMA is integrated into many sophisticated modern communications systems i.e. WiMAX, IEEE 802.11 and LTE. At the transport layer, OFDMA provides a Carrier-Sense Multiple Access (CSMA) to sense which multiple users are transmitting at the same time. Due to the multiple access the OFDMA is more efficient in use of network resources [132]. 2.2.1.5 Multiple Input Multiple Output (MIMO) The efficiency of the OFDM is further increased using the MIMO. The efficiency of the physical layer of LTE (LTE PHY) is further improved by inclusion of multiple transceivers (XCVR) at both the eNodeB and User Equipment (UE). In this way, due to the diversity offered at the transmitter as well as receiver, link robustness as well as data rates are enhanced [133]. Figure 2.6 shows a MIMO setup in which antenna diversity is provided at the transmitter as well as at the receiver side by multiple transceivers (XCVR, XCVR-A and XCVR-B). 28 Figure 2-6 Multiple Input Multiple Output (MIMO) 2.2.1.6 Maximum Ration Combining (MRC) There are various ways by which the streams of multiple antennas are combined together. For example, in the case of the maximal ratio combining (MRC) the streams which have more strength are combined. When signal strength is low, to cope with the challenges offered by multipath effect, receiver can use the multipath effect in its own favour by intelligently combining different streams. Multipaths are used to improve the radio link reliability and increasing link robustness by reducing errors. MIMO, as discussed above, is used to increase throughput and data rates. MRC in essence creates receiver diversity as compared to antenna diversity in MIMO systems. Figure 2.7 shows maximum ratio combining (MRC) in which best parts of the signal are combined while deep fades are rejected. MRC improves the signal strength in the frequency domain [130]. Figure 2-7 Maximum Ratio Combining in Wireless Communications 2.2.1.7 Single Carrier Frequency Division multiple access (SC-FDMA) As explained in the earlier sections, OFDMA provides high data rates and system robustness; it requires high changes of power at the UE. This causes high Peak Average to Power Ratio (PAPR). If we compare UE and eNodeB, the power consumption becomes the main concern for the UE terminals. OFDM is highly efficient in providing ISI free high data rate communi29 cation between UE and eNodeB, but due to the presence of large number of independently modulated sub-carriers, the peak value of power can become very high as compared to the average value of whole system. High PAPR can be a big concern of the UE. So for the LTE uplink, OFDM has been tailored to reduce high PAPR issue in view of the UE requirements. The modified version of OFMA is called the Single Carrier – Frequency Domain Multiple Access (SC-FDMA). In SC-FDMA, the overall transmitter and receiver architecture is same as OFDMA. Multipath protection offered by SC-FDMA is the same as OFDMA but by changing underlying waveform in SC-FDMA, lower PAPR is achieved. As a result, in uplink the need for sophisticated UE transmitter is avoided [130]. LTE Network Architecture: In contrast to the circuit-switched 2G and 3G systems (GSM, UMTS and CDMA2000), Long Term Evolution (LTE) supports only packet-switched services. In LTE packet switched services connects the user equipment (UE) and the packet data network (PDN). LTE provides high QoS in terms of connectivity without any disruption to the end users’ applications during mobility [140]. In comparison with the previous telecommunication system Universal Mobile Telecommunications System (UMTS) radio access through the Evolved UTRAN (EUTRAN), LTE uses System Architecture Evolution (SAE) as radio access, which includes the Evolved Packet Core (EPC) network. Together LTE and SAE comprise the Evolved Packet System (EPS). As shown in the Figure 2-8, a bearer is a virtual link connecting the UE with the gateway in order to transfer the IP packet flow with a specific quality of service (QoS. EPS uses the concept of EPS bearers to direct IP traffic from a gateway to the UE. In view of the requirements posed by the applications, bearers are setup by E-UTRAN and EPC together. Figure 2-9 shows the protocol stack along with the corresponding interfaces in accordance with the functions provided by the different protocol layers. In this way, the end-to-end bearer paths along with QoS aspects are shown. 30 Figure 2-8 LTE Architecture [140] As discussed, the core network is called EPC in SAE controls connectivity of the UE with network and manages the establishment of the bearers. The main logical nodes of the EPC are: • PDN Gateway (P-GW) • Serving Gateway (S-GW) • Mobility Management Entity (MME) In addition to mentioned nodes, Home Subscriber Server (HSS) and the Policy Control and Charging Rules Function (PCRF) are also part of EPC [140]. Control of multimedia applications services such as Voice over IP (VoIP) is provided by another entity called IP Multimedia Subsystem (IMS), which is considered to be outside the EPS itself. PCRF and HSS are described below: Policy Control and Charging Rules Function (PCRF) controls the policy control decisionmaking. Additionally Policy Control Enforcement Function (PCEF) manages the flow-based charging functionalities of the network. The PCRF provides the QoS authorization (QoS class identifier [QCI] and bit rates) that decides how a certain data flow will be treated in the PCEF and ensures that this is in accordance with the user’s subscription profile. [140]Home Subscriber Server (HSS) contains users’ SAE subscription data e.g. EPS-subscribed QoS profile. It also controls the aspects of roaming and holds information about the PDNs to which the user can connect. [140]. Attachment and registration data of users in also stored inside the HSS as dynamic information which is constantly changing. Additionally an authentication center (AUC) is integrated in the HSS which generates the vectors for authentication and security keys. Packet Data Gateway (P-GW) is responsible for controlling the IP address allocations for different users, as well as QoS enforcement and flow-based charging according to rules from the PCRF. In this way, P-GW filters the traffic from users different QoS-based bearers with the help of Traffic Flow Templates (TFTs). Moreover for reservation base services requiring guaranteed bit rate (GBR), P-GW enforces the QoS. P-GW also behaves as a pivot for interworking with non-3GPP technologies such as CDMA2000 and WiMAX networks [140]. Service Gateway (S-GW) is responsible for transferring the IP packets for moving users. It serves as the local mobility anchor for the data bearers when the UE moves between eNodeBs. When a user is in the idle state its bearer information is also managed by S-GW. Additionally, other administrative functions are also performed in the S-GW. This includes 31 the information related to charging when a mobile user moves in the visited network. Figure 2-9 QoS Management in LTE [140] S-GW also provides linking ability with the other 3GPP technologies (mobility anchor) such as general packet radio service (GPRS) and UMTS. [115] Mobility Management Entity (MME) is the control node that processes the signalling between the UE and the core network (CN). Non Access Stratum (NAS) protocols provides the linking ability of the UE to the CN. In this way, the main functions of the MME can be classified broadly into following classes: Bearer management – This includes the establishment, maintenance and release of the bearers and is handled by the session management layer in the NAS protocol [140]. Connection management – This includes the establishment of the connection and security between the network and UE and is handled by the connection or mobility management layer in the NAS protocol layer [140]. Research in Mobile Network (LTE) From service delivery perspective, a lot of efforts has been made in LTE based systems for the efficient service delivery (video [49], gaming [50]), throughput maximization, fairness of 32 resource distribution among the users [51], radio resource optimization and QoS enhancements [52]. The Evolved Packet Core (EPC) of LTE, provides UEs with scalable wireless resources and IP connectivity to the packet data network. In this way, EPS supports multiple data flows with different QoS per UE for applications that need GBR (guaranteed bit rate). There are many issues need to be addressed in mobile network from end-to-end QoS point of view, according to different traffic types, at different levels (application level and connection level) [53]. 2.3 Applications Context In view of the cloud resource exploitation and network leveraging opportunities, gaming and video find a lot of attraction because both traffics require high degree of content processing and delivery mechanisms. Online Cloud Gaming is an emerging avenue for cloud computing research. The growth in terms of connectivity and capacity offered by networks has been increasing over the last era, which can certainly pave way for the thin client systems as discussed in [2]. In thin client systems, thin client (mobile device) is scare of computational and storage resources, so cloud computing resources are leveraged to perform high computational intensive task. In this way, authors have discussed gaming applications in which mobile device sends only user actions to the cloud server, which are processed and delivered through the network. Sujit Dey and his colleagues has done a lot of work in view of QoE in gaming environments and they managed to publish a lot of literature [26][34][54] and [55] focused on mobile gaming application in real time scenario. Cloud computing literature also characterizes the network related issues e.g. latency, bitrate, packet losses and their impact on user QoS. For example, in [26] and [55] authors worked out preliminary mathematical model relating packet delay, packet loss and QoE. Trade off exists between the communication overhead and the computational complexity. A methodology for applying the cloud computing model in LTE based mobile networks has been mentioned in [56]. The authors discuss cloud platforms Openstack, Eucalytus and OpenNebula from the perspective of service delivery in LTE network. A series of network implied issues e.g. jitter, latency, packet loss and protocol issues on cloud computing has been discussed in [29]. As compared to gaming, video communication is more mature and a lot of literature has been published. We have already mentioned the relevant state of the art related to video delivery through LTE in section 2.2.2. 33 Application Offloading The emergence of cloud computing resources allows overcoming a number of resources limiting problems faced in the mobile computing, since the cloud resources are characterized by as enormous scale that can be accessed anytime and anywhere in the world. A large number of cloud service providers are appearing these days for data storage and processing, e.g. Amazon EC2 [57], Apple iCloud [58], Microsoft Windows Azure [59], and Google App Engine [60]. Such systems use proprietary cloud platforms to provide different kinds of services. Extensive research has been made in the convergence of mobile networks and cloud computing and still a lot of areas are being researched. Since both mobile networks and cloud computing are quite dynamic in terms of their infrastructure as well as the services so the challenges continue to emerge and propositions are made to cope up with the challenges [61]. Cloud offloading is one of the emerging trends in distributed computing involving mobile devices. Offloading leverage by Cloud Computing Traditionally mobile devices have always been limited in terms of their computational & storage capacity as well as battery life. As a result, resources intensive multimedia and computationally complicated signal processing tasks are unable to run on them [62]. So instead of executing the applications on the mobile device, we can offload the resource intensive segments of the application to surrogate i.e. cloud computing server via wired or wireless channel. In this way, we exploit the abundant cloud resources in terms of storage and processing of the data. This offloading scheme critically depends on a reliable end-to-end communication and on the consistent availability of the cloud [63]. Vulnerabilities associated with offloading to cloud computing servers include high network access latency and low network bandwidth. Moreover, since wireless network is highly sensitive to datarate variability as well as packet losses so cloud computing services can be quite limited in this case. Offloading leverage by Cloudlet In this framework, rather than offloading to the remote cloud, we can leverage the resource deficiency of a mobile device via nearby resource-rich cloudlet via a WLAN hotspot. In this way we manage to overcome the latency limitations as well to reduce the consumption of the mobile battery. A cloudlet is imaged as a small scaled cloud having a cluster of com34 puters that is well-connected to the internet via wired or wireless means serving the mobile devices in limited proximity. So the resource intensive application tasks are first offloaded to the cloudlet, and then later cloud computing resources are exploited if need. In some applications like image retrieval we need huge database of images which can’t be stored inside the mobile phone [64]. So in these kinds of applications we offload further to cloud computing servers through a stable internet connection. In this way, we manage to overcome the high latency problem faced in the former technique. From energy point of view, offloading to cloudlet saves energy because of access to the short range wireless connection [65]. In case of loss of the cloudlet service we can retrieve our offloaded tasks and manage to execute them on alternative avenues. Research Gaps A number of approaches are encountered which promises to solve the problem of resource limitation in mobile devices. A summary of the approaches and their corresponding solutions proposed has been briefly summaried: While the solutions discussed in the section 2.3.2 show quite improvements by shifting burden from mobile phone onto the cloud, applications partitioning algorithms shows promising results by meeting certain objective set prior the offload. But the contextual models used in the techniques mentioned are relatively quiet simplistic [66]. Moreover, most of the work done in the field of application partitioning and offloading methods is from the perspective of computer science. A lack of in depth understanding of mobile network is quite apparent in all the technique mentioned. The behaviour of the network is not studied and modelled because only simple parameters like bandwidth have been considered in the network contextual model. Vulnerable network ultimately limits the opportunity to harness the true potential offered by cloud computing for the mobile device [67]. Characterization of Mobile Environment We focus on today’s mobile environments in view of their performance limitations for different kind of applications. To identify several opportunities to bridge those limitations, we focus towards hardware abilities of mobile phones as well as the support provided by the mobile platforms. We did a small survey of the available mobile phones with their corresponding CPU speed, RAM available and supported networks. For any computing device, considerations of size, battery life, heat dissipation and other form factor elements have implications on hardware capabilities such as processor speed and memory size [68]. Unlike desktop ma35 chines, mobile devices aggressively lack performance in view of their smaller sizes, lower costs and power efficiency [69]. Table 1 shows the CPU speed and available RAM per device for different set of classes. Table 1 Heterogeneity of Mobile Devices [70] As evident from the Table 1, we observe that laptops and desktops have much faster CPU abilities (about 1.5x and 2.3x). Similarly, laptops and desktops also outclass mobiles and tablets in terms of RAM available for applications (about 3.5x and 9x). On the other hand, mobile devices are all 3G, 4G and Wifi enabled. This trade-off between hardware limitations and mobility constraints has an effect on the performance and functionality of the applications. Therefore many desktop applications have lighter counterparts tailored for mobile devices. We can conclude that, mobile hardware exhibits relatively low performance relative to servers or desktop hardware. Moreover mobile technologies are evolving fast and we see different set of classes emerging within mobile devices in terms of CPU, memory and networking facilities they offer. So we can say that, simultaneous availability of computation power, memory and network resources will always be a compromise. This gives an insight to an optimization problem, which can be stated as following; In view of the limited resources available on the mobile devices, the application partitioning and offloading solutions can efficiently enable resource-constrained mobile devices to leverage the richer hardware resources of remote servers i.e. clouds [71]. Moreover, the serving protocols within the cloud (hypervisitors) e.g. Xen, VMware and KVM [138] also influence the response time of the cloud, which limits the effectiveness of the application partitioning and offloading. While offloading to the cloud the delay overhead introduced by the hypervisitors need to considered. 36 Mobile Battery In the mobile phone market, mobile battery still bears the biggest concern. Due to emergence of rich multimedia and applications involving rich graphics, the burden on drainage of battery is increasing. Moreover, in comparison with the rate at which the hardware components dissipate power is still much higher than the rate at which storage ability of the mobile devices is growing [72]. As a result, battery capacity has become the most important constraint while developing the computational intensive applications. Mobile Platform Android and iOS are the most popular mobile platforms in the mobile device market. While discussing the mobile support for the mobile phones, we will focus on these two platforms. The Android platform supports various devices with different hardware capabilities, sizes and features. Android applications are usually developed using the Java programming language, though C and C++ are also supported. Java applications on Android devices are compiled to byte-code which is Android’s application-level, register-based variation of Java’s VM. The Android source code and SDKs are publicly available [73]. In contrast, iOS is only available on a small number of devices, specifically the different generations of iPhone smartphones and iPad tablets. The programming language of choice for iOS development is Objective-C. This is a language that is based on the C syntax, but with extensions for object-oriented concepts such as classes, inheritance, Smalltalk2-style messaging and dynamic typing. Code offloading approaches explicitly target applications written in managed programming languages such as Java or C# on mobile platforms such as Android, which support the programming language constructs and runtime facilities described above. Either all, or just a subset, of these properties is essential for the operation of current offloading systems. They allow for automatically transferring application state to a remote node, executing application code remotely on demand and merging state changes on the mobile device to resume with local execution. By relying on such properties, existing offloading approaches are not applicable to applications written in unmanaged programming languages with rudimentary runtime support, such as Objective-C applications on the iOS platform. 37 Taxonomy of Application Partitioning A comprehensive taxonomy of application partitioning has been depicted in the figure 2.8. This includes the granularity of application to be partitioned, corresponding theme and objective function of partitioning, represented model of the application, support of programming language, partitioning allocation decision and analysis technique [72]. 2.3.8.1 Partitioning Granularity The partitioning granularity attribute of an APA indicates the granularity level for partitioning computational-intensive mobile application [74]. Current APAs implement the following granularity levels for application partitioning: Module level partitioning: The complete model of the application consists of modules. Modules of the application are partitioned and distributed among cloud and mobile. Method/Objective/Thread level partitioning: Focus of the partitioning lies at the method/object/thread level of the application respectively. Class/Task level partitioning: Application is partitioned into classes for Offloading. Task level partitioning: Application is partitioned according to Task. Component level partitioning: Partitioning a group of classes which may or may not be coupled for outsourcing to the remote server. Bundle level partitioning: Groups of Java class of applications are partitioned. Allocation-site level partitioning: Partitioning occurs on the level of allocation site where all the objects at this particular site will be seen as a single unit. Hybrid level partitioning: The results of partitioning consist of different granularity. 2.3.8.2 Application Partitioning Objective Functions: Application partitioning is highly dictated by the underlying objective function fulfilling the corresponding constraints implied by that objective function. Application can be partitioned on basis of single objective function or a weighted combination of different objective functions. Fusion rule and normalization of different set of objective functions is itself an optimization problem. In this regard, several authors have used sum rule: weighted sum of all the objective functions [74]. A description of relatively important objective functions is given below: 2.3.8.2.1 Performance improvement: 38 The application being partitioned must fulfil a task and the accuracy of that task in terms of some objective parameter is one of the most important objective parameter. In our experiment, we have used retrieval efficiency as measure to judge the performance of partitioning. Performance measure can also include the algorithms efficiency in terms of latency, execution time and CPU workload. 2.3.8.2.2 Minimizing the network cost: In case of offloading to the cloud, the access and usage of network is costly. So network cost is minimized as one of the objective function. In our approach, we have enlisted all the relevant parameter of LTE (4G) network. Then we have inter-related the parameter’s to derive a comprehensive network cost objective function. 2.3.8.2.3 Reducing cloud cost: Surrogate (cloud) resource comes with price. Cost of cloud is related to how many virtual machines we exploit to execute our task remotely. So reducing the computation offload to save cloud cost is one of the objective functions. Saving energy: Prolonging battery life by offloading computation is one of the crucial factors in application partitioning. 2.3.8.3 Partitioning Model: Model represents the framework used to represent different components of the application and different attributes. Graph based partitioning models abstracts the application in terms of a graph. In this way, application methods and data exchange is represented by the vertices and edges respectively. Some authors [67] have used Linear programming (LP) model in terms of linear equations to represent application partitioning. Hybrid approaches include merging graph and linear programming models for implementation of application partitioning. In our approach we have used graph based approach to represent the application, as explained in detail in chapter 4. 2.3.8.4 Programming Language Support (PLS): PLS discerns the types of programming languages supported by partitioning algorithm. As evident by name: single programming language support restricts the application partitioning to a certain environment while multiple programming languages supports widen the partition39 ing. Universal application support allows supports of majority of applications. In ours partitioning framework, multi-language support of MATLAB and java has been ensured. 2.3.8.5 Allocation Decision: The decision-making policy dictate the attribute related to decisions related to how components of application will allocated in a local or a remote server. Allocation decision is described broadly into three cases: (a) Online, where the decision is made and continuously updated during runtime. (b) Offline, where the decision is made before execution and remains fixed. (c) Hybrid, as the name suggests, it is mixture of above two. The decision is done by a programmer-defined specifications or static analysis tool. 2.3.8.6 Analysis Technique: The dependency relationships among multiple components of an application is discussed in terms of analysis technique. In most cases the structural relationship and connection among the components (classes/methods/tasks) remain the same, static. In those cases profiling of the application is performed at the start and remains the same during partition/offloading stage. On the contrary, dynamic case is relatively difficult, as it involves the runtime profiling because the relationship among the components keep on changing based on input data. A comprehensive summary of the application attributes described above, is depicted in the Figure 2.10. 40 Figure 2-10 Taxonomy of Application Partitioning 41 User Contextual Model User social & subscription profile, QoS perception, mobile hardware (resolution, battery status) contribute towards the User Contextual model (UCM). UCM plays an important part in allocating appropriate resources in different modules (network, cloud). The entities which contribute towards battery consumption in mobile phones are explained in [75] and [76]. In this way, a simplistic mobile hardware model has been derived in [75]. In view of cloud and network resources, QoS management in view of user demands has been discussed in [77]. A traffic prioritization methodology in LTE network has been discussed in [78]. In this way, a heterogeneous traffic model has been used. At the network base station, one traffic is prioritized to other, such that user QoS is preserved and network capacity is enhanced. In our experiment, we will be using the same user QoS model while considering the user contextual QoS model. 2.4 Multi-objective Optimization (MOP) A comprehensive chart depicting multi objective algorithms has been shown in the Figure 2.11. Multi-objective optimization has been divided into two broad areas. Traditional calculus based approaches addresses the problem by employing a single fitness function consisting of a weighted sum of the multiple attributes, and optimizing over this. These weights were then adjusted, and the problem re-optimized to generated more solutions that would eventually enable a decision-maker to choose the most appropriate solution from a range of what are known as non-dominated solutions, where no one solution is better than the others in all respects. In heuristic based approaches, many algorithms have been developed broadly divided into evolutionary algorithms (EA) [90], natural inspired algorithms [117] and logical search algorithms [118]. Evolutionary algorithms generate a number of solution for the multiobjective problem and aim to find the better solutions by refining the solutions set. EA’s are further classified among Genetic Algorithms (GA’s) [119], Particle Swarm Optimisation [120] and Differential Evolution (DE) [121]. Nature inspired algorithms works by taking different natural phenomena’s involving natural entities interacting together e.g. Ant Colony Optimization [81] and Bee Algorithm [80]. Lastly logical search algorithms works by improving the solution refining process of finding the optimal solution e.g. Tabu search [118]. In addition to the mentioned approaches, a lot of optimization methodologies has been pre42 sent in literature including Multiple Criteria Decision Making (MCDM) [79], Fuzzy Systems and Game theory [80] promising to optimize the behaviour of multiple entities involving conflicting variables. Optimization Approaches Traditional (calculus) Heuristic Methods Evolutionary Algorithms Other nature Inspired Algorithms Logical Search Algorithms Genetic Algorithms Simulated Annealing Tabu Search Particle Swarm Optimization Ant Colony Optimization Extremal Optimization Differential Evolution Bee Algorithm Cross Entropy Method Bacterial Foraging Optimization Harmony Search Cuckoo Search SNAP Figure 2-11: Classification of Optimization Algorithms 43 In view of the requirements and complexity constraints imposed by our end-to-end communication framework, we selected pareto based genetic algorithm multi-objective optimization methodology because of its ability to model the behaviour of end-to-end communication modules involving multiple objective functions. Multi-objective optimization aims to find a set of most feasible solutions (pareto front) in view of multiple objective functions and constraints. Let consider that, we want to maximize objectives (𝑓1 - cheapness and 𝑓2� - efficiency) and we come across multiple solutions indicated as black dots in the Figure 2.12 a. Solution A maximizes�𝑓1 amd 𝑓2 �as compared to a set of solutions shown in grey areas. So solution A is said to be dominating the solutions in grey area. If we look carefully, we observe that solution A is still dominated by some other solutions. Figure 2-12: a) MOP dominance b) Pareto front in MOP Aim of MOP is to find the solutions which are not dominated by any other solutions. Such set of solutions are called pareto-front solutions. An important difference between single and multi-objective optimization is that, multi objective optimization does not find a single solution but a set of most feasible solutions (pareto-front). Pareto Optimization Algorithms In literature, a lot of pareto based evolutionary algorithms are present namely Vector Evaluated Genetic Algorithm (VEGA) , Multi-objective Genetic Algorithm (MOGA) [83], Niched Pareto Genetic Algorithm (NPGA) [84], Pareto Archived Evolution Strategy (PAES) [85], Strength Pareto Evolutionary Algorithm (SPEA) [86], Nondominated Sorting Genetic Algorithm (NSGA) [87] and NSGA-II [88]. A comprehensive survey of relative performance of the mentioned algorithms has been provided in [89] and [90]. A complete chart of different genetic algorithms has been provided in Appendix IV and V. NSGA-II provides empirically 44 very near-optimal solutions with the moderate complexity cost. Moreover it is fast and scalable. In view of the complexity, convergence, scalability optimality performance metrics we chose NSGA-II algorithm. 2.4.1.1 NSGA-II Algorithm In view of relatively low complexity and corresponding less memory requirements, Non Sorted Genetic Algorithm-II (NSGA-II) [88] is one of the finest evolutionary algorithm mentioned in the literature. Brief overview of NSGA-II algorithms is given below: 1. First of all, a fixed number of solutions are randomly chosen called the population size. Each solution is decoded in terms of binary representation called chromosome. 2. Chromosomes are sorted and put into fronts based on Pareto Non dominated sets. Within a Pareto front, the chromosomes are ranked based on the Euclidean distance between solutions. Generally, solutions which are far away (not crowded) from other solutions are given a higher preference during selection. This is done in order to make a diverse solution set and to avoid a crowded solution set (local minima or maxima). 3. The best N (population) chromosomes are picked from the current population and put into a mating pool. 4. In the mating pool, tournament selection, crossover and mutation is done. Crossover refers to breaking two chromosomes from a predefined point and joining them together to create a new chromosome. While mutation refers to random single bit change in a chromosome. In this way, new population is created in mating pool. 5. The mating pool and current population is combined. The resulting set is sorted, and the best N chromosomes make it into the new population. 6. Go to step 2, unless maximum number of generations have been reached. 7. The solution set is the highest ranked Pareto non dominated set from the latest population. Population size and number of generations has a great influence on the efficiency of the algorithm. 2.5 Pareto Multi-objective Optimization in Cloud and Network In literature a lot of efforts are been found in the context of optimizing resources in the network and cloud. Some author's has opted pareto optimization methods. In [91], authors apply MOP on LTE based cellular multi-user scenario and maximize the user throughput by marginalizing the Inter-cell interference cancellation coordination (ICIC). Similarly in [92], 45 authors propose an adaptive algorithm to allocate resources in multi-user cellular scenario at bit and subcarrier level, considering objective of rate maximization within the total power constraint using NSGA-II algorithm. Similarly, authors in [93] attempt to improve the energy efficiency of cellular system by dynamically switching the LTE base stations based on user demands. In cloud computing, pareto based multi-optimization has been used to dynamically distribute and schedule the cloud resources (CPU, RAM, Virtual Machines). In [94], authors manage to balance the load on cloud resources using a pareto optimization based scheduler. Also they have applied ant colony optimization to improve the task scheduling of the cloud. In this way, scheduler adapts its strategy according to the changing environment and types of tasks. Multi-objective optimization is highly relevant to the mobile cloud context as the resource in the mobile and cloud. 2.6 Summary A lot of optimization efforts have been made in optimizing the individual behaviour of the cloud, network, application and the user Models. Few efforts have been made to combine cloud computing and LTE [56]. But these efforts are majorly focussed on protocol domain and on the virtualization of mobile networks. No collective effort has been made to optimize the collaborative behaviour of cloud, network, application and user contextual models. In view of the research gaps mentioned, we will present a holistic framework of optimizing collective behaviour of cloud, network resources in view of application and user context. In this way, in next chapter we will simulate the behaviour of cloud and network models in terms of respective performance parameters. Then in view of application and user QoS, we will apply multi-objective optimization algorithm to minimize the amount of resources allocated in cloud and network. At the end, based on simulation results, we present a more elaborated multi-objective optimization model. 46 3 MULTI-OBJECTIVE OPTIMIZATION IN CLOUD MOBILE ENVIRONMENT An end to end communication framework comprises quite a number of entities as summarized in the last chapter. In this chapter, we will describe each entity in terms of its performance parameters and corresponding aggregate objective function. This approach generates a lot of dependent and independent parameters. To account for all the entities and their corresponding parameters, we have formulated a CANU (Cloud-Application-Network-User) architecture which joins all the entities. Then we will apply multiobjective optimization on the collective framework involving all the models to optimize the behavior of each entity jointly. An overview of optimization flow in view of different contextual parameters has been shown in Figure 3.1. Based on the demands of the application, resources are reserved in the cloud. Wireless network provides access mechanism for the user based on its QoS requirements. Application profile •According to User Requirement Application profile is chosen Resource Reservation in Cloud •Cloud resouces: Blocking Probability, Load, Number of VM's Mobile Network Resource Allocation •Network Resources: SNR, Bandwidth, throughput, BLER User QoS •Measured QoS in view of changing the traffic intensity. Figure 3-1: Contextual Model and their corresponding parameters Cost-benefit approach has been adopted to design the objective function of each entity in the end to end communications. For example, SNR allocated to user is cost in network perspective, while throughput achieved is corresponding benefit. The relation between SNRthroughput is not linear. Cost investment after a knee point (Q) does not translate into proportional benefit. Figure 3.2 shows a scenario involving knee point. After Q, the cost investment at the input resources does not translate into proportional benefits at the output. Aim of the optimization is to find Q of all of the objective functions of each entity and use them to maximize/minimize the objective function. 47 Figure 3-2: Cost-Benefit optimization model and Knee Point We have tried to exploit all those knee points in the end to end communication scenario. In this way, we aim to design the objective functions such that we obtain maximum benefit from the minimum cost investment. In other words, objective functions maximizes the 𝐵𝑒𝑛𝑒𝑓𝑖𝑡� − �𝐶𝑜𝑠𝑡 term denoted in the equation below. It finds those feasible solutions from the complete solution set. 𝑂𝑏𝑗𝑒𝑐𝑡𝑖𝑣𝑒�𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛� = max{𝐵𝑒𝑛𝑒𝑓𝑖𝑡� − �𝐶𝑜𝑠𝑡} (3.1) Maximizing a single objective function is simple, but scenarios where multiple objective functions are involved and input/output parameters are conflicting in the objective functions, then finding the optimum solution which satisfy all the objective functions is quite difficult. This eventually promises to deliver required QoS with minimum system resource investments. An overview of the end-to-end communication system has been depicted in Figure 3.3. The Figure shows the interaction of mobile network and cloud computing infrastructure in 48 view of user and application context. Corresponding parameters of each module has been described. In section 3.1-5, we elaborate the behavior of each contextual model in view of the mentioned parameters. Then in section 3.6, we define the outer blue boundary depicted in Figure 3.3, i.e. multi-objective optimization. In the end, in view of the simulation results, we formulate and propose a comprehensive single user optimization model in section 3.7. Figure 3-3: Contextual Models in optimization domain 3.1 End-to-End Communication Models In this section, we aim to formulate the cost-benefit model of each constituent entity involved in end-to-end communication framework. We will start with theoretical aspects and will extend the theoretical approach to fully working simulation model of each entity in the mathematical form. In this way, we have used various regression schemes (linear, quadratic, and exponential) to fit the curve in the simulation results of each model. Application Profile Application profile dictates the resource allocation in cloud, network and user hardware. In end to end communication scenario, system parameters highly depend upon the application model. LTE release 8 3gpp document [60] provides a generalized overview of applications. A relative usage of five major traffics is given in appendix II. It is expected that, the given percentage of use will change considerably in next 5 years. Ericsson Mobility report [115] 49 provides the recent percentage distribution of different services. From the trends, it is estimated that, video traffic will increase upto 70% by 2020 [115]. As compared to Voip, Http and ftp application, gaming and video streaming find enormous applications in cloud based content delivery, as mentioned in section 2.3. So we have considered a traffic mix of both applications. A comprehensive description of traffic models of both application in view of statistical distribution of packet sizes and packet interarrival times, is available in appendix III. Moreover, in view of the specific profile (resolution, interactivity) of the application, the key parameters are varied to generate corresponding k profiles. In our scenario, we have assumed a granular application having k profiles. Each profile has its associated packet size 𝜉(𝑘) and packet interarrival rate 𝜍(𝑘). [𝜉(𝑘)�𝜍(𝑘)] is then used to allocate corresponding resources in cloud and network. 3.2 Cloud Model As explained in section 2.1.3, cloud provides huge amount of fault-tolerant, scalable and reliable infrastructural resources for certain applications. The overall cloud architecture has been divided among different layers having certain functionality. On physical layer, cloud infrastructure is empowered by collection of datacenters, on which a huge number of application and storage servers are installed. Individual servers are dynamically provisioned and shared among multiple users by virtue of virtual layer. Virtual layer allows virtual machines (VM’s) to share individual/multiple server(s) to execute applications based on user defined QoS. On application layer, virtual machines are translated in terms of their ability to execute cloudlets. A preliminary cloud model has been presented in [5], which accounts for different parameters controlling the cloud cost. Cloud cost comprise of the execution cost of a particular task inside the cloud. Execution cost is the accumulated computational cost of the VM’s used over a certain time interval. To simulate the cloud model, two approaches are adopted. A java based simulator Cloudsim and an analytical approach Cloudsim results are used in few scenarios, while most of the time we will use analytical model. There are a number of simulation environments available but we have chosen Cloudsim because the input and output parameters of Cloudsim are quite relevant in our end to end communication scenario. Firstly, we describe the Cloudsim approach. Cloudsim provide the user the ability to dynamically create and destroy the cloud essential components i.e. data centers, hosts, VM’s and cloudlets. In this way, the effect of allocation of cloud resources (no. of VM’s, bandwidth, storage and memory) can be measured in terms of the performance parameters 50 (execution time, cloud cost). In our preliminary model, we have considered different application profiles and their corresponding transcoding costs at the cloud. Cloudsim incorporates the complexity of an application in terms of its computations requirement i.e. cloudlet length. On the application layer of the cloud (SaaS), cloudlet length is translated in terms of bytes to be executed (packet size). We simulated the effect of input and output packet sizes on the execution cost. From the input and output data results, we have done curve fitting to relate input packet sizes 𝑥1 and output packet sizes 𝑥2 to the output parameter i.e. execution cost 𝜔(, 𝑥2 ): 𝜔(𝑥1 , 𝑥2 ) = � (�.1𝑥1 + 30)(.1𝑥2 + 30) where 𝑥1, 𝑥2 and 𝜔(𝑥1 , 𝑥2 ) represent input packet size, output packet size and execution cost respectively. Above equations has been obtained by fitting curve in the simulated results. These equations models a particular scenario in which the simulation was carried out. If a generic scenario is considered then the constant 30 will be replaced by a generic constant i.e. a. Graphically execution cost has been plotted in terms of input/output packet sizes in Figure 3.4. An increase in input/output packet sizes tend to increase the execution cost significantly. Moreover in another experiment, we found out that the cost of execution of tasks in cloud, depends upon cloudlet length and number of processing engines in the cloud. 𝜋(𝑥3 , 𝑥4 ) = (.005𝑥3 − .21)(3.451𝑥4 + .4615) where 𝑥3, 𝑥4 and 𝜋(𝑥3 , 𝑥4 ) represent cloudlet length, number of processing engines and � processing time respectively. Above equations has been obtained by fitting curve in the simulated results. Processing time is translated into the latency constraints imposed by cloud. 51 4 x 10 12 10 Cost 8 6 4 2 30 25 0 30 15 25 20 20 10 15 10 5 Input Packet Size (byte) 5 0 0 Output packet size (byte) Figure 3-4: Effect of Cloud Input & Output packet sizes on cost Cloudsim approach provides simulated results comprising of cloud cost and execution cost. Unfortunately, the results obtained in this way are subjected to the specific scenario in which these results were obtained. In the following section 3.2.1, we aim to derive the generic model of the cloud using analytical approach. Analytical Model of the Cloud Service: Before formulating a quantitative model of the cloud for the sake of consistency we want to introduce certain terminologies. Virtual Machines (VMs): In order to quantify the extensive computational ability offered by the cloud we can count virtual machines (VMs). These are emulated versions of the physical servers. Using VMs as resource unit of the cloud is just one of the possible choices. In order to account for the computational ability offered by the cloud other units e.g. servers, bytes or CPUs can be considered/employed [95]. But for the sake of consistency, we will use VMs. Customers (N): Number of customers accounts for the active users using the services of the cloud services. In our thesis, we consider users who are accessing the services through 52 wireless network. Blocking (𝑷𝒃 ): To account for the grade of service offered by the cloud, we use the term blocking or blocking probability. As we discussed, cloud offers immense resources, in certain scenarios requests are accepted, and joins the service queue of the cloud. As some applications are delay sensitive, so as a consequence the QoS requirements of those applications tasks that are not finished within a certain time frame are regarded as missed tasks. In this way the blocking probability not always means the blocking of a particular task, but also certain undesired scenarios which equates to blocking a particular customer using a certain kind of cloud service. Mathematical model of the cloud: The fundamental question to be solved while finding the model of a cloud is: To calculate the blocking probability of a new customer, if we know the current resource (number of VM) and load (number of tasks in queue of the cloud)? Alternately; To calculate minimum amount of resources (VMs), if we know the load and the maximum blocking probability offered by the cloud. We assume public clouds follow the infinite source model while private cloud follows the finite source model. In order to formulate the inter-relation between VMs, N and Load, we start with queuing theory. Kendall’s notation: Kendall notation describes the queuing in the following notation: A/S/C/L/N Where A: the arrival process S : the service time distribution C : the amount of resource (virtual machines) L : the capacity of the queue N : the number of users whose job to be served If we assume that the rate at which the customer’s task arrive and get serviced is exponentially distributed [137] [139], we can formulate a relationship between blocking probability 53 and the cloud load. As we know exponential distribution exhibits memoryless property, the corresponding density functions is given by: 𝑓(𝑡) � = �𝑃(𝑋� = �𝑘) � = �𝛼𝑒 −𝛼𝑘 , 𝑘� > �0 (3.2) Corresponding Distribution Function: 𝐹(𝑡) � = �𝑃(𝑋� ≤ �𝑘) � = �1� − � 𝑒 −𝛼𝑘 , 𝑘� ≥ �0 (3.3) Since the exponential distribution exhibits the memoryless property. 𝑃(𝑋� > �𝑥� + �𝑘│𝑋� > �𝑘) = �𝑃(𝑋� > �𝑥) (3.4) where the expected value and the variance of the exponential distribution are 1/𝛼 and 1/𝛼 2 . Based on the memoryless property of the exponential distribution, we aim to find out the mathematical equation of the blocking probability of the cloud (pubic, private) based on the assumption that the customers’ requests arrive at exponentially distributed rate. 3.2.2.1 Public Cloud: As discussed earlier, public cloud is projected as an infinite source model. In this model there is no condition on the number of customers. Customers’ tasks/requests join the service queue and get serviced according to the number of VM’s available. If all the VM’s are in use then the tasks are delayed and sometimes blocked based on the time constraints of the service. At last, the results of the processed tasks are returned back to customers. So public cloud is represented by M/M/∞ queuing system. Figure 3-5: Infinite source model of Public Cloud [95] 54 The same process can be formulated in the form of Markov chain as shown in the following figure 3.6. Arrival and departure rates are described by λ and µ respectably. If arrival rate λ is greater than departure rate µ then the length of the queue increases and vice versa. Figure 3-6 Markov Chain Model of Public Cloud As defined in the previous section, blocking probability is described as a qualitative measure about customer experience. In literature, research has been done in perspective of content processing in cloud. [135] and [136] models is arrival of video packets follows the poisson distribution. Moreover trace analysis experiments done on the google cloud shows that accumulative arrival rate of jobs arriving in the cloud follows the poisson distribution [139]. If we assume arrival process follows the Poisson distribution then the inter arrival times of the tasks will be independent following exponential distribution. The probability distribution observed by arriving customers will be equal to the equilibrium distribution of Marcov Chain described above. So the blocking probability in this system is equal to the equilibrium probability that the system is in state C. Following equation has been derived by the analytical approach, in view of equilibrium balance property of incoming arrivals and serviced requests. 𝜌𝐶 /𝐶! 𝑃𝑏 (𝐶, 𝜌) � = �𝑝(𝐶; �𝐶, 𝜌) � = ∑𝐶 𝑖=0 𝜌 ��� 𝑖 /𝑖! (3.5) the ratio λ/µ is called the load 𝜌 of the system. It is a quantitative measure defining the total amount of work that is arriving in the system per time unit i.e. λ (mean number of customers that arrive per time unit). All arriving customers stay on average 1/µ time units in the system. While deriving the blocking probability equations, we assume the buffer size of the cloud remains same. Buffer size influences the number of tasks being rejected by the cloud (blocking probability). In case of variable buffer size, blocking probability can be further improved. We simulated the above equation for different values of load, and see how blocking probability varies with respect to load for different VM’s. 55 1 1 VM 5 VMs 10 VMs 0.9 0.8 Blocking Probability (%) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 5 10 15 Load 20 25 30 Figure 3-7: Effect of Load on Blocking Probability for various VM’s As shown in the Figure 3.7 that, the effect of load on the blocking probability (𝑷𝒃 ) is quite interesting. 𝑃𝑏 is not linearly proportional to the load, but shows that there are knee point as discussed at the start of the chapter 3. We can clearly see knee points in the figure 3.7 especially in the case of 1 VM (blue line, load=2.5). As the number of VM’s increase, the likelihood of cloud to block customer tasks decreases i.e. blocking probability decrease for the same amount of load. We used regression equations to derive quantitative parametric model of the of the performance metric of the cloud i.e. blocking probability. Blocking Probability: If 𝑥 and 𝑦 denotes the load and blocking probability respectively, then we can relate them with each other via the equations below: 56 VM = 1 : 𝑦 = �0.86 exp(.004383𝑥) − 0.8517 exp(−0.7476𝑥) (3.6) VMs = 5 : 𝑦 = �2.424 exp −(. 02126𝑥) − 2.497 exp(−0.05639𝑥) (3.7) VMs = 10 : 𝑦 = � −.0002689𝑥 2 + � .03473𝑥 − 0.08828 (3.8) The above equations have been obtained by fitting curve into the simulation data represented in the Figure 3.7. As discussed earlier, the relation between load and blocking probability is not linear but exponential as expected. Number of required VMs: Answering the alternative question we formulated in the section 3.5, we start with blocking probability for C = 0, and keep on incrementing the number of VMs by 1 and see its effect on the new blocking probability. 50 Load 30 Load 20 Load 10 45 Number of VMs 40 35 30 25 20 15 1 2 3 4 5 6 7 Blocking Probability (%) 8 9 10 11 Figure 3-8 Effect of Blocking Probability on Number of VM’s required for different Cloud Loads As evident from the Figure 3.8, for the fixed load if the blocking probability start decreasing (time constraints of the application are relaxed), the amount of resources need to be 57 invested in the cloud start decreasing. If 𝑥 and 𝑦 denotes the blocking probability and number of VMs respectively, then we can relate them with each other via the linear regression equations below: For load 30:�𝑦 = −.54𝑥 + 46.58 (3.9) For load 20: 𝑦 = −.5𝑥 + 34.64 (3.10) For Load 10: 𝑦 = � −.29𝑥 + 20.65 (3.11) We tried to formulate a parametric mathematical model of the public cloud in the form of equations above. We related different parameters of cloud i.e. blocking probability, load and number of VM’s to each other. We will use these equations later in multi-objective optimisation. 3.2.2.2 Private Cloud As compared to the public cloud, in the formulation of the model of the private clouds, we consider that the private cloud exhibits the finite resource model. Therefore the numbers of customers availing the services of the private cloud are also finite. Customers’ tasks/requests join the service queue and get serviced according to the number of VM’s available in the same way as in public cloud. If all the VM’s are in use then tasks are delayed and sometimes are blocked ultimately based on the timing requirements of the service. At last, the results of the processed tasks are returned back to customers. Since private clouds have to serve a certain number of customers usually in closed vicinity, the service delivered by private cloud also is changed. 58 Figure 3-9 Finite source model of Private Cloud In the public cloud, the arrival and departure of the customers can be formulated in the form Markov Chain as shown in the Figure 3.10. Arrival and departure rates are described by 𝛌 and µ respectably. If arrival rate 𝛌 is greater than departure rate µ then the length of the queue increases and vice versa. If we compare with Figure 3.6, we see the since the number of customers in private cloud are limited so arrival rate for each new customer also changes. Each new customer experiences different grade of service depending on the number of customers already present in the queue. Figure 3-10 Markov Chain Model of the Private Cloud Realizing that the blocking probability is the probability that an arriving customer observes C customers in the system, we can directly derive the blocking probability from the distribution. 59 (𝑁)𝜌𝑛 (3.12) 𝑃𝑏 (𝐶, 𝜌) � = �𝑝(𝑛; 𝑁, 𝐶, 𝜌) � = ∑𝐶 𝑛 𝑁 𝑖 𝑖=0( 𝑖 )𝜌 We simulated the above equation for different values of load, and see how blocking probability varies with respect to load for different VM’s and number of customers. 1 0.9 0.8 Blocking Probability (%) 0.7 0.6 0.5 0.4 0.3 0.2 100 customers, 25 VMs 200 customers, 25 VMs 0.1 0 0 2 4 6 8 10 Load 12 14 16 18 20 Figure 3-11 Effect of Load on Blocking Probability for various VM’s 100 customer, VMs = 25 : −193.7 exp −(.5779𝑥) + 193.4 exp(−0.5706) (3.13) 200 customer, VMs = 25 : −0.7936 exp −(. 0087𝑥) − 1.28 exp(−0.4876) (3.14) The above equations have been obtained by fitting curve into the simulation data represented in the Figure 3.11. Continuing the same approach as in the case of public cloud, we start with blocking probability for C = 0, and keep on incrementing the number of VMs by 1 and see its effect on corresponding on the new blocking probability. 60 90 80 200 customers, 100 customers, 200 customers, 100 customers, Number of VMs 70 60 load = load = load = load = 0.5 0.5 0.1 0.1 50 40 30 20 10 1 2 3 4 5 6 7 Blocking Probability (%) 8 9 10 11 Figure 3-12 Effect of Blocking Probability on the Number of VM’s required for different Private Cloud Loads As evident from the Figure 3.12, for the fixed load if the blocking probability start decreasing (time constraints of the application are relaxed), the amount of resources need to be invested in the cloud start decreasing. 200 customer, load = 0.5 : −.63𝑥 + 85.36 (3.15) 100 customer, load = 0.5 : −.47𝑥 + 47.86 (3.16) 200 customer, load = 0.1 : −.46𝑥 + 32.15 (3.17) 100 customer, load = 0.1 : −.30𝑥 + 19.11 (3.18) After formulating the analytical model of the cloud computing, we turn our focus towards the wireless network. If we summaries, public cloud is different from private cloud as it can accommodate infinite number of customer task, while in private cloud the number of customers are limited so their task are also finite. Due to that, in private cloud fixed resources are invested as compared to public cloud. If we compare the markov chains of both public and private cloud, we observe that arrival rates of public and private clouds are λ and 𝑁λ. That means private cloud 61 invests fixed amount of resources to N customers, so arrival of new customers affect the customers already being serviced. Moreover, if we compare the blocking probability equations of public and private cloud we observe the blocking probability of private cloud is limited by N number of users as reflected in equations. 3.3 Mathematical Model of Wireless Network Network is the most important component in our optimization pipeline. Mobile network, try to marginalize the huge infrastructural (computational and storage) resources available in the cloud due to its fading characteristics and bandwidth concerns. We simulate the behavior of mobile network, using LTE Vienna link level [96] and system level simulators v1.7r1119 [97]. Vienna Link Level Simulator The Vienna link level simulator consists of transmitter, channel model, and receiver as shown in the figure 3.13. Figure 3-13 Structure of Link Level Vienna Simulator [97] As demonstrated by the Figure 3.13 that for simulation purpose transmitter (Tx) send data and signaling to receiver (Rx). Signaling information is used to interpret the information of data at Rx. Signaling information is highly sensitive, therefore it is protected against any vulnerabilities of the channel and is assumed to be free from any error. Receiver sent the feedback back to the transmitter. Feedback Channel Status Information (CSI) consists of the following: Channel Quality Indicator (CQI): 4 bit binary number which describes the states of wireless channel as observed by UE. 62 Precoding Matrix Indicator (PMI): Precoding matrix is used in closed loop systems and tells about the beamforming multi-stream antenna systems. Rank Indicator (RI): describes number of independent paths that exist in a channel. More the RI, better the quality of the wireless channel. Based on the channel sensing information (CSI information) transmitter changes the corresponding Modulation and Coding Scheme (MCS). For example, if channel is quite bad, then CQI will be quite low and transmitter will shift the MCS to lower MCS ensuring less error rate at the cost of low datarate and throughput. LTE Transmitter The structure of the LTE transmitter is shown below. For the simulation purpose we use random data bits. Figure 3-14 Flow Diagram of LTE Transmitter [96] 63 Databits are grouped together and mapped to the corresponding symbols. The generated symbols are then translated onto the OFDM constellation. We take IFF and insert the CP and transmitted the formatted signal. Other sophisticated transmission schemes are also employed: Multiple Input Multiple Output (MIMO) : Multiple transceivers at the input as well as output provides diversity in wireless communication. Ultimately, throughput is increased while block error rate (BLER) is decreased for the same channel signal to noise ratio (SNR). Transmit Diversity (TxD): TxD work by employing multiple transmitters/receivers which transmit or receive identical signal at a particular time instant in order to overcome the error rate. Open Loop Spatial Multiplexing (OLSM): Spatial multiplexing (often abbreviated SM or SMX) is a transmission technique in MIMO wireless communication to transmit independent and separately encoded data signals, so-called streams, from each of the multiple transmit antennas. Therefore, the space dimension is reused, or multiplexed, more than one time [96]. Closed Loop Spatial Multiplexing (CLSM): The transmitter of eNodeB utilizes channel information to enable simple spatial diversity or beam-forming techniques that increase the system’s effective SNR and potentially simplify the receiver architecture [96]. Channel: The channel (CHN) in the Figure 3.13 has been shown in the form of a line joining the transmitter and receiver. The channel models the block and fast fading channels. The list of fading channels is given below: 1) Additive White Gaussian Noise (AWGN): This is the easiest channel for a wireless user to cope with. Due to the line of sight (LOS) path, AWGN provides least amount of vulnerability for a wireless user. 2) Flat Rayleigh fading: In flat fading channel the LOS path does not exist but a very strong indirect path exists. 3) Pedestrian Vehicular: These are quite difficult channels for wireless users due to the amount of vulnerability they exhibit. They have large Power Delay Profile because of which the power received at the receiver has larger spread and causes difficulty while achieving high transmission rates. 4) Winner Phase II+: This is the most sophisticated channel model. It is an evolution of the 3GPP spatial channel model and introduces additional features such as support for arbi64 trary 3D antenna patterns. So CHN provides quite comprehensive model of the fading which occurs in real time scenario. Receiver: An implementation of the receiver model has been shown below. Exactly inverse operation is done on the receiver side as compared to the transmitter. Figure 3-15 Flow Diagram of LTE Receiver [98] As shown in the Figure 3.15, the receiver receives the resource blocks (RBs) from the channel. It disassembles the RBs in accordance with the signalling information. After that MIMO Orthogonal Frequency Division Multiplexing (OFDM) detection is carried out. For signal detection the following detection algorithms are used. Zero-Forcing (ZF): ZF detector multiplies the received signal by the inverse of the fre65 quency response of the channel. Linear Minimum Mean Squared Error (LMMSE): LMMSE minimises the mean square error between received signal and estimated signal. Soft Sphere Decoder (SSD): SSD determines the received signal through an iterative way. The detected soft bits are decoded to obtain the data bits. Based on the detected data bits, we can calculate certain objective performance measures e.g. coded/uncoded BER, BLER, and throughput. Moreover, receiver also calculates the feedback for the transmitter for the next transmission. CSI information, as explained earlier contains CQI, RI and PMI as described in the section 3.3.1. The parameters used for simulations are mentioned in appendix I. In mobile network, channel information is regularly reported by the end user to the serving eNodeB through short term and long term periodical CQI (channel quality information) reports. Long term fading characteristics of network were measured by simulating the network behavior, and then they were regressed in mathematical form to derive the mathematical model of network for certain important parameters (SNR, BLER, Throughput and Bandwidth). Network model can be characterized by two main performance parameters i.e. throughput and BLER (Block Error Rate). User Throughput majorly depends upon SNR (fading characteristics of channel) and Resource Blocks (RB's) allocated to a certain user. 66 Table 2 Effect of CQI on Modulation Scheme and Throughput [99] Based on CSI feedback, transmitter scheduler allocates the Resource Blocks (RBs) and sets the corresponding MCS. Each MCS (4, 16, or 64-QAM) has corresponding coding rate as well as BLER (block error rate) and BER (bit error rate). Table 2 describes the effect of CQI on block error rate. As the SNR of the wireless channel improves, the CQI is increases and the error curve shifts to the right. With the increasing values of CQI, the modulations at the modulator as well as demodulator are changed. High order modulations have bigger constellation size which ultimately ensures more bits to be transmitted in single frame. This in turn increase the effective data rate of the channel as well as efficiency. The relation between CQI values and code rate & efficiency has been mentioned comprehensively in table 2. Figure 3.16 and 3.17 shows graphically, how CQI affects the efficiency of the wireless channel. Block error response of channel (BLER) improves as the 67 SNR improves (Figure 3.17). Similarly, as CQI improves, LTE transmitter starts using high constellations for transmissions, so the throughput also increases at the CQI increases (Figure 3.18). 0 BLER, 1.4MHz, SISO AWGN, 5000 subframes 10 CQI 1 CQI 2 CQI 3 CQI 4 CQI 5 CQI 6 CQI 7 CQI 8 CQI 9 CQI 10 CQI 11 CQI 12 CQI 13 CQI 14 CQI 15 -1 BLER 10 -2 10 -3 10 -20 -10 0 10 SNR [dB] 20 30 Figure 3-16 Effect of SNR on Block Error Rate (BLER) for multiple CQI values 68 throughput, 1.4MHz, SISO AWGN, 5000 subframes 6 throughput [Mbps] 5 CQI 1 CQI 2 CQI 3 CQI 4 CQI 5 CQI 6 CQI 7 CQI 8 CQI 9 CQI 10 CQI 11 CQI 12 CQI 13 CQI 14 CQI 15 4 3 2 1 0 -20 -10 0 10 SNR [dB] 20 30 Figure 3-17 Effect of SNR on Throughput for multiple CQI values If 𝑥5 , 𝑥6 represents the SNR and RB's allocated to user respectively, then throughput ψ(𝑥5 , 𝑥5 ) was regressed mathematically as; ψ(𝑥5 , 𝑥6 ) = (.006𝑥5 2 + .1161𝑥5 + .574)*(�𝑥6 ) (3.19) A two dimentional throughput model is depicted in Figure 3.18. From the Figure, it is obvious that throughput increases quadratically w.r.t. no. of RB's and linearly w.r.t. SNR. 69 100 90 Throughput (mbps) 80 70 60 50 40 30 20 10 0 100 90 80 20 70 15 60 50 10 40 Resource Blocks/User 5 30 0 20 -5 10 0 SNR -10 Figure 3-18 Effect of SNR and RB's/User on Throughput Similarly, BLER 𝜒(𝑥7 ) is another performance parameter of LTE. It is primarily dependent upon the channel SNR 𝑥7 available to certain user. After simulation, we aggregate the following relation between SNR 𝑥7 and BLER 𝜒(𝑥7 ). 𝜒(𝑥7 ) � =� -.2481*exp(2.01*log(𝑥7 )) (3.20) Later we will use ψ(𝑥5 , 𝑥6 ) and 𝜒(𝑥7 ) to represent LTE mobile network model. We repeated the above experiment for different transmission modes discussed in the section 3.3.2 with the two cases. Case A (3 retransmissions): In the first case, receiver is allowed to request 3 retransmissions from the transmitter in the case of any information loss. As we can see for same SNR (CQI-7), the sophisticated modes of transmission i.e. MIMO (TxD 4x2, TxD 2x1 and OLSM) provides better error response as compared to SISO. Rate of BLER decrease is quite steep in the high transmit diversity (TxD 4x2) as compared to SISO. 70 0 BLER, CQI 7, PedB, 5000 subframes, 3 retransmissions 10 -1 BLER 10 -2 10 SISO TxD 2x1 TxD 4x2 OLSP 4x2 -3 10 -10 -5 0 5 SNR [dB] 10 15 20 Figure 3-19 Effect of SNR on Block Error Rate (BLER) for different Transmission Schemes (3 retransmissions) Curve fitting is used to fit equations to the curves which are obtained after the simulations. The following equations relate BLER with the SNR for various transmission techniques described below. SISO: 𝑦 = �0.103𝑧 3 − � .0133𝑧 2 − � .568𝑧 + � .481 (3.21) Where 𝑧 = (𝑥 − 7)/7.94 TxD 2x1: 𝑦 = �0.00017𝑥 3 − � .0017𝑥 2 − � .067𝑥 + � .76 (3.22) 𝑦 = �0.000045𝑥 3 − � .0004𝑥 2 − � .082𝑥 + � .46 (3.23) 𝑦 = �0.00024𝑥 3 − � .0041𝑥 2 − �0.054𝑥 + � .88 (3.24) TxD 4x2: OLSM: 71 MIMO and OLSM also provides better throughput as compared to SISO. The reason is BLER response allows transmitter to use higher modulation schemes which ultimately results in higher throughput. Interestingly, we also see saturation in the throughput after certain threshold. throughput, CQI 7, PedB, 5000 subframes, 3 retransmissions 2.5 throughput [Mbps] 2 1.5 1 SISO TxD 2x1 TxD 4x2 OLSP 4x2 0.5 0 -10 -5 0 5 SNR [dB] 10 15 20 Figure 3-20 Effect of SNR on Throughput for different Transmission Schemes (3 retransmissions) Curve fitting is used to fit equations to the curves which are obtained after the simulations. The following equations relate throughput with the SNR for various transmission techniques described below. SISO: 𝑦 = � −0.00028𝑥 3 + � .0056𝑥 2 + � .06𝑥 + � .11 (3.25) 𝑦 = � −0.00021𝑥 3 + � .0022𝑥 2 + .086𝑥 + �0.3 (3.26) TxD 2x1: 72 TxD 4x2: 𝑦 = �0.000055𝑥 3 − � .0048𝑥 2 + � .1𝑥 + � .66 (3.27) 𝑦 = � −0.00058𝑥 3 + � .01𝑥 2 − �0.13𝑥 + � .28 (3.28) OLSM: Case 2 (No HARQ): In the second case, Automatic Repeat Request (ARQ) is used by the receiver if it does not receive any data from transmitter in a certain time frame. Hybrid ARQ combines the function of ARQ along with forward error correction at the receiver. As expected, case 2 shows worse error performance than case 1. BLER, CQI 7, PedB, 5000 subframes, No HARQ 0 10 SISO TxD 2x1 TxD 4x2 OLSP 4x2 -1 BLER 10 -2 10 -3 10 0 5 10 15 20 25 SNR [dB] Figure 3-21 Effect of SNR on Block Error Rate (BLER) for different Transmission Schemes (No HARQ) Curve fitting is used to fit equations to the curves which are obtained after the simulations. The following equations relate BLER with the SNR for various transmission techniques described below. SISO: 73 𝑦 = �0.000038𝑥 3 + � .00048𝑥 2 − � .084𝑥 + �1.2 (3.29) 𝑦 = �0.00012𝑥 3 + � .0078𝑥 2 − � .17𝑥 + �1.2 (3.30) 𝑦 = �0.0002𝑥 3 − � .011𝑥 2 − � .18𝑥 + � .87 (3.31) 𝑦 = �0.000052𝑥 3 − � .0025𝑥 2 − �0.12𝑥 + �1.2 (3.32) TxD 2x1: TxD 4x2: OLSM: The throughput curves are shown in Figure 3.22. It is quite interesting to observe that, throughput shows a saturation after a certain threshold SNR (knee point). This clearly indicates that, investment of extra input resources i.e. SNR does not always translate into proportional output gains i.e. throughput. throughput, CQI 7, PedB, 5000 subframes, No HARQ 2.5 throughput [Mbps] 2 1.5 1 SISO TxD 2x1 TxD 4x2 OLSP 4x2 0.5 0 0 5 10 15 SNR [dB] 20 25 30 Figure 3-22 Effect of SNR on Throughput for different Transmission Schemes (3 retransmissions) 74 Curve fitting is used to fit equations to the curves which are obtained after the simulations. The following equations relate throughput with the SNR for various transmission techniques described below. SISO: 𝑦 = � −0.000052𝑥 3 − � .00065𝑥 2 + � .11𝑥 − � .21 (3.33) 𝑦 = �0.00015𝑥 3 − � .01𝑥 2 + � .22𝑥 − � .23 (3.34) 𝑦 = �0.00025𝑥 3 − � .013𝑥 2 + .22𝑥 + � .16 (3.35) 𝑦 = �0.000011𝑥 3 − � .006𝑥 2 + .28𝑥 − � .59 (3.36) TxD 2x1: TxD 4x2: OLSM: We simulated 3 scenarios in LTE (4G) wireless network. From the simulated results, we used curve fitting to related input (SNR) and output (throughput, BLER) parameters through mathematical equations. Various pedestrian and vehicular simulation environments have been used. But in all scenarios simulations single wireless cell has been used. If multicellular simulation scenario is used then due to movements of user across different cells the wireless connectivity is affected. In those case, an extra overhead of handover time need to be taken into account. Moreover CQI fluctuations can also pose a lot of problems in augmenting the behaviour of the wireless channel. CQI fluctuation are usually so abrupt that future values of CQI are very difficult to estimate. Since wireless network parameters are affected by CQI so a robust technique need to be devised which optimise the behaviour of end to end communication scenario in view of fluctuating CQI. We will use these equations later while analysing the effect of wireless network on end to end communications framework. 3.4 Mobile User Context and QoS User context represents user social and mobile hardware context. From a simplistic point of view, user mobile hardware profile shapes the profile of the application. For example, Laptop user, PDA user and Smartphone user each represent certain display, battery, storage 75 capabilities and traffic intensity models corresponding to application profile [100]. In end to end communications, mobile user’s social context, its hardware profile (e.g. RAM, CPU, battery status) and application profile shape the end user QoS. As described earlier in the section 3.3, LTE has inherent QoS management in which QCI (QoS Class Identifier) is used to identify and prioritize multiple traffic streams belonging to different applications. A two traffic model scenario has been presented in [78]. In this way, gaming and video services has been considered. We apply the same model in our optimization model. The model takes into account the traffic differentiation and service prioritization. Let us consider a user 𝑖 is using two services in the time interval T. The two services have average packet transmission rates 𝑓1 and 𝑓2 , while average packet sizes are 𝑠1 and 𝑠2 respectively. If 𝑠𝑖𝑚𝑎𝑥 is effective bitrate corresponding to the SNR, then the maximum amount of 𝑇+𝑑𝑚𝑎𝑥 data that can be transmitted to ith user during time T is given by 𝑁 𝑛 [ ].∆ . 𝑠𝑖𝑚𝑎𝑥 where 𝑑 𝑚𝑎𝑥 is maximum scheduling delay and ∆ is TTI length. In this way, the user satisfaction requirement is given by; 𝑁 (𝑠1 𝑓1 + 𝑠2 𝑓2 ). 𝑇. [ 𝑛 ] . ∆ (𝑇 + 𝑑𝑚𝑎𝑥 ). 𝑠𝑖𝑚𝑎𝑥 ≤ 1 1−ε (3.37) So the corresponding objective function is; 𝑁 𝒵(𝑥8 , 𝑥9 ) � = � (𝑠1 + 𝑥8 𝑓2 ). 𝑇. [ ] . ∆ 𝑛 (𝑇 + 𝑑𝑚𝑎𝑥 ). 𝑥9 ,���𝛼 = 𝑥8 , 𝛽 = � 𝑥9 (3.38) 𝑠 where �= � 𝑠1 , 𝛽 = � 2 𝑠𝑖𝑚𝑎𝑥 𝑠1 . QoS model in terms of traffic skewness(𝛼) and traffic size(𝛽) is platted in Figure 3.23. From the Figure, it can be observed that, if we prioritize one traffic over the other (increase 𝛼) and reduce individual packet sizes (decrease 𝛽), we can increase the capacity 𝒵(𝛼, 𝛽). 76 Number of User's Served 800 700 600 500 400 300 200 100 0 10 5 0 10 6 8 4 2 0 Figure 3-23: Effect of Traffic Skewness (𝞪�) and Traffic Size (𝞫�) on user capacity 3.5 Mobile Hardware Model: Mobile Hardware model takes into account, the ability of mobile hardware for processing, storage and delivery of mobile application data in case of offloading. Mobile battery is most vulnerable component. Some work has already been done in view of the mobile battery discharge rate (Li-ion battery) [101]. Let us consider an application consists of N tasks, the ith component has 𝐾𝑖 states, 𝑖 = 1,2, … 𝑁, the 𝑖𝑡ℎ component in the 𝑗𝑡ℎ state consumes power 𝑝𝑖𝑗 for 𝑖 = 1,2, … 𝑁, 𝑗 = 1,2, … , 𝐾𝑖 . Let 𝑡𝑖𝑗 denote the time that the 𝑖𝑡ℎ component spends in the 𝑗𝑡ℎ state during the time interval of T. The energy consumption of the system during the interval can be calculated as: 𝑁 𝐾𝑖 𝑦(𝑇) = � ∑ ∑ 𝑝𝑖𝑗 𝑡𝑖𝑗 𝑖=0 𝑗=0 (3.39) When we divide the time interval T from both sides, we have; 𝑁 𝐾𝑖 𝑦(𝑇)/𝑇 = � ∑ ∑ 𝑝𝑖𝑗 (𝑡𝑖𝑗 /𝑇) 𝑖=0 𝑗=0 (3.40) Where 𝑡𝑖𝑗 /𝑇 represents the discharge rate of ith component in jth state. The dis77 charge rate is highly dependent upon the CPU consumption cycles. One objective of our work is to reduce the discharge rate of mobile battery by efficiently offloading the CPU computational cycles to cloud. In this way, we monitor the battery current states and estimate battery life via discharge rate. 3.6 Multi-objective Optimization Methodology In section 3.2-5, we described input/output relations of network, cloud, user and application parameters. Equation 3.1 has been used to relate input investments and output gains into objective functions. After obtaining all the objective functions, we aim to minimize them in view of the contraints. This leads to a multi-objective optimization problem. In view of the objective functions defined in sections 3.2-5, we formulate the optimization problem as; minimize{𝜔(𝑥1 , 𝑥2 ), 𝜋(𝑥3 , 𝑥4 ), ψ(𝑥5 , 𝑥6 ), 𝜒(𝑥7 ), 𝒵(𝑥8 , 𝑥9 )} (3.41) 𝑠. 𝑡. �𝑥1 , 𝑥2 , . . , 𝑥9� ∊ 𝑋 minimization constraints has been described in section 3.2,3.3 and 3.4. Evolutionary algorithms have been proved to be very effective in solving multi-objective optimization problems (MOP’s) with very less computational complexity [82]. Contrary to single objective problem, a MOP does not have a single optimal solution, but a set of most feasible solutions. An MOP is pareto optimal if there exists no other feasible solution which would decrease some criterion without causing a simultaneous increase in at least one other criterion. In our simulation framework, we modeled the context of cloud, application, mobile and network by the corresponding objective functions. Each objective function involves a set of decision variables. Each objective function was normalized by its range so that no parameter jeopardizes the overall objective function. MOP finally search out the pareto efficient solution. Mutation and crossover control the trend of optimization. User preferences and fitness criteria dictate about choosing the better solution (empirically very near-optimal) among a set of feasible options in a MOP. In our simulation, we designed user context such that end user does not has any preferences related to the extra resource allocation in network or cloud. The solution is chosen from the pareto front which minimize the cloud and network resources without any preference. 3.7 Dependency Functions Dependency functions define the effect of resource allocation in one contextual model on 78 the other i.e. how the four (4) individual models are linked to each other. I. How the application parameters i.e. packet size and packet inter-arrival time influence the corresponding cloud resources (number of cloudlet's, VM's and datacenter). II. How cloud data translate into the amount of network requirements (SNR, bandwidth, BLER and throughput) keeping in view the variable channel conditions (variable CQI). III. With the given mobile network, how QoS of the given user is achieved. In our preliminary simulations, we have used linear dependency functions. The dependence functions provide a glue to join all the models described earlier as shown in the Figure 3.24. Figure 3-24 CANU (Cloud-Application-Network-User) Framework 3.8 Results and Discussions In this section, we simulate the CANU framework described in the section 3.7. Effect of Channel on Throughput Channel Quality Indicator (CQI) depicts the wireless channel available to the user. We increased the CQI from minimum (0000) to maximum (1111), allowed in network context to allocate more radio resources. That results in increased throughput as depicted in the Figure 79 3.26. 100 90 80 Throughput (mbps) 70 60 50 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 Channel Quality Indicator (CQI) Figure 3-25: Effect of CQI on Throughput The increase in the throughput is evident of the fact that, better wireless channel allows the optimization engine to allocate more resource for the network. This results in increased SNR, which ultimately lead to appreciable increase in the user throughput. Effect of Cloud Load on Network BLER As discussed in section 3.2.2.1, as the number of requests arriving in the public cloud increases (cloud load) the blocking probability increases proportionally. In the end to end multiobjective optimization scenario, this in turn shift more burden on the network. So the network BLER start rising in view of increasing load on the cloud. 80 40 Block Error Rate (BLER %) 35 30 25 20 15 10 5 0 0 10 20 30 40 50 60 70 80 90 Cloud Load (number of users) Figure 3-26 Effect of Cloud Load on Network BLER As we see in the figure, as the cloud load increase we see the likelihood of block error rate also increase. Though this is not true for all case, as multi-objective optimization methodology consider a number of other factors in the optimization process. Effect of Population Size and Number of Generations Population size (𝑁𝑜 ) and number of generations (G) are the two parameters which controls the performance of the genetic algorithm used for optimization. As the 𝑁𝑜 �𝑎𝑚𝑑�G tends to increase, the pareto performance of algorithm also increases. However, this also contributes towards increase in the agility response (time for optimization). We had designed the objective functions such that the empirically very near-optimal solution minimizes all the objective functions simultaneously. As we have designed the objective functions such that lower the sum of objective functions (objective sum), better is the solution. In our experiment, we generated 100 best solutions (solution set) by varying populations and number of generations. Then normal probability density function was fitted in each solutions set. It is evident from Figure 3.28, as the number of generations and population size increases the probability distribution of objective sum moves towards minimum showing performance 81 improvement. Figure 3-27 Effect of number of Generations on the performance Figure 3-28 Effect of the Populations size on the performance 3.9 Comprehensive CANU Model In 3.3.1 and 3.3.2, we have varied the effect of channel variations, population size and 82 number of generations on the optimization performance. We propose to extend the same theme to take into account many other parameters of the user, network, application, cloud and optimization algorithm. Moreover we will also take into account learning and prediction of parameters to further improve the performance. An overview of the proposed algorithm is presented below: Steps Description Contextual In- User profile (subscription and social profile, battery status, resolu- formation tion, processing and storage) Network (CQI, channel type ζ, Number of Users) Cloud (Utilization status η, VM’s) Application Profile Application profile ẞ (Packet sizes, packet interarrival constraints) Cloud Blocking Probability, VM’s Load, Number of Customers ~ ẞ SNR ~ CQI, (Throughput response, BLER) ~ ζ Optimization Determine the optimal amount of Network, Cloud and User resources in view of the Application Profile. Offline application modeling According to rate of channel variation, cloud loading variation neural network is used. Use of statistical information about User, Network and Cloud to predict the variability in network, cloud and user context. 3.10 Summary In this chapter, we aim to investigate the behavior of cloud, network, application and user QoS aspects in terms of corresponding input and output performance parameters. In section 3.1-4, we have formulated mathematical models of the mentioned entities of an end to end communication framework. A comprehensive model of each entity is presented in the form of mathematical equations which relate the input resources and output gains. A CANU (CloudApplication-Network-User) framework has been presented in this way which glues all the entities. We have applied multi-objective optimization on our framework and tried to find out the effects of certain parameters on the other. We also have analyzed and simulated the accuracy of multi-objective optimization algorithm in the section 3.8.2 and 3.8.3. We have observed the parameters of certain entities are beyond the control of user. For example, wire83 less channel behavior and cloud blocking probability are beyond the control of user. This appeals us to find certain ways to control application behavior according to changes in the cloud and wireless network. In the next chapter we will focus on application and will explore the ways by which an application can be tuned according to certain independent parameters of cloud and wireless network. 84 4 A COMPREHENSIVE APPLICATION PARTITIONING AND OFFLOADING FRAMEWORK With the advent of rich multi-media applications, mobile phones are becoming very pervasive. However running of complex data intensive applications on mobile devices is still very challenging due to limited resource constraints such as memory capacity, CPU speed, and battery power. Recently, the advancements in computing and networking have enabled smart phones to leverage the abilities of traditional desktop or laptop computers. Smart phone without any doubt are on the way to become the personal computers in the near future. Following the same trend, efforts are being made in both networking as well as computing domains to resolve the resource limitations of the mobile phones. Several desktop applications are being designed for universal usage and availability on mobile devices. Freeview television, augmented reality, Mobile 3D gaming and Mobile biometrics are clear examples of future trends. Application offloading is an emerging area focused towards leveraging the huge computation resources available in cloud to avail for the mobile. This research area is quite challenging due to the heterogeneity of applications, mobile and cloud resources [25]. Offloading becomes even more complex when vulnerable nature of wireless communication is taken into account [102]. In our research, we formulated the offloading research problem in terms of contextual modelling of cloud, mobile, application and wireless network in terms of their parameters and then discuss the feasibility of application partitioning and offloading by representing an application in the form of a graph. Structure of the Chapter In this chapter, we will focus on the application part of the multi-objective optimization. Offloading an application is not always beneficial. It is therefore essential to devise algorithms to judiciously determine the part of an application to be offloaded to the cloud server and to run on the mobile device to achieve certain performance benchmarks e.g. low response time and/or energy consumption, etc. We start with formulating the partitioning problem. Then based on the devised problem application is partitioned and offloaded keeping in view certain parameters. Partitioning performance is finally measured with certain benchmarks discussed thoroughly in this chapter. 85 Application Attributes 4.1 This chapter will focus on Application and its computational description in terms of different parameters to represent any application in terms of objective parameters and then based on those parameters determining the feasibility of executing a part of application (A) in cloud. Application offloading is used to migrate data and complexity intensive parts in an application to a surrogate engine such as server or cloud provider. Application Scalability and Flexibility In the previous chapter, a broad optimization problem involving mobile network, cloud, mobile phone and end user is devised, which intends to tune network and cloud resources keeping in view the demands of end user. In this chapter, our formulated optimization problem is narrowed down particularly to the application. In this way, we investigate and focus on the influence of application in saving cloud and network resources according to the demands of end user. A scalable and flexible application can be partitioned and migrated to the cloud. So the resource intensive parts of the application are executed on the cloud. Feasibility of Application Offloading As already discussed, offloading is not always feasible as offloading extra nodes to cloud incurs extra cost in terms of response time and consumed energy without any added advantage. To characterize the behavior of an application, various methods are present in the literature. Linear programming and graph theory based approaches are popular as these aim to mimise closely the behavior of the application in terms of input and output data. We have chosen graph modeling as it can easily integrate the objective functions derived in the previous chapter in the form of Graph edges and nodes. Classification of Application Tasks After profiler has completed the profiling of the application, we come across the following two types. Unoffloadable Tasks: Some tasks can’t be offloaded for remote execution because, i) Exchanges a lot of data across each other and this causes a lot of burden for network resources. So it is not feasible to dis-associate those tasks. ii) Uses the local resources of mobile (e.g. user interface, camera, GPS or other sensors) so often that they can’t be offloaded remotely. 86 iii) Can’t be offloaded due to security issues. Offloading Tasks: Offloading framework relies on the tasks which are flexible to be offloaded either locally or remotely. Many tasks fall into this category due to their ability to work in the remote plane with input and output data exchanges. Here comes the compromise, whether we want to value battery power of the mobile device over the cost incurred by network and cloud usage. In terms of formulated application graph theoretic problem mathematically, the unoffloadable tasks are those nodes which does not take part in partitioning and offloading process. Topologies of Applications The way methods (nodes in graph) are connected to each other create varies topologies of application structure. Based on that, application partitioning and offloading also varies. In the Figure 4.1, we describe the following topologies for application. Single node: In the topology, whole application is considered as a single node. This topology is feasible for scenarios where the complete application is offloading to surrogate. In this way, application is considered as a software as service and migrated to a remote server involving the complete transfer of code along with program structure. Linear Structure: This represents a steady state linear combination of tasks which are associated with each other through input and output data relationship. Due to lower interdependency of nodes with each other, this sequential structure proves to be quite feasible for partitioning and offloading. Loop-based Structure: This kind of application structure is similar to linear structure except the last method provides a feedback to the first method. Tree-based structure: As the name suggests, this kind of application structure contains a lot of branching from each node, while ultimately results in a tree like structure. Likelihood of partitioned for such kind of applications is quite low due to the complex topological order of the graph. We will discuss topological order in more detail in the next chapter. Mesh-based structure: In mesh-based topology, each node is connected to other through an edge. This highly connected structure of application makes it difficult to be partitioned. 87 Figure 4-1 Task Flow Graphs in different topologies Representation of Application Two types of costs are taken into account when representing an application with a weighted graph: Cost of the node: This represents the computational cost associated with each node which indirectly expresses a block, class, method or task in an application. Offloading a block of an application to the cloud results in the reduction of the corresponding cost. This is because of the efficiency associated with the cloud servers in terms of energy consumption and execution time. We call it speed up factor. In literature, authors has taken the speed up factor as a constant, but in our thesis we will use speedup factor to be variable depending upon the load, number of VMs and blocking probability associated with the cloud. Cost of the edge: Cost of the edge is modelled in accordance to the data exchanged between two nodes. In case of partitioning and offloading framework, exchange of data between nodes may involve network too. In this case, the cost of the edge will be inversely proportional to the bandwidth available at the instant while mobile network was accessed. Graph theory is used to relate data dependencies within a computation. As described above, graph is composed of vertices and edges. In our data computing approach, each vertex of graph represents a method or task while each edge represents the relationship between two edges. It is better to mentioned here that, all tasks can’t be offloaded to the cloud due to their certain reasons. Such subset of unoffloadable tasks (nodes) is always reserved and partition algorithm is not applied on such tasks. 88 4.2 Application Offloading and Partitioning Framework Application Parameter Modeling Keeping in view of the above information about nodes, we aim to construct a weighted graph. Each vertex 𝑣� ∈ 𝑉 has corresponding two cost weights: 𝑤𝑙𝑜𝑐𝑎𝑙 (𝑣) & 𝑤𝑐𝑙𝑜𝑢𝑑 (𝑣). 𝑤𝑙𝑜𝑐𝑎𝑙 (𝑣) and 𝑤𝑐𝑙𝑜𝑢𝑑 (𝑣), represent the computational cost of executing the task 𝑣 on the mobile device (locally) and on the cloud (remotely) respectively. 𝑤𝑐𝑙𝑜𝑢𝑑 (𝑣), is scaled version of 𝑤𝑙𝑜𝑐𝑎𝑙 (𝑣) by computational superiority of cloud over mobile phone. In literature, a fixed scaling factor (𝐹) has been used to depict a computational multiplying factor of the cloud. In our algorithm, 𝐹 is dependent on the blocking probability of the cloud (𝑃𝑏). 𝑃𝑏 itself depends upon the number of users using the cloud and the number of VM’s available at that instant. Profiler Attribute indicates type of underlying details profiler gathers while constructing the abstraction of the application. Hardware profiler gathers details about physical attributes like CPU, RAM and battery consumption. Software profiler gathers applications information such as computational cost of applications methods, data exchange and interdependency between methods and code size. Network profiler gathers information about network parameters such as bandwidth, throughput, network error etc. In our partition framework, we have used software profile, which construct the interdependency graph of the application based on computational cost of methods and data exchange among them. As explained in section 3.5, we assume the battery consumption is directly related to the computational cost implied by each method of the application. Similarly in our simulations, the network information is taken by changing the network parameters. So we are integrating network, hardware profiling abilities in our software profiler. Analysis Technique refers to the context of analysing the application partitioning statically or dynamically. In static case, the parameters or the different objective parameters remains the same, while the parameters are allowed to change in dynamic case. The fundamental challenge faced while analysing the options of code offload, is to compromise the tradeoffs between energy, network ability, and computational fidelity. Interestingly, tradeoffs changes constantly for different types of applications, the device’s specifications, available network characteristics and user preferences as we have discussed in the chapter 3. 89 Figure 4-2 Flowchart of Application Partitioning Framework 90 If number of users using cloud services increase, blocking probability increases which in turn decreases the speedup factor (F). Intuitively it becomes less desirable to offload to cloud when many users are already using the cloud services. Similarly, profiler provides weight of each vertex based on the computational cost (𝑘) of each vertex. In literature, a fixed metric (𝑘) for vertex weight has been assigned. We instead, use a variable value of vertex scaled by the channel bandwidth available at that instant. As described in previous chapter, channel bandwidth depends upon various factors i.e. CQI, channel type, number of user in wireless cell etc. In view of the partitioning cut, vertices are assigned one of the weights depending on the partitioning result of the application graph. The edge vector 𝑒(𝑣𝑖 , 𝑣𝑗 ) is calculated each time in view of different channel conditions. 𝑒(𝑣𝑖 , 𝑣𝑗 ) denotes the communication cost amongst tasks. The weight of an edge 𝑤(𝑒(𝑣𝑖 , 𝑣𝑗 )) is denoted as: 𝑤 (𝑒(𝑣𝑖 , 𝑣𝑗 )) = 𝐷𝑖𝑗 𝐶𝑖𝑗 (4.1) Where 𝑤(𝑒(𝑣𝑖 , 𝑣𝑗 )) represents the cost associated with the wireless network while transferring information 𝐷𝑖𝑗 with corresponding communication cost 𝐶𝑖𝑗 between mobile and the cloud when the tasks 𝑣𝑖 and 𝑣𝑗 are executed locally and remotely. 𝐶𝑖𝑗 closely depends on certain network parameters e.g. CQI, number of UE in wireless cell, communication framework (SISO, MIMO) and bandwidths (uplink bandwidth 𝐵uplink and downlink bandwidth 𝐵uplink). In our case, we closely monitor CQI (channel quality indicator) to determine the availability of instantaneous bandwidth using the feedback reports of the end user. Partitioning Benchmarks: Once we have quantified the weights of edges (𝑤(𝑒(𝑣𝑖 , 𝑣𝑗 ))) and vertices (𝑤𝑙𝑜𝑐𝑎𝑙 (𝑣), 𝑤𝑐𝑙𝑜𝑢𝑑 (𝑣) ), we formulate the partitioning and offloading problem in terms of cost model in the section 4.4. Before that, we want to discuss, how all the entities of the CANU model influence the partitioning and offloading algorithm in the section 4.3. 4.3 Influence of CANU models on Partitioning: Finding the optimal partitioning solution is an optimization problem which leads to make the best compromise between time/energy savings and transmission costs/delay. The optimal partitioning decision depends on the following: 91 User QoE (Quality of Experience) QoE is highly influenced by a number of factors. It involves the set of applications used by the user on mobile device, user sensitivity on response time and user device information. In our partitioning problem formulation, we introduced a factor e to depict the user preferences towards either response times or energy saving. Device information: Device information comprises of comprehensive information of the user equipment (UE). It includes the computational power of the UE in terms of the certain objective factors: RAM, ROM (storage ability), battery depth (mAhs) and execution speed of the device. If the execution speed of the UE is quite slow and user and/or application requirements related to execution speed are highly sensitive, then that UE has higher capacity to exploit resources in the cloud. Moreover, due to mobile limited battery concerns offloading a task onto cloud may help to save some battery. For example, if the mobile battery is quite low then mobile is likely to offload maximum processing over to the cloud assuming that other parameters remain the same. Wireless Network: In addition to the Network bandwidth, there are certain other factors which affect data exchange between mobile device and cloud. In our simulation, we use 4G LTE as our network model. Network bandwidth is the most important parameter; it is influence by the physical channel between mobile user and the base station, number of users in a mobile cell and speed of user. As discussed in the chapter 3, if the SNR is high then CQI will dictate higher MCS which will ultimately result in better throughput and less error rate in the wireless channel. In short, cost associated with the wireless network will be low. Conversely, in the case of errors in the wireless network the opportunity cost to exploit cloud resources will increase appreciably till a point where using cloud resources does not remain feasible anymore. For example, if wireless channel is in very good condition and mobile battery is low, then likelihood of offloading increases assuming the cloud resources and user preference parameters remains the same. Mobile device model Mobile device battery and processing ability has a lot of influence on the mobile phone model. Since generation of user tasks are exponentially distributed, an exponential function 92 has been used to give weightage to the usage of the battery. If battery goes below a certain level, weighted functions shoots up exponentially to indicate immense cost associated with the processing locally in mobile phone. Based on the other applications running inside mobile phone, we calculate allocated weightage of processing ability dedicated to mobile phone. In this way, if 10 applications are being run in the mobile, then weightage of the RAM and storage figures tells about the weightage of processing ability. For example, if devices does not have good resources e.g. RAM and storage then likelihood of processing computation in the cloud increase regardless of the cloud and network resources. Application Some applications have program execution structure in such a way that makes it quite feasible for partitioning and offloading to the cloud. This includes presence of heaver edges at the end of the application and presence of thinnest edge at the start of the application. The decision about where to partition & offload a partition is made based on the comprehensive cost (computational and communication costs) prior to the execution of the application, as mentioned in section 4.2. 4.4 Partitioning Algorithm for offloading: In this section, we propose partitioning algorithm for arbitrary topology. Most of the topologies we encounter in experimentation phases are linear. The partitioning framework takes an input weighted graph. The weighted graph comprise of an application’s comprehensive formulation in terms of operations/calculations of each nodes and the communication between the nodes through each edge. Each node has two costs: first is the cost of performing the operation locally (e.g. on the mobile phone) and second is the cost of performing it elsewhere (e.g. on the cloud). The weight of the edges is the communication cost to the offloaded computation. It is assumed that the communication costs between operations in the same location are negligible because two tasks/methods are colocated. The result contains information about the cost and reports which operations should be performed locally and which should be offloaded. The partitioning algorithm can be divided into two steps as follows: 1) Vertices Merging: An unoffloadable vertices are those vertices whose special features make them unable to be migrated outside the mobile device. Thus we treat 93 them differently while formulating our partitioning problem. We keep them in the unoffloadable partition. In addition to this, we can force certain tasks to be executed locally based on our own choices and preferences which are added to the unoffloadable partition. Then all vertices that are executed locally are merged into one big node that is selected as the source vertex. Since all these nodes are colocated bearing no communication cost, the computation cost can be joined together as an aggregated cost whose weight is the sum of the weights of all merged nodes. Let G represent the original graph after all the unoffloadable vertices are merged. 2) Coarse Partitioning: The aim of this step is to coarsen G to the coarsest graph 𝐺𝑐 . In the processing of coarsening we start merging two adjacent nodes together and thereby reducing the node count by one. In this way, the number of iterations of the algorithms depends upon the number of vertices V. In each iteration i 𝑓𝑜𝑟�(𝑖 = 1�𝑡𝑜�𝑖 = 𝑉 − 1�), the cut value representing the partitioning cost in a graph 𝐺𝑐 = (𝑉𝑐 , 𝐸𝑐 ) is calculated. 𝐺𝑐 + 1�is computed from 𝐺𝑐 by merging “suitable nodes", where 𝐺𝑐 = 𝐺. The partitioning is performed in such a way that in the end we get minimum cut among all the cuts which maximize our objective functions for both local and cloud execution. We will describe the objective functions later in section 4.6. 4.5 Image Retrieval Application: To test the validity of our partitioning and offloading framework, we needed an application which case exploit huge potentials of the cloud with very limited data transfer through wireless network. Image retrieval application proves to fulfil the requirements in this case. Image matching task in image retrieval application requires a lot of computational effort which can easily be accomplished via cloud resources and it generates very small data to be transferred to the cloud. Research in visual search applications has become one of the most popular directions in the area of pattern analysis and machine learning. In visual search, the aim is to search images depicting instances of a user specified object from large collections, and finding the similar images in a huge database of images. Due to the massive complexity of the databases visual search applications are quite relevant for mobile cloud offloading in our described application partitioning model. Mobile Visual Search is an interesting example of visual search. Let’s consider a tourist 94 scenario where a user takes a picture of an object e.g. a landmark or a pet. The application then extracts relevant information, finds the particular location and sends the information about the object to the user. Algorithmic structure of Image Retrieval Application Algorithmic flow of the Image visual retrieval has been shown in the Figure 4.3. Later we aim to explain the function of each block along with its input and output data requirements. Figure 4-3 Image Retrieval Application 4.5.1.1 Image Retrieval: 1. Mobile device camera captures an image. 2. Input image of size 1024 × 768 is received by the mobile device. 3. From each image we extract scale and rotation-invariant image features. The extraction of local image features is typically carried out in two major stages Feature keypoint detection (shown in the block 2). Feature descriptor computation via SIFT extraction [103] (shown in the block 3). Shown in block 2 and 3 respectably with the corresponding names Feature detection and SIFT extraction. 95 Figure 4-4 Detection of key points in DOG Space 4.5.1.2 Feature Detection. The feature detection step determines the number, the size and the location of the patches that are extracted in an image. There are three main methods used for feature detection in the literature: (1) sparse detection based on the interest points, (2) detection on a dense grid and (3) random sampling of the patches. The interest points are detected by searching the descriptive key-points that are invariant to certain image transformations in all scales of an image. This is achieved by detecting extrema in a difference-of-Gaussian (DoG) scalespace [124]. Figure 4-5 Extraction of Keypoint Descriptors from Image Gradients 4.5.1.3 Description In this step, local features are extracted from patches or interest points that were detected in the previous step. Local features can be simple as the intensity or RGB values. However, more descriptive features that have some level of invariance against illumination 96 change or geometric distortions are usually preferred. The description step is briefly reviewed as follows, with an emphasis on the SIFT features [125]. 1) SIFT descriptor. The SIFT descriptor Lowe [122] builds a histogram of image gradients within each patch as illustrated on the Figure 4.5. It computes 8 orientation directions over a 4 × 4 grid which results in a 4 × 4� × 8 = 128 dimensional feature vector. Through a Gaussian window function that gives more weight to the gradients computed near the center of the patch, the SIFT descriptor offers robustness to some level of geometric distortion and noise. Also, for robustness to illumination changes, the SIFT descriptor is normalized to one. 4.5.1.4 SIFT dimensionality reduction The dimensionality of the SIFT descriptors is reduced from 128 to 64 using Principal Component Analysis. PCA, is a linear technique widely used for dimensionality reduction. It aims to reduce the dimensionality of multivariate data while preserving as much of the relevant information as possible [123]. 1) Mean vector is subtracted from the descriptors. 2) A PCA transformation matrix is learned, which contains the eigenvectors corresponding to the largest eigenvalues of the covariance matrix of local descriptors [104]. PCA is essential for retrieval as it de-correlates the data, which is beneficial for image representations. Additionally, dimensionality reduction removes the less energetic components thereby improving the discriminatory power image descriptors [126]. 97 Figure 4-6 Aggregation of Feature Vectors [104] 4.5.1.5 Robust Visual Descriptor In order to obtain a compact image representation, local descriptors are aggregated into a global descriptor (RVD) suitable for large scale visual search [127]. In the RVD aggregation scheme each descriptor 𝑥𝑡 is defined by its position with respect to the K-nearest cluster centers (typically K=3) in the high dimensional space. More precisely, K-means clustering is performed to learn a codebook of {𝑣1 , 𝑣2 , . . , 𝑣𝑛 } of 𝑛 cluster centers typically between 64 and 512 [104]. Each local descriptor 𝑥𝑡 is quantized to K nearest cluster centers and the residual vectors 𝑥𝑡 − 𝑣𝑗 are computed and subsequently L1normalized. The residual vectors are aggregated to form cluster level representations and final RVD is constructed by concatenation all cluster level signatures. 4.5.1.6 Power norm Robust aggregation tries to average out the energy of the components of image [127]. 98 4. Power norm and L2 norm normalize the image. 5. Dimensionality reduction is performed on the features which further reduce the image feature parameters. 6. Lastly we do cluster based analysis of the image to find the likelihood of similarly without groups of images whose features has already been extracted. After the image retrieval application has been described, ways involving the profiling of the application will be discussed. Quantitative Profiling of the Application: In this section, we convert flexible application into graph, by the procedure explained in section 4.2. We calculate the computational complexity of nodes by measuring the time it takes to execute that particular task associated with that node. Moreover the cost of the edge represents communication cost between edges as explained in the Section 4.1.6. 4.5.2.1 Raw Objective Graph (ROG): By following the procedure outlined in section 4.2.1, we represent the image retrieval application by the raw objective graph as shown in the Figure 4.7. 4.5.2.2 Normalised Objective Graph (NOG): Then we apply normalisation procedure to obtain the final data relationship graph i.e. Normalised Objective Graph. While calculating the ROG, the profiler calculates the complexity of the nodes based on the machine used for the extraction of the graph. So purpose of the NOG is the remove any machine dependencies imposed on the graph. Normalised Objective Graph is shown in the Figure 4.8. 99 Figure 4-7 Raw Objective Graph (ROG) of Image Retrieval Application 100 Figure 4-8 Normalised Objective Graph (NOG) of Image Retrieval Application 101 The numeric values of edges and vertices shows the data and computational complexity of the corresponding method of the application. The edge values represents the data transferred (kilo-bytes) between two blocks on an application. If the data transfer between two blocks is very high, then it became difficult to execute them separately on mobile and cloud. Similarly, the computational complexity of each block has been computer by the time it takes to completely execute. 4.6 Offloading performance objective parameters: Offloading performance in terms of objective parameters can be evaluated by seeking how much response time and energy saving can be achieved by offloading part of application. If G (E,V) account for the graph consisting of E edges and V vertices, then the total computational cost of mobile-cloud scenario is given below. 𝑉 𝐶 𝑉 𝐸 = � ∑ α𝑊𝑣𝑙𝑜𝑐𝑎𝑙 � + � ∑(1 − 𝑣=0 𝑣=0 α)𝑊𝑣𝑐𝑙𝑜𝑢𝑑 +� ∑ β𝑊𝑒 𝑒=0 (4.2) 𝑊𝑣𝑙𝑜𝑐𝑎𝑙 , 𝑊𝑣𝑐𝑙𝑜𝑢𝑑 are weight of the vertices which are executed locally and remotely re- spectively. Obviously due to high computational ability available at cloud, 𝑊𝑣𝑐𝑙𝑜𝑢𝑑 is very low as compared to 𝑊𝑣𝑙𝑜𝑐𝑎𝑙 .�Parameter α indicates, which partition certain nodes belongs to i.e. remote or local. α is binary digit. It is equal to 1, for nodes which are executed locally and α is equal to 0 for the nodes which are executed remotely. Similarly β differentiate the transition edge (between two partitions) from rest of the edges. β is equal to 1 for the transitional cut edge and zero otherwise. Hence labels of edges and vertices gives us ability to jointly calculate the cumulative costs of remote and local vertices. For relative measurements of response time and energy, let consider the three (3) com𝑉 ponents of the following equation. ∑𝑣=0 α𝑊𝑣𝑙𝑜𝑐𝑎𝑙 represents the cumulative cost of local 𝑉 execution of all the local nodes V, while ∑𝑣=0(1 − α)𝑊𝑣𝑐𝑙𝑜𝑢𝑑 � represent the cumulative cost of exculpation of all the remote nodes and ∑𝐸𝑒=0 β𝑊𝑒 is the total cost of communication between remote and local vertices. Above equation represents generic cost, which we expand by formulating according to our problem specifically in terms of energy and execution time saving. Response time optimization: Total response time is cumulative sum of execution sum of local and remote edges plus 102 transition time. Transition time is the time required to transfer the data between local and remote parts. 𝑉 𝑉 µ𝑡𝑜𝑡𝑎𝑙 = � ∑ αµ𝑙𝑜𝑐𝑎𝑙 � + � ∑(1 − 𝑣 𝑣=0 𝑣=0 𝐸 α)µ𝑐𝑙𝑜𝑢𝑑 𝑣 +� ∑ βµ𝑒 𝑒=0 (4.3) While 𝛼 serves the same objective i.e. to differentiate between remote and local vertices, β is used to differentiate between non-transitional and transitional edges. There is only one transitional edges which connect the local and remote graph together. If µ𝑡𝑜𝑡𝑎𝑙 and µ𝑙𝑜𝑐𝑎𝑙 are the execution time with and without offloading respectively, then we can calculate the percentage response saving as following by offloading. µ𝑙𝑜𝑐𝑎𝑙 − �µ𝑡𝑜𝑡𝑎𝑙 � µ𝑠𝑎𝑣𝑖𝑛𝑔 = (� ) . 100% µ𝑙𝑜𝑐𝑎𝑙 (4.4) Energy minimization: Similarly following the same trend, the objective function of energy minimization is as following; 𝑉 𝑉 𝜆𝑡𝑜𝑡𝑎𝑙 = � ∑ α𝜆𝑙𝑜𝑐𝑎𝑙 � + � ∑(1 − 𝑣 𝑣=0 𝑣=0 𝐸 α)𝜆𝑐𝑙𝑜𝑢𝑑 𝑣 +� ∑ β𝜆𝑒 𝑒=0 (4.5) Where 𝜆𝑙𝑜𝑐𝑎𝑙 , 𝜆𝑐𝑙𝑜𝑢𝑑 are energy expressions of the vertices which are executed locally 𝑣 𝑣 and remotely respectively. 𝜆𝑒 is the energy spent to send data between local and remote node at the portioning edge. Intuitively 𝜆 and µ are directly related to each other. More a node takes time to execute, more energy it will consume. Infact 𝜆 is the scaled version of µ i.e. 𝜆 = 𝜋µ� (4.6) where 𝜋 is the power of the mobile device. As explained for the execution time, we can calculate the energy saving with the same approach as: 𝜆𝑙𝑜𝑐𝑎𝑙 − �𝜆𝑡𝑜𝑡𝑎𝑙 � ) . 100% 𝜆𝑙𝑜𝑐𝑎𝑙 𝜆𝑠𝑎𝑣𝑖𝑛𝑔 = (� (4.7) 103 where µ𝑡𝑜𝑡𝑎𝑙 and µ𝑙𝑜𝑐𝑎𝑙 are the energy expense of mobile device with and without offloading respectively. Joint objective function: As explained in the previous section, µ𝑠𝑎𝑣𝑖𝑛𝑔 and 𝜆𝑠𝑎𝑣𝑖𝑛𝑔 provides us objective measure of the offloading performance with the objective functions. We can fuse these two parameters using weighted sum measure Ω defined as following; �Ω = 𝜆. (ℇ) + µ. (1 − ℇ) (4.8) where ℇ is defined as user preference parameter. In addition to the weighted sum fusion method, there are other alternatives e.g. product metric (λµ) or weighted product λℇ µ1−ℇ , but due to complexity and scalability concerns we have chosen the sum fusion rule in which end user decides about saving energy or execution time without huge computational cost. If ℇ = 1 user is only sensitive to the energy minimization while for ℇ = 0 user is only sensitive to response time minimization. ℇ = 0.5 accounts for the scenario in which equal weightage is given to the energy as well as response minimization. Lastly the offloading cost is defined as inverse of joint saving measure Ω. ∂ = 1/�Ω (4.9) Communication cost No offloading: This is response time (T) and energy (E) measured when application is not offloaded to the cloud. All the methods of the application execute inside the mobile and there is no communication cost. Full offloading: In this scenario, all computational tasks of the mobile are transferred to the cloud and then all tasks are executed in the cloud. This makes mobile phone just a thin client terminal which generates input data and then receives the results generated by cloud. This scenario looks quite feasible but not optimum for the following conditions: 1) Occasionally some methods of the application are unoffloadable. This depends highly upon the structure of the application. 2) Sometimes data generated by the first methods is so huge that, it becomes highly cost ineffective to offload application from the start. Partial offloading: In this scenario the application is partially offloaded to the cloud and we assume that communication cost, mobile cost, and cloud cost are minimized. In this ways, we define the offloading gain as; 104 Offloading gain = 1- partial offloading cost/full offloading cost 4.7 Partitioning Algorithm Model: Algorithm consists of two key stages i.e. merging phase and partitioning phase. In the merging phase, nodes are merged together if sum of their weights is same as their individual weights. Merging Phase: Input: 𝐺: the graph at state j with corresponding Edges 𝐸 and Vertices 𝑉 , i.e. 𝐺 = (𝐸, 𝑉) 𝑤: the weight matrix of the corresponding edges and vertices a,b: vertices which will be combined together Output: new graph 𝐺2 (𝐸2 , 𝑉2 ) after merging nodes. For all nodes 𝑣�𝜖�𝑉 if 𝑣� ≠ � {𝑎, 𝑏} // a certain vertex is selected 𝑤{𝑒(𝑎 ∪ 𝑏, 𝑣)} = �𝑤{𝑒(𝑎, 𝑣)} + 𝑤{𝑒(𝑏, 𝑣)} // addition of weights of edges 𝐸 ← 𝐸�{�𝑒(𝑎 ∪ 𝑏), 𝑣} end if 𝐸2 ← 𝐸 − {𝑒(𝑎, 𝑣), 𝑒(𝑏, 𝑣)} // deleting edge from E end For 𝑉2 ← 𝑉 − 𝑣(𝑎, 𝑏) Return 𝐺2 (𝐸2 , 𝑉2 ) Partitioning Phase: Aim of the partitioning phases is to divide the graph into two partitions such that the cost involving that partition is lower than without partition i.e. 𝑤(𝑐𝑢𝑟𝑟𝑒𝑛𝑡�𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛) < 𝑤(�𝑝𝑟𝑒𝑣𝑖𝑜𝑢𝑠�𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛). This is a recursive process which investigates each edge involved in that graph. Input: 𝐺: the graph at state j with corresponding Edges 𝐸 and Vertices 𝑉 , i.e. 𝐺 = (𝐸, 𝑉, 𝑣) where v is list of vertices which are unoffloadable 𝑤: weight matrix of the corresponding edges and vertices Output: two new graphs 𝐺1 (𝐸1 , 𝑉1 ) and 𝐺2 (𝐸2 , 𝑉2 ) after merging nodes. for i = 1: length (v) (𝐺, 𝑤) = 𝑀𝑒𝑟𝑔𝑒�(𝐺, 𝑤, 𝑣(1), 𝑣(𝑖))� // merge all the offloadable vertices end 105 for V = 1:v [𝑝(𝐺 − 𝑘, 𝑘), 𝑎, 𝑏�] � ← �partitionfuction(G, w) // make partitions iteratively through partitionfunction if w(𝑝(𝐺 − 𝑘, 𝑘)) < 𝑤(𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛) //check the feasibility of each partition by weights 𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛� ← �𝑝(𝐺 − 𝑘, 𝑘)� end if 𝑀𝑒𝑟𝑔𝑒�(𝐺, 𝑤, 𝑎, 𝑏) //merge last two vertices end for return 𝑝𝑎𝑟𝑡𝑖𝑡𝑖𝑜𝑛 Partitioning function used in the above algorithm is as follows: Aim of the partitioning function is to minimise ∆𝑣 which involves local execution cost 𝑤 𝑙𝑜𝑐𝑎𝑙 (𝑣), remote execution cost 𝑤 𝑐𝑙𝑜𝑢𝑑 (𝑣) as well as communication cost 𝑤(𝑒�(𝐾, 𝑣)). In this way, each vertex is iteratively searched and ∆𝑣 is recursively calculated in each iteration. Input: 𝐺𝑗 : the graph at state j with corresponding Edges 𝐸𝑗 and Vertices 𝑉𝑗 , i.e. 𝐺𝑗 = (𝐸𝑗 , 𝑉𝑗 ) 𝑤: the weight matrix of the corresponding edges and vertices Output: A partition at vertex a, dividing graph 𝐺𝑖 into 𝐺𝑖 − 𝑏� and b at 𝑖𝑡ℎ recursive step of partition. k ← 𝑟𝑎𝑛𝑑𝑜𝑚�𝑠𝑡𝑎𝑟𝑡𝑖𝑛𝑔�𝑣𝑒𝑟𝑡𝑒𝑥�𝑎𝑡�𝑠𝑡𝑎𝑟𝑡�𝑜𝑓�𝑐𝑢𝑡𝑡𝑖𝑛𝑔 𝐾 = {𝑘} 𝑤ℎ𝑖𝑙𝑒�𝐾 ≠ 𝑉𝑖 𝑓𝑜𝑟���𝑣� ∈ � 𝑉𝑖� �𝑑𝑜 𝑖𝑓�𝑣� ≠ 𝐾 ��������∆𝑣 = �𝑤(𝑒�(𝐾, 𝑣)) − [𝑤 𝑐𝑙𝑜𝑢𝑑 (𝑣) − �� 𝑤 𝑙𝑜𝑐𝑎𝑙 (𝑣)] // testing whether block 𝑣 should be in cloud or in mobile phone 𝑖𝑓 max <� ∆𝑣 max =� ∆𝑣 𝑣𝑚𝑎𝑥 = 𝑣 // finding the 𝑣 which maximises the offloading gain 𝑒𝑛𝑑�𝑖𝑓 106 𝑒𝑛𝑑�𝑖𝑓� ��𝑒𝑛𝑑�𝑓𝑜𝑟 𝐾 = 𝐾� ∪ � 𝑣𝑚𝑎𝑥 � 𝑘 = 𝑚𝑒𝑟𝑔𝑒�(𝐺, 𝑤, 𝑘, 𝑣𝑚𝑎𝑥 ) 𝑒𝑛𝑑�𝑤ℎ𝑖𝑙𝑒 So the algorithm partitions the application in two subsets, which are able to perform their tasks with the help of data exchange through wireless channel. 4.8 Evaluation of Offloading Performance: In this section, we evaluate our method of offloading and partitioning in view of various scenarios. Using the profiler explained in previous section, we first of all construct a weighted graph of the application to be evaluated. Then we apply our partitioning algorithm, lastly we evaluate how much gain our partitioning algorithm provided as compared to literature methods in terms of various parameters i.e. bandwidth saving, battery saving, processing gain etc. We explained the image retrieval application in previous section and their corresponding inter-relation. We also explain the corresponding constructed weighted graphs of the applications. Instead of static speedup factor used in the literature, we use dynamic speedup factor through the cloud model developed in last chapter. Since cloud blocking probability and the load changes according to number of users using the cloud, so we take cloud speed up factor from the mathematical equations developed. Similarly, for network instead of taking fixed bandwidth, we take snapshots of bandwidth in relation to the corresponding CQI (channel quality indicator) at that time. In this way, we tend to sophisticate our experiment to match with the real time scenarios as much as possible. The partitioning algorithm in view of the measures described in section 4.3 is applied, with various conditions of network, cloud, and user mobile device. Then the partitioning performance in terms of response time and energy saving is measured and presented in the next section. Effect of CQI on the Performance: Channel Quality indicator (CQI) is reported by the user to the base station via feedback loop. It indicates the quality of the channel between user and the base station. As the wireless channel deteriorate the CQI drops, the network shifts the modulation scheme from 107 64QAM to 16QAM and ultimately to QPSK. QPSK has better error performance but offers lower data rate. So with decreasing CQI the data rate and throughput offered the wireless channel drops. As a result, the feasibility of using cloud services drops. So keeping all the other factors constant, we found that offloading performance deteriorate with decreasing CQI. 80 OLSP Full Offloading SISO MIMO, TxD 2x1 70 Offloading Cost 60 50 40 30 20 10 0 0 5 10 15 Channel Quality Indicator (CQI) Figure 4-9: Effect of CQI on offloading cost for different communication paradigms The blue line indicates the partial offloading cost while the blue line indicates the full offloading cost. Since the full offloading cost does not include the optimum partitioning cut so the cost associated is quite high. As described in section 3.1, we can visualize the law of diminishing returns in the Figure 4.9. As the CQI is increased beyond a limit, the corresponding gain in terms of reduction in the offloading cost start to marginalize. So we do not obtain the proportional gain in relation with the increasing investments. 108 Effect of user battery on Performance: Effect of user battery on offloading performance is quite complicated to understand. Three phases are to be understood. Mobile battery is above threshold ɣ: In this range, using cloud resources does not seem quite attractive because mobile does not has concern of running out of the battery. Battery provides enough leverage for local computation. Mobile battery is below the threshold Θ: Access to the wireless network requires considerable amount of energy battery power, so as the user battery drops below a certain level. a) Feasibility to using network becomes low if the communication is quite high. b) Feasibility of exploiting cloud resources through network becomes appreciable if communication cost is low. Mobile battery is between threshold ɣ and Θ: If mobile battery in a certain range, exploitation of cloud resources though network seem quite attractive. 109 12 Full offloading without OLI CAPOF without OLI 10 Offloading Cost 8 6 4 2 0 10 20 30 40 50 60 70 80 90 100 UE Battery (%) Figure 4-10: Effect of UE Battery on offloading cost Effect of user preference parameter ℇ on Performance In this scenario, we repeated the previous experiment with different user preference parameter ℇ. If we increase ℇ from 0.5 to 0.8, user gives more preference to the energy saving over response time. As shown in the graphs, with ℇ = 0.8, the offloading cost changes according to the phase of battery in which we are operating. i) Mobile battery is below the threshold Θ: In this scenario, as mobile battery is below a certain threshold so most of the processing is performed inside the cloud. Due to sensitivity of the user to battery ℇ = 0.8, the offloading cost is more than the scenario ℇ = 0.5. ii) Mobile battery is above threshold ɣ: In this scenario, as battery battery is above a certain threshold so device is insensitive to processing done in mobile or cloud. The offloading cost is lesser for ℇ = 0.8 as compared to ℇ = 0.5. iii) Mobile battery is between threshold ɣ and Θ: This scenario shows the same result as i) due to over sensitivity to mobile battery. 110 12 CAPOF, e = 0.5 Full Offloading, e = 0.5 CAPOF, e = .8 Full Offloading, e = 0.8 Offloading Cost 10 8 6 4 2 0 10 20 30 40 50 60 70 80 90 100 % Battery Figure 4-11: Effect of UE Battery on offloading cost Effect of cloud blocking probability on offloading cost As the number of users increase, cloud start blocking requests from certain users, so ultimately the cloud blocking probability increases. So as the cloud blocking probability increase, it certainly takes more time for a certain task to get finished. Thus the cloud processing gain is affected. In this experiment, we change the blocking probability defined in cloud model in section 3.2 and see the effect on the offloading cost. If we compare CAPOF with the full offloading case, we observe that CAPOF considerably saves the offloading cost. 111 30 Full offloading CAPOF 25 Offloading Cost 20 15 10 5 0 10 20 30 40 50 60 70 80 90 Blocking Prabability Figure 4-12: Effect of Cloud blocking probability on offloading cost Effect of number of users in wireless network on response time In LTE (4G) wireless network, wireless bandwidth is dependent on various factors including number of users (N) in a cell sharing the wireless resource, quality of channel, type of channel. As wireless bandwidth depletes, response time i.e. difference between time to send query to the cloud and receive response increases. We did the experiment for three scenarios: No offloading: All tasks are done on the mobile itself. Nothing is offloaded, so intuitively the response time is maximum. Full offloading: All tasks are offloaded to cloud. Partial offloading: Partitioning algorithm partitions are the applications as described in previous sections, so few tasks are done on the mobile while other on the cloud. If we compare CAPOF with the full offloading case, we observe that CAPOF considerably saves the offloading cost. 112 30 Full offloading CAPOF 25 Offloading Cost 20 15 10 5 0 0 5 10 15 20 25 30 Number of Wireless Users Figure 4-13: Effect of number of wireless users on offloading cost 113 4.9 Summary In this chapter, we extend the CANU model presented in the Chapter 3 further by optimizing the behavior of an application. In this way, an application partitioning and offloading framework has been formulated which takes the parameters of the cloud, wireless network and user and then partition an application according to the changes in wireless network and cloud. As a first step of the framework, a profiler has been designed which converts an application into a directed graph. We apply a comprehensive application partitioning and offloading framework on the graph. Image retrieval has been chosen as a test application. Overall aim is to optimize the energy consumed and response time. We join both energy consumer and response time into a comprehensive cost function i.e. offloading cost. Then the designed Application partitioning and offload framework has been tested in view of different parameters of the wireless network, cloud and user. We observe appreciable decrease in offloading cost. We aim to improve the application partitioning and offloading framework further by enabling it to adapt to any application. In next chapter, we will further investigate ways to comprehend the ways to analyze the behavior of an application. 114 5 IMPROVED APPLICATION PARTITIONING AND OFFLOADING The advances in technologies of graph partitioning methods and availability of accurate models of entities involved in mobile cloud computing enable us to further investigate and improve the partitioning and offloading framework proposed in previous chapter. Summarising the findings of the chapter 4, application partitioning and offloading framework proposed for mobile cloud applications proves to be an effort to: 1) Extend the easier access of the cloud services to mobile devices 2) Enable the mobile devices to work collaboratively in view of the resources available at the cloud 3) Ultimately leverage the tasks being executed at the mobile portable devices to the cloud resources. 5.1 Offloading Likelihood Index: In this chapter, we aim to refine the framework developed but taking into account various factors which influence the likelihood of an application to be partitioned and offloaded. In this way, we introduce a new term Offloading Likelihood Index (OLI). OLI aim to calculate the likelihood of an application to be partitioned by using various graph theory measures we will introduce later. We will start by application. Due to multiple kinds of applications and their corresponding aspects, we take different synthetic applications in terms of a graph and then then apply different graph techniques to get insight into their structure and corresponding likelihood to be partitioned. Furthermore, we will also take into account the behavioural attributes of application and how certain behavioural characteristics of an application contribute to its likelihood to be partitioned. In the second section, we have done some experiments related to error resilience of different set applications, we will accommodate those results to find out the effect of error resilience of an application influence its likelihood to be portioned and offloaded. In this way, we will apply different graph methods on different synthetic models of applications. Then based on the results we will extract valuable information to predict about any application to can be partitioned or not. 115 5.2 Experiment with synthetic graphs on application topologies In this section we introduce different graph topologies for experimental purpose. Each set of topology aim at changing certain graph parameter e.g. edge/vertex weight, number of nodes while keeping the other factors constant. Later we will apply graph theory measures on the described set of topologies to calculate the effect of different graph parameters on the offloading decision. Effect of weightage of edge: With increasing complexity of edge. As we concluded from chapter 4 application partitioning model that edge in the graph are sensitive to the network vulnerabilities. Location of heavy edges at the start of application makes it difficult for the application to offload earlier. As we keep on moving the lighter edges towards the end of the application the offloading index intuitively tend to decreases. For the first experimental graphs, we took a graph 5.1 (i) with progressively increasing weightage of edge and then we shuffle the lightest and heaviest edges to form the 4 set of topologies shown in the figure 5.1. In all the topologies the vertices remain the same, we have taken the value of 20 for all the vertices. 116 Figure 5-1: Topology A1 (Influence of vertex weights on partition) 117 Figure 5-2: Topology A2 (Influence of edge weights on partition) Effect of number of vertices: In this experimental topology, we started with 3 numbers of edges and progressively increase to 6 number of edges. This experimental topology will be used to judge how numbers of nodes effect the offloading likelihood index (OLI). 118 Figure 5-3: Topology A3 (Influence of number of nodes on partition) Effect of branching: In this experimental topology, we introduced branching on certain edges. Then we move the position of the branching along certain edges progressively. The weights of the edges as well as nodes remains the same. This experimental topology will be used to judge how branching effects the offloading likelihood index (OLI). 119 Figure 5-4: Topology A4 (Influence of branching of directed graph on partition) 5.3 Computational measures of objective graph: In this section, we described certain quantitative measures of graph theory, which provides valuable information about the structure of the graph. In this way, we aim to extract valuable information about our application graph. For experiment purpose, we have used four (4) topologies described above. At the end, based on these objective measures we compute a parameter called offloading likelihood index (OLI), which predicts likelihood of an application to be partitioned without any knowledge of resources in cloud and wireless network. 120 We will explain each computational measure and then will provide contribution of each measure in the OLI. Shortest path measure 𝝍(𝑨): The shortest path measure provides valuable information about the structure the graph. For any square matrix 𝜓(𝐴) provides the distance matrix A for all vertices where D(a,b) indicates the shortest path distance between vertex a and vertex b. If a heavy node exists at the start of a graph, it contributes to increase the distance measure of all the subsequent nodes. In the section 5.1 we introduced 4 experimental topologies (A1, A2, A3 and A4). For reference the shortest distance measure for first two topologies A1 and A2 is indicated below: 𝜓(𝐴1) = 0 Inf Inf Inf Inf 10 0 Inf Inf Inf 30 60 100 20 50 90 0 30 70 Inf 0 40 Inf Inf 0 𝜓(𝐴2) = 0 Inf Inf Inf Inf 20 0 Inf Inf Inf 50 90 100 30 70 80 0 40 50 Inf 0 10 Inf Inf 0 It is quite evident that due to heavy node existing in A2 at the start increases the shortest path measure of the entire subsequent nodes and makes them difficult to offload. We see a correlation between shortest path measure and offloading likelihood index. As a numeric measure we took the variance of first row of 𝜓(𝐴) to be used in derivation of offloading index. Betweenness centrality 𝝏(𝑨) Betweenness centrality is correlated to the centrality of a node in a graph. It measures to which extent a node lie in paths between different nodes. If K number of shortest paths passes through a node n from all the vertices, then the betweeness centrality of that node will be K. A node captures central position in a graph if it has high betweeness-centrality, 121 because it influences the flow of the graph. In our case, high betweeness centrality of a node mean, it is less likely to be partitioned [105]. We measured the betweenness centrality measure for each of the synthetic graphs mentioned in section 5.1. For all the topologies we got the same betweenness centrality measure. When we did betweenness centrality test on branching topologies in fig. 5.3, we found quite interesting results. Branching node changes from earlier to later in 5.3 i) to iii) respectably. 𝜕(𝐶) for the three topologies is: 𝜕(𝐶1) = [�0�����7�����4�����3�����0�����6�����6�����4����0] 𝜕(𝐶2) = [�0�����6����10���3�����0�����6�����4�����0] 𝜕(𝐶3) = [��0����5�����8�����3�����0�����3�����0] As the branching start from earliest to latest nodes, the betweenness centrality 𝜕(𝐶) measure decreases for the middle nodes. The 𝜕(𝐶) of the edge just before the branching node become quite high. From application point of view the Interestingly the measure shown increase with respect to the length of the graph. Figure 5-5 Betweeness Centrality of graph For example in the Figure 5-5, 2 very complicated regions has been separated through a short path. If we try to reduce the graph, the divisive methods dictate to break through the shortest path i.e. 7-8 and then merge the other nodes. While the agglomerative methods dictate to merge the complex triangles first, then go for the shortest link. High betweeness of a node is associated with its very high likelihood to provide a parti122 tioning edge. These nodes are also called the gatekeepers of sub-graphs because they carry the most of the traffic in a graph. Clustering coefficients: Clustering coefficient provides a qualitative measure of likelihood of the nodes to cluster together. Intuitively, the graphs having high clustering coefficient are less likely to be partitioned, because of the huge interconnectivity of the nodes. In an n node directed graph, 𝑒𝑛 represents the number of connected pairs between all neighbours of n while kn is the number of neighbours of n then the clustering co-efficient 𝐶𝑛 is given by: 𝐶𝑛 = 𝑒𝑛 /(𝑘𝑛 (𝑘𝑛 − 1)) (5.1) Clustering coefficients are quite valuable in topologies in which triangles [106]. Existence of any cluster tends to decrease the offloading index. Network heterogeneity It reflects the tendency of a network to contain hub nodes. Presence of a hub node in a graph decreases its likelihood to be offloaded, because of the communication overhead involved by hub node [107]. Number of connected components In undirected networks, two edges are connected to each other if there exists a vertex between them. Within a network, all nodes that are pairwise connected form a connected component. The number of connected components indicates the connectivity of a network – a lower number of connected components suggest a stronger connectivity. Stronger connectivity is inversely correlated with the offloading likelihood index. Max-flow coefficient: Max flow or min cut coefficient indicates the minimum value of edge in a graph. From partitioning point of view this is quite importation. Many partitioning algorithms have been designed with taking into account the max-flow coefficient [108]. The smaller the max-flow coefficient as compared to other nodes, it becomes quite easy to offload. Partitioning index is highly correlated to the max-flow coefficient and the difference of max-flow coefficient and mean of edge vector values. For example the graphs depicted in i) and iv) of A1 topology (Figure 5.1) are more like123 ly to be partitioned due to the placement lighter vertices (low max-flow coefficient) at the start of the graph. There are many variants to calculate the Max-flow coefficient e.g. Push relabel, Edmunds Karp and Kolmogorov. Topological order ∅(𝑪) Topological order is a way to quantify the sorting position of a directed graph. For example an edge 𝑎𝑏 is directed from vertex 𝑎 to vertex 𝑏, then topological order of a comes before the topological order of b. It is linear ordering of all the vertices of a graph. In our application graph, topological order is vital information about the order in which tasks will be executed. For instance, the vertices of the graph may represent tasks to be performed, and the edges may represent constraints that one task must be performed before another; in this application, a topological ordering is just a valid sequence for the tasks [109]. Topological order is influenced by branching in a graph. For instance in the Figure 5.3 due to branching the topological order of the nodes is changes as indicated below. 𝜕(𝐶1) = [��1�����2�����6�����7�����8�����9�����3�����4����5] (5.2) 𝜕(𝐶2) = [��1�����2�����3�����6�����7�����8�����4�����5] (5.3) 𝜕(𝐶3) = [��1�����2�����3�����6�����7�����4�����5] (5.4) Boye myrvold planaity test: A planer graph passes the Boye Myrold planarity test, while a non-planer graph does not. A planer graph does not contain any crossover. A planar graph is more likely to partition unlike an unplanar graph due to least interdependence between nodes. Edmonds' maximum cardinality matching (Edmunds-Karp number): There are multiple ways to determine minimum cut or maximum flow in a graph. Edmunds-Karp number is one of them. Min-cut in a graph is highly valuable information. If a graph has minimum-cut at the start of the graph, then it’s likelihood of partition increases. Number of Edges and Vertices: Number of edges and number of vertices generally also play important part in deciding whether a graph is more feasible for partitioning for not. Smaller the number of edges and vertices, more it will be likely a graph to be partitioned. 124 Graph Diameter: Graph diameter represents the maximum distance between the two nodes. Offloading likelihood index (OLI) is inversely correlated to the graph diameter. Eccentricity: The maximum distance between a vertex k and all other vertices are called the eccentricity [110]. Offloading likelihood index (OLI) is inversely correlated to the eccentricity. Radiality: Radiality is a qualitative measure of centrality of a node. For any node k, the Radiality is the shortest path between k and all other nodes. The value of each path is subtracted by ‘graph diameter - 1’. Then for n node graph, the final figure is divided by ‘n-1’ [110]. Offloading likelihood index (OLI) is inversely correlated to the eccentricity. Graph Density: Account for the average number of neighbours normalised by the number of nodes. For example, clique graph has density of 1. As the graph density increase, it become difficult for a graph to be offloaded. Degree distribution: Degree of any node k represents the total number of edges connected to k. The degree distribution of graph provides the number of nodes with their corresponding degree of the graph. Stress distribution: A node has high stress, if it is cross by high number of shortest paths. Presence of high stress nodes at the start of the graph increases its likelihood to be offloaded. After we have summarised the qualitative measures of graph theory which predicts the likelihood of a graph to be partitioned, we move our focus to the set of application need to be evaluated. 5.4 Applications for Performance Evaluation: In the chapter 4, we use Image retrieval application for performance evaluation. In this 125 chapter, we will further extend this by taking other version of the image retrieval application. In our system application partitioning framework, we have employed 3 versions of visual search: 1_ Performance optimized visual search (IVR Float): As explained in the chapter 4, In this kind of application, we assume the mobile has best resources available, wireless channel has high CQI (channel quality indicator), high RBs (resource blocks) i.e. available bandwidth. Cloud is assumed to be always available. 2_ Bandwidth optimized visual search (IVR Binary): In this version of image retrieval, we assume that the network is not in best state so that we compress the information extracted from an image retrieval application to minimize the network overhead. In this way, few blocks of the image retrieval are modified so that the data is converted to binary instead of floating point. This certainly reduces the overhead, computational complexity and the speed of retrieval. 3_ Scalable bandwidth application (IVR Mobile): IVR mobile seeks a compromise between IVR-float and IVR-binary based on channel bandwidth. Image Visual Retrieval ( IVR Mobile) IVR Mobile version converts floating point data from each data into binary version. In this way, we are able to save a lot of computations at the cost of loss of accuracy. IVR Mobile converts the floating point calculations of each block of IVR Float into binary so that data transferred between block is reduced considerably. IVR Mobile and IVR Binary are quite similar in certain aspects, apart from the fact that IVR Mobile provides a compromise between the blocks of IVR binary and the IVR Float. Each block of the IVR mobile has been explained shortly. 126 Figure 5-6 Algorithmic Structure of IVR Mobile Application [103] 5.4.1.1 Keypoints detection The keypoints are detected in an image based on the Laplacian-of-Gaussian scale-space. 5.4.1.2 Feature selection The feature selection method selects the keypoints with high matching probabilities based on several factors such as keypoints scale, coordinates, and orientation 5.4.1.3 Local Descriptor Extraction Extraction of SIFT descriptor based on the spatial distribution of pixel intensity gradients in a scale and orientation normalized patch surrounding the keypoint. 5.4.1.4 Local Descriptor Compression Compression of the SIFT descriptors using a specially designed transform which computes the sums and differences of different SIFT gradient bins, and selects elements following a specific pattern to preserve the discriminative power of SIFT [103]. 5.4.1.5 Coordinate Coding The keypoint coordinates are encoded using Location Histogram Coding (LHC) technique, where the coordinate information is converted into a histogram and a context 127 adaptive arithmetic encoder is used to compress the histogram. 5.4.1.6 Global descriptor aggregation Aggregating of local image descriptors into a compact and binary global signature RVD. It is computed by aggregating, for each visual word, all residuals (vector differences between descriptors and cluster centres) of descriptors assigned to the same visual word. The RVD vectors are L2 normalized and subsequently, signed square rooting (SSR) normalization was applied. 5.4.1.7 Binarise components Having obtained a discriminative image signature using the aforementioned aggregation approach, we can now binarise the image signature based on the sign of the global descriptor coefficients. There are two significant benefits gained from the signed binarization. First, the binary vector requires 4 times few bits compared to floating point vector. Second, binary vectors can be efficiently compared in the compressed domain. The Hamming distance between two binary vectors can be computed very quickly using atomic XOR and POPCNT instructions. 5.4.1.8 Cluster and Bit Selection The cluster occupancy and rank are used to estimate reliability of each cluster level representations, which is used to select a subset of clusters with high reliability from the image-level RVD descriptor and additionally also used for rate control of the produced RVD representation. A particular cluster is rejected if the number of local descriptors assigned to that cluster is less than cluster selection threshold Cth. The threshold value Cth is selected based on typical (median) cluster occupancy to achieve the required size of RVD descriptor for each bitrate [103]. The RVD vector is binarised by applying the sign function which assigns the value 1 to any non-negative values, and the value 0 to any negative values, respectively. To further compress RVD a subset of bits from the aforementioned binary representation is selected from each cluster, based on separability criteria. We select those bits which provide best separability between hamming distances for matching and non-matching pairs (trained offline) of binary component-level RVD descriptors. Let P(X/M) and P(X/N) denote the conditional probability that the XOR between two corresponding bits is 1 for matching and non-matching image pairs respectively. We select bits that maximize the difference be128 tween P(X/M) and P(X/N). The RVD descriptor size is 1 kilobyte which can be scaled down to any required bitrate via cluster selection and bit selection mechanisms [103]. 5.4.1.9 Superior matching The similarity between two compressed RVD descriptors is computed using weighted Hamming distance. We take advantage of differing statistics for matching and nonmatching image pairs to design a weighting function for the correlation scores. In this weighting function, observations with large Hamming distances have weights close to 0 and are thus severely discounted, because these large Hamming distances are likely to arise from non-matching image pairs. Conversely, observations with small Hamming distances have weights close to 1 and are thus strongly rewarded, because these small Hamming distances are likely to arise from matching image pairs [103]. This weighting function is especially beneficial for accurate image retrieval from a large database, where most of the observations encountered are caused by non-matching database images and should be discounted. After the weighting function is applied, the weighted Hamming scores assigned to matching database images stand out more prominently in a ranked list [128]. We constructed the raw objective graph of the IVR (binary) and IVR (mobile) with the procedure outline in the chapter 4, as shown in the figure 5.7 and 5.8 respectably. 129 Figure 5-7: IVR (binary) Raw Objective Graph (ROG) 130 Figure 5-8: IVR (Mobile) Raw Objective Graph (ROG) 131 5.5 Error Response of Applications: In the section above, we elaborated three versions of image retrieval application. In order to have better formulation of error response of application models. Type of Errors We subject all of the models to two types of errors. In this way, we measure MAP (mean average performance) as a score. MAP is a qualitative measure to measure the accuracy of the image retrieval. 5.5.1.1 Burst Error In communications, due to the longer duration of the noise a contiguous sequence of symbols is lost. The received data over a data transmission channel has errors in the first and last symbols (signalling information). Due to loss of signalling information, it becomes highly difficult to recover the valuable information from the packets affected by burst error. In case of burst error the lost information is assumed to be lost and pose difficulties to be recovered. 5.5.1.2 Random Error As opposite to the burst error, Random bit errors are complications that occur in the transmission of data. In case of random error, random bit errors are introduced in the valuable information in the form of disorganized bits in the transmission. Error Response of Applications We subjected the above described errors to each of the version of image retrieval. 5.5.2.1 IVR (float) Floating version of the IVR is the simplest version of the image retrieval application. From the curves, we can observe that the consequences posed by burst error are more severe since MAP is reduced considerably high as the burst error increases. MAP provides a qualitative measure of the accuracy of the image retrieval application. 132 80 Random Error Burst Error 75 MAP 70 65 60 55 50 0 10 20 30 40 50 60 % Error Figure 5-9: Error response of IVC (float) Curve fitting is used to fit equations to the curves which are obtained after the simulations. The following equations relate % error with the MAP. Random 𝑀𝐴𝑃𝑟𝑎𝑛𝑑𝑜𝑚� (𝐼𝑅𝑉𝐹) = � −0.2068𝜀 + 53.7 (5.5) 𝑀𝐴𝑃𝐵𝑢𝑟𝑠𝑡� (𝐼𝑅𝑉𝐹) = � −0.3814𝜀 + 53.66 (5.6) Burst 5.5.2.2 IVR (binary) As discussed earlier, in IVR (binary) few blocks of the image retrieval are modified so that the data is converted to binary instead of floating point. This certainly reduces the overhead, computational complexity and the speed of retrieval. We observe the similar trend of MAP-vs-Error as in the case of IVR (binary). Burst error is more harmful than the random error. IVR (binary) 0% error MAP is lower than IVR (float) as expect. Moreover, rate of MAP degradation is higher IVR (binary) as compared to IVR (float). 133 60 Random Error Burst Error 55 MAP 50 45 40 35 0 10 20 30 40 50 60 % Error Figure 5-10: Error response of IVR (Binary) Curve fitting is used to fit equations to the curves which are obtained after the simulations. The following equations relate % error with the MAP. Random 𝑀𝐴𝑃𝑟𝑎𝑛𝑑𝑜𝑚� (𝐼𝑅𝑉𝐵) = � −0.164𝜀 + 58.8 (5.7) 𝑀𝐴𝑃𝐵𝑢𝑟𝑠𝑡� (𝐼𝑅𝑉𝐵) = � −0.335𝜀 + 58.29 (5.8) Burst 5.5.2.3 IVR (mobile) IVR Mobile is a scalable bandwidth version of IVR binary. It seeks a flexible compromise between IVR-float and IVR-binary based on channel bandwidth. If channel bandwidth is high then more floating point operations are performed (less compression) which ensures higher accuracy. Conversely, if channel bandwidth is low then more binary operations are performed (more compression) at the cost of degraded accuracy. 134 55 Random Error Burst Error 50 MAP 45 40 35 30 0 10 20 30 40 50 60 % Error Figure 5-11: Error response of IVR (flexible) Curve fitting is used to fit equations to the curves which are obtained after the simulations. The following equations relate % error (𝜀) with the MAP. Random 𝑀𝐴𝑃𝑟𝑎𝑛𝑑𝑜𝑚� (𝐼𝑅𝑉𝐵) = � −0.1818𝜀 + 76.51 (5.9) Burst 𝑀𝐴𝑃𝐵𝑢𝑟𝑠𝑡� (𝐼𝑅𝑉𝐵) = � −0.4007𝜀 + 76.46 (5.10) Conclusion: We can conclude from the discussion in the section 5.5.2 that, the slope of degradation of MAP with respect to % error is almost 2 times in case of BURST error as compared to RAND error. This is because in burst error complete chunks of image feature vectors are lost and we can’t retrieve them through any interpolation. While in case of RAND error, only in between random values of the certain energies in feature vector are lost this can be partially recovered. Moreover IVRF shows the best performance for 0% error, but unfortunately as the noise 135 in the channel increase the rate of degradation of MAP is high as compared to IVRB. This is because while we binarize the image retrieval block, zero error performance of floating point is good but it is more prone to errors in case of high channel error. IVRM gives mixed response for 0% errors and high channel errors. It gives the worst 0% error among the three variants while rate of degradation is highly sensitive to the particular type of error system is subjected to. 5.6 Improved partitioning algorithm After assessing all the above measures we can conclude that min-cut which is core of my partitioning algorithms can’t be used solely to partitioning any application. But there are many other parameter’s too which give us quite a good hint where to partition. All the parameter’s which gives feasibility of partitioning about any application can be used to derive a numeric measure i.e. application offloading likelihood index. We gave labels to each of the measure and then employed neural networks to calculate the respective weight in calculating the partitioning coefficient i.e. likelihood of a node to be involved in the partition. In our improved version of the application partitioning algorithm, we incorporate the partitioning index described in section 5.1 and error performance of applications mentioned in the section 5.5. Partitioning index provides valuable offline information about likelihood of an application to be partitioned without knowledge of the states of wireless network, cloud and UE. Similarly, the error performance provides a realistic insight into the performance response of the application with respect to the variations in the channel. So based on the error response formula’s derived in section 5.2 we can further improve our partitioning algorithm described in the section 4.4. 5.7 Performance Analysis In this section, we will see the effect of integrating Offloading Likelihood Index in our Comprehensive Application Partitioning and Offloading Framework (CAPOF). Partitioning performance improvements can be seen when we incorporate OLI. Effect of Cloud blocking probability As the number of users increase, cloud start blocking requests from certain users, so ultimately the cloud blocking probability increases. So as the cloud blocking probability increase, it certainly takes more time for a certain task to get finished. Thus the cloud pro136 cessing gain is affected. In this experiment, we repeated the same experiment as in 4.8.3 and observed that introduction of OLI (offloading likelihood index) aims to reduce the total offloading cost in case of full offloading as well as CAPOF (Application Partitioning and Offloading Framework). 30 Full offloading without OLI Full offloading with OLI CAPOF without OLI CAPOF with OLI 25 Offloading Cost 20 15 10 5 0 10 20 30 40 50 60 70 80 90 Blocking Prabability Figure 5-12: Effect of Cloud blocking probability on offloading cost Effect of UE battery on offloading cost As discussed in section 4.8.2, the effect of user battery on offloading performance is quite tricky to understand. The use of the battery is maximum when mobile phone exploits the cloud resources through the network. This happens in a certain range when mobile battery is between threshold ɣ and Θ. We repeated the same experiment and observed that, use of OLI (offloading likelihood index) reduces the total offloading cost in case of full offloading as well as CAPOF (Application Partitioning and Offloading Framework). 137 12 Full offloading without OLI Full offloading with OLI CAPOF without OLI CAPOF with OLI 10 Offloading Cost 8 6 4 2 0 10 20 30 40 50 60 70 80 90 100 UE Battery (%) Figure 5-13: Effect of UE Battery on offloading cost Effect of number of wireless users on offloading cost In LTE (4G) wireless network, wireless bandwidth is dependent on various factors including number of users (N) in a cell sharing the wireless resource, quality of channel, type of channel. As the number of users increase in the wireless cell the wireless bandwidth depletes. So the response time i.e. difference between time to send query to the cloud and receive response increases which increases the offloading cost. Introduction of OLI (offloading likelihood index) in the algorithm reduces the total offloading cost in case of full offloading as well as CAPOF (Application Partitioning and Offloading Framework). 138 30 Full offloading CAPOF CAPOF with OLI Full offloading with OLI 25 Offloading Cost 20 15 10 5 0 0 5 10 15 20 25 30 Number of Wireless Users Figure 5-14: Effect of Number of wireless users on offloading cost 5.8 Summary In this chapter, the aim was to expand and improve the application and offloading framework by taking offline parameters about the application contextual model and topological structure of an application. Multiple topologies of applications graph have been analysed with various values of edges and vertices. We application various graph theory metrics which provides reasonable information about the likelihood any application to be partitioned. In this way, we have defined offloading likelihood index which takes the structural information into account and predicts how much likely an application to be partitioned without knowledge of resources of wireless network and cloud. We also simulated the effect of different kind of errors on our image retrieval application. We integrate offloading likelihood index and error response into the partitioning and offloading framework and further improved. In the end, we have test improvised version of partitioning and offloading framework in different scenarios involving various parameters of wireless network, cloud and user. 139 6 FUTURE WORK & CONCLUSION 6.1 Conclusion As the mobile network and user demands are evolving, researchers have turned their focus towards network edge i.e. investing more resources on the base stations. This provides a unique opportunity to exploit a lot of computational capacity at the base stations by leveraging the cloud computing resources. In this thesis, we have outlined an effort to propose and simulate an end-to-end communication framework and then further expanded the framework by focusing on application partitioning and offloading framework. A multiobjective optimization methodology has been applied on the given framework. The proposed methodology aims to minimize the resources in network and cloud in view of application and user context maintaining the appreciable user QoS. In Chapter 3, we propose a novel end to end multimedia communications framework in which mobile network, cloud, mobile user and application interact with each other and are connected to each other through a block mechanism. Setup is named as CANU comprising Cloud, Application, Network and User entities in an end to end communications. Mathematical model of each entity presented in CANU has been developed, and integrated in a proposed CANU framework. A multiobjective optimization algorithm NSGA-II has been applied on the CANU framework to optimize the behavior of the different models. A novel application partitioning framework which offloads the application blocks inside the cloud has been proposed in Chapter 4. The designed Comprehensive Application Partitioning and Offloading Framework (CAPOF) gathers the information about the cloud, network and user model and constructs a graph of the application and applies a sophisticated graph partitioning algorithm to optimally offload parts of the application to the cloud. By leveraging the cloud resources, saving in terms of objective measures such as execution time and energy is achieved. Although the proposed partitioning framework has been designed for arbitrary topology of applications, it has been tested on an image retrieval application where it was able to determine the portions of the application to run on a mobile device and what to execute on a cloud server according to different cost models. The framework provides a stable low time complexity and can significantly reduce execution time and energy consumption of the application by optimally distributing tasks between the mobile device and the cloud. In this way, we have tested our methodology in complex mobile network models MIMO and OLSM. CAPOF shows better performance than full 140 offloading, in terms of 20-55% saving in offloading cost. Offloading cost is also sensitive to the user preference parameter (ℇ). Offloading cost saving pattern change if we change ℇ, due to the preference of user to energy saving over response time and vice versa. In Chapter 5, the application partitioning and offloading algorithm is further expanded, by investigating the behavior of the application model. Synthetic graph topologies have been generated and various graph theory measures are applied on the topologies to estimate the complexity of a generic application graph. By doing this, we attempt to evaluate how effectively and efficiently we can determine the likelihood of application offloading solely through the graph structure. In this way, we aim to predict how various graph theory measures influence the decision of offloading decision making process. Ultimately how much performance and efficiency gain we can achieve by determining the offline offloading likelihood index (OLI) for splitting a specific application into local and remote parts. OLI improve the performance improvement achieved by CAPOF further by 5-10% due to enhanced ability of CAPOF by which it can calculate the likelihood of an application to be offloading without knowledge of cloud and network resources. 6.2 Critical Review This section summarises the critical review and suggested improvements in our work. I. The designed approach for optimization is centralized. It piles up complexity, if the system scales up (no. of users or applications increases). As discussed, a possible alternative is a decentralized approach, which comprises an N-agent system, such that each agent influence about the global optimal solution. However large communication overhead is a problem in this approach. II. Parameters for decision making such as bandwidth, security, response time and failure rate are sometimes hard to measure or acquire in a timely manner in practical systems. Therefore, the way to estimate and measure these parameters need to be further investigated. III. 4G LTE communication network as a network model is used, but due to cost concerns there are other alternatives e.g. wifi and bluetooth which can provide good connectivity and throughput in certain scenarios. IV. In designed methodology, a simplistic user QoS model has been considered, in which user has equal preferences in terms of choosing solutions concerning the resources in- 141 vested in cloud and network. This does not take into account, if user has some inherent preferences like high bandwidth demand in view of its subscriber context. V. Effect of signaling channels overhead has not been considered. Similarly, the link between LTE evolved packet core (EPC) and the cloud is also assumed to be perfect. VI. Round robin scheduler was assumed in the network context. Other scheduler e.g. proportional fair, max SINR and best CQI has not been simulated. VII. Effect of handovers has not been taken into account. User high mobility can cause excessive handovers, which might lead to missing QoS latency requirements. 6.3 Future Work In view of the critical review, we outline the following directions of the future work. I. Rate of change of channel conditions, type of channel (Gaussian, Rayleigh, Pedestrian, Vehicular), cloud and network load strongly influence the optimal solution. In this way, a comprehensive single user optimization model is proposed in the section 3.4, which can be extended further to accommodate multi user scenario in future to extend the current optimization framework. II. In the similar way, the single user optimization framework can be extended to a multiuser scenario by scaling up the network and cloud resources. In view of the increased complexity of multi-user model dynamic programming and Collaborative game theory [111] can be explored. In these de-centralized based approaches, optimization is done in a distributed manner such that each agent gives feedback to reach a global optimum solution. III. Multimedia Broadcast Multicast Service (MBMS) service is used to exploit the joint processing and joint transmission through the radio-network. It saves a lot of network/cloud effort in delivering appropriate QoS to users consuming the same content. MBMS scenario can be incorporated in our proposed end-to-end communication framework. IV. Application context can be elaborated with the cloud offloading mentioned in the section 2.1.3. In this way, instantaneous conditions of the network and cloud decide about the part of the application which needs to be partitioned, offloaded and executed in cloud. V. User context can be more elaborated with user contextual information. In MOP methodology, instead of a single solution, a set of feasible solutions (pareto front) are 142 obtained. In this way, a more sophisticated user (social and subscriber) contextual model can help to choose a specific solution in multi-objective optimization. VI. Energy and power efficiency has not been investigated while designing the contextual models. For example, LTE consumes 26 times more power[112] as compared to its legacy mobile systems (wifi, wimax). So network models for LTE alternatives need to be investigated also. Similarly, Cloud model can also be more generalized, while taking into account the factor like energy efficiency. Authors in [113] has derived a preliminary model for cloud energy usage. VII. The current framework can be extended to 5G communication network by integrating new entities like machine to machine communications (M2MC), internet of things and cognitive radios. VIII. Wifi model can be integrated in the current methodology in certain scenarios where the mobile network is in relatively worse conditions and user profile poses cost concerns in terms of network access and usage. With advances in the wireless communications and cloud computing, new applications involving immersive multimedia and rich graphics are emerging. Quality of experience of the user is changing and research is going towards exploiting huge potentials in the cloud. Our research is another step in that direction. We have made an effort that summarize multiple entities involved in an end to end communication system and then have proposed a multiobjective optimization framework i.e. CANU which optimizes their behavior. Then we focus our work towards application entity of the CANU framework and presented application partitioning and offloading algorithm which aim to enhance user QoS by reducing the response time and energy consumed. The efforts made by us in this direction have potential to extend further in certain directions. 143 REFERENCES [1] M. Tan, X. Su, and H. Wu, “Media Cloud : When Media Revolution Meets Rise of Cloud Computing” in the proceedings of The 6th IEEE International Symposium on Service Oriented System Engineering (SOSE 2011) vol. 7, no. 2, pp. 169–193, 2013. [2] M. Claypool, D. Finkel, A. Grant, and M. Solano, “Thin to Win ? Network Performance Analysis of the OnLive Thin Client Game System,” in 11th Annual Workshop on Network and Systems Support for Games (NetGames), 2012. [3] M. Shiraz, A. Gani, R. H. Khokhar, and R. Buyya, “A Review on Distributed Application Processing Frameworks in Smart Mobile Devices for Mobile Cloud Computing” in IEEE Communications Surveys & Tutorials ( Volume: 15, Issue: 3, Third Quarter 2013 ) pp. 1–20, 2012. [4] N. Fernando, S. W. Loke, and W. Rahayu, “Mobile cloud computing: A survey” in Future Generation Computer System Journal, vol. 29, no. 1, pp. 84–106, Jan. 2013. [5] M. D. Carroll and I. Had, “3D Rendering in the Cloud” in Bell Labs Technical Journal vol. 17, no. 2, pp. 55–66, 2012. [6] G. Lawton, “Cloud Streaming Brings Video to Mobile Devices", in IEEE Computer Society, Issue No. 02 - Feb. (vol. 45), pp: 14-16, 2012. [7] P. Ross, “Cloud Computing’s Killer App: Gaming,” in IEEE Spectrum, vol. 46, no. 3, pp. 14–14, Mar. 2009. [8] B. G. E. Moore, “Cramming more components onto integrated circuits,” in proceedings of the IEEE, Electronics, volume 38, number 8, pp.114, April 19, 1965 [9] L. Guan, X. Ke, M. Song, and J. Song, “A Survey of Research on Mobile Cloud Computing,” in 10th IEEE/ACIS Internation Conference on Computer Infornation Science, pp. 387–392, May 2011. [10] M. V. Pedersen and F. H. P. Fitzek, “Mobile Clouds: The New Content Distribution Platform” in the Proceedings of the IEEE, vol. 100, pp. 1400–1403, May 2012. [11] R. Stankiewicz and a. Jajszczyk, “A survey of QoE assurance in converged networks” in the Journal of Computer Networks, vol. 55, no. 7, pp. 1459–1473, May 2011. [12] S. E. Wilhite, “Cloud computing?” White paper published in HDA Now, p. 12, Jan. 2012. [13] J. Zyren, “Overview of the 3GPP Long Term Evolution Physical Layer” While paper published by Freescale Semiconductor, Document Number: 3GPPEVOLUTIONWP, 2007. [14] M. E. Aydin, R. Kwan, W. Ding, and J. Wu, “A Genetic Algorithm Approach for Multiuser Scheduling on the LTE Downlink,” in the Proceedings of the World Congress on Engineering IIWCE 2012, London, U.K. vol. II, pp. 1–6, July 4 - 6, 2012. [15] K. Mukherjee and G. Sahoo, “Mathematical Model of Cloud Computing Framework Using Fuzzy Bee Colony Optimization Technique” in International Conference on Advance Computing, Control and Telecommunication Technology , pp. 664–668, Dec. 2009. [16] J.-S. Wu, S.-F. Yang, C.-M. Hsu, J.-Y. Tu, and J.-R. Jiang, “User Satisfaction-Based Scheduling Algorithm for Uplink Transmission in Long Term Evolution System,” in the proceedings of IEEE 18th Int. Conf. on Parallel Distribed Systems, pp. 930–935, Dec. 2012. 144 [17] S. Patidar, D. Rane, and P. Jain, “A Survey Paper on Cloud Computing,” in the proceedings of Second Int. Conf. on Adv. Computer Communication Technology, pp. 394–398, Jan. 2012. [18] M. E. Alex and R. Kishore, “Forensic Model for Cloud Computing : An Overview” in the proceedings of International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET), pp. 1291–1295, 2016. [19] G. J. Mirobi and T. Nadu, “Service Level Agreement In Cloud Computing . An Overview” in International Journal of Grid Distribution Computing, Vol. 8, No.5, pp.7-32, 2015. [20] S. Kandula, “Comparing Public-Cloud Providers” in the proceedings of IEEE Internet Computing, vol. 15, no. 2, pp. 50–53, Mar. 2011. [21] L. Yang, J. Cao, and S. Member, “Multi-User Computation Partitioning for Latency Sensitive Mobile Cloud Applications” in the IEEE Transactions on Computers, VOL. 64, NO. 8, pp. 2253–2266, AUGUST 2015. [22] A. Singh, S. Sharma, S. Ravi Kumar, S. A. Yadav, “Overview of PaaS and SaaS and its Application in Cloud Computing,” in the proceedings of International Conference on Innovation and Challenges in Cyber Security (ICICCS-INBUSH), pp. 172–176, 2016. [23] L. Yang, J. Cao, S. Member, S. Tang, D. Han, and N. Suri, “Run Time Application Repartitioning in Dynamic Mobile Cloud Environments”, in IEEE Transactions on Cloud Computing , Volume: 4, Issue: 3, pp. 336–348, July-Sept. 1 2016. [24] Q. Duan, Y. Yan, and A. V Vasilakos, “A Survey on Service-Oriented Network Virtualization Toward Convergence of Networking and Cloud Computing” in IEEE Transactions on Network and Service Management, vol. 9, no. 4, pp. 373–392, 2012. [25] H. Flores, S. N. Srirama, and C. Paniagua, “Towards mobile cloud applications: Offloading resourceintensive tasks to hybrid clouds” in International Journal on Pervasive Computing Communication, vol. 8, no. 4, pp. 344–367, 2012. [26] Y. Liu, S. Wang, and S. Dey, “Modeling, characterizing, and enhancing user experience in Cloud Mobile Rendering” in International Conference on Computer Networking and Communication, pp. 739–745, Jan. 2012. [27] J. Baliga, R. W. a Ayre, K. Hinton, and R. S. Tucker, “Green Cloud Computing: Balancing Energy in Processing, Storage, and Transport” in the Proc. IEEE, vol. 99, no. 1, pp. 149–167, Jan. 2011. [28] K. Kumar, “Cloud Computing for Mobile Users: Can Offloading Computation Save Energy?” in IEEE Computer Society magazine, vol. 43, no. 4, pp. 51–56, Apr. 2010. [29] J. Weinman, “Network Implications of Cloud Computing” in Technical Symposium at ITU Telecom World (ITU WT), pp. 75–81, 2011. [30] R. N. Calheiros, R. Ranjan, and R. Buyya, “Virtual Machine Provisioning Based on Analytical Performance and QoS in Cloud Computing Environments” International Conference on Parallel Processing, pp. 295–304, Sep. 2011. [31] P. Bellavista, G. Carella, L. Foschini, T. Magedanz, F. Schreiner, and K. Campowsky, “QoS-aware elastic cloud brokering for IMS infrastructures” IEEE Symposium on Computers and Communications (ISCC), pp. 157–160, Jul. 2012. [32] J. Shuja, K. Bilal, S. A. Madani, M. Othman, R. Ranjan, P. Balaji, and S. U. Khan, “Survey of Techniques and Architectures for Designing Energy-Efficient Data Centers” in IEEE Systems Journal, vol. 10, no. 2, pp. 507–519, 2016. 145 [33] B. Martini, “Manufacturing : Security , Privacy , and Forensic Concerns” Published By The IEEE Computer Society magazine, vol 3, pp.16 –22, 2016. [34] S. Wang and S. Dey, “Adaptive Mobile Cloud Computing to Enable Rich Mobile Multimedia Applications” in IEEE Transactions on Multimedia, vol. 15, no. 4, pp. 870–883, Jun. 2013. [35] R. Jain and S. Paul, “Network Virtualization and Software Defined Networking for Cloud Computing : A Survey” in IEEE Communications Magazine, Volume: 51, Issue: 11, pp. 24–31, 2013. [36] H. Wang, F. Wang, J. Liu, S. Member, D. Wang, and J. Groen, “Enabling Customer-Provided Resources for Cloud Computing : Potentials , Challenges , and Implementation” in IEEE Transactions on Parallel and Distributed Systems, vol. 26, no. 7, pp. 1874–1886, 2015. [37] F. Xia, S. Member, A. M. Ahmed, S. Member, L. T. Yang, and Z. Luo, “Community-Based Event Dissemination with Optimal Load Balancing”, IEEE Transactions on Computers, vol. 64, no. 7, pp. 1857–1869, 2015. [38] M. Cloud, “Context-Aware Mobile Cloud Computing and Its Challenges” in IEEE Cloud Computing volume: 2, issue: 3, 2015. [39] E. Z. Milian, M. M. Spinola, R. F. Gonçalves, A. L. Fleury, and A. D. De, “Assessing Challenges , Obstacles and Benefits of Adopting Cloud Computing : Study of an Academic Control System” in IEEE Latin America Transactions, vol. 13, no. 7, pp. 2301–2307, 2015. [40] F. Polash, A. Abuhussein, and S. Shiva, “A Survey of Cloud Computing Taxonomies : Rationale and Overview” in 9th International Conference for Internet Technology and Secured Transactions (ICITST), no. 1, pp. 459–465, 2014. [41] H. Atre, “A review of mobile cloud computing” in the proceedings of 6th International Conference Cloud System & Big Data Engineering (Confluence), p199-202, 2016. [42] J. Wang, J. Peng, and Y. Wei, “Adaptive Application Offloading Decision and Transmission Scheduling for Mobile Cloud Computing” in the proceedings of IEEE International Conference on Communications (ICC), 22-27 May 2016. [43] R. Buyya, R. Ranjan, and R. N. Calheiros, “Modeling and simulation of scalable Cloud computing environments and the CloudSim toolkit: Challenges and opportunities” in the proceedings of International Conference on High Performance Computing and Simulation, pp. 1–11, Jun. 2009. [44] B. Wickremasinghe, R. N. Calheiros, and R. Buyya, “CloudAnalyst: A CloudSim-Based Visual Modeller for Analysing Cloud Computing Environments and Applications” in the proceedings of 24th IEEE Advanced Information Networking and Applications (AINA), pp. 446–452, 2010. [45] S. K. Garg and R. Buyya, “NetworkCloudSim: Modelling Parallel Applications in Cloud Simulations,” in the proceedings of Fourth IEEE International Conference on Utility Cloud Computing, pp. 105–113, Dec. 2011. [46] S. Long and Y. Zhao, “A Toolkit for Modeling and Simulating Cloud Data Storage: An Extension to CloudSim,” in the proceedings of International Conference on Control Engineering and Communication Technology, pp. 597–600, Dec. 2012. [47] K. Kumar, J. Liu, Y.-H. Lu, and B. Bhargava, “A Survey of Computation Offloading for Mobile Systems” in the proceedings of Mobile Networks Applications, Apr 2012. [48] D. Niyato, “A Dynamic Offloading Algorithm for Mobile Computing” in IEEE Transactions on Wireless Communication., vol. 11, no. 6, pp. 1991–1995, Jun. 2012. 146 [49] P. Mcdonagh, C. Vallati, A. Pande, P. Mohapatra, P. Perry, and E. Mingozzi, “Quality-Oriented Scalable Video Delivery using H . 264 SVC on an LTE Network” in the proceedings of IEEE Global Telecommunications Conference (GLOBECOM), 5-9 Dec. 2011. [50] A. Pande, V. Ramamurthi, and P. Mohapatra, “Quality-oriented Video delivery over LTE using Adaptive Modulation and Coding”, in the proceedings of IEEE Global Telecommunications Conference (GLOBECOM), 5-9 Dec. 2011. [51] H. Wang, L. Ding, P. Wu, Z. Pan, N. Liu, X. You, “Dynamic Load Balancing in 3GPP LTE MultiCell Networks with Heterogenous Services”, in the proceedings of 5th International ICST Conference on Communications and Networking in China, pp. 1 - 5, 2011. [52] B. Bojovic, N. Baldo, and P. Dini, “A Cognitive scheme for Radio Admission Control in LTE systems,” in the proceedings of 3rd International Workshop on Cognitive Information Processing (CIP), pp. 1–3, May 2012. [53] B. Siva, K. Reddy “OFDMA downlink physical layer communication for IEEE 802.16-2009 standard” in the proceedings of Annual IEEE India Conference (INDICON), 2015 [54] S. Wang and S. Dey, “Addressing Response Time and Video Quality in Remote Server Based Internet Mobile Gaming” in the proceedings of IEEE Wireless Communication and Networking Conference, vol. 5, pp. 1–6, Apr. 2010. [55] S. Wang, S Dey, “Cloud Mobile Gaming : Modeling and Measuring User Experience in Mobile Wireless Networks” in the proceedings of ACM SIGMOBILE Mobile Computing and Communications, Volume 16 Issue 1, pp. 10-21, January 2012 [56] X. Sun, N. Ansari, “Energy-optimized bandwidth allocation strategy for mobile cloud computing in LTE networks” IEEE Wireless Communications and Networking Conference (WCNC), 9-12 March 2015. [57] S. Ghorpade, N. Chavan, A. Gokhale, and D. Sapkal, “A Framework For Executing Android Applications On The Cloud,” International Conference on Advances in Computing, Communications and Informatics (ICACCI), pp. 230–235, 2013. [58] A. Kundu, “Authentication of Data on Devices,” IEEE 28th International Conference on Data Engineering Workshops (ICDEW), pp. 236–242, Apr. 2012. [59] S. Ĉ. Borislav, S. P. Jovanovi, and V. V Tim, “Cloud Computing in Amazon and Microsoft Azure platforms : performance and service comparison”, 22nd Telecommunications Forum Telfor (TELFOR), ,pp. 931–934, 2014. [60] S. Nishida and Y. Shinkawa, “A Performance Prediction Model for Google App Engine,” 2015 10th Int. Conf. on P2P, Parallel, Grid, Cloud Internet Computing, pp. 134–140, Nov. 2015. [61] M. Hussain and B. M. Almourad, “Trust in Mobile Cloud Computing with LTE-based Deployment,” 2014 IEEE 11th Intl Conf Ubiquitous Intell. Comput. 2014 IEEE 11th Intl Conf Auton. Trust. Comput. 2014 IEEE 14th Intl Conf Scalable Comput. Commun. Its Assoc. Work., pp. 643–648, Dec. 2014. [62] B. F. Xu, F. Liu, H. Jin, and A. V Vasilakos, “Managing Performance Overhead of Virtual Machines in Cloud Computing: A Survey, State of the Art, and Future Directions” in the proceedings of the IEEE ( Volume: 102, Issue: 1) 2014. [63] R. Khan, M. Othman, S. A. Madani, and I. Member, “A Survey of Mobile Cloud Computing Application Models” IEEE Communications Surveys & Tutorials, vol. 16, no. 1, pp. 393–413, 2014. 147 [64] M. Guzek, P. Bouvry, E. Talbi, “A Survey of Evolutionary Computation for Resource Management of Processing in Cloud Computing” IEEE Computational Intelligence Magazine ( Volume: 10, Issue: 2), pp. 53–67, 2015. [65] C. Colman-meixner, C. Develder, S. Member, M. Tornatore, and B. Mukherjee, “A Survey on Resiliency Techniques in Cloud Computing Infrastructures and Applications,” IEEE Communications Surveys & Tutorials, vol. 18, no. 3, pp. 2244–2281, 2016. [66] X. Huang, R. Yu, J. Kang, J. Ding, S. Maharjan, S. Gjessing, and Y. Zhang, “Dynamic Resource Pricing and Scalable Cooperation for Mobile Cloud Computing,” IEEE 12th Intl Conf on Ubiquitous Intelligence and Computing 2015 IEEE, no. 3, pp. 786–792, Aug. 2015. [67] S. Deng, L. Huang, H. Wu, and Z. Wu, “Constraints-Driven Service Composition in Mobile Cloud Computing,” IEEE Int. Conf. on Web Services, no. Mcc, pp. 228–235, Jun. 2016. [68] J. Chen, W. Zhang, “The Right Way to Search Evolving Graphs” IEEE International Parallel and Distributed Processing Symposium Workshops, 23-27 May 2016 [69] M. Rawashdeh, A. Alnusair, N. Mustafa, and M. Migdadi, “Multimedia Mobile Cloud Computing: Application models for performance enhancement", IEEE International Conference on Multimedia & Expo Workshops (ICMEW), 2016 [70] H. Wu, "Analysis of Offloading Decision Making in Mobile Cloud Computing”, Ph.D. dissertation, Freie Universität Berlin, Berlin, Germany 2015. [71] S. Deshmukh and R. Shah “Computation Offloading Frameworks in Mobile Cloud Computing : A Survey”, IEEE International Conference on Current Trends in Advanced Computing (ICCTAC), 2016. [72] Q. Qi, J. Liao, J. Wang, and Q. Li, “Dynamic Resource Orchestration for Multi-task Application in Heterogeneous Mobile Cloud Computing,” IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), 2016. [73] N. Chalaemwongwan and W. Kurutach “Mobile Cloud Computing : A Survey and Propose Solution Framework” 13th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), 2016. [74] Y. Zhang, J. Yan, and X. Fu, “Reservation-based Resource Scheduling and Code Partition in Mobile Cloud Computing”, IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), 2016. [75] K. Dvijotham and R. Sharma, “Battery life estimation in a real-time energy management system,” IEEE Power and Energy Society General Meeting (PES), 2013. [76] G. P. Perrucci, F. H. P. Fitzek, and J. Widmer, “Survey on Energy Consumption Entities on the Smartphone Platform,” IEEE 73rd Vehicular Technology Conference (VTC Spring), pp. 1–6, May 2011. [77] T. Hobfeld, R. Schatz, M. Varela and C. Timmerer, “Challenges of QoE management for cloud applications,” IEEE Communications Magazine ( Volume: 50, Issue: 4), April 2012. [78] I. Siomina and S. Wanstedt, “The impact of QoS support on the end user satisfaction in LTE networks with mixed traffic,” 2008 IEEE 19th Int. Symp. on Personal Indoor Mobile Radio Communications., pp. 1–5, Sep. 2008. [79] S. Asghar, “A survey on multi-criteria decision making approaches,” International Conference on Emerging Technologies, ICET, pp. 321–325, Oct. 2009. 148 [80] A. S. Hassan and M. A. M. Rafie, “A Survey of Game Theory Using Evolutionary Algorithms,” in International Symposium in Information Technology (ITSim), pp. 1319–1325, 2010. [81] M. Dorigo, V. Maniezzo, A. Colorni, “Ant system: optimization by a colony of cooperating agents”, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 26, issue 1, Feb 1996 [82] P. Ngatchou, a. Zarei, and a. El-Sharkawi, “Pareto Multi Objective Optimization” in Proceedings of 13th International Conference on, Intelligent Systems Application to Power Systems., pp. 84–91, 2005. [83] T. Rjlurata and O. P. Gakuen-cho, “MOGA: Multi-Objective Genetic Algorithms”, IEEE International Conference on Evolutionary Computation, pp. 289–294, 1995. [84] J. Horn, N. Nafpliotis, D.E. Goldberg, “A Niched Pareto Genetic Algorithm for Multiob jective Optimization” in the Proceedings of the First IEEE Conference on Evolutionary Computation, IEEE World Congress on Computational Intelligence, pp. 82–87, June 1994. [85] E.J. Hughes, “Evolutionary many-objective optimisation: many once or one many?”, in IEEE Congress on Evolutionary Computation, 2005. [86] E. Zitzler, M. Laumanns, and L. Thiele, “SPEA2 : Improving the Strength Pareto Evolutionary Algorithm,” Eurogen. Vol. 3242. No. 103. 2001. [87] A. Seshadri, “A fast elitist multiobjective genetic algorithm: nsga-ii,” pp. 1–4. [88] K. Deb, A. Member, A. Pratap, S. Agarwal, and T. Meyarivan, “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II” IEEE transactions on evolutionary computation, pp.182-197, vol. 6, 2002. [89] A. Konak, D. W. Coit, and A. E. Smith, “Multi-objective optimization using genetic algorithms: A tutorial” in Reliability Engineering & System Safety, vol. 91, no. 9, pp. 992–1007, Sep. 2006. [90] Coello, CA Coello. "Evolutionary multi-objective optimization: a historical view of the field." IEEE computational intelligence magazine, pp. 28–36, February 2006. [91] A. Thompson, D. Corne, and C. Wang, “Optimization of LTE Scheduling Using Multi-Objective Evolutionary Algorithms” 2010 UK Workshop on Computational Intelligence (UKCI). IEEE, 2010. [92] N. Sharma, A. Rao, A. Dewan, and M. Safdari, “Rate adaptive resource allocation for multiuser OFDM using NSGA - II” Wireless Communication and Sensor Networks, 2008. WCSN 2008. Fourth International Conference on. IEEE, 2008. [93] K. Lin, “Improving Energy Efficiency of LTE Networks by Applying Genetic Algorithm (GA)” 2011 IEEE Ninth Int. Conf. Dependable, Auton. Secur. Comput., pp. 593–597, Dec. 2011. [94] K. Li, G. Xu, G. Zhao, Y. Dong, and D. Wang, “Cloud Task Scheduling Based on Load Balancing Ant Colony Optimization,” Dependable, Autonomic and Secure Computing (DASC), pp. 3–9, Aug. 2011. [95] L. M. Brandwacht, “Dimensioning the Cloud,” Diss. MSc thesis Leiden University, the Netherlands, 2013. [96] Ikuno, Josep Colom, Martin Wrulich, and Markus Rupp. "System level simulation of LTE networks." IEEE 71st. Conference on Vehicular Technology Conference (VTC 2010-Spring), 2010. 149 [97] C. Mehlführer, J. Colom Ikuno, M. Šimko, S. Schwarz, M. Wrulich, and M. Rupp, “The Vienna LTE simulators - Enabling reproducibility in wireless communications research,” EURASIP J. Adv. Signal Process., vol. 2011, no. 1, p. 29, 2011. [98] Piro, Giuseppe, et al. "Simulating LTE cellular systems: an open-source framework." IEEE transactions on vehicular technology, pp. 498-513, 2011. [99] Š. Michal, S. Schwarz, J. C. Ikuno, M. Taranetz, Q. Wang, M. Lerch, and M. Rupp, “LTE research using the Vienna LTE link and system level simulators,” Cooperative Radio Communiations for Smart Green Environment COST IC, 2012. [100] Prasad, Ramjee. OFDM for wireless communications systems. Artech House, 2004. [101] A. Aron, G. Gˆ, and C. Pop, “About the solution of a battery mathematical model,” BSG Proceedings on Geometry, Balkan Press, 1-10 pp. 1–10, 2011. [102] B.-G. Chun and P. Maniatis, “Dynamically partitioning applications between weak devices and clouds” Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond. ACM, pp. 1–5, 2010. [103] S. S. Husain and M. Bober, “Improving large-scale image retrieval through robust aggregation of local descriptors”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 88, 2016. [104] Husain, Syed, and Miroslaw Bober. "Robust and scalable aggregation of local features for ultra largescale retrieval." IEEE International Conference on Image Processing (ICIP). IEEE, pp. 2799–2803, 2014. [105] N. Kourtellis and F. Bonchi, “Scalable Online Betweenness Centrality in Evolving Graphs,” IEEE Transactions on Knowledge and Data Engineering, pp. 1580–1581, 2016. [106] N. Takahashi and A. E. Cases, “On Clustering Coefficients of Graphs with the Fixed Numbers of Vertices and Edges”, European Conference on Circuit Theory and Design, vol. 1, pp. 814–817, 2009. [107] A. Proskurnikov and M. Cao, “A novel homogenous protocol for multi-agent clustering over directed graphs,” IEEE American Control Conference (ACC), pp. 1906–1911, 2016. [108] C. Wang, “Pruning Network Coding Traffic By Network Coding — A New Max-Flow Algorithm” IEEE International Symposium on Information Theory, pp. 26–30, 2008. [109] O. Lezoray, A. Elmoataz, V. T. Ta, B. Mar, and F.- Caen, “Learning graph neighborhood topological order for image and manifold morphological processing ”, IEEE International Conference on Computer and Information Technology, 2008. [110] D. Ashlock, J. Schonfeld, L. Barlow, and C. Lee, “Test Problems and Representations for Graph Evolution” Foundations of Computational Intelligence (FOCI), 2014 IEEE Symposium on. IEEE, 2014. [111] Z. Li, “LTE network planning based on game theory” IEEE International Conference on Computer Science and Service System (CSSS), pp. 3963–3966, Jun. 2011. [112] A. Gerber, Z. M. Mao, and O. Spatscheck, “A Close Examination of Performance and Power Characteristics of 4G LTE Networks Categories and Subject Descriptors,” Proceedings of the 10th international conference on Mobile systems, applications, and services. ACM, pp. 225–238, 2012. [113] X. Fan, W.-D. Weber, and L. A. Barroso, “Power provisioning for a warehouse-sized computer” ACM SIGARCH Computer Architecture News. ACM, vol. 35, no. 2, pp. 13, Jun. 2007. 150 [114] Alradwan, Haysam, Adnan Motermawy, and Kinan Ghanem. "Reducing pingpong handover effect in LTE mobile networks using TRIAS." Journal for Research and Scientific Studies Engineering Sciences series, pp - 237-50, 2011. [115] Cerwall, Patrik, et al. "Ericsson mobility report." Ericsson.[Online]. Available.: www. ericsson. com/r es/docs/2015/ericsson-mobility-report-june-2015. pdf [June 2015] Accessed: Dec 2016. [116] Fei, Zesong, et al. "A survey of multi-objective optimization in wireless sensor networks: Metrics, algorithms and open problems." IEEE Communications Surveys & Tutorials, 2016. [117] Abraham, Ajith, et al. "Nature inspired meta-heuristics for grid scheduling: single and multi-objective optimization approaches." Metaheuristics for Scheduling in Distributed Computing Environments. Springer Berlin Heidelberg, pp. 247-272, 2008. [118] Jaeggi, D. M., et al. "The development of a multi-objective Tabu Search algorithm for continuous optimisation problems." European Journal of Operational Research 185.3, pp - 1192-1212, 2008. [119] Konak, Abdullah, David W. Coit, and Alice E. Smith. "Multi-objective optimization using genetic algorithms: A tutorial." Reliability Engineering & System Safety 91.9, pp 992-1007, 2006. [120] Poli, Riccardo, James Kennedy, and Tim Blackwell. "Particle swarm optimization." Swarm intelligence 1.1, pp. 33-57, 2007. [121] Qin, A. Kai, Vicky Ling Huang, and Ponnuthurai N. Suganthan. "Differential evolution algorithm with strategy adaptation for global numerical optimization." IEEE transactions on Evolutionary Computation 13.2, pp. 398-417, 2009. [122] D. G. Lowe, “Distinctive image features from scale-invariant keypoints” International Journal of Computer Vision, pp. 91–110, 2004. [123] H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool, “Speeded-up robust features (SURF),” Computer Vision and Image Understanding, pp.346–359, 2008. [124] Ke, Yan, and Rahul Sukthankar. "PCA-SIFT: A more distinctive representation for local image descriptors." Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on. Vol. 2. IEEE, 2004. [125] Lo, Tsz-Wai Rachel, and J. Paul Siebert. "Local feature extraction and matching on range images: 2.5 D SIFT." Computer Vision and Image Understanding 113.12, pp-1235-1250, 2009. [126] Juan, Luo, and Oubong Gwun. "A comparison of sift, pca-sift and surf." International Journal of Image Processing (IJIP) 3.4, pp- 143-152, 2009. [127] Datta, Ritendra, et al. "Image retrieval: Ideas, influences, and trends of the new age." ACM Computing Surveys (CSUR) 40.2, pp- 5-10, 2008. [128] Sivic, Josef, and Andrew Zisserman. "Video Google: A text retrieval approach to object matching in videos." Computer Vision, 2003. Proceedings. Ninth IEEE International Conference on. IEEE, 2003. [129] Alasti, Mehdi, et al. "Quality of service in WiMAX and LTE networks." IEEE Communications Magazine 48.5, pp-104-111, 2010. [130] Sesia, Stefania, Issam Toufik, and Matthew Baker. LTE-the UMTS long term evolution. John Wiley, 2015. 151 [131] Horváth, Géza. "End-to-end QoS management across LTE networks." IEEE 21st International Conference on Software, Telecommunications and Computer Networks (SoftCOM), 2013. [132] Li, Li, and Subin Shen. "End-to-End QoS performance management across LTE networks." IEEE 13th Asia-Pacific Network Operations and Management Symposium (APNOMS), 2011. [133] Liu, Tzu-Chin, et al. "QoS-aware resource management for multimedia traffic report systems over LTE-A." ELSEVIER Journal on Computer Networks, vol 94, pp. 375-389, 2016. [134] Ameigeiras, Pablo, et al. "3GPP QoS-based scheduling framework for LTE." EURASIP Journal on Wireless Communications and Networking 2016.1, pp. 1-14, 2016. [135] Nan, Xiaoming, Yifeng He, and Ling Guan. "Optimal allocation of virtual machines for cloud-based multimedia applications." 2012 IEEE 14th international workshop on Multimedia signal processing (MMSP), 2012. [136] Nan, Xiaoming, Yifeng He, and Ling Guan. "Optimal resource allocation for multimedia application providers in multi-site cloud." 2013 IEEE International Symposium on Circuits and Systems (ISCAS2013). IEEE, 2013. [137] Nan, Xiaoming, Yifeng He, and Ling Guan. "Towards dynamic resource optimization for cloud-based free viewpoint video service." 2014 IEEE International Conference on Image Processing (ICIP). IEEE, 2014. [138] Alhamazani, Khalid, et al. "Cross-Layer Multi-Cloud Real-Time Application QoS Monitoring and Benchmarking As-a-Service Framework.", IEEE Transactions on Cloud Computing, vol. , no. , pp. 1, 5555, 2015. [139] Reiss, Charles, et al. "Heterogeneity and dynamicity of clouds at scale: Google trace analysis." Proceedings of the Third ACM Symposium on Cloud Computing. ACM, 2012. [140] Monfreid, C. "The LTE network architecture-a comprehensive tutorial." Alcatel-Lucent White Paper, 2009. 152 APPENDICES Appendix I: SYSTEM PARAMETERS OF LTE SIMULATION Parameter Value Transmission scheme Single Input Single Output (SISO) Channel type Gaussian SNR Range -20 to 10 Bandwidth 10 MHz Simulated TBs 10 000 Channel knowledge Perfect Apprendix II: MOBILE TRAFFIC STATISTICS Application Traffic User User Percentage Percentage 2010 2015 [115] FTP Best effort 10 % 3% Web Browsing Interactive 20 % 20 % Video Streaming 20 % 45 % VoIP Real-time 30 % 12 % 20 % 25 % Gaming Interactive real-time Appendix III (a) VIDEO STREAMING MODEL Parameter Inter-Arrival Statistical Characterization time between the beginning Deterministic 100 ms (based on 10 frames per second) of each frame Number of packets Deterministic, 8 packets per frame (slices) in a frame Packet (slice) size Truncated Pareto Distribution Mean=10 Bytes, Maximum =250 Bytes (Before Truncation) 153 k fx ,k x m 1 PDF: , k fx , x m , m 1.2, k 20 Bytes, m ?? Inter-arrival time between packets (slices) in a frame Truncated Pareto Distribution Mean=m=6 ms, Maximum =12.5 ms (Before Truncation) fx PDF: k ,k x m 1 , k fx , x m , m 1.2, k 2.5ms, m ?? (b) INTERACTIVE ONLINE GAMING MODEL Parameter Statistical Characterization Initial packet arrival Uniform Distribution fx 1 ,a x b ba , a 0, b 40ms Packet arrival Deterministic, 40 ms Packet size Largest Extreme Value Distribution (also known as FisherTippett distribution) 1 fx e b xa b e e xa b , a 45Bytes, b 5.7 Values for this distribution can be generated by the following procedure: x a b ln ln y , where y is drawn from a uniform distri- bution in the range 0,1 Because packet size has to be integer number of bytes, the largest integer less than or equal to x is used as the actual packet size 154 Appendix IV LIST OF MULTI-OBJECTIVE ALGORITHMS [116] EMOCA FA FRMOO GP HBOA ICA MA MODA MODE MOEA MOEA/D MOEA/DFD dominance. MOGA MOGLS MOICA MOMGA MOMGA-II MOSS MOTS NPGA NSGA NSGA-II PAES PESA PESA-II PSO SDD SIOA SPEA SPEA2 evolutionary multi-objective crowding algorithm. firefly algorithm. fuzzy random multi-objective optimization. goal programming. hierarchical Bayesian optimization algorithm. imperialist competitive algorithm. memetic algorithm. multi-objective deployment algorithm. multi-objective differential evolution. multi-objective evolutionary algorithm. multi-objective evolutionary algorithm based on decomposition. multi-objective evolutionary algorithm based on decompose tion with fuzzy multi-objective genetic algorithm. multi-objective genetic local search. multi-objective imperialist competitive algorithm. multi-objective messy genetic algorithm. multi-objective messy genetic algorithm-II. multi-objective scatter search. multi-objective tabu search. niched Pareto genetic algorithm. non-dominated sorting genetic algorithm. non-dominated sorting genetic algorithm-II. Pareto archive evolution strategy. Pareto envelope-based selection algorithm. Pareto envelope-based selection algorithm-II. particle swarm optimization. subgradient dual decomposition. swarm intelligence based optimization algorithm. strength Pareto evolutionary algorithm. strength Pareto evolutionary algorithm-2. 155 Appendix V A COMPREHENSIVE COMPARISON OF PERFORMANCE OF GENETIC ALGORITHMS [116] Approach Complexity Conver- Scalability Optimality limited mathematically guaranteed op- gence linear weightedsum method moderate fast timal ε-constraints method low fast limited GP moderate fast good timal mathematically guaranteed op- MOGA moderate fast limited timal empirically very near-optimal NSGA high slow limited empirically very near-optimal NSGA-II moderate fast good empirically very near-optimal NPGA low slow limited empirically very near-optimal SPEA high fast good empirically very near-optimal SPEA2 high fast good empirically very near-optimal PAES moderate fast limited empirically very near-optimal PESA moderate moderate moderate empirically very near-optimal PESA-II low moderate good empirically very near-optimal MOEA/D low fast good empirically very near-optimal MOGLS moderate fast limited empirically very near-optimal MOMGA high moderate moderate empirically very near-optimal MOMGA-II low fast good empirically very near-optimal MOTS moderate slow good near-optimal MOSS moderate moderate limited near-optimal MODE high moderate limited empirically very near-optimal BOA high slow moderate near-optimal HBOA low moderate limited near-optimal PSO low slow limited empirically very near-optimal ACO high moderate good empirically very near-optimal ABC low fast good empirically very near-optimal FL low fast limited empirically very near-optimal 156 mathematically guaranteed op- ANN low slow good empirically very near-optimal AIS moderate moderate good near-optimal MOICA moderate fast good near-optimal Game Theory moderate low good empirically very near-optimal MA moderate fast good near-optimal CIVA low slow good near-optimal RL low fast good empirically very near-optimal 157