The TCPR home page, <http://www.cs.cornell.edu/~burgess/tcpr/>, provides information about the people involved in the project, the code development repository, and TCPR's design and ongoing research. This document aims to guide someone new to the project from first cloning the code repository through conducting a live demonstration and developing new applications. TCPR uses the GNU autotools build system. However, the repository does not contain any generated files, so once, right after cloning, you must set up some infrastructure: $ autoreconf -i Then, you can build the userspace programs and iptables extension library. $ mkdir ../tcpr-build $ cd ../tcpr-build $ ../tcpr/configure $ make # make install The kernel module must be built separately, using the kernel build system. $ cd module $ make # make install I usually find it is necessary to run depmod manually. # depmod You can check whether the kernel module is successfully built from the output of `modinfo tcpr'. Once the module is installed, load it into the kernel. # modprobe tcpr The scripts in the `examples' directory provide a simple demonstration of TCPR. Start with `examplesrecovery, which demonstrate simple failure and recovery. First, inspect the setup scripts, then set up the network and TCPR to prove some infrastructure for running the example application and peer in their own lightweight virtual network, with the host acting as ethernet bridge and filtering all TCP traffic through TCPR. Then, in one terminal run the `application' script, and in another run the `peer'. Type messages to chat back and forth. Kill the application with control-c, and recover it with the `recover' script. Finally, end the connection gracefully with control-d at each endpoint, and tear down the network and TCPR to release the infrastructure. The scripts and the source code for the `tcpr-chat' program constitute a working guide to setting up and using TCPR. Later, explore `examples/migrate', which demonstrate live migration based on an OpenFlow switch to migrate the underlying IP channel. You must have Open vSwitch installed. As in the recover scripts, start with `application' and `peer' in separate terminals. Then, in a third terminal, run `migrate 1 2' to take over the application on a second replica. Go back to the first and run `migrate 2 1' to bring it back. End the connection as before.