At the same time, familiar distributed systems can be built using mobile code. Mobile code can make distributed systems adaptable to application needs. Rather than fixing the interface to a resource and the pattern of interaction with it, a minimal interface can be defined and code implementing higher-level interfaces placed alongside it as and when required. Sending code close to a resource can also reduce network usage because the point of interaction with it moves. Putting dormant mobile code in documents provides an alternative to holding knowledge of application functionality on a server machine or running arbitrary code on a client machine.
Mobile code helps to support user mobility.
Personalized environments that support state-saving can follow a user between computers. Heterogeneous state-saving allows a user's programs to be relocated between computers. By using a mobile code system with language support for state-saving, applications can direct arbitrary component migration without priming program servers with specific support. In summary, this dissertation supports the thesis that mobile code can be used to enhance distributed systems. Summer 1997, 11-18.