Mobile code makes it easier to maintain, debug, update, and customize a sys
tem. Active networks are one of the more interesting applications of mobile
code: code Is injected into the nodes of a network to customize the networ
k's functionality, such as routing, and to add new features, such as specia
l-purpose congestion control and filtering algorithms. The challenge is to
develop a communication-oriented platform for such systems, We refer to mob
ile code targeted at low-level, communication-oriented systems like active
networks as liquid software, the key distinction being that liquid software
is focused on the efficient transfer of data, not high-performance computa
tion. To this end, we have designed and implemented Joust, which consists o
f a complete re-implementation of the Java virtual machine (including both
the runtime system and a just-in-time compiler), running on the Scout opera
ting system (a configurable, communication-oriented OS). The result is a co
nfigurable, high-performance platform for running liquid software. We prese
nt the results of implementing two different applications of liquid softwar
e on Joust, including a prototype architecture for active networks. Copyrig
ht (C) 2000 John Wiley & Sons, Ltd.