supporting context-aware applications using thin clientscseweb.ucsd.edu/~cbtaylor/cns.pdfperfect...
TRANSCRIPT
Supporting Context-Aware Applications Using Thin ClientsCynthia Taylor, Joe Pasquale
University of California, San Diego
Devices
Zypad Wearable Computer Video Glasses
Applications
Since we carry these devices with useverywhere, it would be ideal if they knew aboutour location and could give us contextualinformation about our surroundings.
Historic InformationMapsVirtual Worlds
What is Thin ClientComputing?
internet
User input
Screen updates
Why Thin Clients?Intensive Applications
• Machine Learning/Vision– Object recognition– Speech recognition
• Graphics– Rendering
• Data Storage– Video
Resource Assumptions:Active Wireless Spaces
computingresources
client
wirelesslink
server
server
internet
computingresources
client
client
Server-Client vs Server-Smart Proxy-Client
Server-Client
Server-Smart Proxy-Client
serverclient
serverclient smartproxy
Adding a Smart Proxy to VNC
Introduction
Uses of the Smart Proxy
•Buffering updates•Caching Location-DependentInformation•Compress or Decompress Updates•Scalable Video Coding•Video Processing•Encryption
Conclusion
•This project explores a new systems architecture andprogramming paradigm for Thin Client computing.•In this architecture, a Smart Proxy is added to thestandard client-server system.•The Smart Proxy can be added to an unmodifiedclient-server system, and can be used for eithermodification of updates or buffering/caching ofupdates.
The current proliferation of cheap, lightweight devices offers aperfect opportunity for the use of Thin Client systems.
Chumby
iPhone Cell PhoneIn Thin Client computing, all applications run on theserver, and the client is used predominantly for I/O.User input is sent to the server, and screen updates aresent to the client.
The applications that fully exploit knowledge of oursurroundings have high processing and storage needs.
Our proposed system architecture assumes that there areavailable computational resources attached to WiFi routers,provided in the same way an office, university, or coffeeshop will currently provide wireless internet.
The Smart Proxy runs on these available computingresources. Because it can communicate with the client veryquickly, we can move tasks that would be done on the clientmachine to the Smart Proxy.
The Smart Proxy is ideal for any task thatrequires frequent quick communication with theclient, or any task that requires specializedknowledge of its location, since it is stationary.
Preliminary Experimental Results
Server-Client
Server-Smart Proxy-Client
serverclient
serverclient smartproxy
45 ms
3 ms 42 ms
Having the Smart Proxy continuously query the server fordisplay updates means a display update will be ready at theSmart Proxy for it to immediately send to the client, takingthe client 3 ms to receive an update instead of 45 ms.
When the Smart Proxy is run on the same machine as theVNC server, the system is able to supply significantly morescreen updates to the client. This is because the updateshave already been generated in the proxy system, and theproxy is optimized to send messages more efficiently.
When the Smart Proxy is run on a separate machine, itdelivers fewer updates than the unmodified system. Webelieve this is due to per-packet and per-messageoverheads in VNC, which we are working to mitigate.
Preliminary Experimental Results•Smart Proxies offer a way to performcomputationally difficult tasks with quick updatespeeds, while requiring the user to carry onlylight-weight, low-power devices.
•Using this systems architectures lets users usedevices they already carry with them forlocation/context-dependent, computationally-intensive applications.
•Initial experiments on with VNC show that theSmart Proxy system has the potential forperformance advantages in existing client-serversystems, without modifications to the existingcode.