Sunteți pe pagina 1din 8

2016 IEEE TrustCom-BigDataSE-ISPA

TrustCom/BigDataSE/ISPA

VSP: A Virtual Smartphone Platform to Enhance


the Capability of Physical Smartphone
Meng Lai† , Jiajun Wang† , Tao Song† , Ning Liu† , Zhengwei Qi† , Weijia Zhou‡
School of Electronic Information and Electrical Engineering† , School of Computer Science‡
Shanghai Jiao Tong University† , Fudan University‡
{laimeng, jiajunwang, songt333, floliu, qizhwei}@sjtu.edu.cn† , zhouwj13@fudan.edu.cn‡

Abstract—Smart mobile devices have become ubiquitous, and circumstances. Sometimes, users choose to check the confiden-
people prefer to choose smartphone in daily life rather than tial information online, instead of saving it in local storage, but
use traditional personal computer. However, due to the hard- attackers can still steal information from memory and cache
ware capability, performance of smartphones varies greatly and
sometimes it cannot meet the demand of users. Furthermore, if while users are reading it.
smartphone is attacked by malicious application, the local private Desktop virtualization [4], which combines virtualization
sensitive information will be leaked which in turn will cause and remote desktop [5], has attracted more attention in recent
huge losses. This paper proposes VSP, a Virtual Smartphone years and has been used in organizations and companies to
Platform. It offers a new way to enhance the capability of physical ease the burden of maintaining computers and improve the
smartphone by providing virtual smartphone (VS) deployed in
cloud. Users operate VS remotely through the thin-client of resource utilization. By deploying virtual machine (VM) in
VSP on physical smartphones, and ignore the limits of physical cloud, users can connect to their virtual desktop as long as they
mobile devices. The isolation of VS in cloud platform guarantees have Internet access, which is flexible and convenient. With
the security between VSes, and also prevents access to private virtualization technology, it’s easier to create a new instance
sensitive information on physical devices. The evaluation indicates and manage physical resources. Therefore, it is of profound
that average bandwidth cost with zlib is about 80 kBps and it is
suitable for use in practice. significance to research how to apply this architecture to mo-
Index Terms—Virtualization, Android, Remote Display, Cloud bile platform and provide a unified experience for mobile users
Computing, Ant Colony Optimization. with convenient management. Different from the traditional
VM, VS is much more lightweight. So with the same resource,
I. I NTRODUCTION VSP can provide more VSes than VMs that general desktop
virtualization or cloud provides, which is an obvious advantage
With the portability, connectivity and increasing popularity of VSP.
of smart mobile device, smartphone has become a better In this paper, we choose ant colony optimization [6] to
choice for general work and entertainment than laptop and solve VS assignment problem on this multi-tenant platform
desktop computer. Mobile devices become more powerful [1], and improve resource utilization of servers. With more detailed
and some applications are developed with high resource con- and efficient design, VSP is more suitable for use in practice.
sumption, like 3D games, which may not function well with VSP creates VSes for end users according to their con-
low-end devices. Due to the limits of hardware resources of figuration, and users control remote VS through a thin-client
smartphones, such as central processing unit (CPU), memory, application on their physical mobile devices. VSes are running
storage and battery, mobile application developers have to take in cloud and transfer screen data to physical devices. Then,
these constraints into consideration and sacrifice performance even the low-end device can provide an experience of complex
to guarantee the usability. Currently, there are various mobile applications with high quality. Currently, the prototype of VSP
operating systems (OS), such as iOS, Android, Windows, etc. just supports Android VS, and we have left other mobile OSes
Different OSes lead to different user experiences, but not to future work.
every application has the corresponding version to specific The isolation between VSes guarantees that different ap-
mobile OSes. Some related work provided a cross-compilation plications in different VSes won’t disturb each other. It also
approach where the applications are cross-compiled to several prevents applications in VS from the access of physical devices
programming languages, like C for iOS and C# for Windows by just transferring screen data to users. In other words, even
Phone 7 [2], or using a software compatibility layer to run the application deployed in remote VS is malicious [7], it
applications of other mobile OSes [3], but the performance cannot access to user’s private sensitive information on the
of running applications on corresponding mobile OSes is still physical smartphone. The security mechanism of cloud service
much better. [8] provides a safer environment than before. Furthermore,
The security of private sensitive information in the smart- users can put sensitive applications such as enterprise applica-
phone is also of great significance for current users. Once the tions on remote VS to prevent the attack from physical devices,
smartphone is corrupted by malicious applications, attackers since the sensitive content could not be cached locally and
can abuse the personal information easily and lead to terrible there are only screen data in physical memory.

2324-9013/16 $31.00 © 2016 IEEE 1435


1434
DOI 10.1109/TrustCom.2016.223
10.1109/TrustCom/BigDataSE/ISPA.2016.223
The evaluation shows that CPU utilization of server is applications deployed in VSes, the resource utilization of
only 12.07% when running 4 VSes and the CPU utilization each VS is different. Management node is used to manage
increases linearly as the number of VS grows, which indicates physical resources, and it sends a query request to servers
the good scalability of VSP. By encoding the screen data with periodically and monitors the resource utilization. The query
lossless compression, this proposed system costs no more than request is also a heartbeat to check whether the server is
350 kbps network bandwidth. The experiment also indicates running normally. After obtaining feedback, management node
that the proposed ant colony optimization can figure out a records the statistical results in database for analysis later.
solution to assign 1000 VSes within 9 minutes, which is Depending on the resource utilization of VSes and servers,
suitable for use in practice. VSP migrates VSes to proper servers for maximizing the
The remainder of this paper is structured as follows. Section utilization of physical resources. For instance, if some VSes
II describes the design of our platform. Section III provides have a high demand for CPU but do not consume too much
the detail of implementation. Section IV introduces the VS memory and some other VSes need lots of memory with
assignment problem and ant colony optimization. Section V less CPU requirement, then VSP will put these two kinds
reports the evaluation results. Section VI presents the related of VSes on the same server. Compared to putting the CPU-
research work. Section VII concludes this paper. intensive VSes together, this policy can reduce the waste of
server resource. The assignment scheme has a high impact on
II. ARCHITECTURE AND SCENARIOS
performance and we will discuss it in Section IV.
VSP demonstrates a new approach to improve the experi-
ence of mobile device users. We will introduce the architecture C. REMOTE CONTROL
of VSP and illustrate more scenarios in this section. Figure 2 shows the detailed architecture of server and client.
A. SYSTEM FRAMEWORK VSP provides a thin-client application deployed on physical
Figure 1 shows the high-level overview of VSP. VSes are

%  
running on remote servers and users can own different VSes   & 
according to their demand. The client application of VSP
'

is a thin-client mobile application that runs on the general 



smartphone. Users can use it to control the VS as long as 


(&  %

 
 ) % !

  

 
 !  


 

"# $ 
   

 

Fig. 2: Architecture of Server and Client


 
   Ċ ĊĊ    Ċ mobile devices for users to control their VSes remotely.
Currently, the client is a general Android application and VSes
run on x86 server to provide remote Android system. The
  servers make use of libhoudini to run ARM applications on
x86 Android and we will discuss the compatibility of ARM
applications in Section III-A.
Server and client communicate through TCP connections,
and Figure 3 shows the communication between them. In VS,
Fig. 1: Overview of VSP
 
they have Internet access. Compared to the traditional OS,  
  &

 &
% 
  &
%
the OS of mobile device requires less resources, so a high- &  & 




%
%
performance server can even support hundreds of VSes. Due to
    
%
the scalability of NFS, there is sufficient disk storage for VSes  &%
%  *+ % %  % 
and storage cannot be the limit of usability. All the VSes and & %, & %,  & %,
& %,   
%
servers are controlled by management node and more details
%   %, ) %,  
are introduced below.  %%  

B. MANAGEMENT NODE Fig. 3: Communication between Server and Client


Centralization of the resource is a distinguished feature of
cloud computing service [9]. Each server runs many different there is a virtual graphics card and a virtual input device.
VSes according to users’ configuration. And due to the various It is transparent to the OS of VS that virtual graphics card

1435
1436
and input device are implemented at the virtual layer. Without Application Trial
any change to natural OS, VS could handle screen display and There are various applications in the application store. If
input events. The client is composed of event controller which users want to try an application, they need to download
controls the operation events of users and screen controller the installation package and install it. Sometimes, it’s time-
that responds to update screen. The data of events and screen consuming to download a big application. Users may take the
are packaged to deliver through TCP socket, and the detail of risk to install an application which is not suitable for them.
protocol rule will be discussed in Section III-B. Also, due to the limit of physical devices, some smartphones
cannot install some specific applications. However, with VSP,
D. SCENARIOS ANALYSIS developers can put the applications on remote VS, and users
VSP can be deployed in many scenarios with better user can connect to it and try the application before downloading
experience. Some common scenarios are described below. it. In this way, users can prevent installing the application
Data Protection they don’t want and save time. It’s a better experience for
In the enterprise, there are many internal materials that users of application store and it’s more efficient to promote
should be protected from the outside. Generally, staff access applications.
these materials through devices that are managed by IT
department to guarantee the security of confidential business III. IMPLEMENTATION
information. Furthermore, most enterprises also have their In this section, we describe the prototype of VSP, and the
official mobile application to allow staff working with their OS of VS is Android currently. Android is one of the most
mobile devices. But it’s much more difficult to manage these popular mobile device OS. It is based on Linux and Android
devices than general PC and ensure that they don’t carry Open Source Project (AOSP). Android emulator, which is
malicious application or virus. based on QEMU [10] and also open-source in ASOP, can help
Using VSP to provide mobile working environment, we can developers to run Android on a general PC environment. VS
guarantee the confidentiality of internal business materials. is based on Android emulator, and there is a set of virtual
It ensures that all the access and operation with sensitive hardware. We deployed VSP on Linux server and use KVM
materials are under control of IT department by deploying [11] to improve performance.
VSP on internal servers and running the VSes with a specific
configuration for the explicit working requirement. When staff A. ARM Native Code and libhoudini
want to work with their mobile devices, they can connect to a There are a lot of Android applications and most of them are
remote VS through the client of VSP. All the internal materials written in Java. Java applications can be compiled once and run
will not be cached locally and the attack on physical devices everywhere. When developing Android applications with Java,
cannot affect the remote OS or application in VS. developers can ignore the detailed design of different hardware
Sandbox platform. This is convenient but not always efficient. If we
With the increasing popularity of smartphone, the security want to implement some CPU-intensive applications, like the
of mobile devices has become a hot topic in recent years. game engine, it’s better to use native C/C++ code for better
Although the OS of mobile devices, like Android and iOS, performance and hardware utilization.
provides system-level security scheme and framework, users ARM used to be the only platform that supports Android.
can still obtain the super privilege of OS by root or jailbreak, But now, there is also an Android-x86 which is a unofficial
which leads to potential attacks. platform to run Android on AMD and Intel x86 chips. In
By running VS remotely, virtual OS and local OS are order to run ARM applications on Android-x86, Intel has a
separated completely. Even if the physical smartphone is compatibility layer named libhoudini. It is a binary translator,
attacked, the VS could be safe and run normally. Well, if converting the ARM instructions into corresponding x86 in-
the VS is attacked, we can remove the VS and create a structions. With libhoudini, we can define a new x86 VS to
new one easily. In addition, using VS as a sandbox, we support native ARM applications. BoardConfig.mk is the key
can put different applications into different VSes and provide configuration file which describes the information of device
an isolated environment for them. They will not interfere and we update it to let the x86 VS support ARM instructions.
with each other and could be protected from the malicious We add ARM lib and libhoudini to /system/lib and let
application outside. Android system know that the CPU supports ARM instructions
Remote Debug now, otherwise the Android system will reject the installation
Android can run on different hardware architectures. If of native ARM applications when it found that it doesn’t
developers write C/C++ code with Android NDK, they need support ARM instructions.
to compile it for different platforms (eg. different versions of
Android) and debug. In VSP, developers can create various B. Communication
VSes according to the debug requirement and install the VSP uses TCP connection as communication protocol,
corresponding application. Then they can connect to VSes which ensures the reliable transmission of data without pack-
and debug the application remotely, even though there are not age loss. When a client connects to the server, server sends
enough physical devices or some specific devices. current protocol version to the client. If the client supports this

1436
1437
protocol version, it will send back the same information. After which redraws remote screen of server and catches the touch
the handshake, server sends the list of encoding methods to events. In some traditional remote display protocols, client is
the client. Then client shows the list of encoding methods to responsible for handling the screen updates and requesting a
VSP users and sends back the choice. VSP supports raw for new screen image from server frequently. In this situation, the
original data and zlib for compressed data currently. With zlib latency is one Round Trip Time (RTT). But, the server of VSP
encoding method, users can get a better user experience under only sends the update data when the screen is changed which
low bandwidth environment or in a 4G network. Next, the takes only half of one RTT.
server informs client the screen resolution of VS, including
height and width, and client can draw the layout of remote Android implements a virtual hardware platform named
screen according to it. Goldfish and the frame buffer device of Godlfish manages
After the initialization, client catches the touch event of the screen display. In Android emulator, the frame buffer can
user and sends it to server. The main information of touch be further divided into producer and consumer. The frame
event includes X-axis, Y-axis and press status (1 for down buffer device of Goldfish is the producer which simulates
and 0 for up), shown in Table I. According to the proportion hardware layer and updates screen. The regular display screen
in Android system is consumer. When there is any change
TABLE I: Message of Touch Event of screen, the emulator will invoke the callback function
of update screen to get screen data from frame buffer. We
Type Value
implement the screen catch in this callback function, and the
8 unsigned char message type(1) information of updated area includes a start location (x,y),
16 unsigned char X-axis width and height. For better performance, server just sends the
16 unsigned char Y-axis updated data of screen to client for redrawing remote display.
8 unsigned char press status(0/1)
There is a buffer queue for server and client to append and
take the screen update data. However, the user experience will
of local layout of the screen and remote VS, the location of
suffer when the network connection is slow and the producing
touch event is converted to the actual position of VS before
speed of server is faster than the consuming speed of client.
sending. Besides the touch event on screen, hardware key event
In order to avoid the buffer queue becoming too long, each
is also caught and sent to server, shown in Table II. The code
screen update data packet contains a sequence number, and
TABLE II: Message of Hardware Key Event if the client received the specific data, it will send back an
acknowledgement message. When there are too many screen
Type Value update data that client has not responded, these packages will
8 unsigned char message type(2) be dropped to avoid the jam-up in the buffer queue.
16 unsigned char key code
Touch event and keyboard event are the main remote events.
8 unsigned char press status(0/1)
When server receives remote event message, it distinguishes
the type and delivers it to corresponding event handler. Touch
of hardware key is defined in android/linux keycodes.h, for
event handler extracts parameters about X-axis, Y-axis and
example, 158 for back, 229 for menu, etc.
state (up or down), then invokes kbd mouse event to pro-
The server sends screen update message to client when there
cess this event in Android. Similarly, keyboard event handler
is any change of VS, and client updates the screen on the
extracts the key code from remote message and invokes
physical device. Table III shows the screen update message of
user event keycode to respond the remote keyboard input
VS.
event.
TABLE III: Message of Screen Update
We choose SDL library to implement the key functions
Type Value about drawing remote screen. SDL is a C code library and
8 unsigned char message type(0) convenient to use on different platforms. We write PC client
16 unsigned char X-axis with Python and PySDL2, and mobile client with NDK and
16 unsigned char Y-axis C code.
16 unsigned char width There is a main loop to listen the socket port after a
16 unsigned char height client connects to remote VS. According to SDL, client puts
32 unsigned char package length the screen data in a texture. When client receives update
binary data package data message of screen, it updates texture and delivers it to the
renderer, then according to the renderer result to display
remote screen on client physical screen. Furthermore, we also
C. Server & Client add FLAG SECURE, the security flag of Android application,
The server is responsible for updating screen and enforcing to ensure that other applications can not get the view of VSP
the remote events of client. And the client is a thin-client client through screenshot.

1437
1438
IV. VIRTUAL SMARTPHONE ASSIGNMENT 1 1
ηij = m × m (9)
Similar to virtual machine assignment (VMA) [12], the j=1 Wpj j=1 Wmj
assignment of VS is also important where a set of VSes is
assigned to a set of physical servers. In order to guarantee a Fij = α × τij + (1 − α) × ηij (10)
high utilization of server resources, VSP needs to figure out q0 ∈ [0, 1] is a fixed value that is set at the beginning and
an explicit assignment scheme in a short time with least waste. q ∈ [0, 1] is a random variable. If q < q0 , ant chooses a best
In this paper, we choose ant colony optimization which can path from a set of visited paths; if q ≥ q0 , ant tries a new
figure out a solution to assign 1000 VSes within 9 minutes. path and compares it with others. When getting Ωj , the set of
VS assignment problem is a multi-dimensional bin-packing available VSes for server j, VSP chooses one with max Fij to
problem. Each server can be regarded as a d-dimensional put on the server (see Eq.11).
vector, and each dimension represents a kind of resource, like 
CPU, memory, network, etc. In this prototype, we focus on argmaxs∈Ωj Fsj , q < q0
i= (11)
two dimensions, CPU and memory. Wpj represents the CPU s , otherwise
waste of the j-th server, and Wmj represents memory waste of According to the analysis above, probability Pij is defined
the j-th server. Tpj and Tmj are the threshold values of CPU like Eq. 12
and memory. Upj and Umj show the actual values.  F
 ij , i ∈ Ωj
Pij = s∈Ωj Fsj
Tpj − Upj (12)
Wpj = (1) 0 , otherwise
100
After each iteration, VSP updates the local trail level τijlocal .
Tmj − Umj Δτijk (t) represents trail level of ant k on this path, and it is
Wmj = (2)
100 calculated according to Eq. 14
We assume that there are n VSes, m servers and we need N
 oA
to put the n VSes on the m servers. Average value of CPU τijlocal = (1 − ρ) × τij (t) + Δτijk (t) (13)
and memory that the i-th VS needs are Rpi and Rmi . The k=1
binary variable yj is the status value to show whether the j-th 
1
server is using. When the i-th VS is put on j-th server, we set m
Wpj × m , (i, j) ∈ Sk (t)
Δτijk (t) = j=1 Wmj (14)
xij = 1. So, we can describe this problem as the following j=1
0 , (i, j) ∈
/ Sk (t)
formulas:
Sk (t) is the solution from ant k. If (i, j) ∈ Sk (t), we can
m  
Tpj − n (x ·R )

j=1 yj ×
n i=1 ij pi
(x ·R )
put VS i on server j. It’s observed that if waste of CPU and
ij pi
Min m i=1 (3) memory becomes less after putting VS i on server j, the trail
j=1 (yj ) level on this path will increase.
m  
Tmj − n (x ·R )
 Similar to τijlocal , VSP also needs to update global trail level.
j=1 yj ×
n i=1 ij mi
m i=1
(x ij ·R mi ) N oS is the number of solution, and Δτijs (t) is the trail level
Min (4)
j=1 (yj ) number of solution s on the path (i, j) (see Eq.16).
where: N
 oS
m
 τij (t + 1) = τijlocal + Δτijs (t) (15)
xij = 1, ∀i ∈ I (5) s=1
j=1

1
n
 m
Wpj × m , (i, j) ∈ Ss (t)
Δτijs (t) = j=1 j=1 Wmj (16)
Rpi · xij ≤ Tpj · yj , ∀j ∈ J (6) 0 , (i, j) ∈
/ Ss (t)
i=1
n The trail level of next iteration is calculated with τijlocal and

Rmi · xij ≤ Tmj · yj , ∀j ∈ J (7) sum of Δτijs (t). It is also obvious that if the utilization rate of
i=1 CPU and memory increases after the assignment of VS, trail
level will increase correspondingly.
yj , xij ∈ {0, 1} , ∀i ∈ I ∧ ∀j ∈ J (8)

The probability Pij of moving from server i to server j V. EVALUATION


depends on the combination of two values, the attractiveness
The following experiment is in a separate network. The
ηij , as computed by some heuristic indicating the a priori
client application runs on LG Nexus 5. The VS system is
desirability of that move and the trail level τij of the move,
Android 5.1 and the resolution of VS is 320x480. The server
indicating how proficient it has been in the past to make that
has 8GB system memory and a 3.1GHz Intel Core i5-3450
particular move. Fij is the selection factor and α ∈ [0, 1]
CPU.
represents the importance of attractiveness and trail level.

1438
1439

A. CPU Utilization  !

We run different number of VS separately in five minutes 

and record the CPU utilization of the server. Figure 4-7



describe CPU utilization of servers with different number of
VSes. The average CPU utilization of these four situations 
are 2.67%, 5.17%, 9.03% and 12.07%. When we add VS, the

utilization increases 3.04%, 3.31% and 3.04% separately. We
can discover that the CPU utilization increases linearly as the 
number of VS grows. This indicates that a high-performance
server can run numerous VSes, and VSP is feasible in the real 
      
environment. 

Fig. 7: CPU Utilization of Server with Four VSes



 !


At the same time, we use the client to run a VS remotely on





another server with zlib encoding method. We test five times

and calculate the average value of each CPU utilization. The
 result shows that the former’s CPU utilization is 2.72% and
 the latter one is 2.79%. This indicates that the compression
 process doesn’t consume much CPU resources, and there is
 only 2.5% overhead.

      
 B. Bandwidth
Fig. 4: CPU Utilization of Server with One VS Running VS on the remote server whose CPU is considered
more powerful can reduce the CPU burden of the physical
mobile device. However, screen update date still should be

 !
 
 




 

 
 

 

 

 



       


     
Fig. 5: CPU Utilization of Server with Two VSes 

Fig. 8: Bandwidth Cost when Using raw



 !


 


 




 
 !

 





 
      



Fig. 6: CPU Utilization of Server with Three VSes


    
 
 !
The compression process for data transmission also has an
effect on CPU utilization. We run a VS directly on a server. Fig. 9: Bandwidth Cost when Using zlib

1439
1440

transferred through the network and we need to consider the !() 
bandwidth carefully. 

As described in Section III-B, we can choose zlib to 

!() 
compress the screen update data and reduce the burden of 
bandwidth. In the bandwidth experiment, we record the band- 
width with raw and zlib separately. In Figure 8, we don’t

compress screen update data and send the original data to

client. The highest bandwidth cost is 8542.59 kBps and the
average value is about 1200 kBps. When we use zlib, in Figure 

9, the highest bandwidth cost is 339.14 kBps and the average 


     
value is about 80 kBps. During the experience, we started a *#+ 
game and that’s the main reason causing the high bandwidth Fig. 11: SLA Violation under Different CPU Reservation
cost of raw and zlib. If we use a lossy compression algorithm,
the bandwidth cost may be less and it’s a future work of VSP.
E. Virtual Smartphone Assignment
C. Battery
We choose Matlab as the simulation platform and each
The battery is an important factor for the mobile device.
experiment runs three times to calculate the average value.
We compare the battery consumption between the physical
There are four ants and the number of iteration is ten. We
device and VS. Each time, device battery is fully charged at
set the fixed value to α = 0.4, ρ = 0.3, τ0 = 0.01, q0 = 0.9,
the beginning.
Tpj = 0.9, Tmj = 0.9. The results are shown in Figure 12 and

Figure 13. It’s obvious that ant colony optimization can get a

'$' better solution with less waste of CPU and memory than other
#%'

algorithms.
"#$ %&



 ) $0&
1#2/3#
4#$1#2/3#

 "2/3#
4#$"2/3#

,

 





        
%

Fig. 10: Battery Consumption

     
First, we run some applications on the physical mobile -%.#/ !
device and execute the predesigned operations for 40 minutes.
Fig. 12: CPU Waste
The predesigned operations include playing video, running
a benchmark and visiting the website. At the meanwhile,
the same operations are executed on VSP client to control 
remote VS. The result is shown in Figure 10. These operations ) $0&
1#2/3#

consume lots of CPU resources which need much battery 


4#$1#2/3#
"2/3#
4#$"2/3#
power. So the battery consumption of using a physical device
4#$,

is much higher than using VS where the real operations are 

executed on the remote server. This indicates that VSP doesn’t


add burden to battery and sometimes it even reduces the 

consumption of battery.

D. SLA Analysis
As a cloud service provider, VSP needs to guarantee the 
     
-%.#/ !
SLA with enough resource, but also needs to reserve some
resource for server and prevent wasting resource. We define Fig. 13: Memory Waste
different CPU reservation to observe the rate of SLA violation
in VSP. Figure 11 shows that the rate of SLA violation is less Compared to First-fit and Best-fit which consume less time,
than 5% when the CPU reservation is 10%. So we set the ant colony optimization is a large-scale computing process
CPU reservation of server to 10% and this is also used in ant with longer time. But in Figure 14, we can observe that
colony optimization to solve VS assignment problem. ant colony optimization can figure out a solution to assign

1440
1441
1000 VSes within 9 minutes, which is still suitable for use in ACKNOWLEDGEMENT
practice. This work was supported by NSFC (No. 61272101,
6152504), National Infrastructure Development Program (No.
 
) $)5#'
2013FY111900), and Shanghai Key Laboratory of Scalable

Computing and Systems.


R EFERENCES


[1] C. Gao, A. Gutierrez, M. Rajan, R. G. Dreslinski, T. N. Mudge, and



C. Wu, “A study of mobile device utilization,” in 2015 IEEE Interna-
tional Symposium on Performance Analysis of Systems and Software,
 ISPASS 2015, Philadelphia, PA, USA, March 29-31, 2015, pp. 225–234,
2015.
 [2] A. Puder and O. Antebi, “Cross-compiling android applications to ios
and windows phone 7,” MONET, vol. 18, no. 1, pp. 3–21, 2013.
 [3] J. Andrus, A. V. Hof, N. AlDuaij, C. Dall, N. Viennot, and J. Nieh,
     
   
-%.#/ ! “Cider: native execution of ios apps on android,” in Architectural
Support for Programming Languages and Operating Systems, ASPLOS
Fig. 14: Running Time of the Ant Colony Optimization ’14, Salt Lake City, UT, USA, March 1-5, 2014, pp. 367–382, 2014.
[4] G. Lai, H. Song, and X. Lin, “A service based lightweight desktop
virtualization system,” in Service Sciences (ICSS), 2010 International
Conference on, pp. 277–282, IEEE, 2010.
VI. RELATED WORK [5] C. Border, “The development and deployment of a multi-user, remote
access virtualization system for networking, security, and system admin-
Thin-client is a typical client application that has been istration classes,” ACM SIGCSE Bulletin, vol. 39, no. 1, pp. 576–580,
2007.
researched for a long time. The X system [13] uses a C/S [6] Y. Gao, H. Guan, Z. Qi, Y. Hou, and L. Liu, “A multi-objective
architecture to separate the display and computation. X client ant colony system algorithm for virtual machine placement in cloud
sends the display commands to X server, and X server is computing,” Journal of Computer and System Sciences, vol. 79, no. 8,
pp. 1230–1242, 2013.
responsible for drawing the screen. VNC [14] client also asks [7] S.-H. Seo, D.-G. Lee, and K. Yim, “Analysis on maliciousness for
server for screen update data and displays remote desktop mobile applications,” in Innovative Mobile and Internet Services in
screen. VNC and VSP both work at frame buffer level. Ubiquitous Computing (IMIS), 2012 Sixth International Conference on,
pp. 126–129, IEEE, 2012.
MACS [15] is a cloud service that offloads the burden of [8] W. Huang, A. Ganjali, B. H. Kim, S. Oh, and D. Lie, “The state of
physical mobile device and moves it to cloud. It focuses on public infrastructure-as-a-service cloud security,” ACM Comput. Surv.,
the Android application and enables adaptive extension of vol. 47, no. 4, p. 68, 2015.
[9] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski,
Android application execution from a mobile client into the G. Lee, D. Patterson, A. Rabkin, I. Stoica, et al., “A view of cloud
cloud. However, VSP moves the whole mobile device OS to computing,” Communications of the ACM, vol. 53, no. 4, pp. 50–58,
cloud and provides a complete virtual smartphone. 2010.
[10] F. Bellard, “Qemu, a fast and portable dynamic translator.,” in USENIX
[16] introduces an architecture based on virtual machine Annual Technical Conference, FREENIX Track, pp. 41–46, 2005.
technology to rapidly instantiate customized service software [11] A. Kivity, Y. Kamay, D. Laor, U. Lublin, and A. Liguori, “kvm: the
on a nearby cloudlet. The mobile device also functions as a linux virtual machine monitor,” in Proceedings of the Linux symposium,
vol. 1, pp. 225–230, 2007.
thin-client with respect to the service. It leverages proximate [12] J. A. Aroca, A. F. Anta, M. A. Mosteiro, C. Thraves, and L. Wang,
infrastructure to enrich mobile device with cloud resource, and “Power-efficient assignment of virtual machines to physical machines,”
VSP makes an effect on optimizing the assignment of VS to Future Generation Comp. Syst., vol. 54, pp. 82–94, 2016.
[13] R. W. Scheifler and J. Gettys, “The x window system,” ACM Transac-
provide the better experience for smartphone user. tions on Graphics (TOG), vol. 5, no. 2, pp. 79–109, 1986.
For better visualization of complex 3D models on mobile [14] T. Richardson, Q. Stafford-Fraser, K. R. Wood, and A. Hopper, “Virtual
network computing,” Internet Computing, IEEE, vol. 2, no. 1, pp. 33–38,
device, [17] proposes a system which has a cluster of PCs 1998.
equipped with accelerated graphics cards to handle remote [15] D. Kovachev, T. Yu, and R. Klamma, “Adaptive computation offloading
visualization sessions. It is based on MPEG video streaming from mobile devices into the cloud,” in Parallel and Distributed Process-
ing with Applications (ISPA), 2012 IEEE 10th International Symposium
to transfer the remote screen and reduces the bandwidth cost. on, pp. 784–791, IEEE, 2012.
[16] M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies, “The case for
VII. CONCLUSION vm-based cloudlets in mobile computing,” Pervasive Computing, IEEE,
vol. 8, no. 4, pp. 14–23, 2009.
In this paper, we present VSP, a Virtual Smartphone Plat- [17] F. Lamberti and A. Sanna, “A streaming-based solution for remote
visualization of 3d graphics on mobile devices,” Visualization and
form, to enhance the capability of physical smartphones. It Computer Graphics, IEEE Transactions on, vol. 13, no. 2, pp. 247–260,
runs virtual smartphones on remote servers, and user uses 2007.
a thin-client to connect it. Using virtualization and remote
display protocols, VSP migrates the burden of physical mobile
device to remote server and provides a better user experience
with low bandwidth. Ant colony optimization helps us solve
the VS assignment problem on multi-tenant platform and
improves the utilization of server resource.

1441
1442

S-ar putea să vă placă și