Adaptive Mobile Applications
Thomas Kunz
Systems and Computer Engineering
Carleton University
http://kunz-pc.sce.carleton.ca/
tkunz@sce.carleton.ca

The “Mobile Warrior”

Mobile Computing Challenges

Adaptive Mobile Applications:
System Overview

Related Work
Typically, related work focuses on bandwidth variation
Other resources are also constrained (memory, power, CPU capabilities) and may vary over time
Majority of solutions: introduce proxy between client (application executing on mobile device) and server, proxy compresses and filters data stream
sometimes, degree of compression depends on available bandwidth
user mobility often not addressed/supported
Other solutions:
view mobile purely as User Interface (WWW browsers, Teleporting, ....)
partition client application between mobile and proxy
partition directed by application (Rover, MaROS, ....)
partition transparent to application (our own focus)

Additional Problem: Mobility

Mobility: Issues and Ideas
As mobile devices roam, the proxy (or proxies) might have to migrate as well:
schemes are only efficient if proxy is on direct path between mobile and correspondent host
however, not every move requires a proxy migration
When to migrate: performance question
e.g., when are advantages of migration higher than costs?
How to migrate: infrastructure question
Consequences of migration: mobility models, simulations
e.g., what happens if all cellular subscribers move into same cell (the one that covers the big shopping mall)

Proposed Architecture

Summary of Achievements
Mobile IP software under Linux, including route optimization
Comma (provides feedback about execution environment): redesigned to deal with limited devices such as Palm Pilots
Trace data analysis (Bell’s Microbrowser) and performance prediction models: scalability of approach
Mobile code toolkit for Windows CE (DOMT), redesigned for Palm Pilots based on KVM (KMOT)
Sample applications (MPEG and MP3 player), based on Objectspace Voyager and our own toolkits

Summary of Achievements
Explored mobile applications in WAP
Explored traditional adaptation concepts (filter/compress data stream)
Prototype for adaptive web browsing
“Controls,” both interactive and configuration
Known standards & data types enable transcoding at proxy
In concert with Comma & other tools for environmental information
Prototype of “Geo-web” for geographic organization of information
Adaptive map browsing for constrained environments

Summary of Achievements
Training of Highly Qualified Personnel:
Carleton:
2 Research Associates (Thomas Barry, Yang Wang)
6 Master’s students graduated
3 additional students expected to graduate in 2001/2
Waterloo:
2 Master’s students graduated
3 additional graduate students expected to graduate in 2001
1 PhD expected in 2002
Publications:
1 book chapter
2 journal publications
4 refereed conference/workshop papers
7 others (position papers, conferences with abstract reviewed, …)

Trace Collection Infrastructure

The Big Picture:
Traffic Profile (Jan. – Dec. 2000)

Sessions: Average Number of Concurrent Sessions, December 2000

WAP vs. WWW Traffic
Some similarities:
Periodicity
Daily patterns (and to some extent half-daily patterns)
Weekly patterns (and to some extent half-weekly patterns)
Not enough trace data to confirm/test for seasonal patterns
Self-similarity (Hurst Parameter between 0.79 and 0.82)
But also some differences:
Smaller packets (95% of all packets less than 220 bytes)
Shorter sessions
Traffic more balanced (dowlink traffic “only” about 3 times as much data as uplink traffic)
No growth trend in data presented in paper, but long-term growth trend clearly visible since

Performance Prediction Models: Simple Model

Performance Prediction Model: Adding Proxy Layer

Model Predictions
Capacity limitations: between 8 to 50 concurrent clients
Effects of more powerful CPU or parallel gateway servers
Effects of adding a proxy layer
Changes in user behavior
New/more complicated services

Mobile Code Toolkits
Exploration with Voyager, a free mobile code toolkit based on Java
Handoff between proxies
Handoff between proxies and handheld device (ongoing)
Development of own Toolkits for PDAs:
Java-based toolkit for Windows CE devices: DOMT
KVM-based toolkit for Palm Pilot/Handspring Visors: KMOT (KVM-based Mobile Object Toolkit)
Visualizing code mobility

Case Study: MP3 Player over DOMT Required Info: Application Object Graph

Objects

Inter-Object Communication

Experimental Results (DOMT)
Implemented MP3 player, decoder (set of heavily communicating objects) can execute locally or remotely
Various performance experiments, study impact of
Available Bandwidth (19.2 kbps – 2 Mbps)
Relative CPU speed (Mobile CPU: Proxy CPU)
1:4 for laptop as client device
1:116 for Windows CE palmtop as client device
Results:
for high bandwidth and slow client, offloading decoder to proxy can speed up application performance by a factor of 20 and reduce power consumption by 95%
For faster client devices, independent of bandwidth, no benefit (actually worse performance) when decoding sound samples in access network

KMOT: Mobile Code Toolkit for KVM
Based on DOMT, redesigned toolkit to fit KVM constrains:
No serialization
No reflection mechanism
Experiments with “MP3 player” clone (time per frame in ms):

Visualizing Mobile Code Executions
Applications involving mobile code are complex:
All the problems of parallel and distributed applications (concurrency, scale, non-determinism, etc.)
Additional problem: where are mobile components?
Visual tools used widely in parallel and distributed programming environments for program understanding, fault and performance debugging, …
Some popular visualization tools:
Poet
XPVM
Polka
Paragraph
All support visualizing execution dynamics, none explicitly shows mobility of code

Event Visualization

Event Visualization (cont)

Event Visualization (cont)

Conclusions and Future Work
Work to date shows feasibility of approach
MP3 player: improvement in performance and reduction in power when offloading decoding from slow handset to access network, if there is enough bandwidth
Platforms: Windows CE, Palm Pilot
Future Work: future 3G systems all IP, devices all support JVM/KVM/Brew/….
Enhance KMOT (KVM-based Mobile Object Toolkit)
Automatic construction of the object graph
Design of an efficient partition strategies
Apply to multimedia applications
Larger-scale tests (multiple devices, proxies, more complicated network topology)
Other topics of interest: location and location-based services, ad-hoc access networks, etc.