The applications that users interact with today no longer run on a single user's desktop computer. Unlike applications of the past, modern mobile/cloud applications are widely distributed, massively multi-user and eternally persistent. These new characteristics of mobile/cloud applications require a radical re-design of traditional operating system abstractions.
Mobile/cloud applications are distributed over users' mobile devices and across back-end cloud servers around the world. As a consequence, application programmers now face deployment decisions that were visible only to designers of large-scale distributed systems in the past. These is decisions include where data and computation should be located, what data should be replicated or cached and what data consistency level is needed. We are working on how to separate deployment from applications, while still giving application programmers control over performance trade-offs in the Sapphire project
Mobile/cloud applications are multi-user and focus on allowing users to share data between devices or with each other. As a consequence, application programmers must now cope with user management and protection, previously provided by the OS. Mobile/cloud applications facilitate sharing between users, so policies are often application-specific. This coupling between application-level concepts and security has made it difficult to implement traditional protection mechanisms, like access control and sandboxing, separate from the application. We are working on providing flexible, fine-grained protection for mobile/cloud applications in the Agate project.
Mobile/cloud applications are persistent services that continue to run and store user data for all time, even across failures and upgrades. As a consequence, applications programmers have to manage both temporary storage for execution state between requests and long-term storage for archival data. The way the application stores execution state and archival data differs, and converting between the two is tied to application semantics. We are working on providing transparent storage for mobile/cloud applications in the Diamond project
Irene and Adriana visited MSR this week to give a talk and chat with the Orleans team about Sapphire and Agate. Utilizing a mobile device, Adriana took this picture of Irene giving the talk.
Irene and Adriana will be visiting MSR Redmond and giving a talk on Sapphire on November 18th.
We had a great trip to OSDI 2014! Check out the OSDI website for a video of our talk on the Sapphire project.
Our paper on Sapphire was accepted to OSDI ‘14.
We present Sapphire at the ACM Symposium on Operating System Principles (SOSP) Work-In-Progress session. Find out more about SOSP 2013.
Sapphire is supported by the National Science Foundation and generous gifts from Google.