Skip to Main Content
In the context of realizing service deployment on high performance active nodes, we address the problem of installing and configuring software components in complex, heterogeneous node environments. Service deployment is difficult on high-performance nodes due to their complex architectures. They are often based on multiprocessors and run service components in multiple concurrent execution environments. Many types of execution environments have been developed each of which is usually optimized for a certain type of tasks. Advanced active nodes provide more than one to support the whole spectrum of services. Also, different types of active nodes usually support different sets of execution environments. All this motivates us to develop a service deployment scheme that can cope with heterogeneous active nodes. This paper presents our approach to this problem, called Chameleon. It has two important aspects. First, the service model we propose is based on components with two types of interfaces - a data flow interface for programming packet flows and a control interface for controlling and managing the service components. A service is structured as an arbitrary tree of such components. Second, the service specification is independent of any particular node architecture. During the service deployment phase, the service specification is resolved recursively on each node offering the service and is driven by node-specific parameters. The result of this resolution is a tree of service components, which can differ among different types of nodes. Our solution allows a service to take full advantage of specific node features, such as those related to performance or security. This paper advocates a service model that is specialized for active networking. We base the model on two basic abstractions, namely composable containers and connectors.