/ Research / Personal Containers

Summary. As cloud computing empowered the creation of vast data silos, I investigated how decentralised technologies might be deployed to allow individuals more vertical control over their own data. Personal containers was the prototype we built to learn how to stem the flow of our information out to the ad-driven social tarpits. We also deployed personal containers in an experimental data locker system at the University of Cambridge in order to incentivise lower-carbon travel schemes.

I've had a passion for self-hosted, decentralised computing for many years since Nick Ludlam and I set up the recoil.org collective in the late 90s. In late 2008, I'd been working on early cloud computing as part of the Xen Hypervisor project and already seeing the rapid rise of centralised data gathering in the early cloud providers. When I left Citrix in 2009, I joined Derek McAuley and Jon Crowcroft in their new Horizon Digital Economy centre to lead a charge into building more privacy-centred digital infrastructure. I had the huge privilege of receiving a strings-free 5-year postdoctoral fellowship in Cambridge. It's rare to see such long term postdoc opportunities these days, but something I am hugely supportive of for new projects.

My hacking first began with Nick Ludlam in 2008 on a prototype of a lifedb server and app, which we envisioned as a place to aggregate all the messages from disparate sources (for example, to mirror the then-new Twitter service into my IMAP email). I worked on Privacy Butler: A Personal Privacy Rights Manager for Online Presence to add a policy engine to this prototype. While the prototype worked well enough for me, it was largely a negative result since it was just too risky to put all that private data in one location (especially aggregated).

Now back at Cambridge in 2010, I began working with Thomas Gazagnaire on a more robust implementation of data aggregation that would have stronger end-to-end security and privacy. We started coding up an implementation in OCaml to followup my Functional Internet Services work, and built out infrastructure like an OCaml ORM in Dynamics for ML using Meta-Programming to make it easier to work with databases. It became obvious pretty quickly that having this much data in one place required end users to become sysadmins, and so I started to lay out a new architecture for this sort of end-user managed data in Multiscale not multicore: efficient heterogeneous cloud computing.

Our first prototype of a personal container running as a unikernel was published in Turning Down the LAMP: Software Specialisation for the Cloud, and would form the basis of the MirageOS project. To this day, the MirageOS community remains passionate about decentralised systems from these origins! We explored a number of directions in the early days:

One of the main drivers for personal containers was to drive applications that would otherwise be too invasive from a privacy perspective. Ian Leslie and I worked on the "c-aware" project in Confidential carbon commuting: exploring a privacy-sensitive architecture for incentivising 'greener' commuting to figure out if personal containers could help influence user behaviour to reduce carbon usage. Overall, this project taught us just how much effort it would be to deploy real-world infrastructure in corporate environments like the University of Cambridge. We also struggled to get any users to deploy our prototype servers, something explored more in user studies with colleagues in Horizon Nottingham in Perceived risks of personal data sharing.

My work on personal data processing petered out from a research perspective in around 2013 since the underlying infrastructure I had built really started gathering steam with Unikernels and OCaml Labs. We hadn't quite cracked the problem of how to break the cloud hegemony, but (as with XenoServers and Xen), the pieces that succeeded emerged from the research questions we asked. However, I don't consider this project permanently closed by any means -- after all, I've been self hosting my email since 1997! We've been working steadily over the past decade of MirageOS (as of 2021) to build out a really solid, self-hosted protocol stack that will work as a unikernel. I am revisiting the question of decentralisation in the form of physical infrastructure in the Interspatial OS project, and you can read my early thoughts in An architecture for interspatial communication.

Relevant Ideas

Relevant Papers

[»] Personal Data: Thinking Inside the Box
Amir Chaudhry, Jon Crowcroft, Heidi Howard, Anil Madhavapeddy, Richard Mortier, Hamed Haddadi and Derek McAuley
Journal paper in Aarhus Series on Human Centered Computing (vol 1 issue 1), Oct 2015
PDF   URL   BibTeX   DOI  

[»] Kadupul: Livin' on the Edge with Virtual Currencies and Time-Locked Puzzles
Magnus Skjegstad, Anil Madhavapeddy and Jon Crowcroft
In proceedings of the 2015 Workshop on Do-it-yourself Networking: an Interdisciplinary Approach, May 2015
PDF   URL   BibTeX   DOI  

[»] Lost in the Edge: Finding Your Way with DNSSEC Signposts
Charalampos Rotsos, Heidi Howard, David Sheets, Richard Mortier, Anil Madhavapeddy, Amir Chaudhry and Jon Crowcroft
In 3rd USENIX Workshop on Free and Open Communications on the Internet (FOCI 13), Aug 2013
PDF   URL   BibTeX  

[»] Perceived risks of personal data sharing
Anya Skatova, Jaspreet Johal, Robert Houghton, Richard Mortier, Neelam Bhandari, Tom Lodge, Christian Wagner, James Goulding, Jon Crowcroft and Anil Madhavapeddy
Journal paper in Digital Economy: Open Digital, Feb 2013
PDF   BibTeX  

[»] Signposts: end-to-end networking in a world of middleboxes
Amir Chaudhry, Anil Madhavapeddy, Charalampos Rotsos, Richard Mortier, Andrius Aucinas, Jon Crowcroft, Sebastian Probst Eide, Steven Hand, Andrew W. Moore and Narseo Vallina-Rodriguez
Journal paper in ACM SIGCOMM Computer Communication Review (vol 42 issue 4), Sep 2012
URL   BibTeX   DOI  

[»] Confidential carbon commuting: exploring a privacy-sensitive architecture for incentivising 'greener' commuting
Chris Elsmore, Anil Madhavapeddy, Ian Leslie and Amir Chaudhry
In proceedings of the First Workshop on Measurement, Privacy, and Mobility, Apr 2012
PDF   URL   BibTeX   DOI  

[»] Dynamics for ML using Meta-Programming
Thomas Gazagnaire and Anil Madhavapeddy
Journal paper in Electronic Notes in Theoretical Computer Science (vol 264 issue 5), Jul 2011
PDF   URL   BibTeX   DOI  

[»] Unclouded vision
Jon Crowcroft, Anil Madhavapeddy, Malte Schwarzkopf, Theodore Hong and Richard Mortier
In proceedings of the 12th International Conference on Distributed Computing and Networking, Jan 2011
PDF   BibTeX  

[»] The personal container, or your life in bits
Richard Mortier, Chris Greenhalgh, Derek McAuley, Alexa Spence, Anil Madhavapeddy, Jon Crowcroft and Steven Hand
Journal paper in Digital Futures (vol 10), Oct 2010
PDF   URL   BibTeX  

[»] Privacy Butler: A Personal Privacy Rights Manager for Online Presence
Diane Cook and Michael Weber
In 2010 8th IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops), Mar 2010
PDF   URL   BibTeX   DOI  

Relevant Talks


Codemesh 2014: Nymote: Git Your Own Cloud Here on 17th Dec 2014. At CodeMesh 2014, talking about personal data management with unikernels. Part of the Personal Containers project.

News Updates

Aug 2019. «» Note on OpenBSD cloud hosting options.
Oct 2015. «» Paper on personal databoxes at the one-in-a-decade Aarhus conference.
May 2015. «» Workshop paper on DIY networking using timelock puzzles.
Dec 2014. «» Gave Codemesh 2014 talk on Nymote.
Aug 2013. «» Paper on DNSSEC-based Signpost servers for better p2p communications at USENIX FOCI.
Feb 2013. «» Paper on dataware computing in the digital economy.
Sep 2012. «» Demoed the Signposts DNSSEC system at SIGCOMM.
Apr 2012. «» Paper on our use of data lockers within Cambridge to incentivise more green commuting patterns.
Jul 2011. «» Paper on statically typed value persistence for OCaml in ENTCS 2011.
Jan 2011. «» Paper on a vision for a semi-federated cloud for personal data at ICDCN.
Oct 2010. «» Paper on personal containers for data management at the UK Digital Economy meeting.
Apr 2010. «» Blogged about progress of the user interface for personal containers / «» Note on our approach to personal data management as 'yurts' for digital nomads.
Mar 2010. «» Paper on privacy butler services for more private data management / «» Announced the personal containers project and new website.