1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
ROCK(1) ROCK(1)
NNAAMMEE
rock, rockd - run a program over reliable sockets
SSYYNNOOPPSSIISS
rroocckk [ --kk ] [ --ll ] [ --dd [ uusseerr ] ] _c_o_m_m_a_n_d [ _a_r_g _._._. ]
DDEESSCCRRIIPPTTIIOONN
Rock runs the specified command over reliable sockets
(rocks), protecting from failure the network connections
created by the command process and its children. Recover-
able 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 communi-
cates with rock-enabled remote peers. Connections with
ordinary peers, those that do not support rocks, silently
revert to ordinary socket behavior.
The --dd option enables reliable socket connections to ordi-
nary 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 $$UUSSEERR or
uusseerr. Use of this option is currently limited to the com-
mands ssh and scp.
The --kk option also loads the ckpt checkpoint library in
the process.
The --ll 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.
EEXXAAMMPPLLEESS
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
FFIILLEESS
lliibbrroocckkss..ssoo
Dynamic library loaded into the command process and
its children. It must be in the LLDD__LLIIBBRRAARRYY__PPAATTHH
(see _l_d_._s_o(8)) of the command or in the
IINNSSTTAALLLL__LLIIBB__DDIIRR set when rock was compiled.
SSOOUURRCCEE
See hhttttpp::////wwwwww..ccss..wwiisscc..eedduu//~~zzaannddyy//rroocckkss.
SSEEEE AALLSSOO
Rock loads code into the command process using LLDD__PPRREELLOOAADD,
which has its own limitations; see _l_d_._s_o(8).
The ckpt checkpoint library is available at
hhttttpp::////wwwwww..ccss..wwiisscc..eedduu//~~zzaannddyy//cckkpptt.
Victor C. Zandy and Barton P. Miller. "Reliable Network
Connections". ACM MobiCom'02, Atlanta, GA, 2002.
BBUUGGSS
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 --ll option)
Rockd requires you to type your password twice.
ROCK(1)
|