Notes
Slide Show
Outline
1
Adaptive Mobile Applications
  • Thomas Kunz
  • Systems and Computer Engineering
  • Carleton University
  • http://kunz-pc.sce.carleton.ca/
  • tkunz@sce.carleton.ca
2
The “Mobile Warrior”
3
Mobile Computing Challenges
4
Adaptive Mobile Applications:
System Overview
5
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)
6
Additional Problem: Mobility
7
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)
8
Proposed Architecture
9
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
10
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
11
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, …)
12
Trace Collection Infrastructure
13
The Big Picture:
Traffic Profile (Jan. – Dec. 2000)
14
Sessions: Average Number of Concurrent Sessions, December 2000
15
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
16
Performance Prediction Models: Simple Model
17
Performance Prediction Model: Adding Proxy Layer
18
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
19
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
20
Case Study: MP3 Player over DOMT Required Info: Application Object Graph
21
Objects
22
Inter-Object Communication
23
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
24
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):


25
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
26
Event Visualization
27
Event Visualization (cont)
28
Event Visualization (cont)
29
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.