Active Networking Means Evolution (or Enhanced Extensibility Required)

A primary goal of active networking is to increase the pace of network evolution. Evolution is typically achieved via extensibility; that is, typical active network implementations provide an interface to extend network nodes withdyna mically loaded code. Most implementations employ plug-in extensibility, a technique for loading code characterized by a concrete, pre-defined abstraction of future change. While flexible and convenient, we argue that plug-in extensibility alone is not sufficient for true network evolution. Instead, we propose dynamic software updating, a technique that reduces the a priori assumptions of plug-in extensibility, improving flexibility and eliminating the need to pre-plan extensions. However, this additional flexibility creates issues involving validity and security. We discuss these issues, and describe the state-of-the-art in systems that support dynamic software updating, thus framing the problem for researchers developing next-generation active networks.

[1]  Joe Armstrong,et al.  Concurrent programming in ERLANG , 1993 .

[2]  Ophir Frieder,et al.  On-the-fly program modification: systems for dynamic updating , 1993, IEEE Software.

[3]  Deepak Gupta,et al.  On Line Software Version Change , 1994 .

[4]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

[5]  Sushil da Silva,et al.  TOWARDS PROGRAMMABLE NETWORKS , 1996 .

[6]  Marianne Shaw,et al.  Active bridging , 1997, SIGCOMM '97.

[7]  Lixia Zhang,et al.  Resource ReSerVation Protocol (RSVP) - Version 1 Functional Specification , 1997, RFC.

[8]  Carl A. Gunter,et al.  PLAN: a packet language for active networks , 1998, ICFP '98.

[9]  John V. Guttag,et al.  ANTS: a toolkit for building and dynamically deploying network protocols , 1998, 1998 IEEE Open Architectures and Network Programming.

[10]  Jonathan M. Smith,et al.  Alien: a generalized computing model of active networks , 1998 .

[11]  Robert Gray,et al.  Dynamic C++ Classes - A Lightweight Mechanism to Update Code in a Running Program , 1998, USENIX Annual Technical Conference.

[12]  Kenneth L. Calvert,et al.  Bowman and CANEs: Implementation of an Active Network , 1999 .

[13]  Yuval Shavitt,et al.  An Active Network Approach to Efficient Network Management , 1999, IWAN.

[14]  Stephen J. Garland,et al.  PAN: a high-performance active network node supporting multiple mobile code systems , 1999, 1999 IEEE Second Conference on Open Architectures and Network Programming. Proceedings. OPENARCH '99 (Cat. No.99EX252).

[15]  Carl A. Gunter,et al.  PLANet: an active internetwork , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[16]  R. D. Rockwell,et al.  Smart Packets for active networks , 1999, 1999 IEEE Second Conference on Open Architectures and Network Programming. Proceedings. OPENARCH '99 (Cat. No.99EX252).

[17]  Stefan Covaci Proceedings of the First International Working Conference on Active Networks , 1999 .

[18]  Angelos D. Keromytis,et al.  A secure PLAN , 1999, IEEE Trans. Syst. Man Cybern. Part C.

[19]  MorrisettGreg,et al.  From system F to typed assembly language , 1999 .

[20]  Karl Crary,et al.  Safe and Flexible Dynamic Linking of Native Code , 2000, Types in Compilation.

[21]  Scott Nettles,et al.  Dynamic software updating , 2001, PLDI '01.

[22]  Damien Doligez,et al.  The Objective Caml system release 2.04 , 2002 .