The Rover Toolkit - PowerPoint PPT Presentation

About This Presentation
Title:

The Rover Toolkit

Description:

'Click-ahead' for unchanged clients. Prefetches & compresses inlined objects ... How to protect private client and server data and resources. Highly-available servers ... – PowerPoint PPT presentation

Number of Views:173
Avg rating:3.0/5.0
Slides: 20
Provided by: anthony219
Category:
Tags: click | client | rover | to | toolkit

less

Transcript and Presenter's Notes

Title: The Rover Toolkit


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 apps lifetime
  • Connectivity, bandwidth, latency, and cost vary
  • Technological improvements wont fix variability
  • Mobile computers are limited fragile
  • Network partitions are frequent ( shadows)
  • Most dist. algorithms and apps assume theyre 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
Rover Architecture
RDOs Tcl/Tk Code
QRPCs Log to Disk
Rover
Rover
Transport HTTP SMTP
Links Wired and wireless
Client
Server
  • Client-server object-based model (code/data
    shipping)
  • Programming model
  • Import RDOs, invoke local methods, export
    operations
  • FSM-based implementation

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
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
Example WWW Browser Proxy
Client
  • 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

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 1230-200 (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)
Write a Comment
User Comments (0)
About PowerShow.com