The project entails research on software engineering (e.g., mapping requirements to software architectures, software architecture models and their adaptation, software re-factoring, adaptable/autonomic middleware, etc), networking (software-defined networking, ad-hoc peer-to-peer networks, social private networks, etc), computer systems (virtualization, distributed computing, etc). The work will also provide techniques and middleware for distributed cyberinfrastructure supportive of mobile-hosted apps for science and education (e.g. middleware for virtual networking, social collaboration, resource virtualization and virtual appliances for different domains). By studying the mobile application-induced workload at the lowest layers of the systems software stack, such as the VMM, the project will identify how these layers can be improved to better support such workloads.
The project will advance the fundamental understanding of multiple technical issues faced in enabling flexible end-to-end management of cloud-supported mobile applications. Methods are needed to (re)implement applications so that their software architectures can reconfigure in response to changes in requirements as the environment changes, and to allow for runtime re-factoring of components for execution locally or remotely. Virtual networking techniques are needed to enable seamless off-loading of computation from a device to remote resources possibly provided by multiple clouds. In addition, both software adaptation and network configuration must be done on demand.