Download - Surrey Research Insight Open Access

Document related concepts
no text concepts found
Transcript
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
ba
, a  0, b  40ms
Packet arrival
Deterministic, 40 ms
Packet size
Largest Extreme Value Distribution (also known as FisherTippett distribution)
1 
fx  e
b
xa
b
e
e

xa
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