Liquid Software: A New Paradigm for Networked Systems

This paper introduces the idea of dynamically moving functionality in a network-between clients and servers, and between hosts at the edge of the network and nodes inside the network. At the heart of moving functionality is the ability to support mobile code-code that is not tied to any single machine, but instead can easily move from one machine to another. Mobile code has been studied mostly for application-level code. This paper explores its use for all facets of the network, and in a much more general way. Issues of efficiency, interface design, security, and resource allocation, among others, are addressed. We use the term liquid software to describe the complete picture-liquid software is an entire infrastructure for dynamically moving functionality throughout a network. We expect liquid software to enble new paradigms, such as active networks that allow users and applications to customize the network by interjecting code into it.

[1]  Peter B. Danzig,et al.  The Harvest Information Discovery and Access System , 1995, Comput. Networks ISDN Syst..

[2]  M. Anton Ertl,et al.  Stack caching for interpreters , 1995, PLDI '95.

[3]  Gerhard Fischer,et al.  Information access in complex, poorly structured information spaces , 1991, CHI '91.

[4]  Todd A. Proebsting Optimizing an ANSI C interpreter with superoperators , 1995, POPL '95.

[5]  Paul Klint,et al.  Interpretation Techniques , 1981, Softw. Pract. Exp..

[6]  Larry L. Peterson,et al.  Scout: a communications-oriented operating system , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[7]  Peter Lee,et al.  Lightweight Run-Time Code Generation , 1994, PEPM.

[8]  Bart Selman,et al.  Agent Amplified Communication , 1996, AAAI/IAAI, Vol. 1.

[9]  Dawson R. Engler,et al.  VCODE: a retargetable, extensible, very fast dynamic code generation system , 1996, PLDI '96.

[10]  Todd A. Proebsting,et al.  USC: a universal stub compiler , 1994, SIGCOMM 1994.

[11]  Thomas Pittman Two-level hybrid interpreter/native code execution for combined space-time program efficiency , 1987, PLDI.

[12]  Norman Ramsey,et al.  The New Jersey Machine-Code Toolkit , 1995, USENIX.

[13]  Dawson R. Engler,et al.  DCG: an efficient, retargetable dynamic code generation system , 1994, ASPLOS VI.

[14]  Udi Manber,et al.  GLIMPSE: A Tool to Search Through Entire File Systems , 1994, USENIX Winter.

[15]  Oren Etzioni,et al.  Multi-Service Search and Comparison Using the MetaCrawler , 1995 .

[16]  Todd A. Proebsting,et al.  USC: A Universal Stub Compiler , 1994, SIGCOMM.

[17]  Michael Steffen Oliver Franz,et al.  Code_generation On_the_fly: a Key to Portable Software , 1994 .

[18]  Michael D. Kupfer Sprite on Mach , 1993, USENIX MACH Symposium.

[19]  Todd A. Proebsting BURS automata generation , 1995, TOPL.

[20]  Oren Etzioni,et al.  Multi-Engine Search and Comparison Using the MetaCrawler , 1995, World Wide Web J..

[21]  Gio Wiederhold,et al.  Mediators in the architecture of future information systems , 1992, Computer.