An IPC Software Layer for Building a Distributed Virtualization System