TCP Connection Passing
TCP Connection Passing (tcpcp) is an experimental mechanism that allows cooperating applications to pass complete ownership of TCP connection endpoints from one Linux host to another one. tcpcp can be used between hosts using different architectures and does not need the other endpoint of the connection to cooperate (or even to know what's going on).
Such functionality should be useful in load-balancing, process migration, and possibly also failover applications. tcpcp is not a complete process migration or load-balancing solution, but rather a building block that can be integrated into such systems. tcpcp is currently a proof of concept implementation.
tcpcp consists of a kernel patch that implements the operations for dumping and restoring the TCP connection endpoint, a library with wrapper functions, and a few applications for debugging and demonstration.
Note: this project has been presented before at LugFI (Buenos Aires), OLS (Ottawa), and Linux-Kongress (Erlangen).
Werner Almesberger got hooked on Linux in the days of the 0.12 kernel, when studying computer science at ETH Zurich, and has been hacking the kernel and related infrastructure components ever since, both as a recreational activity, and as part of his work, first during his PhD in communications at EPF Lausanne, and later also in industry. Being a true Linux devout, he moved closer to the home of the penguins in 2002, and now lives in Buenos Aires, Argentina.
Contributions to Linux include the LILO boot loader, the initial RAM disk (initrd), the MS-DOS file system, much of the ATM code, the tcng traffic control configurator, and the UML-based simulator umlsim.