Computer Science Department
School of Computer Science, Carnegie Mellon University


Scaling Task Management in Space and Time:
Reducing User Overhead in Ubiquitous-Computing Environments

João Pedro Sousa

March 2005

Ph.D. Thesis

Keywords: Task management, task-driven computing, software engineering, software architecture, ubiquitous computing, mobile computing, self-configurable systems, adaptive systems, model-based adaptation, modeling user preferences, utility-theoretic models, user attention, Project Aura.

Advances in computing and networking are prompting users to change their expectations about the availability of computing. Instead of making primary use of a single machine, users may expand their computer-supported tasks across multiple locations, and they may work on some tasks for days or even months. It is well known that such tasks typically involve several applications and information resources, making it a chore to rebuild the state of devices and software for resuming a task interrupted somewhere else or sometime ago.

Unfortunately, current systems offer little support for scaling task management in space and in time, and consequently users are torn between taking advantage of increasingly pervasive computing systems, and the price (in attention and skill) that they have to pay for using them.

This dissertation describes a new approach to the scalability of task management in space, across heterogeneous environments, and in time, allowing users to recover tasks interrupted long ago. The approach is based on high-level models of what users need from the computing environment for each of their tasks. Such models are exploited at run-time by an infrastructure that automatically configures the computing environment, on demand, on behalf of users.

We present an architectural framework that grounds our approach, and that embodies new system design principles that hold independently of the particular infrastructure implementing the framework. As part of the framework, we present a utility-theoretic model that enables finding the best match between user needs and the capabilities and resources in the environment.

We evaluate our research from three perspectives. First, from a user's perspective, we validate that the infrastructure: (a) delivers the capabilities for scaling task management in space and in time; (b) that it reconciles the competing requirements of sparing users from routine configuration chores, while enabling them to take full advantage of the surrounding computing environments; and (c) that it is usable by non-experts. Second, from a software architect's perspective, we evaluate the benefits and limitations of the architectural framework supporting our approach. And third, from a systems perspective, we validate that the infrastructure exhibits a performance that makes it usable on a daily basis.

133 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by