Snow on silk: Layering NodeOS functionality on conventional operating systems

Transferring active networking technology from the research arena to everyday deployment on desktop and edge router nodes, requires a NodeOS design that simultaneously meets three goals: (1) be embedded within a wide-spread, open source operating system; (2) allow non-active applications and regular operating system operation to proceed in a regular manner, unhindered by the active networking component; (3) offer performance competitive with that of networking stacks of general purpose operating systems. Previous NodeOS systems, Bowman, Janos, AMP and Scout, only partially addressed these goals. Our contribution lies in the design and implementation of such a system, a NodeOS within the Linux kernel, and the demonstration of competitive performance for medium and larger packet sizes. The underlying approach to our NodeOS design is to provide a mapping from the existing system components and interfaces, to ones we architected for incorporating the active networking functionality. We also illustrate how such an interface-focused design easily renders to the deployment of other networking architectures, such as peer-to-peer networks and extensible routers.

[1]  David E. Culler,et al.  A blueprint for introducing disruptive technology into the Internet , 2003, CCRV.

[2]  Robert N. M. Watson,et al.  Strong security for active networks , 2001, 2001 IEEE Open Architectures and Network Programming Proceedings. OPENARCH 2001 (Cat. No.01EX484).

[3]  Miguel Castro,et al.  SCRIBE: The Design of a Large-Scale Event Notification Infrastructure , 2001, Networked Group Communication.

[4]  Scott Nettles,et al.  Practical programmable packets , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[5]  Hilarie K. Orman,et al.  Activating Networks: A Progress Report , 1999, Computer.

[6]  Ellen W. Zegura,et al.  Bowman: a node OS for active networks , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[7]  Mike Hibler,et al.  Janos: a Java-oriented OS for active network nodes , 2001, IEEE J. Sel. Areas Commun..

[8]  Stephen Schwab,et al.  AMP: experiences with building an exokernel-based platform for active networking , 2002, Proceedings DARPA Active Networks Conference and Exposition.

[9]  Larry L. Peterson,et al.  Scheduling computations on a software-based router , 2001, SIGMETRICS '01.

[10]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[11]  Larry L. Peterson,et al.  Making paths explicit in the Scout operating system , 1996, OSDI '96.

[12]  Antony I. T. Rowstron,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001, SOSP.

[13]  Mike Hibler,et al.  An OS interface for active routers , 2001, IEEE J. Sel. Areas Commun..

[14]  Akihiro Nakao,et al.  Extensible routers for active networks , 2002, Proceedings DARPA Active Networks Conference and Exposition.

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

[16]  Robert Braden,et al.  The ASP EE: an active network execution environment , 2002, Proceedings DARPA Active Networks Conference and Exposition.

[17]  Robert Grimm,et al.  Application performance and flexibility on exokernel systems , 1997, SOSP.

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

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

[20]  David Wetherall,et al.  Active network vision and reality: lessions from a capsule-based system , 1999, SOSP.

[21]  Yitzchak M. Gottlieb,et al.  Snow on Silk: A NodeOS in the Linux Kernel , 2002, IWAN.

[22]  Larry L. Peterson,et al.  VERA: an extensible router architecture , 2002, Comput. Networks.

[23]  James P. G. Sterbenz,et al.  Active network monitoring and control: the SENCOMM architecture and implementation , 2002, Proceedings DARPA Active Networks Conference and Exposition.

[24]  Thiemo Voigt,et al.  SILK: Scout Paths in the Linux Kernel , 2001 .

[25]  Jay Lepreau,et al.  The Flux OSKit: a substrate for kernel and language research , 1997, SOSP.