Adding programmability to the interior of the network provides an infrastru
cture for distributed applications. Specifically, network management (NM) a
nd control applications require access to and control of network device sta
te. For example, a routing load balancing application may require access to
the routing table, and a congestion avoidance application may require inte
rface congestion information. There are fundamental problems associated wit
h this interaction that are apparent in current technologies. In this paper
, the basic tradeoffs associated with the interaction between an active pro
cess and its environment and presenting ABLE++ as an example architecture i
s studied. Most notably, two design tradeoffs, efficient vs. abstraction an
d application flexibility vs. security are explored. The advantages of the
architecture by implementing a congestion avoidance algorithm are demonstra
ted. (C) 2001 Published by Elsevier Science B.V.