Principle goal: to extend Rapid, which is existing technology, so that it can run compute jobs on several cloud infrastructures seamlessly, whilst ensuring additional drawbacks of cloud computing technology are overcome.
Rapid (http://research.nesc.ac.uk/rapid/) is a unique way of quickly designing and delivering web portal interfaces to applications that require computational resources, such as utility computing infrastructures or high-performance computing facilities. It focuses on the requirements of the end-user by designing customised user interfaces for domain-specific applications that allow users to achieve particular tasks from the comfort of their own web browser.
Currently, Rapid works with Grid and High-Performance Computing infrastructure. It is your task to adapt Rapid so as it can be used to generate intuitive interfaces that submit jobs to several cloud infrastructures. Examples of these infrastructures are Amazon's Elastic Cloud 2, Eucalyptus, Rackspace, Linode and GoGrid. Preferably you will look into existing solutions that can handle several of these infrastructures at ones via a standard library, such as for example libcloud (http://incubator.apache.org/libcloud/).
Cloud provides several advantages over other distributed computing approaches such as Grid and high-performance computing. However, it also brings several problems, such as expensive data movement and the potential of wasting resources if virtual machines run idle. You will have to do a comparitive study of possible solutions to overcoming these problems that are compatible with a generic solution to handling diverse cloud infrastructures. Moreover, you will need to implement these as part of the integration process, either as part of the handling of virtual machines or as part of the virtual machines themselves. (An example: you can build in a maximum running time in each machine so it commits suicide rather than run forever.)
We always have some projects that want to have a portal interface for their particular application, so it is likely you can extend the project by creating an actual portal that runs an actual application on one or several cloud infrastructures. We also have access to a number of existing cloud infrastructures (including Amazon's EC2 and Eucalyptus on our own clusters).