Bowman: a node OS for active networks

Bowman is an extensible platform for active networking: it layers active networking functionality in user space software over variants of the System V UNIX operating system. The packet processing path implemented in Bowman incorporates an efficient and flexible packet classification algorithm, supports multi-threaded per-flow processing, and utilizes real time processor scheduling to achieve deterministic performance in the user-space. In this paper we describe the design and implementation of Bowman; discuss the support that Bowman provides for implementing execution environments for active networking; discuss the network-level architecture of Bowman that can be used to implement virtual networks; and present performance data showing that Bowman is able to sustain 100 Mbps throughput while forwarding IP packets over fast Ethernets.

[1]  Larry L. Peterson,et al.  OS support for general-purpose routers , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[2]  Kenneth L. Calvert,et al.  Directions in active networks , 1998 .

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

[4]  Working Group Architectural Framework for Active Networks , 1998 .

[5]  Larry L. Peterson,et al.  PathFinder: A Pattern-Based Packet Classifier , 1994, OSDI.

[6]  Larry Peterson,et al.  Design of the x -kernel , 1988, SIGCOMM 1988.

[7]  Venkatachary Srinivasan,et al.  Packet classification using tuple space search , 1999, SIGCOMM '99.

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

[9]  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).

[10]  Bernhard Plattner,et al.  Router plugins: a software architecture for next generation routers , 1998, SIGCOMM '98.

[11]  Larry L. Peterson,et al.  Design of the x-kernel , 1988, SIGCOMM '88.

[12]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[13]  Ieee Standards Board System application program interface (API) (C language) , 1990 .

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

[15]  Dan Decasper A software architecture for next generation routers , 1998, SIGCOMM 1998.

[16]  NodeOS Interface Specification , 2001 .