1 / 19

The Rover Toolkit

The Rover Toolkit. Anthony D. Joseph Computer Science Division University of California at Berkeley BARWAN Retreat January 15, 1998. MIT Rover People. Profs. Frans Kaashoek and David Gifford Anthony D. Joseph (Toolkit arch/impl & apps) Joshua A. Tauber (Toolkit arch & Webcal)

nikki
Download Presentation

The Rover Toolkit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Rover Toolkit Anthony D. Joseph Computer Science Division University of California at Berkeley BARWAN Retreat January 15, 1998

  2. MIT Rover People • Profs. Frans Kaashoek and David Gifford • Anthony D. Joseph (Toolkit arch/impl & apps) • Joshua A. Tauber (Toolkit arch & Webcal) • George M. Candea (Rover File System) • Constantine Cristakos (Rover NNTP) • Alan deLespinasse (Rover Web Browser proxy) • Michael Shurpik (Webcal)

  3. Outline • Harsh mobile environment • Rover toolkit benefits and techniques • Rover architecture • Use and benefits • Summary and future directions

  4. Mobile Applications are Hard to Build • Environment varies over an app’s lifetime • Connectivity, bandwidth, latency, and cost vary • Technological improvements won’t fix variability • Mobile computers are limited & fragile • Network partitions are frequent ($$ & shadows) • Most dist. algorithms and apps assume they’re not • Availability and consistency tradeoff • Application-adaptation is complex • When/where to move data and code • System provides mechanisms and policy engine

  5. How the Rover Toolkit Helps • Simplifies application development • Provides reusable building blocks • Alternative to special-purpose/single-use approaches • Helps developers cope with changes • Varying environment and computational resources • Mobile-transparent/mobile-aware support • Allows incremental transition: transparent to aware

  6. Transparent versus Aware • Mobile-transparent • Hides mobility from application • Allows the use of existing unmodified apps • Examples: Coda, Ficus, Little Work • Mobile-aware • Exposes environmental information to apps • Yields better functionality and performance • Examples: InfoPad, Daedalus, GloMop, Bayou

  7. Applications Targeted by Rover • Groupware (client-server) apps • Applications with shared state: • E-mail and distributed calendar • “File-level” conflicts occur all the time • May not be real conflicts • Need semantic information • Leverage intermittent connectivity to reduce conflict window

  8. Techniques Used in Rover • Queued Remote Procedure Call • Isolate applications from network limitations • Relocatable Dynamic Objects • Adapt to changing environment • App-specific, optimistic concurrency control • Reduce number of unresolvable conflicts • Fault-Tolerant RDOs • Protect long running client computation at servers

  9. Outline • Harsh mobile environment • Rover toolkit benefits and techniques • Rover architecture • Use and benefits • Summary and future directions

  10. E-mail GUI E-mail Filesys O/S O/S Rover Architecture RDOs: Tcl/Tk Code • Client-server object-based model (code/data shipping) • Programming model: • Import RDOs, invoke local methods, export operations • FSM-based implementation QRPCs: Log to Disk Rover Rover Transport: HTTP & SMTP Links: Wired and wireless Client Server

  11. Relocatable Dynamic Objects RDO = Code + Data + Interface + Outcalls • Rover provides execution environment • Application starts w/ core functionality • Important for small devices / large applications • Dynamically load additional functionality • Reduce communication • Application-specific compression • Service user requests locally • Current limitation: rudimentary security

  12. GUI Filesys Request Scheduler Stable queue Stable queues Callback Client Server Queued Remote Procedure Call QRPC = RPC + Split phase + Stable Q + Scheduler • Hides unpredictable remote access time • Tolerates network, client, and server failures

  13. QRPC Benefits • Request/reply can use different connections • Asymmetric or one-way networks • Exposes queues to applications • Applications can determine QRPC state/progress • Log compression/request absorption • Network scheduler • Allows prioritizing, batching, and compression • Reduces transmission power, time, and cost

  14. Rover is Easy to Use • Create server and client proxies (transparent) • Port applications to Rover • Not a difficult process: change 10-15% of code* • Easy to improve responsiveness • Use QRPC for stability and to make GUI non-blocking • Group metadata with objects • Change granularity of data • Better responsiveness and performance (2x) • Perform useful work instead of waiting • Service user requests locally

  15. WWW Server N 2 1 WWW Server Rover Server Rover Server Rover Server Rover Server TranSend Proxy Cache Proxy Cache Queue Queue WWW Server Example: WWW Browser Proxy • “Click-ahead” for unchanged clients • Prefetches & compresses inlined objects • HTTP/1.1 (1/97): compression and pipelining (no prefetching) • Separate cache display (simple paradigm) • Better overall performance • Benefits for workstation users Client

  16. Rover Toolkit Summary • Rover makes building mobile apps easier • Provides useful set of abstractions • RDOs reduce latency and bandwidth needs • QRPC matches mobile environment challenges • Reliable RDOs simplify the protection of client code • Application-specific concurrency control reduces unresolvable conflicts • Application performance is excellent • Pre-alpha release - Dec ‘97

  17. Future Directions • Java-based implementation • Provide portable QRPC operator for ProActive Infrastructure • Policies for adaptive mechanisms • When to open/close a network connection • Which network to use (b/w, latency, cost) • Security for mobile code • Code generated at clients and servers runs everywhere • How to protect private client and server data and resources • Highly-available servers • Providing consistent client views across servers [Bayou]

  18. More Future Directions • Peer-peer workgroups • Islands of high bandwidth (e.g., this retreat) • Where is the canonical copy / commit point? • Multi-layer client-server hierarchy • Similar to peer-peer workgroups • Dismounted warfighter with PDA to laptop to server

  19. Advertisement: Spring ‘98 Seminar • Mobile computing and wireless networking • CS 294: WF 12:30-2:00 (for now) in 405 Soda • Local- and wide-area wireless networks • WaveLAN, Metricom, CDPD, and GSM • Problems and issues • Mobile computing: Adapting to harsh env. • Disconnected operation/intermittent connectivity • Sharing: Consistency versus availability • Projects • From ProActive Infrastructure & Viking (BT3GC)

More Related