Picture of me

Jacob Gorm Hansen

Until 2007, I was a Ph.D. student at DIKU. My adviser was Professor Eric Jul. Today, I work for Bromium. We are hiring!

Previously, I have been involved in some games projects, most notably 'Naughty Ones' for the Amiga, and the Hitman series by Io Interactive (now part of Eidos which again was bought out by SCI, who were bought out by Square). I also used to work the good old Internet, for example I implemented the free Cashcow library for credit card transactions, which at one point ran more than 50% of Danish e-commerce.

Contact details

If you are a little clever (and I am sure you are), you can probably deduce my e-mail address from the URL of this page.

Research

Most of my work has had to do with Virtual Machines. I started out in 2002 building a VMM called NomadBIOS on top of the L4 microkernel. The theses of this work were that 1) handported (paravirtualized) guest operating systems would outperform transparent solutions like VMWare, and that 2) live migration of VM's (now a major selling point of VM's) ought to be possible. This work which I did with Asger Jensen resulted in the Master's thesis "Nomadic Operating Systems", and served as the inspiration for the live VM migration implementation currently in Xen. Our work also predates VMWare's VMotion technology.

During my Ph.D. I worked on a new way of doing Live VM migration, called Self-Migration. The idea is to perform all the work within the VM, to reduce the complexity of VMM control pane software, and to get better performance during migration. This approach also works well for live self-checkpointing to disk. Based on self-migration, I managed to implement a decentralized cluster-management system, with only a couple of hundred lines of privileged code facing the network (i.e. there is no TCP/IP stack that you can attack). This work is described in my dissertation and in the IEEE ICAC 2006 paper below.)

In 2005 I visited the University of Washington in the US, where I was working with Richard Cox, Steve Gribble and Hank Levy on the "Tahoma" project, trying to put VM's to good use on desktop systems. I designed and implemented an new display system for VM's, and ported a couple of applications and the QT Embedded Framework to our system. The work was presented at the 2006 IEEE Security and Privacy Symposium (paper link below.) I have since rewritten the Tahoma Display System into Blink, a 3D display system for Xen, described in the technical report below.

I successfully defended my thesis on Jan 31st, 2008. From July 2007 to June 2011 I worked for VMware where I was a staff engineer. I spent most of my energy working on Lithium (also called CloudFS), a scalable distributed storage system for VMs. The work is decribed in the ACM SoCC paper and SIGOPS OSR papers linked below. Since July 2011 I have been a member of technical staff at Bromium. We are hiring!

Lithium/CloudFS Source Code

VMware were kind enough to release the Lithium code under a modified BSD license when I left to join Bromium. You can now find it on GitHub.

Code for Graduate Work

Most of my hg repositories are now online at Bitbucket.

Evil Man -- the self-migrating Linux.

Migration tools: a minimal set of tools for managing (creating, listing, destroying, self-migrating), Xen domains. No Python required!

EDelta is a binary differ geared for executables.

From time to time, I have been working on an OpenGL-like display multiplexer for Xen, see this page for more info.

Publications (Google scholar page)

Jacob G. Hansen and Eric Jul: "Self-migration of Operating Systems", In Proceedings of the 11th ACM SIGOPS European workshop, Leuven, Belgium, September 2004. PDF format, bibtex entry

Jacob Gorm Hansen, Eric Jul, Optimizing Grid Application Setup Using Operating System Mobility, Lecture Notes in Computer Science, Volume 3470, Jun 2005, Pages 952 - 960. SpringerLink, PDF

Christopher Clark, Keir Fraser, and Steven Hand, University of Cambridge; Jacob Gorm Hansen and Eric Jul, University of Copenhagen; Christian Limpach, Ian Pratt, and Andrew Warfield, University of Cambridge: "Live migration of Virtual Machines", in proceedings of USENIX NSDI 2005, Boston, USA. PDF (preprint)

Richard S. Cox, Jacob G. Hansen, Steven D. Gribble, and Henry M. Levy: "A Safety-Oriented Platform for Web Applications", in proceedings of the 2006 IEEE Symposium on Security and Privacy. PDF

Jacob Gorm Hansen, Eske Christiansen, and Eric Jul: "The Laundromat Model for Autonomic Cluster Computing", in proceedings of the 3rd IEEE International Conference on Autonomic Computing, June 2006. PDF

Jacob Gorm Hansen: "Blink: Advanced Display Multiplexing for Virtualized Applications", in Proceedings of the 17th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), Urbana, Illinois, June 4-5, 2007, pages 15-20. PDF Preprint

Jacob Gorm Hansen, Eske Christiansen, and Eric Jul: "Evil Twins: Two Models for TCB Reduction in HPC Clusters", in ACM/SIGOPS Operating Systems Reviews, July 2007. PDF Preprint

Jacob Gorm Hansen and Eric Jul: "Lithium: Virtual Machine Storage for the Cloud", to appear at ACM SoCC 2010 in Indianapolis, Indiana, USA. PDF Preprint

Jacob Gorm Hansen and Eric Jul: "Scalable virtual machine storage using local disks", in ACM SIGOPS Operating Systems Review, December 2010. PDF

Issued patents

United States Patent 7836303: "Web browser operating system". Levy, Henry M. (Seattle, WA, US) Gribble, Steven (Seattle, WA, US) Hansen, Jacob Gorm (Copenhagen, DK) Cox, Richard S. (San Francisco, CA, US)

Poster Presentations

Jacob Gorm Hansen: "Blink: Advanced Display Multiplexing for Virtualized Applications", poster presented at ACM SIGOPS Eurosys 2006. PDF

Jacob Gorm Hansen: "Fast, Lightweight and Secure Cache-Invalidation with Pulse", poster presented at ACM SIGOPS Eurosys 2007. PDF

Theses

My Master's thesis "Nomadic Operating Systems" which I wrote with Asger Jensen (then Henriksen), in 2002. As far as I know, this is the first work describing live virtual machine migration. PS, PDF (some figures slightly broken), bibtex entry

My Ph.D. Thesis "Virtual Machine Mobility with Self-Migration"

Internships and visits to other institutions

I spent the summer of 2004 at Microsoft Research in Cambridge, England, implementing buffer overflow prevention techniques in the NT kernel. My internship adviser was Paul Barham, but I also had quite a lot of interaction with Ulfar Erlingsson from the MSR Silicon Valley lab. Some of the work I did while there was later used in Vigilante.

From January 1st through June 30th, 2005, I was visiting the University of Washington in Seattle, U.S.A., working under the supervision of Professor Henry M. Levy.

During the summer of 2006, I worked again with Ulfar Erlingsson at MSR Silicon Valley, this time on the XFI project.

Older technical reports

Jacob Gorm Hansen and Asger Kahl Henriksen: "Improving Security in the InterMezzo File System", Technical Report, December 2001. PDF format

Jacob Gorm Hansen and Asger Kahl Henriksen: "The (multi)?(map|set) of the Copenhagen STL", CPH-STL Report 2001-6. PS

Misc.

Found this climbing picture, taken by Thomas Boesgaard (bouldering wizard), on Flickr. This is how I looked when I was younger and a bit more agile. The second one by Patrick (aka the Danish Russell Crowe) is a bit more recent. Both are from different places in Spain.