SwitchWare: Accelerating Network Evolution (White Paper)

We propose the development of a set of software technologies ("SwitchWare") which will enable rapid development and deployment of new network services. The key insight is that by making the basic network service selectable on a per user (or even per packet) basis, the need for formal standardization is eliminated. Additionally, by making the basic network service programmable, the deployment times, today constrained by capital funding limitations, are tremendously reduced (to the order of software distribution times). Finally, by constructing an advanced, robust programming environment, even the service development time can be reduced. A SwitchWare switch consists of input and output ports controlled by a software-programmable element; programs are contained in sequences of messages sent to the SwitchWare switch's input ports, which interpret the messages as programs. We call these "Switchlets". This accelerates the pace of network evolution, as evolving user needs can be immediately reflected in the network infrastructure. Immediate reconfigurability enhances the adaptability of the network infrastructure in the face of unexpected situations. We call a network built from SwitchWare switches an active network.

[1]  R. F. Rey,et al.  Engineering and Operations in the Bell System , 1983 .

[2]  Robin Milner,et al.  Definition of standard ML , 1990 .

[3]  Eugene H. Spafford,et al.  The internet worm: crisis and aftermath , 1989 .

[4]  Chandler Brendan Stanton Traw Applying architectural parallelism in high-performance network subsystems , 1995 .

[5]  Ruzena Bajcsy,et al.  Gigabit Telerobotics: Applying Advanced Information Infrastructure , 1993 .

[6]  Larry L. Peterson,et al.  Experiences with a high-speed network adaptor: a software perspective , 1994 .

[7]  Edoardo Biagioni A Structured TCP in Standard ML , 1994, SIGCOMM.

[8]  Dan S. Wallach,et al.  Security Flaws in the HotJava Web Browser , 1995 .

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

[10]  Jonathan M. Smith,et al.  Striping within the network subsystem , 1995, IEEE Netw..

[11]  Peter Lee,et al.  Optimizing ML with run-time code generation , 1996, PLDI '96.

[12]  R. E. Anderson,et al.  The 3B20D Processor & DMERT operating system: Overview, architecture and performance of DMERT , 1983, The Bell System Technical Journal.

[13]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[14]  H Lycklama,et al.  The MERT operating system , 1986 .

[15]  John F. Shoch,et al.  The “worm” programs—early experience with a distributed computation , 1982, CACM.

[16]  Scott Nettles,et al.  Real-time replication garbage collection , 1993, PLDI '93.

[17]  Roger M. Needham,et al.  Denial of service: an example , 1994, CACM.

[18]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[19]  Bruce G. Lindsay,et al.  Object Migration and Authentication , 1979, IEEE Transactions on Software Engineering.

[20]  Adobe Press,et al.  PostScript Language Reference Manual , 1985 .

[21]  Yvo Desmedt,et al.  Defending systems against viruses through cryptographic authentication , 1989, Proceedings. 1989 IEEE Symposium on Security and Privacy.

[22]  Nathaniel S. Borenstein,et al.  Computational mail as network infrastructure for computer-supported cooperative work , 1992, CSCW '92.

[23]  J. H. Campbell,et al.  The 3B20D Processor & DMERT operating system: DMERT operating system , 1983, The Bell System Technical Journal.

[24]  Peter Druschel,et al.  Experiences with a high-speed network adaptor: a software perspective , 1994, SIGCOMM 1994.

[25]  Maria M. Pozzo,et al.  A Model for the Containment of Computer Viruses , 1986 .

[26]  Roger M. Needham,et al.  Using encryption for authentication in large networks of computers , 1978, CACM.