Title: Environment mobility moving the desktop around
1Environment mobility - moving the desktop around
- Håvard D. Johansen
- joint work with
- Dag Johansen and
- Robbert van Renesse
WAIF project University of Tromsø
2Outline
- Context and problem.
- Software mobility.
- Lessons so far.
3Software Mobility Emerging
- Observation 1 All kind of mobility emerging.
- Observation 2 Software not really built for
mobility. - ? Conjecture Software mobility should be a
first order design principle. - ? Research Goal Devise (potentially orthogonal)
structures supporting software mobility.
4WAIF (Wide Area Information Filtering)
- Problem How to structure the next generation
web. - Approaches
- 1. Use the network as a personal computer
(computers/user gtgt 1 ) - ? move personalized computational tasks around.
- 2. Mobile users in a pervasive computing
environment - ? design for mobility.
- 3. Proactive computing combined with high
precision - ? humans not in the loop, but above the loop.
- International cooperation University of Tromsø,
Cornell University, and UC San Diego.
5Big Picture PONS
- Locate services and install your personal
distributed system as an overlay network.
6Support for mobile (PONS) users
- Move user environment transparently.
7Outline
- Context and problem.
- Software mobility.
- Lessons so far.
8Simple (same) Problem The desktop
Home
9Challenge move the environment
Home
Work
10Approach 1 Mobile Machine
- Physical movement of computing platform.
Home
Work
11Approach 2 Remote Access
- Rewire application input and output.
- Problem Network bandwidth/latency
Desktop
Desktop
thin client
presentation
interaction
Home
Work
12Our approach Migrate Applications
- End-to-end user experience.
- Migrate just enough state (what is enough state?)
M A S
M A S
Home
Work
13we are not alone
- Internet Worms (Xerox 82)
- Process migration 85-90 (V, Amoeba, Eden,
Mach). - Condor a like checkpoint/restart (88).
- Mobile code and mobile agents (TACOMA 93, 100s
of systems). - Mobile Virtual Machines (Stanford 02).
- Aura (Intel and CMU, 02)
- .....
14Task Migration
- Abstract description
- What the user wants to do
- Audio playback, write document, surf the web.
- Several application serves the same task
- OpenOffice and Word
- Standardized data format.
- Application metadata
- Window position, window size, cursor position.
- Related work Project Aura (checkpoint/resume).
15Prototype 1 Task migration
Task Wordproc.
app1
lttask id139 typeWord processinggt ltdata
filethesis.doc/gt ltstate cursor43
windowsize32/gt .
lt/taskgt
16Prototype 1 Task migration
lttask id139 typeWord processinggt ltdata
filethesis.doc/gt ltstate cursor43
windowsize32/gt
. lt/taskgt
17Prototype 1 Task migration
- Lesson possible to migrate tasks smoothly once a
standardized data format exist. - Problem We needed to write all test application
from scratch. - Unrealistic in short perspective.
- Wrong approach.
18Approach
- Investigate if and how existing applications can
be moved - PowerPoint, IExplorer, Word, WMP, games.
- Goal understand constraints and structure of a
running application that is to be moved about
(i.e. open files, resource dependencies, open
sockets, licencing policies, security, etc)
19Prototype 2 Wrappers
- Migrated common Microsoft applications
- Word, PowerPoint, IExplorer, etc.
- Wrapped COM objects to manipulate internal state
- Retrieve and recreate state
- State file
- Application specific data.
- Metadata
- Window position, size, etc.
20Prototype 2 Wrappers
Wrapper
COM object
State File
21Prototype 2 Wrappers
State File
22Prototype 2 Wrappers
Wrapper
State File
COM object
23Prototype 2 Wrappers
- Lesson Exporting internal application state
allows us to migrate an application. - Problem
- COM APIs are large and complex.
- Resulted in large and complex wrappers.
- Specialized wrapper for each application.
- To much a COM hack.
- Need Simple checkpoint/resume mechanism.
24Prototype 3 WAIFARER
- Observation is a large body of software with a
more convenient mechanism for checkpoint/restart. - X-Session Management Protocol (XSMP)
- X-Consortium standard.
- Implemented by Gnome, KDE, etc.
- Migration by combining with
- State transfer.
- Small control application.
25Prototype 3 WAIFARER
Gedit
Register Restart command gedit ./xdh1-gedit
SM
SM
Home
Work
26Prototype 3 WAIFARER
Gedit
SM
SM
Home
Work
Global view
27Prototype 3 WAIFARER
Gedit
SM
SM
Home
Work
28Prototype 3 WAIFARER
Gedit
SM
SM
Home
Work
29Prototype 3 WAIFARER
Gedit
SM
SM
Home
Work
30Prototype 3 WAIFARER
Gedit
SM
SM
Home
Work
31Outline
- Context and problem.
- Software mobility.
- Lessons so far.
32Lessons (so far)
- General separation of concern principle applies
- Mobility orthogonal to application
- Possible to use existing APIs and services to
support software mobility. - logging, check-pointing, recovery mechanisms.
- Mobility should be a firstorder design principle
we are washing out details concerning this
principle now.
33Current work
- Next step is to move other processes.
- Long-lived GRID computations.
- 24/7 servers (dynamic reconfiguration).
-
- WAIF Personal File System (spanning all your
storage devices/nodes for a single user) - Automatic replication.
- Version controlling.
- ..
- Heterogenety.
- TASK description RDF schema for TASK.
34Last Words
- More info
- http//www.waif.cs.uit.no/
- Public domain WAIFARER http//sf.net/projects/wa
ifarer/ - ?
35Software mobility
- HW - Common hardware
- Laptop, PDA, cellular.
- OS - Common SW-platform
- Sprite, Mach
- App - Common application base
- TACOMA, Aglets, MOLE, .
- Task - Common data format
- Project Aura, WAIF
Task
App
OS
HW
36WAIF Proactive Internet
- The web works autonomously on your behalf and
notifies you.
S
p
- Goals
- High recall.
- Extreme precision.
- Context-aware.
- Real-time.
S
p
S
p
S
p
37The Web-Service problem
- Generalized server functionality.
- Applications needs to do more work
- More interactions.
- Pull model.
- Resource locality.
C
S
WS
C
WS
WS
38Pervasive computing problem
- Locality parameters changes.
- User movement
- Relocate deployed application components.
- Weak mobility
Device
f
Device
f
Device
f
Device
f
Device
Device
39Solution Factorize the desktop
- Applications are resource localized.
- Migrate applications when necessary
- E.g. as a result of user movement
Messanger
Word
Nero
Virtual Desktop
40Resource locality
to servers
Net services, storage, etc.
User interface, device access
to user