Safe and efficient active network programming

Active networks are aimed at incorporating programmability into the network to achieve extensibility. One approach to obtaining extensibility is to download router programs into network nodes. This programmability is critical to allow multipoint distributed systems to adapt to network conditions and individual clients' needs. Although promising, this approach raises critical issues such as safety to achieve reliability despite the complexity of a distributed system, security to protect shared resources, and efficiency to maximize usage of bandwidth. This paper proposes the use of a domain-specific language, PLAN-P, to address all of the above issues. To address safety and security, we give examples of properties of PLAN-P programs that can be automatically checked due to the use of a restricted language. For efficiency, we show that an automatically generated run-time compiler for PLAN-P produces code which outperforms an equivalent compiled Java program. Additionally, we present performance results on a real application (learning bridge) where we obtain 100% of the maximum possible throughput.

[1]  Calton Pu,et al.  Fast, optimized Sun RPC using automatic program specialization , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[2]  Charles Consel,et al.  A general approach for run-time specialization and its application to C , 1996, POPL '96.

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

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

[5]  Gilles Muller,et al.  Scaling up partial evaluation for optimizing the Sun commercial RPC protocol , 1997, PEPM.

[6]  David L. Tennenhouse,et al.  The ACTIVE IP option , 1996, EW 7.

[7]  Jacques Noyé,et al.  A Uniform Approach for Compile-Time and Run-Time Specialization , 1996, Dagstuhl Seminar on Partial Evaluation.

[8]  Carl A. Gunter,et al.  PLAN : A Programming Language for Active Networkssubmitted to PLDI ' 98 , 1998 .

[9]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

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

[11]  Dawson R. Engler,et al.  tcc: a system for fast, flexible, and high-level dynamic code generation , 1997, PLDI '97.

[12]  Charles Consel,et al.  Tempo: specializing systems applications and beyond , 1998, CSUR.

[13]  Charles Consel,et al.  Domain-Specific Languages: From Design to Implementation Application to Video Device Drivers Generation , 1999, IEEE Trans. Software Eng..

[14]  Charles Consel,et al.  Harissa: A Flexible and Efficient Java Environment Mixing Bytecode and Compiled Code , 1997, COOTS.

[15]  Charles Consel,et al.  A Domain Specific Language for Video Device Drivers: From Design to Implementation , 1997, DSL.

[16]  George C. Necula,et al.  Safe kernel extensions without run-time checking , 1996, OSDI '96.

[17]  Charles Consel,et al.  A framework for application generator design , 1997, SSR '97.

[18]  J. Christopher Ramming,et al.  Programming the Web: An Application-Oriented Language for Hypermedia Service Programming , 1996, World Wide Web journal.