Mathematica permits the front end to connect to a Mathematica kernel running on a remote machine. This allows for running the front end and the kernel on different platforms, which is a common scenario for gridMathematica installations, where the front end runs under Windows and the gridMathematica kernels run under Linux or a UNIX variant. With Mathematica 6 it has become considerably more difficult to connect to a remote kernel because the new dynamic interactivity features have made the connection establishment between front end and kernel more complex. The talk gives an overview of the connection establishment process between a Mathematica 6 front end and kernel and discusses how network configuration issues like firewalls, NAT (network address translation) and IP Multihoming complicate that process.
MathLink is the communication protocol used for transporting data between the front and the kernel. MathLink relies on a third party mechanism such as RSH (Remote Shell) or SSH (Secure Shell) for launching a Mathematica kernel on a remote machine. The talk introduces a small Mathematica package named Tunnel which consists of a kernel initialization file and a few batch scripts that let the user quickly set up a remote kernel in the front end. The package simplifies the process of launching a remote kernel via SSH and takes care of tunneling all the communication links between the front end and the kernel over the secure shell TCP port 22. The free package is available for Windows, Mac OS X, and Linux.