THINC: An Architecture for
Thin-Client Computing
Ricardo A. Baratto
[ricardo@cs.columbia.edu]

problems

1. management

PCs in use worldwide (2004)

2. operating cost

move
add
change
$1000 per incident

3. availability

4. security

5. work area

Thin-Clients

network decouples data and applications

from access device

display updates

user input

stateless client

application processing

and data

secure server room

Benefits

simplify IT management

minimize cost of desktop failures

transparent user mobility

continuous computing access

secure computing services

improve user/computer work areas

utilize resources efficiently

why now?

1. network capacity

2. network connectivity

3. backend infrastructure

clusters of inexpensive servers, blades, ...

Related Work

applications

Display Pipeline

window
system

display
driver

framebuffer

applications

window
system

display
driver

framebuffer

Client complexity

Synchronization

Mobility

LBX

X Proxies

applications

window
system

display
driver

framebuffer

“Blind encoding”

Client pull: slow update rate

applications

window
system

display
driver

framebuffer

ICA, RDP: Rich display protocol

SunRay: Ultra thin-client

Studies have shown performance problems

Proposal

THINC: a thin-client architecture

to replace PCs

Goals

minimize latency

simple and portable

transparent operation

1. Remote Display

Proposed Architecture

Display Protocol

2D Primitives

Copy, Solid and Tile Fill, Bitmap, Raw

Video

3D Primitives

two key problems

how do we translate
from application commands
to the display protocol?

how and when do we send display updates?

application
requests

translate

commands

deliver

display
updates

THINC

translation

basic static translation

Draw
API

standard
device
driver
commands

THINC
commands

offscreen drawing

draw

offscreen regions

abcde

copy

abcde

display

offscreen region

command queue

command queues

client

queue

1

2

3

3

2

1

copy onscreen

video: first-class citizen

how?

applications

client
hardware
caps

video

YUV

Standard hardware interface

Format independence

Hardware acceleration (fullscreen for free!)

3D

UI moving towards 3D backends

Quartz, Avalon, Xgl

Animations, transparency, ...

Games: the next frontier?

delivery

operation

offscreen

onscreen

client buffer

C1

C2

C3

...

Cn

push, don't pull

don't block sending updates

SRSF scheduler

buffer

C1

C2

C3

...

Cn

real time

.
.
.

queue 1

queue p

cmd
size

resizing updates

2. Remote Session

more than just a display...

audio

applications

OS

virtual audio
driver

audio
daemon

audio data

audio data

usb [usb/ip]

applications

OS

virtual host
controller

usb
daemon

data

data

usb/ip modifications

need a transport protocol

performance and resilience

session management

TCP
UDP

display

audio

usb

session
manager

benefits

simplification

abstract generic functionality

resource management

open issue:

performance impact?

resource management

display

audio

usb

session
manager

shared

Priority: Interactive response

Classes of service

Requested by components

resource management

synchronization

display

video

audio

synchronization

time as first-class characteristic

intra and inter stream

stored media and real-time content

3. Backend

MobiDesk

A Virtual Hosting Infrastructure

ZAP: OS virtualization [Osman et al]

MOVE: network virtualization [Su]

THINC: remote access

4. Security

centralization

DDoS target

computers
out of service

A2M

Protection: Indirection-based overlay

Exploit traffic asymmetry: Only protect uplink

ubiquitous access

untrusted client devices

remote session compromise

Secure Remote Display Access

Video card as the only trusted component

Decryption in the GPU

Issues:

Encoding, compression?

Other components?

Preliminary Experimental Results

... and a PC

Configurations

LAN Desktop

WAN Desktop

802.11g PDA

Web Browsing Performance

Interactive Latency

LAN Desktop Web Browsing Performance

WAN Desktop Web Browsing Performance

802.11g PDA Web Browsing Performance

Audio/Video Performance

Playback Quality

LAN Desktop A/V Performance

WAN Desktop A/V Performance

802.11g PDA A/V Performance

Status

Remote display [SOSP 2005]

Audio

Audio/Video Synchronization [Kim]

MobiDesk [MobiCom 2004]

A2M [Stavrou,Keromytis] and Secure Remote Display [Cook, Keromytis]

ToDo

3D

USB

Session and resource management

All-media synchronization

Schedule

USB: Summer 2005

Session, resource management: Summer/Fall 2005

All-media synchronization: Fall 2005

3D: Fall 2005/Spring 2006

Translation decoupled from delivery

2005-06-13T15:47:06