Safe and Efficient Active Network Programming
Résumé
Active networks are aimed at incorporating programmability into the network to achieve extensibility. An approach to obtaining extensibility is based on downloading router programs into network nodes. Although promising, this approach raises several critical issues: expressiveness to enable programmability at all levels of networking, safety and security to protect shared resources, and efficiency to maximize usage of bandwidth. This paper makes contributions to all three issues above. \begin{description} \item[Expressiveness.] We have extended PLAN, an active network language for diagnostics, so that the language can express {\em application protocols}. These extensions are illustrated with two protocols: adaptive compression and active bridging. \item[Safety and security.] To address these critical aspects, we give examples of properties of PLAN programs that can be {\em automatically} checked due to the use of a restricted language. \item[Efficiency.] We show that an automatically generated {\em run-time} compiler for PLAN and our extensions produces code with similar performance to an equivalent compiled Java program. Measurements are presented for an active bridge. \end{description}