addressed in (Capra, Emmerich, & Mascolo, 2003)
using sealed bid auctions. While this work shares
utility-theoretic concepts with our configuration
mechanisms, the problem we solve is different. Our
work has no game-theoretic aspects and addresses
resource contention by multiple applications
working for the same user on a small mobile device.
From an analytical point of view, closest to our
resource allocation algorithm are Q-RAM (Lee,
Lehoczky, Siewiorek, Rajkumar, & Hansen, 1999),
Knapsack algorithms, and winner determination in
combinatorial auctions. By integrating with generic
service discovery mechanisms in the EM, our work
provides an integrated framework for service
discovery, resource allocation and adaptation.
7 CONCLUSIONS
Resource adaptation can play an important role in
improving user satisfaction with respect to running
sophisticated software on small mobile devices.
However, today, many applications implement
limited solutions for resource adaptation, or none at
all. The primary reasons for that are: (a) the cost of
creating ad-hoc adaptation solutions from scratch for
each application; and (b) the difficulty of
coordinating resource usage among the applications.
Because it is hard for an individual application to
even know which other applications are actively
involved in supporting a user activity, individual
applications frequently trample each other in their
quest for resources.
This paper proposes a framework for resource
adaptation where a number of features are factored
out of applications into a common infrastructure.
First, user preferences with respect to overall
QoS tradeoffs are elicited by an infrastructural
component such as Prism. These models are
expressed using a rich vocabulary of service-specific
QoS aspects. Furthermore, a preliminary user study
indicates that end-users can understand and leverage
these models to pursue concrete QoS goals.
Second, resource allocation among applications
is coordinated by another infrastructural component
such as the EM. This component receives QoS
profiles from applications, and efficiently computes
the resource allocations that optimally support the
QoS goals, given forecasts of available resources for
the next few seconds.
Third, adaptation to resource variations at a time
granularity of milliseconds is facilitated by a
common library, such as Chroma. This library saves
application development costs by providing common
mechanisms for (a) monitoring available resources,
(b) profiling the resource demands of alternative
computation tactics, and (c) deciding dynamically
which tactic best supports the QoS goals, given
resource forecasts for the next few milliseconds.
Additionally, this paper clarifies concrete APIs
that adaptive applications need to support for being
integrated into the framework. These APIs are
realized as XML messages, which may be
exchanged within the mobile device, or across the
network, if the infrastructural components are
deployed remotely.
In summary, the proposed framework makes it
easier to develop and integrate applications into
coordinated, resource-adaptive systems.
Furthermore, our research indicates that end-
users with diverse backgrounds are able to control
the behavior of such systems to achieve activity-
specific QoS goals.
REFERENCES
Balan, R. K., Gergle, D., Satyanarayanan, M., & Herbsleb,
J. (2005). Simplifying Cyber Foraging for Mobile
Devices (Tech. Report No. CMU-CS-05-157R).
Pittsburgh, PA: Carnegie Mellon University.
Balan, R. K., Satyanarayanan, M., Park, S., & Okoshi, T.
(2003). Tactics-Based Remote Execution for Mobile
Computing. Paper presented at the USENIX Intl
Conference on Mobile Systems, Applications, and
Services (MobiSys), San Francisco, CA.
Butler, S. (2002). Security Attribute Evaluation Method. A
Cost-Benefit Approach. Paper presented at the Intl
Conf in Software Engineering (ICSE), Orlando, FL.
Capra, L., Emmerich, W., & Mascolo, C. (2003).
CARISMA: Context-Aware Reflective mIddleware
System for Mobile Applications. IEEE Transactions
on Software Engineering, 29(10), 929-945.
De Lara, E., Wallach, D., & Zwaenepoel, W. (2001).
Puppeteer: Component-based Adaptation for Mobile
Computing. Paper presented at the USENIX
Symposium on Internet Technologies and Systems
(USITS), San Francisco, CA.
Flinn, J., & Satyanarayanan, M. (1999). Energy-aware
Adaptation for Mobile Applications. ACM SIGOPS
Operating Systems Review, 33(5), 48-63.
Garlan, D., Siewiorek, D., Smailagic, A., & Steenkiste, P.
(2002). Project Aura: Toward Distraction-Free
Pervasive Computing. IEEE Pervasive Computing,
1(2), 22-31.
Lee, C., Lehoczky, J., Siewiorek, D., Rajkumar, R., &
Hansen, J. (1999). A Scalable Solution to the Multi-
Resource QoS Problem. Paper presented at the IEEE
Real-Time Systems Symposium (RTSS).
Moore, M., Kazman, R., Klein, M., & Asundi, J. (2003).
Quantifying the Value of Architecture Design
USER GUIDANCE OF RESOURCE-ADAPTIVE SYSTEMS
43