Our work is motivated by both technology push and user pull. 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 suport and common programming platforms to support the diversity and dynamic deployment requirements of these inter-posed services.
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, these 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".
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. In contrast, active nodes perform many different computations but must all support an equivalent and inter-operable computational model.
David L. Tennenhouse is a Principal Research Scientist at MIT's Laboratory of Computer Science and Sloan School of Management. He is the leader of the Telemedia, Networks and Systems Group, which is addressing `systems' issues arising at the boundaries between telecommunications and distributed computing. David has a B.A.Sc. and an M.A.Sc in Electrical Engineering from the University of Toronto and Ph.D. from the University of Cambridge.