supporting context-aware applications using thin clientscseweb.ucsd.edu/~cbtaylor/cns.pdfperfect...

1
Supporting Context-Aware Applications Using Thin Clients Cynthia Taylor, Joe Pasquale University of California, San Diego Devices Zypad Wearable Computer Video Glasses Applications Since we carry these devices with us everywhere, it would be ideal if they knew about our location and could give us contextual information about our surroundings. Historic Information Maps Virtual Worlds What is Thin Client Computing? 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 computing resources client wireless link server server internet computing resources client client Server-Client vs Server- Smart Proxy-Client Server-Client Server-Smart Proxy-Client server client server client smart proxy Adding a Smart Proxy to VNC Introduction Uses of the Smart Proxy •Buffering updates •Caching Location-Dependent Information •Compress or Decompress Updates •Scalable Video Coding •Video Processing •Encryption Conclusion •This project explores a new systems architecture and programming paradigm for Thin Client computing. •In this architecture, a Smart Proxy is added to the standard client-server system. •The Smart Proxy can be added to an unmodified client-server system, and can be used for either modification of updates or buffering/caching of updates. The current proliferation of cheap, lightweight devices offers a perfect opportunity for the use of Thin Client systems. Chumby iPhone Cell Phone In Thin Client computing, all applications run on the server, and the client is used predominantly for I/O. User input is sent to the server, and screen updates are sent to the client. The applications that fully exploit knowledge of our surroundings have high processing and storage needs. Our proposed system architecture assumes that there are available computational resources attached to WiFi routers, provided in the same way an office, university, or coffee shop will currently provide wireless internet. The Smart Proxy runs on these available computing resources. Because it can communicate with the client very quickly, we can move tasks that would be done on the client machine to the Smart Proxy. The Smart Proxy is ideal for any task that requires frequent quick communication with the client, or any task that requires specialized knowledge of its location, since it is stationary. Preliminary Experimental Results Server-Client Server-Smart Proxy-Client server client server client smart proxy 45 ms 3 ms 42 ms Having the Smart Proxy continuously query the server for display updates means a display update will be ready at the Smart Proxy for it to immediately send to the client, taking the client 3 ms to receive an update instead of 45 ms. When the Smart Proxy is run on the same machine as the VNC server, the system is able to supply significantly more screen updates to the client. This is because the updates have already been generated in the proxy system, and the proxy is optimized to send messages more efficiently. When the Smart Proxy is run on a separate machine, it delivers fewer updates than the unmodified system. We believe this is due to per-packet and per-message overheads in VNC, which we are working to mitigate. Preliminary Experimental Results •Smart Proxies offer a way to perform computationally difficult tasks with quick update speeds, while requiring the user to carry only light-weight, low-power devices. •Using this systems architectures lets users use devices they already carry with them for location/context-dependent, computationally- intensive applications. •Initial experiments on with VNC show that the Smart Proxy system has the potential for performance advantages in existing client-server systems, without modifications to the existing code.

Upload: others

Post on 16-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Supporting Context-Aware Applications Using Thin Clientscseweb.ucsd.edu/~Cbtaylor/Cns.pdfperfect opportunity for the use of Thin Client systems. Chumby iPhone Cell Phone In Thin Client

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.