Inspired by the classic End-to-End argument, as well as the original philosophy of the Xen Virtual Machine Monitor, described in Xen and the Art of Virtualization, and in Self-Paging in the Nemesis Operating System, we have implemented a Self-Migrating Linux Operating System on top of the Xen VMM.
See Jacob Gorm Hansen's home page for publications related to this project.
Operating System Migration is still a fairly new concept, and the common way of implementing it is as an external service, which will checkpoint a guest OS running atop a Virtual Machine Monitor, onto another host. However, in order to achieve good performance and low downtime, the migrating OS needs to cooperate in the migration, leading us to the conclusion that OS migration is better implemented inside the migrating OS. The migrating OS already has all the knowledge (access to pager and scheduler) and features (TCP stack) necessary, which means we can ultimately remove these from Trusted Computing Base, which is a good thing for security.
The current implementation is based on Xen, but the approach should generalize to other microkernels and VMMs as well.
Migration tools: a minimal set of tools for managing (creating, listing, destroying, self-migrating), Xen domains. No Python required!
Self-migration / self-checkpointing patch for Xen 3.0.3 domU Linux.
cstrap, a Mini-OS based Bootstrapper with loaders for Linux kernels and Checkpoint images.