The cloud computing model has opened up new possibilities for the realization of the long-cherished goal of utility computing. Utility computing represents the desire to have IT acquired, delivered, used, paid for, and managed in a manner similar to the way we use other commoditized utilities. The principal appeal of utility computing lies in the systematized framework it could create for the interaction between providers and consumers of IT resources. In particular, utility computing should enable consumers to participate in active and informed ways in making resource procurement decisions in a transparent ``market'' of competing providers. Consumers of current cloud-based offerings have a limited view of and control over resource procurement and control, a significant hindrance in the realization of a utility. This research will develop mechanisms and techniques that would reduce this gap, thereby helping turn cloud-based offerings of the near future into mature utilities.
This research will define, formulate, and solve fundamentally novel resource management problems---consumer-end metering, auditing, and dynamic mapping between virtual and physical resources---in cloud computing. It will result in novel utility-enabling facilities that will reduce the burden on application developers and system administrators wishing to outsource their IT needs to the cloud by easing and automating currently non-existent or inadequate decision-making related to resource procurement and modulation. Prototypes and source code will be shared with other researchers for independent use, experimentation, and deployment. The plan for integration of teaching and research will consist of (i) engaging undergraduates in research through REU supplements, (ii) design of new graduate courses on this topic with projects based on cloud-hosted teaching testbeds, and (iii) dissemination among researchers and industry via open-source software and workshops.