Department of Computer Science and Technology

Technical reports

Applying mobile code to distributed systems

David A. Halls

December 1997, 158 pages

This technical report is based on a dissertation submitted June 1997 by the author for the degree of Doctor of Philosophy to the University of Cambridge.



Use of mobile code can make distributed systems and the abstractions they provide more flexible to build and use.

Richer functionality can be given to the interaction between processes by allowing code to be sent between them. More convenient, application level operations can be made over a network. By making higher order language features transmissible, distributed components can be tightly bound together when they communicate. 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. These higher level interfaces can be application specific, allowing for interaction patterns that were unknownat the time the resource was made available. Sending code close to a resource can also reduce network usage because the point of interaction with it moves.

The combination of document markup supporting hypertext and a language supporting state-saving allows for stateful client-server sessions with stateless servers and lightweight clients. 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. Personalised 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.

Full text

PDF (14.3 MB)

BibTeX record

  author =	 {Halls, David A.},
  title = 	 {{Applying mobile code to distributed systems}},
  year = 	 1997,
  month = 	 dec,
  url = 	 {},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-439},
  number = 	 {UCAM-CL-TR-439}