Energy Consumption of Remote Desktop Access ... - Semantic Scholar

6 downloads 253 Views 255KB Size Report
used protocols for remote desktop access on mobile devices have ... available to the remote service. ... to the cloud without the need of special support by the.
Energy Consumption of Remote Desktop Access on Mobile Devices: An Experimental Study Youming Lin∗ and Mario Di Francesco∗† ∗ Department

of Computer Science and Engineering Aalto University School of Science E-mail: {youming.lin,mario.di.francesco}@aalto.fi

† Center

Abstract—Mobile devices have recently become so pervasive that they are increasingly replacing personal computers in everyday activities. However, due to their limited resources, mobile devices cannot offer the same performance of desktop applications. One option to overcome such limitations is given by remote desktop access, wherein the mobile device uses a thin client software to connect to a remote desktop host. When such host is virtualized, remote desktop access becomes a form of mobile cloud networking. Unfortunately, most of the widely used protocols for remote desktop access on mobile devices have been designed for personal computer scenarios. Specifically, their energy consumption at the mobile device has not been fully characterized. In this article, we specifically address energy consumption of remote desktop access on mobile devices. Through experiments in realistic usage scenarios, we show how mainline remote desktop protocols perform by detailing the energy consumption due to the different components involved. We relate the energy consumption to the protocol features, and also provide some considerations on aspects related to user experience. Keywords-Mobile devices, remote desktop access, energy efficiency, mobile cloud networking.

I. I NTRODUCTION Mobile devices, ranging from smartphones to tablets, have recently become so pervasive that they are increasingly replacing personal computers in everyday activities related to both entertainment and work. However, due to their limited resources, mobile devices cannot offer the same performance of desktop applications. To this regard, one of the prominent approaches to overcome such limitations consists in offloading computational and storage resources to the cloud [1, 2]. With offloading, the mobile device runs only a thin layer of software which interfaces with application-specific services in the cloud. For instance, a software for picture organization and categorization can exploit powerful and accurate face recognition algorithms running on the cloud without the need of any computation at the mobile device. However, such an approach requires that source data are available to the remote service. This may require transferring data from the mobile device to the cloud, which incurs in both communication and energy consumption overheads [3]. A different option is given by remote desktop access [4]. In this case, the mobile device uses a thin client software which connects to a remote desktop environment running a

for Research in Wireless Mobility and Networking University of Texas at Arlington E-mail: [email protected]

server application. The thin client shows the desktop user interface and handles the related interactions. Specifically, input events captured by the client are transferred to the server, and the display of the mobile device is updated according to the received response to match the content of the desktop screen. To a certain extent, remote desktop access can be seen as an extreme case of mobile cloud computing, wherein the mobile device only acts as remote display and input device, and all the rest is demanded to the remote system [5]. When the host is virtualized, this access scheme corresponds to a special case of mobile cloud networking [6]. While research targeted to mobile cloud computing has considered resource utilization as the primary design objective, most of the commonly used solutions for remote desktop access were originally designed for personal computers. As a consequence, the reference scenario was represented by systems which have enough resources, are static, and connect to the Internet through a wired connection. Even though there are some solutions specifically designed for mobile devices [7, 8], they are usually not publicly available, or they cannot be easily integrated in the existing infrastructure. As a consequence, the vast majority of remote desktop protocols available for mobile devices are still those designed for personal computers. In this article, we analyze the energy consumption of remote desktop access on mobile devices. Through experiments in realistic usage scenarios, we show how mainline remote desktop protocols perform by detailing the energy consumption due to the different components involved. We relate the energy consumption to the protocol features, and also provide some considerations on aspects related to user experience. To the best of our knowledge, this is the first article providing an experimental characterization of the energy consumption due to remote desktop access on mobile devices. The rest of the article is organized as follows. Section II discusses the related work, while Section III introduces the relevant background related to remote desktop access. Section IV presents the experimental setup and Section V discusses the obtained results. Finally, Section VI concludes the article.

II. R ELATED WORK In the following, we will discuss the most relevant approaches aimed at minimizing the energy consumption of mobile nodes by both exploiting the cloud and designing optimized remote access protocols. For clarity, we group the related work in the two subsections below. A. Cloud-based Solutions Offloading resources to the cloud has been one of the major aspects of research efforts targeted to improving performance and reducing the energy consumption of mobile devices [3]. Some approaches have focused on techniques for automated and even dynamic offloading of mobile applications to the cloud. Among them, MAUI [1] is a platform which can evaluate the energy-cost tradeoff of applications running on top of the Microsoft .NET framework. Based on such evaluation, MAUI automatically decides to execute part of the application in the cloud rather than on the mobile device. ThinkAir [9] uses a similar approach but targets Android devices and provides a finer grained granularity for offloading decisions. Different from those solutions, CloneCloud [2] enables offloading Android applications to the cloud without the need of special support by the application developer, who would otherwise need to annotate the application code to exploit the offloading platform. Due to the focus on computational and storage resources, the solutions for offloading mentioned above address computing aspects more than networking ones. However, it has been shown that real applications do not benefit from offloading very much, since they are not so computationally-bound to be worth running (even partly) in the cloud [10]. Here, we take a more practical approach targeted to mobile cloud networking, where users access feature-rich remote desktop applications. Different from [11], which presents an experimental evaluation of energy consumption in mobile cloud computing, we consider realistic use cases and specifically address remote desktop scenarios. Some research on offloading proposed running native mobile applications in the cloud and accessing them through a virtual network connection. This concept of virtual smartphone has been introduced in [12], which also presented an architecture suitable to support the remote installation and execution of mobile applications. The approach in [12] relies on the Virtual Network Connection (VNC) protocol for remote access, but it does not provide any characterization of the related resource utilization. In this article, instead, we explicitly address the energy consumption of several remote desktop access protocols, including (but not limited to) VNC. The concept of virtualized screen was introduced in [5], as well as an architecture for thin-client mobile devices to perform screen rendering in the cloud. The proposed model targets rich graphic environments in which rendering is very computationally expensive, and takes a cross-layer

approach that is both network and content-aware. Even though the architecture is described in detail, the system is not evaluated in real-world scenarios. In contrast, in this article we experimentally evaluate the energy consumption of different remote desktop solutions available off-the-shelf. B. Mobile-friendly Remote Access Solutions Solutions for remote desktop access have been traditionally targeted to personal computers [13]. Approaches suitable for mobile devices have been designed only in relatively recent times. For instance, MobiDesk was proposed in [7] as an infrastructure for mobile virtual desktop computing. MobiDesk uses different techniques to provide display and network virtualization suitable to both local and wide area network environments, including session migration. However, this solution mainly targets mobile laptops, and not devices such as smartphones or tablets which have significantly lower energy resources. In contrast, we specifically consider energy-constrained mobile devices in this article. SmartVNC [8] is a solution built on top of VNC in order to improve the user experience in remote computing scenarios. The proposed solution operates directly at the user interface level, and records the sequence of operations performed by the user as application-independent smartmacros. These macros can then trigger the playback of procedural operations with a single tap or gesture, thus eliminating cumbersome or redundant operations at the user interface of the mobile device. The goal of SmartVNC is to increase the productivity and efficiency of an existing remote desktop protocol, with focus on the user experience. Different from that solution, we specifically address the energy consumption of remote desktop access at the mobile device by considering several existing protocols, including VNC. Remote display solutions for mobile cloud computing were surveyed in [4]. The authors recognized battery lifetime as one of the major challenges for cloud access from mobile devices, and highlighted the importance of offloading and cross-layer design as key aspects of energy-efficient cloud networking. However, they did not provide a quantitative evaluation of the energy consumption, while in this article we present results obtained through measurements in realistic scenarios. III. BACKGROUND In this section, we will briefly overview the background aspects that will be useful in the rest of the discussion. Before proceeding further, let us introduce the reference architecture, which is illustrated in Figure 1. On one side, there is a mobile device running a remote desktop client. On the other side, there is a dedicated hardware running a remote desktop server. Client and server are connected through an IP-based network, and the mobile device uses

Figure 1: Reference architecture for the considered remote desktop access scenario

a wireless communication technology to access the remote desktop. Both ends agree on a specific remote access protocol to support the remote desktop session.

remote desktops running on that platform [17]. RDP supports more primitives than VNC for screen updates, as well as data transmission over multiple channels. It also interfaces with a wider range of input devices and provides several forms of redirection, including audio, printer, and filesystem access. Moreover, it supports authentication and encryption. TeamViewer [18] is a proprietary multi-platform software for remote desktop sharing and tele-conferencing. The major features of TeamViewer include: autoconfiguration and simplified authentication; built-in security; and a dedicated network of servers for starting the connection and routing traffic between the two endpoints when needed (i.e., for network traversal). TeamViewer can automatically re-establish an existing session in case of network disconnection, which is particularly useful in scenarios with intermittent connectivity due to mobility or poor channel quality. B. Energy Profiling of Mobile Devices

A. Remote Desktop Protocols There are several remote desktop solutions available in the market, but many of the leading products are based on a few technologies and protocols. Among them, we consider Virtual Network Computing (VNC), Remote Desktop Protocol (RDP), and TeamViewer. Different from other solutions either proposed in the literature or commercially available, the technologies considered here are available for a wide range of operating systems as well as mobile device platforms. VNC [13] is a well established multi-platform remote desktop solution. It is built on top of the Remote Framebuffer Protocol (RFB), which evolved over time to include extensions and optimizations introduced by software derived from the original VNC server [14]. RFB, as the name suggests, operates at the framebuffer level, and is based on primitives which can draw rectangular regions on the screen. Each region can be encoded in different ways, and a sequence of drawing primitives produces a framebuffer update. Updates are triggered by the client which can autonomously decide when to request them. In addition to the screen, the RFB protocol supports any input device which can be mapped to a keyboard and a pointing device (e.g., a mouse) with multiple buttons. Besides these basic functions, VNC also supports different authentication and security methods, as well as extensions for better integration with the remote server (e.g., shared clipboard and file transfer). RDP [15] is a proprietary protocol designed by Microsoft for remote input and display of hosts running the Windows operating system, and it is based on the Multipoint Application Sharing (T.128) recommendation by the International Telecommunication Union [16]. Despite being OS-specific, RDP clients and servers also exist for operating systems other than Microsoft Windows. Furthermore, an RDP server implementation is built into the VirtualBox virtualization software, so that clients can directly connect to virtualized

Since energy consumption is a major issue in mobile devices, it is necessary to determine the actual expenditure accurately and efficiently. Besides energy modeling, several approaches rely on a measurement-based approach to profile energy consumption with different levels of granularity. The baseline approach consists in using a power meter attached to the battery of the mobile device. One of the most widely used solutions is represented by the Monsoon Power Meter [19], which is a complete hardware-software solution for measuring the energy consumption of a mobile device. However, using a meter attached to the battery only provides a coarse-grained characterization of the energy consumption. More recent research efforts have focused on how to build energy profiling tools which can run on the mobile device, and can give a complete characterization of the different components involved in a platform-independent fashion. Among them, PowerTutor [20] is an Android application which can measure the energy consumption of mobile devices with a fine granularity. Specifically, it provides energy reports for each running application detailed according to the different components involved – including CPU, display, network interface and GPS. Due to its features, in the following we will use PowerTutor to obtain the energy consumption of the mobile device. IV. E XPERIMENTAL S ETUP We set up our experimental setup according to the reference scenario illustrated in Figure 1. On the one side, we used a Samsung Galaxy Tab running the Android 2.2 operating system. On the other side, we used a workstation equipped with an Intel Core2 Duo E6300 and 4 GB of RAM running Windows 7. The mobile device connected to the remote desktop through a WiFi access point attached to the workstation. To profile the energy usage at the mobile device we used PowerTutor [20]. Collected data were stored in a trace file,

which was then processed offline to derive the metrics of interest. In order to minimize the impact of other software running on the mobile device, we performed a factory reset before installing the applications used in the experiments, and disabled all background traffic. In all the experiments, we set the brightness of the display to a fixed value and disabled screen blanking to better characterize the related energy consumption irrespective of the operating conditions (such as external light or user inactivity). In order to characterize the performance of different remote access protocols, we considered the following software configurations. •





Virtual Network Connection (VNC). We used androidVNC1 at the mobile device and RealVNC Server2 at the workstation. Remote Desktop Protocol (RDP). We used the 2X Client for Android3 at the mobile device and the RDP server built-in in Microsoft Windows 7 at the workstation. TeamViewer. We used the TeamViewer 7 mobile and desktop applications at the mobile device and at the workstation, respectively.

Unless stated otherwise, we used the default configuration options for the applications involved in the experiments. In order to evaluate the energy consumption in realistic scenarios, we defined the following use cases, each corresponding to a practical usage of the mobile device for remote desktop access. 1) Document editing and emailing. In this use case, a user remotely connects to a desktop machine and generates an invoice for a customer based on a previous version which needs to be amended. Specifically, the user opens an existing Microsoft Word document, changes the quantity of the items, adds new items, calculates the new grand total, then generates a PDF file which is finally emailed to the customer. This scenario is motivated by the situation in which a salesman of a company needs to take care of customer orders on the move. 2) Presentation of complex slides. In this use case, a user shows a slide presentation from remote. To this end, the user connects to their remote desktop, opens a Powerpoint slideshow and starts the presentation until it is completed. This scenario is motivated by the situation in which the slideshow contains complex animations and effects, or even embedded media such as video encoded in computational-demanding format, and could not otherwise accurately be shown on the mobile device. 1

http://code.google.com/p/android-vnc-viewer/ http://www.realvnc.com/products/vnc/ 3 http://www.2x.com/rdp-client/android/ 2

3) Remote software installation. In this use case, a user connects to a remote desktop of another person to perform software installation or update. Specifically, the user downloads the Adobe Reader X software from the official website4 , installs and configures it on the remote computer. This scenario is motivated by the situation in which an IT professional has to perform system maintenance or troubleshooting on a user workstation while out of office. In the experiments, we evaluated the different remote desktop protocols for the considered use cases, and measured the energy consumption of the different components involved, namely, CPU, display (LCD) and radio (WiFi). Each experiment was repeated 8 times. We discarded the maximum and minimum datapoints obtained, then derived their average values along with the corresponding 90% confidence intervals. V. E XPERIMENTAL R ESULTS In this section, we will provide the results obtained from our experiments with focus on energy consumption. We will conclude the section with a discussion of the user experience and summary considerations. A. Energy Consumption Figure 2 shows the average power consumption of the different mobile device components as a function of the use cases, for the different protocols. The first aspect to highlight is the relative contribution of the different components. We can clearly see that the power consumption of the display5 does not dominate the other two components almost irrespective of the use case. In fact, the results show that CPU and radio combined consume more power than the display. As a consequence, reducing the power consumed by the remote access protocol – affecting both CPU and radio – could bring significant energy savings. This is especially true if we consider that improved display technology (e.g, OLED displays) would consume even less power than the one reported here. Another aspect is that use cases 1 and 3 consume more power than use case 2 independent from the remote desktop protocol used. In fact, these use cases require a higher number of interactions with the remote server, hence, also a higher number of messages. This is reflected in the power consumption of the radio, which is more active on the average when more messages need to be exchanged. Irrespective of the use case, we can see that there is no significant deviation in the contribution of the radio to the power consumption of different protocols. This can be explained on the basis of the overhead associated to sending and receiving updates with small payloads, as highlighted in 4

http://www.adobe.com/products/reader.html Samsung Galaxy Tab used in the experiments has a 7.0 inch WSVGA (1024 x 600) TFT display. 5 The

300 200 100 0

1

2 Use Case

3

400

500

CPU LCD WiFi

Average power consumption (mW)

400

500

CPU LCD WiFi

Average power consumption (mW)

Average power consumption (mW)

500

300 200 100 0

1

(a)

2 Use Case

3

400

CPU LCD WiFi

300 200 100 0

(b)

1

2 Use Case

3

(c)

Figure 2: Average power consumption by component as a function of the use cases for different remote desktop protocols: (a) TeamViewer, (b) RDP, and (c) VNC.

[4]. On the other hand, if we focus on the individual remote access protocols, VNC results in a higher CPU usage on the average. This is related to the highest compression used by the default software configuration. Figure 3a shows the total energy consumption as a function of the use cases for the considered protocols. Different from Figure 2, which quantifies the relative impact of the mobile device components on the power consumption, this characterization incorporates the impact of the session duration, shown in Figure 3b. Even though the differences in the session duration are not so pronounced, protocols which are less efficient from the energy perspective, such as VNC, benefit from shorter sessions. On the other hand, longer sessions make more apparent the difference between protocols which would otherwise have similar average energy consumption, such as TeamViewer and RDP in the use case 2. Finally, Figure 3c shows the average energy consumption of the considered protocols by component, averaged over the different use cases. The figure – where we omitted the energy consumption of the display for clarity – basically confirms the findings from the previous discussion by clearly showing that there is limited deviation in the energy consumption of the radio, while the only appreciable difference lies in the CPU energy consumed by VNC compared to TeamViewer and RDP. B. Usability and User Experience Energy consumption can measure the efficiency of the protocol, even though up to a certain extent. Also quality of experience is important for the user, in terms of both smooth interaction with the remote desktop and convenience of the graphical interface. As for the general user experience, the combination of RealVNC server and the androidVNC client revealed to be the most effective among the considered configurations, with the smoothest display of the remote screen and almost no frame loss nor glitches. The variation in the session duration shown in Figure 3b

can also be related to the friendliness in the user interface of the different mobile clients. For instance, some of the remote desktop clients provide shortcuts for some highlevel operations – such as cut, copy, and paste – which can significantly speed-up the interactions with the remote host for highly interactive applications. C. Concluding Remarks Our experimental results showed that there is not a clear solution which is superior than others for remote desktop access on mobile devices. Each protocol has its own advantages in specific use cases, and for short sessions over a local wireless connection there is not much difference among the considered options. This also happens since the latency reduction mechanisms supported by the protocols are not exploited in such scenarios, wherein the communication latency is already low. Even though the results shown here are dependent on the considered hardware and software configurations, the findings show a clear indication on how the energy consumption affects the different mobile device components for different real-world remote desktop protocol solutions. VI. C ONCLUSION In this article, we have characterized the energy consumption of remote desktop access on mobile devices. We have considered realistic use cases and different solutions for remote desktop access. Through several experiments, we showed how the features specific to the remote desktop protocols impact on the energy consumption of the different components in a mobile device. We finally provided some considerations on usability and user experience. As a future work, we are considering to perform additional experiments wherein the remote desktop host is virtualized and accessed through a long distance connection. We are also looking into the energy expenditure when using cellular radio technologies such as 3G and LTE for wireless access.

500 400 300 200 100 0

1

2 Use Case

3

900

Teamviewer RDP VNC

800 700 600 500 400 300 200 100 0

1

(a)

2 Use Case

(b)

3

160 Average energy consumption (J)

Teamviewer RDP VNC

600

Average session duration (secs)

Average energy consumption (J)

700

CPU WiFi

140 120 100 80 60 40 20 0

Teamviewer

RDP Protocol

VNC

(c)

Figure 3: (a) Average energy consumption and (b) average session duration as a function of the use cases for the different protocols. (c) Average energy consumption as a function of the protocol for the different components.

ACKNOWLEDGEMENTS This work has been partially supported by the US National Science Foundation (NSF) under grant CNS-1150192 and by the Academy of Finland under grant number 253860. Any opinions, findings and conclusions or recommendations expressed in this article are those of the authors and do not necessarily reflect those of the NSF. B IBLIOGRAPHY [1] E. Cuervo, A. Balasubramanian, D.-K. Cho, A. Wolman, S. Saroiu, R. Chandra, and P. Bahl, “MAUI: making smartphones last longer with code offload,” in Proc. of MobiSys ’10, 2010, pp. 49–62. [2] B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, “CloneCloud: elastic execution between mobile device and cloud,” in Proc. of EuroSys ’11, 2011, pp. 301–314. [3] K. Kumar and Y.-H. Lu, “Cloud computing for mobile users: Can offloading computation save energy?” Computer, vol. 43, no. 4, pp. 51–56, april 2010. [4] P. Simoens, F. De Turck, B. Dhoedt, and P. Demeester, “Remote display solutions for mobile cloud computing,” Computer, vol. 44, no. 8, pp. 46–53, aug. 2011. [5] Y. Lu, S. Li, and H. Shen, “Virtualized screen: A third element for cloud–mobile convergence,” Multimedia, IEEE, vol. 18, no. 2, pp. 4–11, feb. 2011. [6] K. Pentikousis, “In search of energy-efficient mobile networking,” Communications Magazine, IEEE, vol. 48, no. 1, pp. 95–103, january 2010. [7] R. A. Baratto, S. Potter, G. Su, and J. Nieh, “MobiDesk: mobile virtual desktop computing,” in Proc. of MobiCom ’04, 2004, pp. 1–15. [8] C.-L. Tsao, S. Kakumanu, and R. Sivakumar, “SmartVNC: an effective remote computing solution for smartphones,” in Proc. of MobiCom ’11. New York, NY, USA: ACM, 2011, pp. 13–24. [9] S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang, “ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading,” in Proc. of INFOCOM 2012, march 2012, pp. 945–953.

[10] A. Saarinen, M. Siekkinen, Y. Xiao, J. Nurminen, M. Kemppainen, and P. Hui, “Can offloading save energy for popular apps?” in Proc. of MobiArch 2012, August 2012. [11] A. P. Miettinen and J. K. Nurminen, “Energy efficiency of mobile clients in cloud computing,” in Proc. of HotCloud ’10, 2010, pp. 4–4. [12] E. Chen and M. Itoh, “Virtual smartphone over ip,” in Proc. of WoWMoM 2010, june 2010, pp. 1–6. [13] T. Richardson, Q. Stafford-Fraser, K. Wood, and A. Hopper, “Virtual network computing,” Internet Computing, IEEE, vol. 2, no. 1, pp. 33–38, jan/feb 1998. [14] T. Richardson and J. Levine, “The Remote Framebuffer Protocol,” Internet Requests for Comments, Internet Engineering Task Force (IETF), RFC 6143, March 2011. [Online]. Available: http://www.ietf.org/rfc/rfc4627.txt? number=6143 [15] Microsoft Corp., “Remote Desktop for Mobiles,” http://msdn.microsoft.com/en-us/library/aa383015.aspx, retrieved July 6, 2012. [16] Telecommunication Standardization Sector of ITU, “Multipoint application sharing,” International Telecommunication Union (ITU), Recommendation T.128, June 2008. [Online]. Available: http://www.itu.int/rec/ T-REC-T.128-200806-I/en [17] Oracle Corp., “Oracle VM VirtualBox,” http://www. oracle.com/us/technologies/virtualization/061976.html, retrieved July 6, 2012. [18] TeamViewer GmbH, “Brochure: TeamViewer Remote Control,” http://www.teamviewer.com/images/pdf/ TeamViewer brochure.pdf, retrieved July 6, 2012. [19] Monsoon Power Solutions Inc., “Mobile Device Power Monitor Manual – Version 1.8,” http://msoon.github.com/powermonitor/PowerTool/ doc/Power%20Monitor%20Manual.pdf, June 2012. [20] L. Zhang, B. Tiwana, Z. Qian, Z. Wang, R. P. Dick, Z. M. Mao, and L. Yang, “Accurate online power estimation and automatic battery behavior based power model generation for smartphones,” in Proc. of CODES/ISSS ’10, 2010, pp. 105–114.