A Dynamic Assignment Problem in a Mobile System with Limited Bandwidth
Yang Wang and Thomas Kunz
               University of Alberta   Carleton University
http://kunz-pc.sce.carleton.ca/
tkunz@sce.carleton.ca

Presentation Outline
Research Background and Motivation
Centralized Solutions
Adaptive Algorithm
Non-adaptive Algorithm
Distributed Solution
Conclusions and Future Work

Mobile Computing Challenges

Adaptive Mobile Applications:
System Overview

Proposed Architecture

Research Challenges
Overall question: how to “best” split the client application between client device and proxy (i.e., the assignment problem)
Not all objects are migratable (user interface, etc.)
Runtime migration interferes with execution, so limit maximum amount of data to be migrated (i.e., object code and state)
Stone’s network flow solution for 2-processor case not applicable
Does not consider mobile environment constraints
Requires object location to be chosen freely
Paper shows that assignment problem is NP-complete by reducing it to the 0/1 Knapsack problem

Adaptive Algorithm
Initially all objects are on client side.
Each object is assigned a value D that characterizes how well it is suited to be migrated (benefits from being assigned to a faster CPU, linkages – method invocations – with other objects)
Threshold value t determines which objects should be migrated (all objects for which D > t), initially the average of all D
Adaptive Algorithm: after making migration decision, adapt threshold to reflect object migration (essentially by excluding migrated object.

Adaptive Algorithm, cont.
Time complexity: O(ne)
Example: Nodes have computational cost and size, edges have communication costs
Proxy Processor 100 times faster than client device
Wireless link capacity: 16
Initial node: 1 (highest D)
Result: migrate 1, 2, 4, 5    for a benefit of 605

Non-adaptive Algorithm
Adaptive Algorithm: essentially breadth-first search, nodes re-visited multiple times with different thresholds
Non-adaptive algorithm: recursive, assumes that threshold is set once, n times faster than Adaptive Algorithm (i.e., O(e))
Applied to same example: migrate nodes 1, 2, 6, 3, for a benefit of 518 (i.e., less optimal)

Distributed Algorithm
Both Adaptive and Non-adaptive Algorithms are centralized.
If migration can extend to multiple proxies, centralized solution not ideal
Distributed version: implement decision algorithm in proxy objects (i.e., the stubs that provide location transparency when invoking methods) and run in a coordinated but distributed fashion
Basic idea: pass token in a tree structure, based on well-known algorithm, node/proxy object with token uses information to make migration decision
Message complexity: O(n2log(n))

Distributed Algorithm, cont.

Conclusions
Dynamically assign application objects to mobile device and proxy server, subject to:
Computational demand of objects
Object size (code and state)
Inter-object relationships
Optimal solution NP-hard
Proposed three heuristics
Centralized algorithms
Distributed algorithm
Algorithms proven to terminate, with known time or message complexities

Future Work
Implement these algorithms in our mobile code toolkits for PalmPilot and Windows CE/Pocket PC devices
Explore link between capacity limitation and wireless link capacity (i.e., the nature of the intrusion)
If mobile environment changes, do we need to re-run algorithms from scratch or can we incrementally figure out new assignments