Active networks allow individual user, or groups of users, to inject customized programs into the nodes of the network. "Active" architectures enable a massive increase in the complexity and customization of the computation that is performed within the network, e.g., that is inter-posed between the communicating end points.
We have identified many degrees of customization. The (extreme) case, in which we are most interested, replaces conventional packets with "active messages" that are executed at network routers/switches. These "packets" are analogous to Postscript fragments, which embed page contents within programs.
Architecturally, we are bumping up the level of abstraction at which inter-operability is achieved: today's routers support the agreed syntax and semantics of IP, e.g., they all perform "equivalent" computations; active switches execute many programs but must all support an "equivalent" and inter-operable computation model. Our approach moves control over network functionality (and innovation) to the end users, rather than the router vendors (or operators).
Our work is motivated by both technology "push" and user "pull". The "push" is the emergence of active technologies, compiled and interpreted, supporting the encapsulation, transfer, inter-position, and safe and efficient execution of program fragments. Today, active technologies are applied above the end-to-end network layer, e.g., to allow clients and servers to exchange fragments. Our innovation is to leverage and extend these technologies for use within the network -- in ways that will fundamentally change today's model of what is "in" the network.
The "pull" comes from the ad hoc collection of fire walls, web proxies, multicast routers, mobile proxies, video gateways, etc. -- that perform user-driven computation at nodes "within" the network. We are developing the architectural support and common programming platforms to support the diversity and dynamic deployment requirements of these "inter-posed" services.
Acknowledgments: This work has been heavily influenced by discussions with: Deborah Estrin (USC), Henry Fuchs (North Carolina), Butler Lampson (Digital / Microsoft), Paul Leach (Microsoft), Gary Minden (ARPA), Herb Schorr (ISI), Scott Shenker (Xerox), and Dave Sincoskie (Bellcore). It has also been made possible by the many researchers who have developed active technologies and the existing examples of inter-posed services.