Applying Mobile Code to Distributed Systems

Use of mobile code can make distributed systems and the abstractions they provide more exible to build and use. Richer functionality can be given to the interaction between processes by allowing code to be sent between them. More convenient, applicationlevel 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 xing the interface to a resource and the pattern of interaction with it, a minimal interface can be de ned and code implementing higherlevel interfaces placed alongside it as and when required. These higher-level interfaces can be application-speci c, allowing for interaction patterns that were unknown at 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 speci c support. In summary, this dissertation supports the thesis that mobile code can be used to enhance distributed systems. iii

[1]  E. Masterson,et al.  Summary , 1981, Vision Research.

[2]  James Gosling SunDew—a distributed and extensible window system , 1986 .

[3]  David K. Gifford,et al.  Implementing Remote Evaluation , 1990, IEEE Trans. Software Eng..

[4]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[5]  Peter Sapaty,et al.  An Overview of the WAVE Language and System for Distributed Processing in Open Networks , 1994 .

[6]  Jean Bacon,et al.  Using events to build distributed applications , 1995, Second International Workshop on Services in Distributed and Networked Environments.

[7]  George Almási,et al.  Web*-a technology to make information available on the Web , 1995, Proceedings 4th IEEE Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE '95).

[8]  Pierre Weis,et al.  Bigloo: A Portable and Optimizing Compiler for Strict Functional Languages , 1995, SAS.

[9]  Monica Wachowicz,et al.  Combining Location and Data Management in an Environment for Total Mobility , 1996 .

[10]  Joel H. Saltz,et al.  Sumatra: A Language for Resource-Aware Mobile Programs , 1996, Mobile Object Systems.

[11]  Luca Cardelli,et al.  Obliq, a language with distributed scope , 1996 .

[12]  William M. Farmer,et al.  Security for Mobile Agents: Issues and Requirements , 1996 .

[13]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[14]  Bala Rajagopalan Mobility management in integrated wireless-ATM networks , 1996, Mob. Networks Appl..

[15]  Jean Bacon,et al.  A Framework to Support Mobile Users of Multimedia Applications , 1996, Mob. Networks Appl..

[16]  JEAN BACON,et al.  Location-oriented multimedia , 1997, IEEE Wirel. Commun..

[17]  Silvano Gai,et al.  Exploiting Code Mobility in Decentralized and Flexible Network Management , 1997, Mobile Agents.

[18]  Andy Hopper,et al.  An ATM based protocol for Wireless LANs , 1997 .

[19]  Holger Peine,et al.  The Architecture of the Ara Platform for Mobile Agents , 1999, Mobile Agents.

[20]  John K. Ousterhout,et al.  Scripting: Higher-Level Programming for the 21st Century , 1998, Computer.

[21]  David Halls,et al.  Controlling the Tempest: adaptive management in advanced ATM control architectures , 1998, IEEE J. Sel. Areas Commun..

[22]  Eugenia Kovatcheva How to Find Anything on The Internet , 1999 .