improving thin client performance using the smart proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · the...

29
Improving Thin Client Performance Using the Smart Proxy Architecture Cynthia Taylor, Joe Pasquale University of California, San Diego

Upload: others

Post on 08-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Improving Thin ClientPerformance Using the

Smart Proxy Architecture

Cynthia Taylor, Joe PasqualeUniversity of California,

San Diego

Page 2: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Introduction Sample Device Sample Application

Definitions The Smart Proxy Architecture Improving VNC Results & Conclusion

Page 3: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Devices

Zypad Wearable Computer

128 MB RamGPS, Accelerometer

Video Glasses

Page 4: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Application

Displaying contextual information about theuser’s location

Historic InformationMapsVirtual Worlds

Page 5: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Introduction Definitions

What is Thin Client Computing? Why Thin Clients? Latency and Performance

The Smart Proxy Architecture Improving VNC Results & Conclusion

Page 6: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

What is Thin ClientComputing?

internet

Page 7: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

What is Thin ClientComputing?

internet

User input

Page 8: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

What is Thin ClientComputing?

internet

User input

Screen updates

Page 9: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Why Thin Clients?Lightweight Devices

Page 10: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Why Thin Clients?Intensive Applications Machine Learning/Vision

Object recognition Speech recognition

Graphics Rendering

Data Storage Video

Page 11: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Why Thin Clients?Security & Data Loss

A lost laptop doesn’t mean lost data Helps companies stay compliant with

privacy laws such as HIPAA

Page 12: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Latency and Performance

internet

Thin ClientDesktop

Page 13: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Introduction Definitions The Smart Proxy Architecture

Resource Assumptions The Smart Proxy Architecture Uses of the Smart Proxy

Improving VNC Results & Conclusion

Page 14: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Resource Assumptions: ActiveWireless Spaces

computingresources

clientwireless

link

server

server

internet

computingresources

client

client

Page 15: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Smart Proxy Architecture

server

client

PDA

GPS video

earpiece smartproxy

world

webserver

gameserver

web server

wireless internet

Page 16: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Uses of the Smart Proxy

Buffering updates Compress or Decompress Updates

Scalable Video Coding Video Processing Encryption

Page 17: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Introduction Definitions The Smart Proxy Architecture Improving VNC

What is VNC? Defining Performance The Proxy and VNC Example Implementation Details

Results & Conclusion

Page 18: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

What Is VNC

client server

updateclient server

update

request

Server Push Client Pull

• VNC is a widely-used thin client systemwith several available open-sourceimplementations.

Page 19: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Defining Performance

client server

request

client server

update

client server

client server

2. Client waits

3. Server sends update 4. Client processes update

1. Client requests new update

Page 20: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

The Proxy and VNC

serverclient proxyrequest request

update update

The Smart Proxy sends requests to the server at therate the client is processing them, without waiting foran update from the server

This lets the Smart Proxy adjust for time delaysbetween the client and server

Page 21: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

The Proxy and VNC

unmodifiedserver

unmodified client

proxyusingRFB

protocol

request request

update update

The client sees the proxy as the server, and theserver sees the proxy as the client.

As long as the proxy sends and receivesmessages in the RFB protocol, the VNC clientand server applications require no modifications.

Page 22: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Example

serverclient

200 ms

Client sends request - 200 ms Server processes - 5 ms Server sends update - 200 ms Client processes - 5 ms

Total time = 410 ms

Page 23: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Example

serverclient proxy

185 ms15 ms

Proxy processes - 5 ms Proxy sends update to Client - 15 ms Client processes - 5 ms Client sends request - 15 ms

Total time = 40 ms

Page 24: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Example

serverproxy

The proxy sends requests to the server at thesame rate the client is processing them, withoutwaiting for a response from the server

request every 40 ms

update every 40 ms

Page 25: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Implementation Details

serverproxy

•If the proxy sends faster than the server canprocess updates, requests can accumulateat the server

•This causes more work for the server,resulting in a slower response

requests every 30 ms

updates every 50 ms

Page 26: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Implementation Details

Occasionally the server sends very large updates,which may be larger than the TCP window size.

We are working at the application level, and theunderlying protocols still require waiting foracknowledgements, which are affected by networkdelays

serverproxy

Page 27: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Results

Page 28: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Future Work

Have the proxy automatically configure itselfto send at the optimal rate.

Is it possible to have to proxy perform as wellas the client-server system with no delay?

serverproxy

update every ? ms

request every ? ms

Page 29: Improving Thin Client Performance Using the Smart Proxy ...cseweb.ucsd.edu/~cbtaylor/psu.pdf · The Proxy and VNC unmodified server unmodified client proxy using RFB protocol request

Conclusion

We can improve VNC performance by havinga Smart Proxy mediate the update rate overnetwork delays.

Faster thin clients can help us integratepowerful computing into our mobile lives.