The advent of high bandwidth fibre optic links that may be used over very large distances
has lead to much research and development in the field of wide area gigabit networking. One
problem that needs to be addressed is how loosely coupled distributed systems may be built over
these links, allowing many computers worldwide to take part in complex calculations in order
to solve "Grand Challenge" problems. The research conducted as part of this PhD has looked
at the practicality of implementing a communication mechanism proposed by Craig Partridge
called Late-binding Remote Procedure Calls (LbRPC).
LbRPC is intended to export both code and data over the network to remote machines for
evaluation, as opposed to traditional RPC mechanisms that only send parameters to pre-existing
remote procedures. The ability to send code as well as data means that LbRPC requests can
overcome one of the biggest problems in Wide Area Distributed Computer Systems (WADCS):
the fixed latency due to the speed of light. As machines get faster, the fixed multi-millisecond
round trip delay equates to ever increasing numbers of CPU cycles. For a WADCS to be
efficient, programs should minimise the number of network transits they incur. By allowing the
application programmer to export arbitrary code to the remote machine, this may be achieved.
This research has looked at the feasibility of supporting secure exportation of arbitrary
code and data in heterogeneous, loosely coupled, distributed computing environments. It has
investigated techniques for making placement decisions for the code in cases where there are a
large number of widely dispersed remote servers that could be used. The latter has resulted in
the development of a novel prototype LbRPC using multicast IP for implicit placement and a
sequenced, multi-packet saturation multicast transport protocol. These prototypes show that
it is possible to export code and data to multiple remote hosts, thereby removing the need to
perform complex and error prone explicit process placement decisions.