Extensible Adaptation via Constraint Solving
4th IEEE Worwshop on Mobile Computing Systems and Applications, Callicoon, NY, June 2002
Applications running on a mobile and wireless devices must be able to adapt gracefully to limited and fluctuating network resources. The variety of applications, platforms upon which they run, and desires of their users, require a variety of adaptation policies to be implemented and maintained. Therefore, it becomes important for adaptation policies to be easy to develop, to debug, and to compose together to form complex policies that satisfy the needs of mobile users. This paper presents the design, implementation, and evaluation of a simple programming language for expressing scheduling policies for transmission of multiple objects across a shared network connection. A key design component of our language is the ability to express constraints among the objects to be transmitted. A policy can make ordering constraints such as "all text objects are transmitted before any image objects" or a policy might express rules on the the relative bandwidth allocations across objects of different types. Because it is possible to express contradictory constraints, our system finds suitable approximate solutions when no precise solution is available.