Amber: User-centric cloud storage

Project overview

In theory, the web provides users with the ability to share their data freely with an open-ended set of applications and users. In practice, however, web sites silo user data in private storage behind proprietary interfaces. While some sites do allow external applications to manipulate users’ data, these abilities tend to be limited and site-specific.

In this project, we aimed to change this. We envisioned a web without artificial application boundaries — where users choose which applications they use to view and manipulate their data, and which users to share that data with. And where that data is effortlessly available to all applications, globally.

Project components

User-centric cloud storage

Amber was a project to collect a users’ data in a common, federated storage, to give users control over their data’s storage and facilitate better sharing among applications. Amber stores data per user, not per application, in cloud storage controlled by the user. Users may choose to give applications (their own, or those of other users) access to their data, but no data is tied to a particular application.

Global application queries

To make it feasible to build multi-user applications in this distributed world, the follow-on work in Oort continued iterating on Amber’s vision by providing global queries across cloud providers. Applications can issue SQL-like queries that conceptually scan all objects of all users at all cloud providers. Oort proposes several techniques for making such queries scale well, even in the face of per-user and per-object access control policies.