Partitioning Applications with Agents |
The environment of mobile computing is in many respects very different from the environment of the traditional distributed systems of today. Bandwidth, latency and delay may change dramatically when a nomadic end-user moves from one location to another or from one computing environment to another. The variety of terminal devices which nomadic users use to access Internet services also increases at a growing rate.
Dynamic adaptation of a service to the properties of terminal equipment and available communication infrastructure is an attractive feature. With application partitioning, an application consisting of co-operating component agents can be dynamically distributed on both sides of the wireless link. By selecting a partitioning configuration based on terminal characteristics, an application can be adapted to the capabilities of the terminal. Partitioning can also be used for adapting to wireless link quality, by repartitioning the application when link quality changes sufficiently. We have designed a service for performing the partitioning decisions, and used a prototype implementation to prove that the communication delays incurred by repartitioning are acceptable.