At the highest level of abstraction, our goal is to learn how to deliver arbitrary amounts of computational power to ordinary people. To us, "ordinary people" implies interactive applications and "arbitrary amounts of computational power" implies distributed computing resources. A distributed interactive application must dynamically adapt its behavior to maintain a consistent, responsive, and pleasurable experience for its users at a reasonable cost.
Our research seeks to answer the following four questions:
- How do we build adaptive distributed interactive applications effectively?
- How does the demand for resources in these applications vary over time?
- How does the supply of resources vary over time?
- How can we use the adaptation mechanisms exposed by an application to match its resource demand with resource supply?