Experiences with Client-based Speculative Remote Display

We propose an approach to remote display systems in which the client predicts the screen update events that the server will send and applies them to the screen immediately, thus eliminating the network round-trip time and making the system more responsive in a wide-area or high loss environment. Incorrectly predicted events are undone when the actual events arrive from the server. The approach requires no server or protocol changes, and thus can work with existing systems. Since it is core to the feasibility of such a speculative remote display system, we study the predictability of the events that occur under typical workloads in two extant systems, Windows Remote Desktop and VNC. We find that simple, state-limited Markov models are often able to correctly predict the next event. Based on these results, we design, implement, and evaluate a speculative remote display extension to the VNC client. In our implementation, the end user can trade off between the responsiveness of the display and the level of temporarily displayed incorrect predictions. We evaluate VNC/SRD with two user studies. We conclude by describing design alternatives.

[1]  Jason Flinn,et al.  Speculative execution in a distributed file system , 2005, SOSP '05.

[2]  V. Paxson End-to-end routing behavior in the internet , 2006, CCRV.

[3]  Fouad A. Tobagi,et al.  Analysis of the delay and jitter of voice traffic over the Internet , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[4]  Changjia Chen,et al.  Interest scheme: a new method for path prediction , 2006, NetGames '06.

[5]  Brian D. Davison,et al.  Probabilistic Online Action Prediction , 1998 .

[6]  David Garlan,et al.  Giving Users the Steering Wheel for Guiding Resource-Adaptive Systems , 2005 .

[7]  Mona Attariyan,et al.  AutoBash: improving configuration management with operating system causality analysis , 2007, SOSP.

[8]  Jacob R. Lorch,et al.  Scaling Peer-to-Peer Games in Low-Bandwidth Environments , 2007, IPTPS.

[9]  Jeffrey C. Mogul,et al.  Using predictive prefetching to improve World Wide Web latency , 1996, CCRV.

[10]  Peter A. Dinda,et al.  PICSEL: measuring user-perceived performance to control dynamic frequency scaling , 2008, ASPLOS.

[11]  M. Orhon The X Window System , 2005 .

[12]  Jason Nieh,et al.  THINC: a virtual display architecture for thin-client computing , 2005, SOSP '05.

[13]  Vern Paxson End-to-end routing behavior in the internet , 2006, Comput. Commun. Rev..

[14]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..

[15]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[16]  Ian H. Witten,et al.  Data Compression Using Adaptive Coding and Partial String Matching , 1984, IEEE Trans. Commun..

[17]  Thomas M. Kroeger,et al.  Predicting file system actions from prior events , 1996 .

[18]  Peter A. Dinda,et al.  The user in experimental computer systems research , 2007, ExpCS '07.

[19]  Cristian Tapus,et al.  Kernel level speculative DSM , 2003, CCGrid 2003. 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 2003. Proceedings..

[20]  Kosuke Sato,et al.  Computer aided drawing system based on prediction of drawing action , 2006, ACE '06.

[21]  Jason Nieh,et al.  Limits of wide-area thin-client computing , 2002, SIGMETRICS '02.

[22]  J. Duane Northcutt,et al.  The interactive performance of SLIM: a stateless, thin-client architecture , 1999, SOSP.