The next years will see a shift from traditional desktop or server applications to a model that is dominated by the confluence of several trends: web-based application delivery, utility computing, software as a service, data mash-ups, and client-side extensions for web customization. This paradigm shift to next-generation cloud applications profoundly changes the way in which users use the world wide web and provides tremendous potential for accelerating scientific discovery. A crucial component in this shift is the web browser and the server infrastructure delivering those complex applications, which typically consist of multiple, interconnected components from different sources. This research aims to create advanced browser and server execution environments that address the needs of these applications.
This project integrates a research and education plan that develops abstractions for advanced execution environments that can robustly support next-generation cloud applications. Our primary focus falls on an advanced client-side execution environment called script spaces. Script spaces provide an environment that can support the client side of cloud applications in a reliable, robust, secure, flexible, and scalable fashion. A complementary effort provides a server-side execution environment. We are prototyping our abstractions and validate our techniques by applying them to a client-side mash-up framework that is in daily use. Our education plan applies the research artifacts we create to reinvigorate our undergraduate curriculum by emphasizing real-world contexts in student assignments, even in a first CS course.