Rapid improvements in network bandwidth, cost, and ubiquity combined with the security hazards and high total cost of ownership of personal computers have created a growing market for thin-client computing. We introduce THINC (pronounced “think”), a remote display system architecture for high-performance thin-client computing in both LAN and WAN environments. THINC enables higher-level graphics primitives used by applications to be transparently mapped to a few simple low-level primitives that can be implemented easily and efficiently. THINC introduces a number of novel latency-sensitive techniques for optimizing this mapping from high-level graphics to low-level primitives for heterogeneous client display devices, including offscreen drawing awareness, command buffering and scheduling, non-blocking display operation, alternative pixel formats, and server-side screen scaling. We have implemented THINC in an XFree86/Linux environment and compared its performance against other popular approaches, including Citrix MetaFrame, Microsoft Terminal Services, Sun Ray, VNC, and X. Our experimental results on web and video applications demonstrate that THINC can provide superior overall performance and is the first and only thin-client system capable of playing full-screen video at full frame rate.
THINC software is available for download. A THINC client and THINC VMware virtual appliance are available for download, for those who would simply like to try THINC. THINC source code is available for Linux and Windows under GPL licensing. While the Linux code is self-contained, the Windows source code includes references to mirror driver code which must be provided by the developer.