optimal collaboration of thin–thick clients and resource allocation in cloud computing

10
ORIGINAL ARTICLE Optimal collaboration of thin–thick clients and resource allocation in cloud computing Pham Phuoc Hung Tuan-Anh Bui Mauricio Alejandro Go ´mez Morales Mui Van Nguyen Eui-Nam Huh Received: 21 December 2012 / Accepted: 15 March 2013 Ó Springer-Verlag London 2013 Abstract Cloud computing (CC) has recently become a rising paradigm in the information and communications technology industry, drawing a lot of attentions to profes- sionals and researchers. During the last decade, the domi- nance of smart phones or tablet computers (known as thin clients) over traditional desktop or laptop computers (known as thick clients) has become more and more evi- dent, reflecting a great change in the way people access the Internet. Despite the recent technology advancements that manufacture a new generation of mobile devices with generous resources, the fact that they can offer only limited processing capacity still remains a painful experience. This problem, fortunately, has been made less severe thanks to the recent adoption of CC platform. CC enables offloading heavy processing tasks up to the ‘‘cloud’’, leaving only simple jobs to the user-end capacity-limited thin clients. So far, a number of research studies have been carried out, trying to eliminate problems arising from shortcomings in the connection between thin clients and cloud networks, yet little have been found efficient. In this paper, we present a novel architecture, taking advantage of collaboration of thin and thick clients, particularly aiming at optimizing data distribution and utilizing CC resources so that expected Quality-of-Service requirements can be met. We also propose an algorithm to select an optimal resource allocation strategy to satisfy various Service Level Agreements. In order to justify our proposal, we have used both numerical analysis and programming approaches. Simulation result shows that our proposed schemes can improve resource allocation efficiency and achieve better performance than the existing ones. Keywords Cloud computing Data distribution Thin Thick client Resource allocation 1 Introduction Mobile phones nowadays have become indispensable for almost everyone because of their characteristics such as light weight, low power consumption, a variety of func- tionalities they can offer and the freedom of workplace and time in use. In the meantime, both hardware and software of these phones and tablet computers have had a lot of improvements, making them no longer traditional phones with only conversations, text messaging, but also context- aware [10, 12, 19], internet-enabled personal digital assistants with email, calendar, management tools and many other desktop-like applications. Even more astounding, mobile device usage has become so dominant that it has been predicted devices running lightweight mobile operation systems (Apple’s iOS, Google’s Android and Microsoft’s Windows Phone) will gradually supplant the traditional laptop and desktop computers [6]. On the P. P. Hung (&) M. A. G. Morales M. Van Nguyen E.-N. Huh Department of Computer Engineering, Kyung Hee University, Suwon, South Korea e-mail: [email protected] M. A. G. Morales e-mail: [email protected] M. Van Nguyen e-mail: [email protected] E.-N. Huh e-mail: [email protected] T.-A. Bui Department of Information Technology, Hanoi University, Hanoi, Vietnam e-mail: [email protected] 123 Pers Ubiquit Comput DOI 10.1007/s00779-013-0673-z

Upload: tuan-anh-bui

Post on 11-Dec-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

ORIGINAL ARTICLE

Optimal collaboration of thin–thick clients and resource allocationin cloud computing

Pham Phuoc Hung • Tuan-Anh Bui •

Mauricio Alejandro Gomez Morales •

Mui Van Nguyen • Eui-Nam Huh

Received: 21 December 2012 / Accepted: 15 March 2013

� Springer-Verlag London 2013

Abstract Cloud computing (CC) has recently become a

rising paradigm in the information and communications

technology industry, drawing a lot of attentions to profes-

sionals and researchers. During the last decade, the domi-

nance of smart phones or tablet computers (known as thin

clients) over traditional desktop or laptop computers

(known as thick clients) has become more and more evi-

dent, reflecting a great change in the way people access the

Internet. Despite the recent technology advancements that

manufacture a new generation of mobile devices with

generous resources, the fact that they can offer only limited

processing capacity still remains a painful experience. This

problem, fortunately, has been made less severe thanks to

the recent adoption of CC platform. CC enables offloading

heavy processing tasks up to the ‘‘cloud’’, leaving only

simple jobs to the user-end capacity-limited thin clients. So

far, a number of research studies have been carried out,

trying to eliminate problems arising from shortcomings in

the connection between thin clients and cloud networks, yet

little have been found efficient. In this paper, we present a

novel architecture, taking advantage of collaboration of

thin and thick clients, particularly aiming at optimizing

data distribution and utilizing CC resources so that

expected Quality-of-Service requirements can be met. We

also propose an algorithm to select an optimal resource

allocation strategy to satisfy various Service Level

Agreements. In order to justify our proposal, we have used

both numerical analysis and programming approaches.

Simulation result shows that our proposed schemes can

improve resource allocation efficiency and achieve better

performance than the existing ones.

Keywords Cloud computing � Data distribution � Thin �Thick client � Resource allocation

1 Introduction

Mobile phones nowadays have become indispensable for

almost everyone because of their characteristics such as

light weight, low power consumption, a variety of func-

tionalities they can offer and the freedom of workplace and

time in use. In the meantime, both hardware and software

of these phones and tablet computers have had a lot of

improvements, making them no longer traditional phones

with only conversations, text messaging, but also context-

aware [10, 12, 19], internet-enabled personal digital

assistants with email, calendar, management tools and

many other desktop-like applications. Even more

astounding, mobile device usage has become so dominant

that it has been predicted devices running lightweight

mobile operation systems (Apple’s iOS, Google’s Android

and Microsoft’s Windows Phone) will gradually supplant

the traditional laptop and desktop computers [6]. On the

P. P. Hung (&) � M. A. G. Morales � M. Van Nguyen �E.-N. Huh

Department of Computer Engineering, Kyung Hee University,

Suwon, South Korea

e-mail: [email protected]

M. A. G. Morales

e-mail: [email protected]

M. Van Nguyen

e-mail: [email protected]

E.-N. Huh

e-mail: [email protected]

T.-A. Bui

Department of Information Technology, Hanoi University,

Hanoi, Vietnam

e-mail: [email protected]

123

Pers Ubiquit Comput

DOI 10.1007/s00779-013-0673-z

Page 2: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

downside, however, those compact and lightweight devices

normally lack sufficient resources, including, for example,

slow processor, small memory, short battery life and low

network connectivity, to run computation-intensive,

resource-consuming tasks. One of the ways to address

those shortcomings is by applying the state-of-the-art cloud

computing (CC) paradigm to provide computing services

to mobile users, making what known as mobile cloud

computing (MCC) [11]. Together with an explosive growth

of the mobile applications and emerging CC concept, MCC

has been introduced as a promising technology for mobile

service provisioning. The main idea is to move, or offload,

heavy data processing and storage to powerful, centralized

server computers resided in data centers, while leaving

mobile devices with only little part, if not at all, of the

work. MCC potentially brings the power of CC into mobile

environment and helps to deal with obstacles related to the

performance (e.g., battery life, storage and bandwidth),

environment (e.g., heterogeneity, scalability and avail-

ability) and security (e.g., reliability and privacy) discussed

in mobile computing [4].

Like any other emerging Information Communication

and Technology (ICT) trends, the presence of mobile

cloud computing introduces many research issues related

to feasibility and performance that need to be addressed.

While there have been a lot of research works discussing

how to improve the MCC performance in general, there is

also attention paid to the cost that it would take for mobile

devices to use resources from cloud providers, particu-

larly when the access to cloud networks becomes

unavailable or simply is too expensive. For example, the

access to clouds using cellular technology like 3G is

normally slower yet more costly and consumes more

energy than other interfaces like Wi-Fi [2]. To subdue

such situations, instead of attempting to make a direct

connection to the cloud, it is possible for smart objects

(i.e., smart phones) to exploit resources and computing

capabilities from nearby mobile nodes, as argued by

Frank Siegemund, Christian Floerkemeier and Harald

Vogt in [17]. These authors base their arguments on the

other research findings which suggest that a mobile client

can function either as a cloud’s client or a resource pro-

vider [15]. As another instance of the same idea, the work

presented in [22] investigates a reliable MCC architecture

that promotes services and resources exchange among

peer nodes, based on the peer-to-peer paradigm and

coverage area of mobile nodes to simplify the querying

processes of peer nodes. In [8], for example, the author

presents guidelines for a framework to create the virtual

mobile cloud computing providers. This framework relies

on nearby thin clients to create on-the-fly connection, thus

avoiding the need to connect to infrastructure-based

clouds whiling maintaining the benefits of offloading.

This method, however, has not yet solved the problem of

limited hardware capacities and network bandwidth

between mobile clients and the clouds when such access

means are required. Meanwhile, conventional thick cli-

ents like workstations or laptops normally own much

faster CPU speed, larger RAMs as well as higher Internet

connectivity. As network condition plays a crucial role in

guaranteeing the Quality-of-Services (QoS) of resources

provisioning (i.e., the higher network bandwidth there are,

the better QoS can be achieved [16]), it is recommended

that cooperation should be made between thin clients and

thick clients so that the former can rely on the latter to

overcome their own weaknesses to obtain their computing

objectives.

In recognition of the enhanced capabilities that thick

clients can offer to thin clients, we propose in this paper, a

new mobile cloud architecture that can leverage the col-

laboration between mobile devices and conventional

desktop or laptop computers to empower mobile comput-

ing. We also discuss a strategy to perform efficient data

distribution, especially with big data in cloud computing by

splitting the big data into chunks according to bandwidth of

Internet connection and thick clients’ capacity. Besides, we

select the most suitable algorithms that optimally utilize

resource allocation so as to meet expected Service Level

Agreements (SLAs) and QoS requirements. In these algo-

rithms, we use multi-user multi-task technique on each

virtual machine (VM) and create a group of service images

(SI) from thin clients, then integrate them into a multi-user

multi-task VM. It is noteworthy that each SI now corre-

sponds to a user on this multi-user multi-task VM. A group

of service images has a location-based relation that the

thin–clients are close to each other. Our objective is to

calculate the number of VM allocated for SIs whenever a

SLA is done. Moreover, we introduce an optimization

model to determine the minimum number of thick clients

which can satisfy QoS requirements. To evaluate our pro-

posed approach, a number of simulations were conducted

and their findings show that our schemes can significantly

improve efficiency of resource allocation in cloud. We also

show that collaboration of thin–thick clients associated

with splitting big data to match the different thick clients’

relay capacity can essentially achieve better performance

than other existing solutions.

Organization of the paper is as follows: Section 2 pro-

vides information about related work on previous approa-

ches solving some part of the problems mentioned above.

Section 3 details the motivating scenario which explains

why we have come up with the proposed approach. Sec-

tion 4 presents our proposed architecture while Sect. 5

reports the insight into the implementation, performance

evaluation and discussion. The last section concludes the

paper and future work.

Pers Ubiquit Comput

123

Page 3: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

2 Related work

There have been numerous studies which attempt to solve

some parts of above problems. In [20], authors propose a

new approach for efficient cloud-based synchronization of

a number of distributed file system hierarchies. They use a

master–slave architecture for propagation of data to reduce

traffic. In [3], researchers demonstrate that some resource

scheduling techniques can be effective in mitigating the

impacts that negatively influence application response time

and system utilization. Andreolini et al. [1] and Fan et al.

[5] introduce the impact of the data transfer delay on the

performance, but they do not reckon to use bandwidth

efficiently. Gueyoung et al. [8] presents a way to make a

parallel process to a big data to increase performance in

federated clouds but they do not consider how many

resources should be used. For resource allocation, Ye Hu

[9] shows that shared allocation is superior to dedicated

allocation but the author does not conduct experiments

with an arbitrary number of SLAs, nor does he determine

how fast a server is to guarantee Quality-of-Service. In [1,

5], Lenk and Li provide services to a large amount of SLAs

but performance difference between SA and RA is difficult

to obtain.

Since maintaining QoS has become one of the most

crucial tasks to evaluate cloud services in satisfying user

requirements, many efforts have tried to engage QoS

assurance into cloud models, for example [13, 18, 21].

Moreover, the authors [23] propose a QoS-aware frame-

work for MCC and an adaptive QoS management process

to manage QoS assurance in MCC environment. This work

also details its model as well as does some analysis for a

general cloud-based QoS-aware system. However, the

authors [23] do not experience any particular MCC

implementation to approve their claim. In [18], the authors

have successfully tried negotiating and enforcing QoS and

SLAs in specific cloud computing environments like

Amazon EC2 but no experiment with MCC was found. In

our work, instead, we consider retrieving QoS within the

proposed MCC architecture as an important goal of our

paper.

Similar to our approach, other research efforts have been

made to integrate mobile devices and cloud computing. In

[14], Luo suggests a new idea of using cloud to improve

mobile device’s capability. Marinelly [15] innovates

Hyrax, which allows mobile devices to use cloud com-

puting platforms. The researcher introduces the idea of

using mobile devices as resource providers, but experiment

is not integrated. In [7], the authors just concentrate on

using partition policies to hold the effect of application on

mobile devices, but they do not solve any other matter

related to mobile cloud computing. Also, Zhong and

Longzhao [24] discuss the integration of CC into mobile

internet and are able to exemplify their arguments with

typical successful business models in the market yet

without particular performance benchmarking.

3 Motivating scenario

The following scenario reflects the essential benefits

behind the proposal of the thin–thick client collaboration.

A mobile user wants to watch online movies using her

mobile phone. At first, he/she intends to play a selected

movie using the cellular network (e.g., 3G). Unfortunately,

in the area he/she is living there is poor 3G coverage,

which results in very low network connectivity, and thus, it

is almost impossible for him/her to enjoy movies. More-

over, he/she recognizes that the choice to download a

movie using the cellular network connection is too

expensive. So he/she tries to find an alternative way to

access the Internet by having his/her phone (known as thin

client) connected to her workplace Wi-Fi network, which

includes a group of laptop and desktop computers (also

known as thick clients) as illustrated in Fig. 1.

We make an assumption that there is a broker who is

managing several thick clients; each can access different

cloud providers. We further assume that the thin client can

send a request (e.g., movie streaming) to the broker who

chooses the optimal number of thick clients to serve this

request. Each of the chosen thick clients will establish a

connection to the corresponding cloud provider in which

the thin client desires to access. Once a request is received,

the cloud provider will process it and reply to the con-

necting thick client with suitable content (i.e., part of the

requested movie) through these chosen thick clients’ paths.

Because the bandwidth between the thick clients and cloud

networks can be very high (e.g., DSL or cable connec-

tions), the parts of data can be delivered to thick clients in

Fig. 1 Scenario of requesting a cloud service

Pers Ubiquit Comput

123

Page 4: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

relatively short time before they are collected at the broker

computer, where they are then combined and forwarded to

the requesting thin client. Thereby, the thin client takes

advantage of multiple thick clients’ relay to enhance the

data distribution from cloud networks, consequently

enhancing its computing capabilities.

An extended scenario can be described as in a situation

where there are many thin clients simultaneously sending

requests to the broker. The broker accepts all requests and

sends them to various cloud service providers in a similar

manner as discussed above. Eventually, each of different

responses is delivered by the broker exactly to the corre-

sponding thin client that initiates the request. This scenario

can be described through Fig. 1, and each part of it cor-

responds to a numbered section in the sequence chart

shown in Fig. 2.

The above scenario shows the potential benefit of uti-

lizing the joint work between thin clients and thick clients

in a typical mobile cloud computing environment. Such

collaboration promisingly increases the opportunity of

using resources efficiently. With that in mind and with CC

platform staying ready and emerging on the market, our

paper aims at architecting a network design based on the

thin–thick client collaboration, attempting to address the

following issues:

• Performing the resource allocation, that is, grouping

some location-based SIs to co-use the VM in cloud and

calculating the number of VMs while satisfying the

SLAs from thin clients.

• Optimizing the data distribution between mobile thin

client and cloud network.

• Picking the best resource allocation strategy among

available ones to determine the minimum number

of thick clients to satisfy the thin client’s QoS

requirement.

4 System architecture

In this section, we are going to describe our system

architecture to solve the above problems. Figure 3 illus-

trates the general design of the proposed system. Different

from other approaches that follow a 1/m/1 model which

states that one thin client is served by one server through

multiple paths, our system can be viewed as an m/m/1/m

model. Our system model states that from multiple cloud

providers, data is divided into multiple chunks and those

chunks are transferred to multi-processors. After receiving

the data, processors combine the data into one at a broker

then send it to destinations. For ease of presentation, our

system can be divided into the following two layers as

shown in Fig. 3.

4.1 Layer 1

In this layer, we involve (1) determining the number of

virtual machines (VMs) in order to meet the SLAs of thin

clients; (2) classifying and assigning SIs according to VM

capacities.

4.1.1 Determining the minimum number of VMs

In this section, we present the scheme to determine the

minimum number of VMs on the basis of required SLAs

through Algorithm 1. In this scheme, we utilize the

cumulative distribution function (CDF) of response time,

denoted by F(x) in [1] to evaluate how much QoS, in terms

of probability in which response time is maintained below

a target threshold x, is achieved when we change the

number of VMs to serve. Thereby, we will obtain the

Fig. 2 Sequence of requesting a cloud service Fig. 3 Layering architecture of proposal in cloud computing

Pers Ubiquit Comput

123

Page 5: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

minimum number of VMs, denoted by m, by gradually

increasing it until F(x) reaches the target probability. At

that time, we get m satisfied for SLAs. The CDF of

response time is described as following:

F(x) = Probability (response time \ x) =

1� e�lx � kle�lxx for r ¼ m� 1

1� e�lx � kle�lxðm�rÞ 1�e�lxð1�mþrÞ

1�mþr

h ifor r 6¼ m� 1

(

where r = k/l; k ¼ Pð0Þ rm

m! � mðm�rÞ ; Pð0Þ ¼

�Pm�1n¼0

rn

n! þmrm

m! m�rð Þ

��1

; k is arrival rate and l is service rate

In general, a cloud computing infrastructure may pro-

vide services to satisfy a large number of SLAs with FCFS

(First-Come-First-Serve) scheduling as illustrated in Fig. 4.

Thus, we should categorize available VMs into two

groups. The first group is shared allocation (SA) mShared,

the other is reserved allocation (RA) mReserved. For SA, the

arrival jobs (SLAs) are combined into a single stream and

served by m VMs. For RA, each arrival job has its own

dedicated VMs. This is illustrated in Fig. 5.

With shared allocation, all SLAs have the same CDF of

response time and arrival rate k ¼Pk

i¼1 ki. Therefore,

the minimum number of VMs mShared to meet k SLAs is

given by:

mShared ¼ max m1; . . .;mi; . . .;mkð Þ

where mi is the number of VMs required for SLAi of the ith

thin client.

Let mReserved be the smallest number of VMs required to

meet k SLAs in Reserved Allocation. So mReserved is given

by:

mReserved ¼Xk

i¼1

mi

Therefore, when 2 requesters have the same SLAs,

shared allocation have the same or better performance than

reserved allocation (mShared B mReserved). However, if

SLA1 and SLA2 are different for SA and RA, it is not

easy to determine whether SA or RA is better. An example

is in the Table 1. In the first case, mReserved is better than

mShared but the reverse is true in the second case.

So we try to find a favorite strategy (shared or revered

allocation) to satisfy SLA1, SLA2. In addition, the VMs can

guarantee QoS. Let E(SLA) be the average number of VMs

required to meet the given SLA over the range of consid-

ered arrival rates.

EðSLAÞ ¼ 1

k

Xk

0

f ðk; x; yÞ

Then, we set the SLA difference D between SLA1 and

SLA2. D is given by:

D ¼ EðSLA1Þ � EðSLA2Þj j

Our algorithm as algorithm 2 below specifies the

allocation strategy to satisfy SLAs and QoS. It uses the

SLA difference table (Table 2) to present the relationship

of D and angle a. In the table, each range of D is

predetermined by changing arrival rate k1, k2 in (0, 30) and

the angle is the corresponding average angle of SLA

difference in each range. The angle a is defined by sina ¼k2=sqrtðk1 � k1 þ k2 � k2Þ and is described in Fig. 6.

In order to guarantee QoS, we have to know how fast a

VM should be. Hence, we should apply a little law [16] as

following:

E½N� ¼ qð1� qÞ where q ¼ k

l

and E[N] denotes the number of jobs in the system.

Therefore, the expectation of processing time is:

E½T � ¼ E½N�k¼ q

kð1� qÞ ¼1

lð1� qÞ ¼1

l� k

Finally, to satisfy QoS, it is required that:

l � 1

E½T� þ kFig. 4 Considered SLAs

Pers Ubiquit Comput

123

Page 6: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

In agreement with this formula, we can determine the

service rate of the VM. For example, suppose we want

E[T] B 10 s, k = 1 job/s. The rate of VM we need is:

l � 1

10þ 1 ¼ 11

10

4.1.2 Classifying data and assigning data according VM

capacity

We use training data to classify the data in order to set

priority for the data. The one that has a higher priority can

be transferred first and vice versa. This data may be divided

into blocks {bl1, bl2,…,bln} with different sizes. Then, the

best VMs are selected according to their capacities using

the Greedy algorithm. Lastly, we assign big blocks to VM

which has higher capacity, as shown in Fig. 7.

4.2 Layer 2

In this layer, we consider the following: (1) calculating the

minimum number of thick clients to satisfy QoS (2)

distributing data to processors according to bandwidth and

(3) combining the data then transferring it to a thin client.

4.2.1 Calculating the minimum number of thick clients

to satisfy QoS

First, we define terms used in this part. The symbols are

listed in Table 3. Then, we introduce an optimization

model that formalizes the problem based on the response

time and workload of thick clients. Eventually, we present

an algorithm to solve the problem.

Suppose that we are given n thin clients that are to be

served by M thick clients. Each thick client has a certain

workload Wm and response time TRm. The corresponding

workload as well as response time of each thin client is Wn

and TRn . Considering multiple types of thick clients, such as

laptop and personal computer, the optimization problem

can be formulated as following:

Minimizeam2 0;1f g

M

subject to

Xn2Sm

l

Wn\XMm¼1

amWm;

Min TRn ; 8n 2 Sm

l

� �[ TR

m; 8m:

Our objective is to minimize the number of thick clients

to satisfy a variety of thin clients which connect to broker,

while the first set of constraints makes sure that total

workload of thin clients does not exceed the total workload

of thick clients. The second set of constraints ensures that

the response time of each thick client is less than the

response time required by thin clients. The optimal solution

of the mentioned optimization problem can be achieved by

applying the algorithm 3. In this algorithm, we calculate

the minimum number of thick clients.

Fig. 5 Resource allocation

strategy

Pers Ubiquit Comput

123

Page 7: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

4.2.2 Distributing data to processors with different

capacities

For clarity, we give important definitions and assumptions for

our system. First, split each block into chunks {ch1,

ch2,…,chn} with different sizes depending on bandwidth.

w(chi) is the size of a chunk chi�bi is bandwidth from a VM to a

processor. Therefore, time spent for transferring a chunk chi

from VMs to a processor is w(chi)/bi. For parallelization, the

time to transfer chunks to processors should be equal.

wðch1Þb1

¼ wðch2Þb2

¼ � � � ¼ wðchiÞbi

¼ t

Set S ¼ wðdataÞ ¼Xn

i¼0

wðchiÞ ¼ tXn

i¼0

bi

Thus; wðchiÞ ¼ t � bi ¼SPn

i¼0 bi� bi

According to this value, we can determine the size of each

chunk to adapt with bandwidth. Next step is to sort the processors

{p1, p2,…,pp} depending on their capacities. The processor

which has higher capacity will receive big chunks and the

processor which has lower capacity will receive small chunks.

4.2.3 Combining the data and then transferring it to a thin

client

After data from cloud service has been received, instead of

using peer-to-pear synchronization between all processors,

Table 3 Symbols used in this part

Symbol Meaning

Sml Set of thin clients whose distance from them to thick clients

m is less than a specific distance d

TRn

Response time/unit of workload of thin client n

TRm

Processing time/unit of workload of thick client m

M Number of thick client

Wn Workload of a thin client n

Wm Workload of a thick client m

Table 2 SLA difference table

D a

[0,20) 0

[20,40) 20

[40,66) 50

[66,88) 70

Fig. 6 Allocation strategy

Table 1 Example of two cases

Case k1 x1, y1 k2 x2, y2 mReserved mShared

1 3.9 3,0.7 3 6,0.85 10 11

2 3.9 3,0.85 2.9 5,0.6 12 10

Fig. 7 Assigning data to VMs

Pers Ubiquit Comput

123

Page 8: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

which might make communications more complex, we

consider that a processor (the broker computer) acts as a

master which receives data from other processors to

decrease the complexity due to firewall between proces-

sors. An example with 4 processors is shown in Fig. 8 with

all-to-all communication and master–slave communication.

5 Implementation and discussion

In this section, we use numerical simulations to evaluate the

efficiency of SA and RA and compare our approach’s per-

formance with others’. All the parameters in the simulations

are different arrival rate k, response time x, target probability

y and some big files for the above algorithms. We develop the

simulations in Java with jdk-7u7-i586 and Netbeans-7.2. The

implementation results prove that SA and RA have almost the

same impacts when they meet the same SLA with different kor x or y, except in the last case where we consider SA and RA

that have to meet multiple SLAs rather than a single one.

Figure 9 shows that when the response time increases,

the smallest number of VMs decreases. On the other hand,

in Fig. 10 and 11, the minimum number of VMs required

to meet a SLA is proportional to the target probability and

arrival rate, respectively.

When dealing with various SLAs instead of the same

one, however, it is suggested that the strategy with SA is

more resource efficient than with RA, as illustrated in

Fig. 12, where SA uses fewer VMs than RA as the number

of SLA increases. This is because while the former strategy

may cause the expectation of processing time to get worse

as merging arrival jobs can add more variability, it in fact

uses shared processing resource thus requires smaller

number of VMs than the latter. RA, to the contrary, sac-

rifices more resource (by using greater number of VMs),

thus can provide a guaranteed rate.

In addition, we further compare the processing time of

transferring big data from a source to a destination of our

system and one other approach which has one processor

receiving data. Through experimental result in Fig. 13, it is

obvious that our approach leads to a better performance.

We also conducted simulations to calculate the mini-

mum number of thick clients which are able to satisfy thin

clients’ requirement with different workload and response

time. In Fig. 14, when the workload of thin clients

increases, the number of thick clients also increases.

The same result happens once response time of thin

clients decreases like Fig. 15. Especially, the more thin

clients in the area with short response time there are, the

more thick clients should be used to guarantee the QoS.

Fig. 8 Communication strategy

Fig. 9 SA and RA with different response time Fig. 10 SA and RA with different target probability of SLA

Pers Ubiquit Comput

123

Page 9: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

6 Conclusion

In mobile cloud computing, it has been proved that the

burden of migrating tasks from mobile terminals to the

cloud can be alleviated by involving thick clients like

laptop or desktop computers. Through our paper, we have

presented the main motivation and preliminary design of a

network architecture in mobile cloud computing that

promotes the joint work of thin and thick clients, named

thin–thick client collaboration. This is a novel system

design that leverages generous hardware and network

capacities of thick clients, enhancing thin client’s capa-

bilities with computing resources from clouds. In particu-

lar, our work focuses on optimizing the data distribution

from cloud networks to mobile client and in optimally

utilizing computing resources so that expected Quality-of-

Service requirements can be fulfilled. Additionally, we

have also discussed an algorithm that can select the best

resource allocation strategy in order to satisfy various

Service Level Agreements. Through carefully implemented

simulations, we have shown that our proposed method is

able to increase the efficiency of resource allocation and

utilization with a suitable strategy, illustrated by the min-

imum number of VMs used, while managing to retrieve

shorter execution time in data distribution, especially with

big data in cloud computing, compared to other existing

approaches.

Fig. 13 Comparison of our approach with other approach

Fig. 15 Thin–thick clients with different response time

Fig. 11 SA and RA with different arrival rate

Fig. 12 SA and RA with different SLAs

Fig. 14 Thin–thick clients with different workload

Pers Ubiquit Comput

123

Page 10: Optimal collaboration of thin–thick clients and resource allocation in cloud computing

This research study is just the first step in designing a

middleware architecture, playing the role of a bridge

between mobile clients and cloud computing providers. As

future works, we will deploy the system in network test-

bed environment so that real-world performance can be

monitored and any rising issues can be identified and fixed.

We hope to experiment the proposed architecture in dif-

ferent circumstances to make sure that it can retrieve

expected performance and reliability. In particular, user

mobility will also be taken into careful consideration for

the matter of SLA and QoS satisfaction. Even more

ambitious, we can build up a system model in cooperation

with a variety of cloud service providers to provide

enhanced mobile computing experience to local users.

Acknowledgments This research was supported by Next-Genera-

tion Information Computing Development Program through the

National Research Foundation of Korea (NRF) funded by the Min-

istry of Education, Science and Technology (2012-0006418). The

corresponding author is Eui-Nam Huh.

References

1. Andreolini M, Casolari S, Colajanni M (2008) Autonomic request

management algorithms for geographically distributed internet-

based systems. Self-Adaptive and Self-Organizing Systems.

SASO 008. Second IEEE international conference, pp 171–180

2. Cuervo E, Balasubramanian A, Cho DK, Wolman A, Saroiu S,

Chandra R, Bahl V (2010) MAUI: making smartphones last

longer with code offload. MobiSys ‘10 Proceedings of the 8th

international conference on Mobile systems, applications, and

services, San Francisco, CA, USA, pp 49-62. 15-18 June 2010

3. Delgado J, Fong L (2011) Efficiency assessment of parallel

workloads on virtualized resources. Fourth IEEE international

conference

4. Dinh HT, Lee C, Niyato D, Wang P (2011) A survey of mobile

cloud computing: architecture, applications, and approaches.

Wirel Commun Mob Comput. doi:10.1002/wcm.1203, http://

onlinelibrary.wiley.com/doi/10.1002/wcm.1203/

5. Fan P, Wang J, Zheng Z, Lyu MR (2011) Toward optimal

deployment of communication-intensive cloud applications.

Cloud Computing (CLOUD) IEEE international conference, 4–9

July 2011, pp 460–467

6. Gartner Inc (2012) Gartner says worldwide enterprise IT spend-

ing to reach $2.7 trillion in 2012. Accessed 01 March 2013,

http://www.gartner.com/newsroom/id/1824919

7. Giurgiu I, Riva O, Juric D, Krivulev I, Alonso G (2009) Calling

the cloud: enabling mobile phones as interfaces to cloud appli-

cations. International conference on Middleware, New York, NY,

USA, pp 1–20

8. Gueyoung J, Nathan (2012) Synchronous parallel processing of

big-data analytics services to optimize performance in federated

clouds. IEEE USA

9. Hu1 Y, Wong1 J, Iszlai2 G, Litoiu3 M (2009) Resource provi-

sioning for cloud computing. CASCON 009, Proceedings of the

2009 Conference of the Center for Advanced Studies on Col-

laborative Research, pp 101–111

10. Kjeldskov J, Skov MB (2007) Exploring context-awareness for

ubiquitous computing in the healthcare domain. Pers Ubiquit

Comput 11(7):549–562

11. Kwok M (2006) Performance analysis of distributed virtual

environments. Ph. D. thesis, University of Waterloo, Ontario,

Canada

12. Ljungstrand P (2001) Context awareness and mobile phones. Pers

Ubiquit Comput 5(1):58–611

13. Lodi G, Panzieri F, Rossi D, Turrini E (2007) SLA-driven clus-

tering of QoS-aware application servers. IEEE Trans Software

Eng 33(3):186–197

14. Luo X (2009) From augmented reality to augmented computing:

a look at cloud-mobile convergence. International symposium on

ubiquitous virtual reality 8–11 July 2009, pp 29–32

15. Marinelli E (2009) Hyrax: cloud computing on mobile devices

using mapreduce. Master thesis draft Computer Science Depart-

ement, CMU

16. Nguyen TD, Van Nguyen M, Huh EN (2012) Service image

placement for thin client in mobile cloud computing. 2012 IEEE.

doi:10.1109/CLOUD.2012.39, pp 416–422

17. Siegemund F, Floerkemeier C, Vogt H (2005) The value of

handhelds in smart environments. Pers Ubiquit Comput

9(2):69–80

18. Stantchev V, Schrofer C (2009) Negotiating and enforcing QoS

and SLAs in grid and cloud computing. GPC 009 Proceedings of

the 4th international conference on advances in grid and perva-

sive computing

19. Tamminen S, Oulasvirta A, Toiskallio K, Kankainen A (2004)

Understanding mobile contexts. Ubiquitous Comput 8(2):135–

143

20. Uppoor S, Flouris MD, Bilas A (2010) Cloud-based synchroni-

zation of distributed file system hierarchies. Cluster computing

workshops and posters (CLUSTER WORKSHOPS). IEEE

international conference 1–4

21. Wang X, Du Z, Liu X, Xie H, Jia X (2010) An adaptive QoS

management framework for VoD cloud service centers. Interna-

tional conference on computer application and system modeling

(ICCASM).1:527–532

22. Larosa YT Mobile cloud computing service based on heteroge-

neous wireless and mobile P2P networks

23. Zhang P, Peng (2011) A QoS-aware system for mobile cloud

computing. IEEE international conference on cloud computing

and intelligence systems (CCIS)

24. Zhong L (2012) Cloud computing applied in the mobile internet.

2012 7th international conference on computer science and

education (ICCSE)

Pers Ubiquit Comput

123