N. Wakamiya et al. (Eds.): IWAN 2003, LNCS 2982, pp. 137-150, 2004.
© IFIP International Federation for Information Processing 2004
Self-Configuring Active Services for Programmable
Networks
Ralph Keller and Bernhard Plattner
Computer Engineering and Networks Laboratory
Swiss Federal Institute of Technology, Switzerland
{keller | plattner}@tik.ee.ethz.ch
Abstract. This paper presents a service framework that allows routers to be
programmed with user-specific code and coordinated such that the underlying
network provides anticipated network services on behalf of applications. We
describe how network services can be composed based on a high-level
specification defining required and conditional processing steps, how
capabilities about processing resources can be disseminated throughout the
network by extending the OSPF protocol daemon, how services requirements
are mapped onto the underlying network while minimizing both link and
processing costs, and how service code is installed on selected nodes and
forwarding state established along explicitly routed paths.
Keywords: Active networks, service specification, resource discovery, self-
configuration, service deployment.
1 Introduction
During the last decades the original Internet architecture evolved dramatically with
new functionality being added to the network layer to support a wide range of
emerging applications. Network services such as firewalls, congestion control, media
gateways, and traffic engineering all require a network that not only forwards packets
based on the destination address, but also performs packet processing on nodes
interior to the network. As a reaction to such application-specific packet handling
requirements, router manufacturers have started to embed programmable elements
into routers with the objective of providing network services in a more flexible way.
However, deploying new services is usually a manual and time consuming process,
requiring the installation of code on multiple routers distributed all over the network.
Given the complexity of how services can be composed, the only feasible approach is
to automate this process.
In this work we present a services infrastructure that allows router resources to be
programmed and coordinated such that the underlying network provides anticipated
services on behalf of applications. We have implemented the active network control
software (ANCS) that offers a generic service abstraction and automates the
configuration of processing resources to form network services. Our system accepts
processing demands from applications based on a high-level service description,