The combined force behind ubiquitous mobile devices and universal network access has created a unique era of mobile network computing, in which computation units ranging from a single process to an entire host can move while communicating with each other across the network. A key problem therefore is how to preserve the ongoing network communication between two computation units when they move from one place to another; because current network infrastructure and protocols are designed to support stationary communication endpoints only.
We have developed MOVE, a fine-grain connection migration architecture that functions completely within end hosts, to address the problem. We first analyze the key technical problems of end-to-end network communication caused by mobility: state inconsistency, conflict, and synchronization; and we develop a simple and elegant namespace abstraction called CELL to resolve these problems. CELL provides a virtual, private, and labeled namespace for individual connection states so that they can be transparently migrated anywhere free of the problems mentioned above. We then develop a unique handoff signaling protocol called H2O, which can handoff a connection securely in a single one-way end-to-end trip with minimal impact on the connection characteristics perceived by the transport layer protocol. H2O achieves this by combining the simple connection redirection mechanism afforded by the CELL abstraction with a low-overhead security mechanism, which is based on Diffie-Hellman protocol but computes session keys only at migration time. We finally integrate MOVE seamlessly with a process migration mechanism which is built on extending the same virtual private namespace concept to other shared OS resources besides connection states, such as PID/GID, IPC key, etc. We show how the integration allows MOVE's fine-grain connection migration capability to be fully exploited and enables support for new application scenarios.
We have implemented MOVE on a commodity OS without requiring any change to the OS and applications and conducted various performance measurements, such as virtualization and virtual-physical mapping overhead, handoff performance, scalability, etc. Our results show that MOVE performs favorably in these tests and works with a suite of popular off-the-shelf network applications out of the box.