RemoteUI: A High-Performance Remote User Interface System for

Transcription

RemoteUI: A High-Performance Remote User Interface System for
RemoteUI:
A High-Performance Remote User Interface System
for Mobile Consumer Electronic Devices
Daniel Thommes, Student Member, IEEE, Ansgar Gerlicher, Member, IEEE
Qi Wang, Member, IEEE, Christos Grecos, Senior Member, IEEE
Abstract — Modern consumer electronic devices can easily
integrate into distributed computing environments. By
applying network-based user interface systems to control these
devices, innovative applications become feasible. However,
several requirements like high responsiveness and low
bandwidth consumption need be satisfied. Particularly, to be
applicable in wireless and mobile local and wide area
networks, they must circumvent low available data rates and
high network latency. We propose a new solution called
RemoteUI, which works with abstract user interface (UI)
descriptions and their prioritized, incremental remote
replication. The system combines different approaches from
thin client computing and widget based UI systems and is
further optimized in the context of wireless networks and
mobile consumer devices. To demonstrate the advantages of
our solution, we experimentally compare the proposed
RemoteUI System with Virtual Network Computing (VNC)
implementations and an HTML-based solution1.
Index Terms — Remote User Interfaces, Mobile Consumer
Electronic Devices, VNC, Web4CE, HTML
I. INTRODUCTION
A growing number of consumer electronic devices can be
integrated into IP networks allowing them to use and offer
pervasive services. Particularly, the transfer of user interfaces
(UIs) to remote control devices is an essential technique to
facilitate such services in a user-friendly and locationindependent manner. Scheduling the next TV-recording on a
TV set or setting the temperature at home with the help of a
smart climate control device can be carried out from remote
locations. Versatile mobile consumer electronic devices like
smartphones or tablet computers are today's remote controls
"to go". They are connected to the Internet and capable of
presenting rich user interfaces for a comprehensive number of
applications. In this way they become a desirable amendment
1
Daniel Thommes is with the Institute of Applied Science, Stuttgart Media
University, 70569 Stuttgart, Germany (e-mail: [email protected]).
Ansgar Gerlicher is with the Institute of Applied Science, Stuttgart Media
University, 70569 Stuttgart, Germany (e-mail: [email protected]).
Qi Wang is with the Audio Visual Communications and Networks Group,
School of Computing, University of the West of Scotland, Paisley, PA1 2BE,
United Kingdom (e-mail: [email protected]).
Christos Grecos is with the Audio Visual Communications and Networks
Group, School of Computing, University of the West of Scotland, Paisley,
PA1 2BE, United Kingdom (e-mail: [email protected]).
Fig. 1. Using mobile devices to remotely control other consumer
electronic devices within LAN or WAN environments.
or even replacement for traditional remote controls. They even
allow remote control use cases that have not been possible
before. Fig. 1 illustrates two of these use cases where a
smartphone is used to control consumer electronic hardware
from a local and a wide area network, respectively.
Furthermore, the mentioned mobile devices are able to offer
innovative network services themselves. For example, they
can make personal information management functionality or
rich media applications available to other network devices.
There are situations where more convenient or better-suited
input equipment for the control of these services are either
preferable or even mandatory. Fig. 2 shows such a scenario in
which the driver of a car controls the smartphone through the
car’s head unit, typically an onboard “thin client” computer
with a larger screen. The latter mirrors the mobile phone’s
user interface, transmitted via a wireless personal or local area
network (WPAN or WLAN), and allows controlling it with
touch gestures. This solution provides a safer and more
Fig. 2. Using specialized input devices to control the mobile device in a
WLAN or WPAN environment.
convenient way for the driver to enjoy the applications
running on the mobile phone.
To realize the described use cases, a remote user interface
system is needed that fulfills the following requirements:
• The complexity of both client and server software should
be low, because in a consumer electronic environment the
majority of devices have reduced processing power.
• The responsiveness of the user interface, although being
transferred over a possibly slow network connection,
should be high for good user experience.
• The remote control protocol’s required bandwidth should
be reduced to accomplish the desired fast reaction times in
slow networks and lower the network traffic in scenarios
where users are charged on a traffic amount basis.
• The transferred remote user interface must be adaptable to
the client device, e.g. allowing high-quality client-side
scaling and rotation-specific layouts.
• To achieve high user acceptance, the system should enable
the usage of native UI-elements on client side to represent a
system-specific design and behavior.
• The server component of the system must be portable to a
variety of platforms including platforms that do not natively
support graphics rendering (for example due to the absence
of a display).
• There must be a possibility for server-initiated updates to
allow asynchronous events occurring on the server to be
propagated to the client.
The aim of the RemoteUI Project is to develop technologies
for realizing a high-performance, portable remote user
interface system satisfying these requirements. In this paper,
we propose the RemoteUI System and present the results of an
in-depth comparison with existing well-known solutions.
The remainder of this paper is structured as follows. In
Section II we discuss existing work in the areas of thin client
computing and remote control solutions. In Section III the
architecture of the RemoteUI System and the functionality of
its protocol are defined. For our experimental evaluation we
implemented prototypes for the proposed system, and two
existing representative solutions, as described in Section IV.
With these prototypes we accomplished different experimental
evaluations introduced in Section V. In Section VI we
describe the setup and the results of the bandwidth and traffic
volume comparison tests. In Section VII the test bed of the
latency tests and experiment results are discussed. We
summarize our observations and conclude in Section VIII.
II. RELATED WORK
Transferring graphical user interfaces from a server to a
client via network connections can be realized through two
major approaches. The first approach originated from the thin
client concept, and typically employs pixel information or
low-level graphic primitives for this purpose. For instance,
systems like Virtual Network Computing (VNC) [1], Muse [2]
and the system proposed by Simoens et al. [13] retrieve the
required bitmap information from the framebuffer at the
server. Systems like the Remote Desktop Protocol (RDP,
based on ITU-T T.128 [3]), THINC [4] and BASS [5] work as
a mirror graphic driver and intercept graphic commands. XServer [6] introduces a graphic abstraction layer and Joveski et
al. [12] intercept the latter for accessing graphic primitives.
Information gathered from these sources is encoded with
special run-length codecs like ZRLE or TRLE [7] or existing
codecs like PNG, JPEG, H.264 or Theora. Client and server
are usually connected persistently over TCP or RTP. These
systems have various advantages. Typically the (thin) client
software has relatively low complexity and displays a pixelaccurate reproduction of the server's UI. Employing optimized
codecs, these systems perform adequately when transferring
video streams. However disadvantages exist regarding client
adaptation, for example client-side scaling is possible but
often not optimal on mobile devices. Additionally the
bandwidth requirements of these solutions are relatively high
and the responsiveness in high-latency environments suffers
from the necessity for full client-server round trips.
There are various applications of thin client systems
especially VNC-based solutions in consumer electronic
environments. Haraikawa et al. propose the µVNC system [8],
which transfers the UI of consumer electronic hardware
through VNC. In this way a video recorder can be controlled
with the help of a regular VNC client on a PC. To lower the
complexity of the server software and supersede the necessity
of a real framebuffer, µVNC uses pre-rendered images.
Mainly for the realization of remote video servers, the RVU
Protocol [9] uses an approach similar to RDP to transfer user
interfaces. Videos can be embedded into these UIs using
specialized video codecs. Consumer electronic devices
implementing such technology, which shall support special
mobile-based UI delivery options in the near future, have
already been shipped. To mirror the user interface of a mobile
consumer electronic device to a car's head-unit, Bose et al.
[10] describe a solution that extends VNC with special carrelated features. The device can be connected via USB,
WLAN or WPAN. The European project Mobithin [11] has
focused on the thin client computing with mobile devices.
Different proposed systems [12]-[14] use parts of the MPEG4
standard to accomplish high performance.
The other major approach utilizes widget descriptions to
transfer user interfaces, allowing a high-quality client-side
rendering and scaling. These descriptions are often formulated
in XML languages supporting specialized elements for
widgets like “ToggleButton” or “Progressbar”. Examples are
HAViML [15], Verhoeven and Dees’ protocol [16],
LRDP [17] and QML [18]. A similar approach explores
HTML to realize and transfer rich user interfaces. Sonnenberg
[19] proposes to utilize HTML for the integration of mobile
devices into cars. Following the Web4CE standard [20], a
consumer electronic device can offer a UPnP Remote UI
service [21] in the form of an XHTML 1.0 page. The Web4CE
standard also addresses a common problem of HTML- and
XML-based solutions that use HTTP as the underlying
protocol. A so-called NotifSocket object is defined that allows
the server to send updates to the client through a persistent
TCP connection. Using HTTP, this can only be realized with
client-side polling. The same problem is addressed with
Websockets [22] that have been already implemented in most
current web browsers, in contrary to NotifSocket. However,
both solutions do not practically support efficient transfer of
binary data to HTML-based clients, which is highly desirable
for the transmission of bitmaps. Standardized JavaScript [23]
clients at the moment can only receive data from these sockets
in text form. Therefore, binary data have to be encoded e.g.
with Base64 [24] before the transfer. Base64 introduces
approximately 33% overhead as 6 input bits are encoded with
8 output bits, which adversely influences the bandwidth
requirements of such a system.
According to Nielsen [25] the user interface of a software
system should react within 100 milliseconds to inform the user
about direct object manipulations, e.g. changing a button’s
color to express its pressed state. If the presentation of results
in response to user input takes longer than 1.0 second,
additional feedback is necessary. While network round-trip
times (RTTs) in local area networks are typically below
100 ms, investigations show that RTTs in wireless wide-are
networks (WWANs) such as UMTS can become considerably
high. For a moving client sending 64-byte packets Wewetzer
et al. [26] determined a mean RTT of about 600 ms. Systems
working with widget descriptions in such scenarios have the
advantage that no round-trip with the server is required to
render the widget behavior needed for instant user feedback.
In the proposed RemoteUI System, we leverage the
advantageous features in existing approaches such as a
persistent connection and efficient widget descriptions to form
a high-performance UI system. Furthermore, we propose a
range of techniques to minimize the required bandwidth and
system latency. To evaluate the effects of these solutions we
compare our system with two representative systems, VNCand HTML-based respectively. Both systems are most widely
used and available on many platforms.
This paper has substantially extended its preliminary
version [27] by expounding the system’s design. Furthermore,
the performance evaluations have been detailed through
extensive experiments. The proposed RemoteUI system is
compared with VNC- and HTML-based systems in terms of
traffic volume and latency wherever appropriate.
III. THE REMOTEUI SYSTEM
The proposed RemoteUI System (RUI) consists of at least
one RemoteUI Server that delivers user interface information.
One or more RemoteUI Clients can connect to this server to
retrieve and display its user interface. In Fig. 3 the
components of the RemoteUI System are shown. We
distinguish between server and client components.
The Connection components establish a connection between
the server and the client to enable the display of the user
interface (client) and the delivery of the user interface (server)
respectively. Different implementations for the Connection
component are possible, e.g. WLAN- or WPAN-based. This
component provides a connection object for the overlaying
Fig. 3. Components of the RemoteUI System (yellow/light) and
application specific components (blue/dark)
tier. To establish a connection, an optional Discovery
component can be used to find devices offering the RemoteUI
functionality.
The Event System uses the established connection to realize
an asynchronous transfer of user interface descriptions, input
events and system commands between the server and the
client. The RUI-Protocol component is a class library
describing the protocol entities. The Controller and Input
components use it to create protocol objects at runtime. The
Event System is responsible for their serialization,
transmission, retrieval and deserialization. We use a platformindependent, binary serialization protocol derived from
HBWSP [28]. This protocol is able to describe arbitrary
objects including the efficient representation of binary data as
required for bitmap transfer.
On the server side, a Controller connects the existing
Business Logic and the RemoteUI System. Its implementation
highly depends on the scenario and the execution environment
in which the RemoteUI System is used. In order to control a
smartphone via RemoteUI, the Controller has to be
implemented as a bridge to the platform’s UI components.
On the client side, the Rendering component is responsible
for displaying the received UI descriptions and commands.
The Input component transfers input events originating from
user interaction through the Event System to the server.
A. UI-Tree and Tree Manipulation
The RemoteUI System uses widget descriptions and
graphic primitives to describe and transfer the user interface.
These graphical objects build the so-called UI-Tree, which is
replicated between server and client. Fig. 4 shows a UI-Tree
(b on the left) and its rendered representation (a). While the
contained image in this example must be transferred as pixel
information, an abstract description of the displayed text and
buttons is sufficient to create a client-side representation of the
user interface. With this method, the required amount of data
can be significantly reduced, as we will show in Section VI.
When a new screen is opened, the server initially transfers
its UI-Tree. The client receives, renders and saves a local copy
of the tree. From then on, the client renders simple widget
behavior like button presses or list scrolling locally. If serverside event-listeners have been registered on a widget, the
client transfers the corresponding events to the server. The
processing of these events usually produces visual results that
(a)
Fig. 4. (a) The left UI-Tree being rendered on the phone, (b) UI-Tree manipulation
shall be displayed through UI-Tree manipulations, which are
triggered by server commands. The client receives and
instantly executes the commands, which includes rendering
the resultant tree. To allow the manipulation, each node in the
UI-Tree carries a unique ID that is used for addressing.
Fig. 4 (b) exemplifies this process. The left tree is transformed
into the right by replacing text and image information in
different nodes.
For certain widgets a round trip with the server is necessary
to determine their appearance. The server for instance defines
the state of a toggle button after it is pressed. During the
following round-trip the button is in a “pending” state. If the
round-trip time is high, this new state should be presented to
the user. We call this phenomenon the “additional-state
problem” that can generally occur in remote UI systems. The
RemoteUI Client in future versions will provide special
modified widgets that are capable of displaying these
additional states.
B. Incremental Transfer and Rendering
Although the amount of data required to express a user
interface with the RemoteUI Protocol is relatively small, there
are situations where the transfer of a complete UI-Tree takes a
long time. This can be the case in scenarios with low available
bandwidth or the UI containing many images. To provide fast
user feedback, the RemoteUI-Server incrementally sends the
UI-Tree as soon as the first nodes become ready for transfer.
The RemoteUI-Client incrementally receives, builds up and
renders the local copy of the tree. This results in a row-by-row
display of the user interface. If the first row of the layout can
be displayed within less than a second, we assume this as
sufficient for the required timely user feedback. Additionally,
a less conspicuous progress indicator can be part of the
interface to indicate a pending receive process.
C. Prioritization
The RemoteUI Protocol offers a mechanism to prioritize
different user interface and command objects. The server
processes and transmits objects with high priority first, which
intentionally causes a delay for lower prioritized objects
especially in low bandwidth scenarios. Because the client is
able to incrementally render these objects, this technology
reduces the user interface latency. In a preliminary approach,
(b)
widgets displaying pixel data (ImageViews) are separated from
the UI-Tree and transferred as lower-prioritized SetData
commands. Part of our research is the development of
algorithms to determine the optimal priority from input
parameters such as visibility, traffic volume, operational
importance, available bandwidth and network latency. By
continuously applying these algorithms at runtime, the system
will adapt to changing environment conditions to offer the
highest possible performance.
D. Caching and Prefetching
Theoretically a UI-Tree does not need to be transferred
more than once. Although there are screen switches that are
realized by replacement of the tree, it is likely that a tree will
be reused once loaded. Avoiding the retransfer of resources
like pixel-images used in a UI-Tree can reduce the required
traffic volume significantly. To profit from this fact, the
RemoteUI System caches resources on the client.
Additionally, during idle-times, a low-priority process
prefetches resources that are likely to be required later on. A
tree that contains a resource that has already been fetched only
needs to contain a reference to it, which reduces the user
interface latency.
IV. PROTOTYPIC IMPLEMENTATIONS
As platform for all prototypic implementations we chose the
Linux-based operating system described by McLoughlin [29]
later on referred to as “target platform”. This system is
available for different kinds of mobile consumer electronic
devices like smartphones, tablets and multimedia hardware.
Additionally a specialized version is available for TV systems
predestining the platform for our prototypic implementations.
A. RemoteUI System Prototype
We realized the RemoteUI System with the components
described in Section III for the above mentioned target
platform. Fig. 5 shows the applications that have been
developed by us. While the RUI Client was realized as a
stand-alone-application, the server functionality was divided
into different applications. It was an important requirement for
us to avoid manipulations of the operating system or the
necessity of gaining root privileges to run our applications.
Access to the user interface on the target platform is allowed
Fig. 5. Deployment of the RemoteUI applications
from the owning application only. Therefore in our system an
application must be enhanced with RemoteUI functionality in
order to become remote controllable. A standard application
project can easily be extended with RemoteUI functionality by
weaving the required function calls and properties into the
application’s bytecode. We developed three prototypic Remote
Controllable Applications. A simple Calculator, a
MediaPlayer and a Demo App. Fig. 6 shows Screenshots of
the Calculator, and a special List Demo Activity that is part of
the Demo App, where the number of list items can be
configured. We used these UIs for our evaluations described
in Sections VI and VII.
On startup a Remote Controllable Application connects
locally to the RUI Server application by inter-process
communication (IPC). The RUI Server in the following works
as relay for the communication with a connected RUI Client.
The implementation uses a Connection module working with
TCP-Sockets and a Zeroconf-based Discovery [30]. Images
are transmitted in display size, encoded with full color
PNG [31].
B. HTML System Prototype
To compare the RemoteUI System with an HTML-based
approach, we additionally implemented a prototypic dynamic
web server for the target platform. The server uses HTTP 1.1
[32] to serve static and dynamic content, using a new TCP
connection for each request. It serves static content like
HTML files from the SD card handling each request in a new
thread. Additionally it supports simple listeners (servlets) that
(a)
(b)
Fig. 6. Screenshots of the applications that we used for the
performance comparisons: (a) Calculator, (b) List Demo
dynamically serve content when being registered for certain
URLs. In contrast to the RemoteUI System's server, this
solution is realized as a library and must be directly integrated
into each application. Inter-process communication is not
required in this way. Also this system does not automatically
translate the native UI into HTML. We expected some
performance benefits in terms of latency from these facts.
We integrated the server into a version of the Calculator
application. Following the Web4CE standard, this Calculator
can be controlled via a static XHTML 1.0 web page shown in
Fig. 7 (a). The page contains JavaScript code that sends an
XMLHttpRequest [33] to a calculation servlet on each button
press, carrying the corresponding button value as the GET
parameter. The servlet on request modifies or evaluates the
equation and updates the original Calculator's text view with
the result. The updated text value is then sent to the requesting
script in a JSON [34] response. The script writes this value
into the respective HTML text area. Thus, the prototype works
similarly to the RemoteUI System, keeping the business logic
itself on the server.
A second web page (Fig. 7 (b)) is an HTML version of the
Demo List view. It shows 100*100 pixels thumbnails that are
dynamically converted by a servlet from the originally
300*300 pixels application resources. Therefore the
thumbnails are encoded and transferred in the same format as
with the RemoteUI System. The list itself has no further
functionality so the HTML page does not contain any
JavaScript code. To measure the performance of the HTML
system on the client, we implemented a small browser
allowing us to process all events during page loads and
XMLHttpRequests. This browser is based on the target
system’s WebView widget that uses the same native browser
library as the built-in system browser.
C. VNC Server and Client
We used a VNC server application running natively on the
target platform. The software requires root privileges to get
access to the device’s framebuffer. We modified the device
accordingly to grant this access. On client-side we used a
modified version of the open-source VNC viewer also used by
Yu et al. [2] where we additionally enabled the portrait modus
for controlled devices and introduced logging for our profiler.
(a)
(b)
Fig. 7. Screenshots of the web browser displaying XHTML
versions of the test applications: (a) Calculator, (b) List Demo
D. Profiler Software
For the latency comparisons described in Section VII we
implemented special profiler software for the target platform.
The profiler is able to measure the duration of arbitrary
processes in a distributed environment. The logged events are
stored in a process-local in-memory list. This list is written
into a CSV-file when the profiling is finished. The profiling
can be controlled through a special application that functions
as profiler frontend on the device itself. We integrated the
profiler library into all involved components.
Fig. 8. Bandwidth comparison for the Calculator
V. EXPERIMENTAL SETUP
We carried out different experiments to compare the
required bandwidth and latency of the RemoteUI System with
those of HTML and VNC. For all tests we used a device with
a resolution of 540*960 pixels, a dual-core 1.2 GHz RISC
CPU and 768 MB RAM to execute the server implementations
(RemoteUI Server, web server and VNC server). The client
device offered a resolution of 600*1024 pixels, a 1 GHz RISC
CPU and 512 MB RAM. The RemoteUI Client, VNC client
and our HTML browser were installed on this device. On both
devices we installed the profiler frontend.
VI. BANDWIDTH AND TRAFFIC VOLUME COMPARISON
A. Experimental Setup
To compare the bandwidth and traffic volume we used the
Calculator applications and the List Demos described in
Section IV. In one experiment we configured the List Demo to
contain 50 items to analyze the effect of scrolling (List Demo
50). In a second experiment the List Demo was displaying
only 9 items (List Demo 9); in all remote systems the 9 items
could be displayed without scrolling. The latter experiment
was required to determine the traffic volume produced during
the latency tests described in Section VII.
With capture software running on the notebook we recorded
the TCP traffic when executing the test applications. For the
VNC connection we chose the full color depth (32 bit per
pixel) and the ZRLE encoding. RemoteUI and HTML also
transferred images in full color (PNG) so the display quality
was comparable. Both test applications were started using the
respective remote clients. A start button on a remote screen
was touched, which opened either the respective view to be
transferred (RemoteUI and VNC) or the web page containing
the screen's replica. After being loaded, the Calculator was
used on the client side to carry out a set of simple calculations.
The List Demo 50 was used to scroll down the list of items.
B. Experimental Results
The results of the bandwidth consumption and data
measurements are shown in Fig. 8, Fig. 9 and Table I. The
bandwidth plots for the Calculator experiment (Fig. 8) show
that after the initial transfer of the UI, RemoteUI and HTML
required only few data to transfer button clicks and the
corresponding text area updates (seconds 10-40). VNC in
contrast uses pixel area updates to transfer the changes in the
text area, which caused considerably more traffic. RemoteUI
Fig. 9. Bandwidth comparison for the List Demo 50 with scrolling
TABLE I
ABSOLUTE TRAFFIC VOLUME OF REMOTEUI, HTML AND VNC
Calculator
List Demo 50
List Demo 9
(with scrolling)
(no scrolling)
VNC (kB)
203.428
4523.162
261.046
HTML (kB)
25.966
1118.706
202.542
RemoteUI (kB)
19.202
684.143
205.712
in this case reduced the required traffic volume compared to
VNC by over 90%. HTML was very efficient as well, with a
reduction of about 87%. The HTML version of the Calculator
uses nearly no styling information and contains only a few
lines of JavaScript code. Nevertheless this simple
implementation already caused about 25% more network
traffic than the RemoteUI System that is able to render the UI
in the system's native style. It is expected that a full-featured
HTML version would require much more data.
A similar result emerged for the List Demo 50 experiment.
While RemoteUI required about 684 kB for the transfer,
HTML without any JavaScript code and minimal styling used
over 1.1 MB. However, Fig. 9 shows that both systems load
all list items in advance so that no traffic is generated from
client-side scrolling events. This is a weak point of VNC
where every scrolling action produced a considerable amount
of pixel data transfer (seconds 5-60). These high data
requirements also degrade the system's responsiveness,
making scrolling a difficult business for the user. We
terminated the experiment after 60 seconds with resulting
4.5 MB of VNC traffic. Under these circumstances, VNC does
not satisfy our requirements for scenarios with low bandwidth
or for users being charged on a traffic volume basis.
Transferring the 9-item list without scrolling in all three
systems led to only the initial transfer of the UI. RemoteUI
and HTML required about 200 kB. VNC, with 260 kB, also
had modest traffic volume requirements. For this
configuration mainly the latency of the systems is interesting.
This is influenced by the systems' designs and
implementations, as examined in the following section.
VII. LATENCY COMPARISON
Equally important to the amount of data transfer is the
system’s latency. Evidently, the faster the reaction times of the
system, the better the user’s experience. Data minimization
can improve the latency of such a system especially in low
bandwidth scenarios. However, other parameters such as
computation cycles, device performance and parallelism of the
implementation highly affect the latency.
A. Experimental Setup
For the latency analysis we conducted 18 test series with 50
single test runs each. A test run consisted of the List Demo 9
(described in Section IV.A) being started by clicking a button
on a client-side start screen. With the help of our profiler we
measured the time between the touch-up event and the first
and last drawing events of the client when rendering the
received UIs. We refer to these times as “First Draw” and
“Full Load” RTTs.
To connect the client and the server, we selected a WLANrouter with IEEE 802.11g support and an extendable Linuxbased firmware. We installed tools for traffic shaping onto this
device. For our WLAN configuration we chose the free
channel 7 and WPA-2 encryption.
We conducted all tests with three different maximum
available bandwidths and two different network latencies,
resulting in six test scenarios. At first we used the WLAN's
native data rate and later simulated a 2.1 Mb/s and a 384 kb/s
connection with the traffic shaping functionality of the router.
We chose these bandwidths to obtain an impression of the
systems’ behavior under lower-speed wireless networking
conditions, and typical WPAN or WWAN data rate
environments. It is noted that we are aware that different radio
access technologies have different protocol stacks and
operation conditions. Thus, the results of that subset of the
tests can only be rough indicators for the behavior in WPANs
or WWANs.
The network latency in the first three test series was the
default latency of the WLAN configuration. With a ping
command we measured an average network RTT of 16 ms. In
the other series with the help of the router firmware we
introduced an additional latency of 292 ms. The resultant
network RTT of 600 ms simulates a moving client in a UMTS
environment as described by Wewetzer et al. [26].
B. Experimental Results
Fig. 10 and Table II show the results of the measurements
conducted with a network RTT of 16 ms. The times for a first
draw event taking place (“First Draw” RTT) are represented
by dark colors. The VNC client lacks an incremental rendering
feature, thus only the complete load times have been
considered. It can be seen that RemoteUI performed
significantly better than VNC: the RTTs for the complete
loads were 40 to 50% faster. Additionally, RemoteUI was able
to present a first rendered result in under a second in all
scenarios. This accelerated rendering is important for the user
feedback and supersedes the necessity for additional feedback
during load times.
Fig. 10. Mean round trip times with std. deviation indicators for starting
the List Demo 9 with a given network RTT of 16 ms
TABLE II
MEAN RTT [MS] FOR STARTING THE LIST DEMO 9 WITH A GIVEN
NETWORK RTT OF 16 MS
WLAN
2.1 Mb/s
384 kb/s
HTML
First Draw
332.83
335.22
334.04
Complete Load
909.93
1263.61
4002.24
RemoteUI
First Draw
966.25
945.24
910.70
Complete Load
1513.57
1578.86
5559.33
VNC
Complete Load
2875.44
3825.09
9074.79
Even faster than RemoteUI was the tested HTML solution.
In all scenarios, the browser presented a first rendering after
about 330 ms. The complete load times varied depending on
network bandwidth but in all scenarios were faster than the
ones of RemoteUI. In the WLAN scenario, the system was
able to present a completely rendered result within less than a
second.
There are different reasons for HTML being faster than
RemoteUI in this scenario. We used a static HTML page with
minimal style sheets to represent the list. The time for
converting the server’s UI into a UI protocol as done by
RemoteUI and VNC is therefore unaccounted in the HTMLbased system. Additionally the HTML client used the browser
library built into the operating system of our target platform.
This library is highly optimized and runs natively on the
processor while the RemoteUI Client and the VNC client are
implemented in code executed by a virtual machine. To
achieve optimal results for the client-side behavior of HTML
we also had to implement special JavaScript code. A typical
browser on devices with touch screen waits after a single
touch for a possible second touch forming a double touch
event. This gesture is used for zooming and therefore must be
considered by the browser. The wait time is typically 300 ms,
during which the standard click event is not yet triggered. This
behavior can only be overridden by introducing non-standard
listeners in JavaScript, which operate on the mobile-browser
specific touchEnd event. This approach however introduces
problems to scrolling gestures. Nevertheless, for this test we
implemented a touchEnd-based trigger to achieve a low RTT.
The results otherwise would have contained the additional
300 ms reaction time.
Fig. 11. Mean Round Trip Times for starting the List Demo 9 with a
given network RTT of 600 ms
TABLE III
MEAN RTT [MS] FOR STARTING THE LIST DEMO 9 WITH A GIVEN
NETWORK RTT OF 600 MS
WLAN
2.1 Mb/s
384 kb/s
HTML
First Draw
919.53
923.32
922.14
Complete Load
2121.72
2442.01
5182.64
RemoteUI
First Draw
1550.85
1530.54
1498.30
Complete Load
2075.02
2165.26
6148.93
VNC
Complete Load
3462.54
4420.19
9664.19
Fig. 11 and Table III show the results for the experiments
conducted with a given network RTT of 600 ms. Under these
conditions the additional network RTT has more or less been
added to the RTTs of RemoteUI and VNC. RemoteUI in this
scenario rendered a first result in about 1.5 seconds whilst
HTML still achieved a first user feedback in under a second.
However, the complete load times for the HTML page now
exceeded the ones of RemoteUI in the WLAN and 2.1 Mb/s
scenarios. The reason lies in the system design of HTML. The
images’ URLs are contained in the HTML code, hence the
browser can only retrieve the images after loading the HTML
document. This introduces a second round trip, causing an
effective network delay of about 1.2 seconds in this scenario.
RemoteUI does not require the latter because the server pushes
the images directly after transferring the UI-Tree.
VIII. CONCLUSIONS
We presented a new system for remote user interfaces that
is applicable for a variety of usage scenarios related to
consumer electronic devices. The system allows the
realization of remote control applications that can efficiently
be used in local and wide area networks accordingly. In order
to achieve high performance regarding required bandwidth
and system responsiveness, we combined different approaches
from thin client computing and widget based UI systems.
These include a persistent connection to realize server-side
updates and the usage of abstract view descriptions to enable
efficient client-side scaling and overall bandwidth reduction.
We further optimized the system taking into account the
context of wireless networks and mobile devices. In contrast
to pixel-based thin clients, our solution is able to render basic
UI behaviors on the client. This technique substantially
increases the system's responsiveness in high-latency network
environments. Additionally our client implementation is much
thinner than traditional web browsers, because it does not
require a JavaScript engine. The latter is indispensable if
HTML is used to realize rich UI functionality
Our experimental results show that the proposed RemoteUI
System outperforms the pixel-based approach represented by
VNC substantially regarding bandwidth, traffic volume and
latency. Compared with a simple HTML solution, RemoteUI's
required bandwidth is equal or lower. In some latency test
scenarios, HTML showed better responsiveness when loading
the web pages representing the user interfaces. However, in
our simplistic implementation, the HTML solution lacks
several features such as real dynamic UI-generation, native UI
behavior and rich capabilities for user interaction. These
features could theoretically be integrated into a specialized
HTML client. The required JavaScript libraries, style sheets
and images would significantly increase the traffic volume.
In our latency tests we demonstrated the positive effect of
our proposed prioritization mechanism. The images in our
example were transferred with lower priority, enabling the
RemoteUI Client to partially render a preliminary UI. The
server automatically pushes the images subsequent to the UITree. This design prevents additional network round trips,
leading to RemoteUI being faster than HTML under high
latency conditions.
In our future work we will further investigate mechanisms
for the proposed prioritization scheme. Future versions of the
RemoteUI System shall e.g. realize automatic adaptation to
changing network conditions. The prioritization scheme will
be designed to incorporate this information. Other planned
actions include the application of more efficient image
encodings and the examination of optimized underlying
transport protocols as a possible replacement for TCP. We
also assume that there is a relation between required
bandwidth, network behavior and energy consumption.
Analyzing this relationship is useful to give evidence to the
applicability of the system in situations with limited energy. In
scenarios with unavoidable high network latencies we plan the
introduction of special client-only view variants as a potential
solution for the additional-state problem.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
T. Richardson, Q. Stafford-Fraser, K. Wood, and A. Hopper, “Virtual
network computing,” IEEE Internet Computing, vol. 2, no. 1, pp. 33-38,
2002.
W. Yu, J. Li, C. Hu, and L. Zhong, “Muse: a multimedia streaming
enabled remote interactivity system for mobile devices,” Proc. 10th
International Conference on Mobile and Ubiquitous Multimedia, pp.
216–225, 2011.
ITU-T Rec. T.128, “Multipoint application sharing,” Jun. 2008.
R. A. Baratto, L. N. Kim, and J. Nieh, “THINC: a virtual display
architecture for thin-client computing,” Proc. 20th ACM Symposium on
Operating Systems Principles, pp. 277–290, 2005.
O. Boyaci and H. Schulzrinne, “BASS Application Sharing System,”
Proc. 10th IEEE International Symposium on Multimedia, pp. 277–290,
15-17 Dec. 2008.
R. W. Scheifler and J. Gettys, “The X window system,” ACM
Transactions on Graphics, vol. 5, no. 2, pp. 79–109, Apr. 1986.
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
T. Richardson and J. Levine, “The Remote Framebuffer Protocol”, IETF
RFC 6143, Mar. 2011.
T. Haraikawa, T. Sakamoto, T. Hase, T. Mizuno, and A. Togashi,
“µVNC: a proposal for Internet connectivity and interconnectivity of
home appliances based on remote display framework,” IEEE
Transactions on Consumer Electronics, vol. 47, no. 3, pp. 512–519,
Aug. 2001.
RVU Alliance, “RVU Protocol Specification 1.0,” 03 Dec. 2009.
R. Bose, J. Brakensiek, and K. Y. Park, “Terminal mode: transforming
mobile devices into automotive application platforms,” Proc. 2nd
International Conference on Automotive User Interfaces and Interactive
Vehicular Applications, pp. 148–155, 2010.
B. Vankeirsbilck, P. Simoens, L. Deboosere, B. Dhoedt, F. Westphal, T.
Plantier, B. Lécroart, F. Prêteux, A. Dejonghe, and J. Point, “Bringing
thin clients to the mobile world,” Proc. NEM Summit Towards Future
Media Internet, 2008.
B. Joveski, P. Simoens, L. Gardenghi, J. Marshall, M. Mitrea, B.
Vankeirsbilck, F. Preteux, and B. Dhoed, “Towards a multimedia remote
viewer for mobile thin clients,” Proc. of the SPIE, the International
Society for Optical Engineering, vol. 7881, 2011.
P. Simoens, P. Praet, B. Vankeirsbilck, J. De Wachter, L. Deboosere, F.
De Turck, B. Dhoedt, and P. Demeester, “Design and implementation of
a hybrid remote display protocol to optimize multimedia experience on
thin client devices,” Proc. IEEE Australasian Telecommunication
Networks and Applications Conference, pp. 391–396, 2008.
B. Joveski, M. Mitrea, and F. Preteux, “MPEG-4 LASeR - based thin
client remote viewer,” Proc. 2nd European Workshop on Visual
Information Processing (EUVIP), pp. 125–128, 2010.
R. G. Wendorft, R. T. Udink, and M. P. Bodlaender, “Remote execution
of HAVi applications on Internet-enabled devices,” IEEE Transactions
on Consumer Electronics, vol. 47, no. 3, pp. 485–495, Aug. 2001.
R. Verhoeven and W. Dees, “Defining services for mobile terminals
using remote user interfaces,” IEEE Transactions on Consumer
Electronics, vol. 50, no. 2, pp. 535– 542, May 2004.
V. Stirbu, P. Shrubsole, and J. Costa-Requena, “LRDP: The Lightweight
Remote Display Protocol,” IETF Internet draft, 11 Feb. 2005.
V. Stirbu and J. Savolainen, “Hypermedia-Driven Framework for
Scalable and Adaptive Application Sharing,” REST: From Research to
Practice, E. Wilde and C. Pautasso, Eds. Springer New York, pp. 199–
219, 2011.
J. Sonnenberg, “Connecting in-vehicle entertainment with CE devices
via Multi-Platform Web Applications,” Proc. IEEE International
Conference on Consumer Electronics, pp. 515–516, 2011.
CEA R7 Home Network Committee, “Web-based Protocol and
Framework for Remote User Interface on UPnP Networks and the
Internet (Web4CE),” Jan. 2011.
UPnP Forum, “RemoteUIServer:1 Service Template Version 1.01.”
02 Sep. 2004.
I. Fette and A. Melnikov, “The WebSocket Protocol,” IETF Internet
draft, 30 Sep. 2011.
Ecma International, “Standard ECMA-262 - ECMAScript Language
Specification.” Jun. 2011.
S. J. Josefsson “The Base16, Base32, and Base64 Data Encodings.”
IETF RFC 4648, Oct. 2006.
J. Nielsen, Usability engineering, Morgan Kaufmann, p. 135, 1993.
C. Wewetzer, M. Caliskan, K. Meier, and A. Luebke, “Experimental
Evaluation of UMTS and Wireless LAN for Inter-Vehicle
Communication,” Proc. 7th International Conference on ITS
Telecommunications, pp. 1–6, 2007.
D. Thommes, Q. Wang, A. Gerlicher, and C. Grecos, “RemoteUI: A
High-Performance Remote User Interface System for Mobile Consumer
Electronic Devices”, Proc. IEEE International Conference on Consumer
Electronics, pp. 670-671, Jan. 2012. (Best Poster Paper Award Winner)
P. Lin and Q. Chen, “A Distributed Platform Based on HBWSP & XML
for Net Resources Sharing,” Proc. IEEE International Seminar on
Future Information Technology and Management Engineering, pp. 242
–245, 2008.
I. V. McLoughlin, “Open-Source and Consumer Electronics - The Back
Door to World Domination: Why Reinvent the Wheel (Especially When
Nice People Are Giving Wheels Away for Free)?,” IEEE Consumer
Electronics Magazine, vol. 1, no. 2, pp. 53 –58, Apr. 2012.
B. Aboba, E. Guttman, and S. Cheshire, “Dynamic Configuration of
IPv4 Link-Local Addresses.” IETF RFC 3927, May 2005.
[31] W3C, “Portable Network Graphics (PNG) Specification (Second
Edition),“ W3C Recommendation. 10 Nov. 2003.
[32] P. J. Leach, T. Berners-Lee, J. C. Mogul, L. Masinter, R. T. Fielding,
and J. Gettys, “Hypertext Transfer Protocol – HTTP/1.1,” IETF RFC
2616, Jun. 1999.
[33] W3C, “XMLHttpRequest Level 2,” W3C Working Draft. 17 Jan. 2012.
[34] D. Crockford, “The application/json Media Type for JavaScript Object
Notation (JSON),” IETF RFC 4627, Jul. 2006.
BIOGRAPHIES
Daniel Thommes (S’11) is a PhD student in a
collaborative research program of the University of the
West of Scotland (UWS), UK, and the Stuttgart Media
University, Germany. Since 2010 he is Research
Assistant and Lecturer with the Stuttgart Media
University. Previously, he worked for several years as a
Research Assistant and Consulting Software Architect.
His research interests include mobile computing,
wireless/mobile networks, web technologies, software
architecture and usability engineering. He received the Diplom-degree in
Media Technology Engineering from the Ilmenau University of Technology,
Germany, in 2006. Since 2012 Daniel is member of the IEEE Consumer
Electronics Society.
Ansgar Gerlicher (M’06) Prof Ansgar Gerlicher is a
Professor in Mobile Applications and Director of
Research in Mobile Applications & Security with the
Institute of Applied Science, Stuttgart Media University,
Germany. Previously, he worked for several years as a
Software Architect and Project Manager in the
Telecommunication and Automotive Industries. His
research interests include integration of consumer
electronic devices in vehicles and mobile and embedded
software architectures, frameworks and mobile security. He received his PhD
degree in real-time collaboration systems from the London College of
Communication, UArts, UK. Since 2012 he is a member of the IEEE
Consumer Electronics Society.
Qi Wang (S’02-M’06) Dr Qi Wang is a Lecturer in
Computer Networking with the University of the West of
Scotland (UWS), UK. Previously, he was a Postdoctoral
Research Fellow with the University of Strathclyde, UK,
and a Telecommunications engineer with the State Grid
Corporation of China. He received his PhD in mobile
networking from the University of Plymouth, UK, and
his MEng and BEng degrees in electronic and
communication systems from Dalian Maritime
University, China. His research interests include Internet Protocol networks,
wireless/mobile networks, and video networking. Recently, he has been
involved in various international and national projects such as the European
Union FP6 MULTINET project and the UK EPSRC DIAS project. He is the
Principal Investigator of the UK EPSRC project entitled Enabler for NextGeneration Mobile Video Applications, and was a recipient of England ORS
Award. He is on the technical programme committees of numerous
international conferences.
Christos Grecos (M’01-SM’06) Prof Christos Grecos is
a Professor in Visual Communications Standards, and
Head of School of Computing at the University of the
West of Scotland (UWS), UK. He leads the AudioVisual Communications and Networks Research Group
(AVCN) with UWS, and his research interests include
image/video compression standards, image/video
processing and analysis, image/video networking and
computer vision. He has published many research papers in top-tier
international publications including a number of IEEE transactions on these
topics. He is on the editorial board or served as guest editor for many
international journals, and he has been invited to give talks in various
international conferences. He was the Principal Investigator for several
national or international projects funded by UK EPSRC or EU. He received
his PhD degree in Image/Video Coding Algorithms from the University of
Glamorgan, UK.

Similar documents