ARP Project

The ASP EE

The ARP project is developing the ASP Execution Environment (ASP EE), where "ASP" stands for Active Signaling Protocol. The ASP EE is essentially a user-mode operating system, providing services and resources to the active applications (AAs) executing within it.  The services provided to AAs by the ASP EE are defined by the Protocol Programming Interface (PPI).

Like the AAs, the ASP EE is written in Java.  It does not use the capsule model, but instead fetches AA code out of band from the flow of active packets.

With the introduction of programmable routers, we expect the rapid proliferation of active control programs, because new functions will be introduced and also because there be multiple versions of important services. Multiple versions will result from customization of features as well as from the normal software upgrade cycle. New versions may be introduced by a network manager or by particular users; user-provided software of course raises much more difficult problems of protecting the node and network from errors or evil.  Therefore, important objectives of the ASP EE are to support ,dynamic loading of new versions upon demand from protocol packets, while sharing common byte code to reduce the memory footprint.

Security and isolation are important issues in the design of the ASP EE.  Different AAs executing within the EE are effectively isolated, and the standard Java `sand-boxing' severely restricts the mischief that an AA can cause.  We believe that we will ultimately be able to allow arbitrary AAs to be executed within the ASP EE.

The ASP EE is compatible with the ABone and deployed as a permanent EE in a group of ABone nodes.