Improving Video Performance in VNC Under High Latency Conditions

Improving Video Performance in VNC Under High Latency Conditions

Improving Video Performance In VNC Under High Latency Conditions Cynthia Taylor and Joseph Pasquale Department of Computer Science and Engineering, University of California, San Diego fcbtaylor,[email protected] ABSTRACT employees’ desks, saving money on maintenance. Keeping all data on a central server provides security from lost lap- Virtual Network Computing, or VNC, is a popular thin tops or disgruntled employees. Even the electricity costs client application used to access files and applications on of running thin clients can be cheaper than that of running remote computers. However, VNC can suffer from signif- PCs. As a result, many businesses have been moving over icant losses in throughput when there is high latency be- to thin client systems [7, 8]. tween the client and server. These losses become espe- cially apparent in the case of video, where updates are However, one problem with thin client systems is that they both large and frequent. In this work, we present a Mes- may suffer from poor performance, resulting from a num- sage Accelerator proxy for VNC. This simple but highly ef- ber of factors. There is the computational overhead on the fective solution mitigates high latency network effects for server side of tracking and encoding display updates, and video performance while maintaining the advantages of a of decoding and rendering them on the client side. There is client-pull system. By operating near/on the server, it can the limiting factor of bandwidth, or how much data can be send updates to the client at a rate corresponding to proxy- sent across the network in a given time period. Perhaps the server interactions which are faster than client-server in- most significant limiting factor in thin client systems is net- teractions. When testing using video, our Message Accel- work latency [9]. Latency affects every message, regardless erator design results in frame rates an order of magnitude of its size, sent between the client and server. These perfor- higher than plain VNC when running under high latency mance effects are especially noticeable in media-intensive conditions. applications, such as video. While performance is important to all tasks, it is especially KEYWORDS: Thin Clients, VNC, Video, Latency, important for video. Highly interactive tasks usually have Networking. lower update rates than video, as they are governed by the user’s reaction time. Schmidt et al. performed a charac- 1. INTRODUCTION terization of interactive applications that showed that input rates are usually much lower than monitor refresh rates, in- Thin client systems, with their ability to connect multi- dicating a machine-independent upper bound on how fast ple users to the same computer system, are a valuable tool humans manufacture input events, and that seventy percent for supporting collaborative systems. Users can connect to of events occur with more than one hundred milliseconds multiple desktop sessions on the same computer, allowing between events [10]. He also showed that most user in- for shared data and applications, or can have multiple con- put events actually result in very few pixels needing to be nections to the same desktop, allowing them to collaborate updated. These applications, with their infrequent screen by actually sharing the same virtual screen. VNC has been updates, are less impacted by high network latency. In con- studied as a tool for both synchronous and asynchronous trast, video applications require frame updates every 30 to collaboration [1, 2]. VNC has also been used collabora- 60 milliseconds, and updates frequently involve change in tive tools such as wall-sized and tabletop displays [3–6]. a large number of pixels. Because of its frequent updates, The ability to run multiple sessions on a single server of- video is especially impacted by high latency conditions. fers other more system-related advantages as well. Having all of the data and computation running on a central server In this work, we focus on the thin client system VNC, or means that a business can just update software on one com- Virtual Network Computing [11]. VNC is one of the most puter instead of hundreds or thousands of PCs running on widely used thin client systems. It has an open protocol, known as the Remote Frame Buffer or RFB protocol, and either the operating system or user applications. The VNC there are many open source implementations of both the server continually scrapes the framebuffer, an area of mem- client and server. [11–15]. Due to its many implementa- ory in which color values for every on-screen pixel are tions, which are available for all major operating systems, stored. The VNC client sends a request about a specific it is possible to use VNC across different computing plat- on-screen rectangle, and the server responds with an up- forms, allowing users to access a Linux machine from a date consisting of an encoding of the changes between now device running Windows, or vice versa. Because it is open and the last time the client requested information about that source, VNC has been one of the more popular systems for rectangle. We will go into more detail about the operation thin client research. Research on VNC has included adapt- of VNC in Section 3. ing it for high resolution tiled displays, adapting it to con- trol home appliances, and adapting it for optimal viewing Thin client systems fall into two general categories in terms on cellular phones, as well as trying new data compression of when the server sends an update to the client [20]. In schemes [3, 4, 16–19]. With its use in both real world and server-push systems, updates are sent to the client as soon academic settings, VNC is one of the most ubiquitous thin as the server generates them. For example, if the user is client systems. playing video, in a server-push system, when a new frame of video is played, the server will immediately send an up- In this work, we offer a way to mitigate VNC’s poor video date to the client with the changes to the framebuffer. In performance under high latency conditions. The solution client-pull systems, the server waits to send an update until that we present is a very general and simple proxy, called a it receives an explicit request from the client. If a user is Message Accelerator, that works with VNC to mitigate the playing video on a client-pull system, when a new frame effects of network latency. The Message Accelerator runs of video is available or is generated, the server stores the on or near the server machine and requests updates from changes it makes to the framebuffer in an internal repre- the server in a client-pull fashion, thus mimicking the VNC sentation, and when the server receives a request from the client. It then forwards these updates to the client as soon client, it sends an update containing all the changes to the as possible, at the faster rate of proxy-server interactions framebuffer since the last update. VNC is a client-pull sys- rather than the slower rate of client-server interactions. Be- tem. cause the Message Accelerator does not wait to receive a request from the client before sending, it is not affected The SLIM system offers a contrast to VNC [10]. SLIM by high network latency in the same way that traditional uses a very similar message protocol to VNC, but differs in client-pull systems are affected. other ways. Instead of scraping the framebuffer to detect updates, SLIM works as a virtual device driver and offers a The Message Accelerator requires no changes to the ex- software library with display options for higher-level appli- isting client or server, making it easy for a user to install cations. In SLIM’s implementation, X-Windows is modi- (essentially “plug and play”), and eliminating parallel code fied to use the SLIM virtual device driver so that applica- maintenance issues. Using a Message Accelerator with tions can either explicitly invoke SLIM display commands VNC can result in the client receiving updates an order of through its library, or pass their display commands to X- magnitude faster in high latency situations. Our solution windows and have it forward them to SLIM. In this way, is specifically designed for cases such as video, where all applications with specific display needs such as multime- video updates are being generated on the server, without dia applications can send commands to SLIM that include depending on user input. more semantic information about how they should be pro- cessed. However, applications must be specifically altered We provide some background and related work in Section to take advantage of this. Even if no user-level applica- 2. In Section 3, we go into more detail about VNC. In tions are modified, at the very least the window manager Section 4, we describe our changes to VNC. In Section 5, must be modified, and the modified applications must be we discuss our experiments and results. In Section 6 we kept updated in parallel with the original applications. The describe how our system evolved from our original design system is also limited to operating systems with available to the system we present here. We discuss future work in source code because of this. SLIM uses a server-push up- Section 7, and then conclude in Section 8. date system, and requires a network and machines capable of handling server-push updates with no loss of data. 2. BACKGROUND AND RELATED WORK THINC also acts as a virtual device driver, but at the ab- This work is an improvement to the Virtual Network Com- stract hardware level so no changes need to be made to ap- puting or VNC system [11].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us