|
|
|
|
|
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) |
|
|
|
|
|
Implemented MP3 player, encapsulated
decoder as mobile agent, to 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 decoding “agent” 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 |
|
|
|
|
Many parameters deduced from traces
collected from live cellular network (Bell Mobility’s MicroBrowser) |
|
Study system capacity under changing
load conditions, vary computational load off-loaded to proxy |
|
Results: |
|
Proxy makes slow handsets/clients
faster |
|
System capacity decreases slightly |
|
For system under study, application
server more likely to become bottleneck than proxy |
|
č single proxy server can support current client population |
|
Caveat: results specific for
application studied, may not generalize for more demanding multi-medial 3rd-generation
mobile applications |
|
|
|
|
Conclusions: |
|
Implemented Mobile Code Toolkit with
small footprint for Windows CE devices |
|
Collected experimental evidence to
verify validity of our approach |
|
Developed a general approach to study
scalability |
|
Future Work: |
|
Improve toolkit: better RMI
performance, automatic generation of proxy objects, port to Palm OS |
|
Study additional applications and more
dynamic scenarios |
|
How to predict scalability when agent’s
functionality is not similar to a “server” (i.e., decode next frame and
return sampled sound) |
|
Interaction between application-aware
(MP3 player reduces sound quality, sampling rate, …. ) and
application-transparent (runtime system migrates decode agent from handset to
proxy) adaptation |