man rock (Commandes) - run a program over reliable sockets
NAME
rock, rockd - run a program over reliable sockets
SYNOPSIS
rock [ -k ] [ -l ] [ -d [ user ] ] command [ arg ... ]
DESCRIPTION
Rock runs the specified command over reliable sockets (rocks), protecting from failure the network connections created by the command process and its children. Recoverable failures include those caused by host IP address change, extended periods of network disconnection, and link failure.
Rocks must be enabled at both ends of the connection. Rock by default assumes that the command process communicates with rock-enabled remote peers. Connections with ordinary peers, those that do not support rocks, silently revert to ordinary socket behavior.
The -d option enables reliable socket connections to ordinary peers by redirecting the connection through a new rockd process, started by rock, on the remote host. Rockd must be in the path of the remote user, either $USER or user. Use of this option is currently limited to the commands ssh and scp.
The -k option also loads the ckpt checkpoint library in the process.
The -l option forces suspended rocks to reconnect to localhost. This is useful for process migration of a set of processes communicating over rocks.
Failed connections that cannot be recovered by rocks after 72 hours are silently closed.
EXAMPLES
Start a rocks-enabled sshd on host nob:
- nob# rock sshd
Start a new rocks-enabled shell, then ssh over rocks to nob:
% rock sh
% ssh nob
Start a rocks-enabled remote shell on a host ("oldskool") that does not have a rocks-enabled sshd:
- % rock -d ssh oldskool
FILES
SOURCE
See http://www.cs.wisc.edu/~zandy/rocks.
SEE ALSO
Rock loads code into the command process using LD_PRELOAD, which has its own limitations; see ld.so(8).
The ckpt checkpoint library is available at http://www.cs.wisc.edu/~zandy/ckpt.
Victor C. Zandy and Barton P. Miller. "Reliable Network Connections". ACM MobiCom'02, Atlanta, GA, 2002.
BUGS
Currently rocks only protect TCP connections.
Rocks are not firewall friendly.
Connection recovery does not succeed when both ends change IP address while disconnected (but note the -l option)
Rockd requires you to type your password twice.