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. |