next up previous
Next: Code and available operations Up: im99 Previous: Recursively partitioning networks

Loading application-specific code

One problem with giving fine-grain control over network resources is that because of the distributed nature of the interaction between client and Sandman, it takes a long time to do simple things such as setting up a connection across a large number of switches (each low-level switch connection request travels across the network). An elegant solution for this problem is to enable the application to push its own management and control policy (limited to resources owned by the application) into the MCA and have it interact locally with the low-level control operations (in our implementation this interaction is very fast as it takes place within the same address space).

In other words, we enable applications to program the network using dynamically loadable agents (DLAs). Note that this is different from what is commonly called active networks [#!Tennenhouse:96a!#] in the sense that it keeps a clear distinction between control and data path, while active networks are generally understood to interpret the packets on the data path.

Herbert Bos