Section described how applications can push DLAs into their local MCA, while section showed how multiple MCAs can cooperate without suffering from functionality degradation. All this, however, is not sufficient for implementing truly global application-specific policies. In the interaction between domains, we have so far only been able to use the basic operations of the MCA. In other words, we may have been able to prevent functionality degradation, but we still haven't enabled clients to implement their own functionality upgrades across multiple domains.
For example, assume that two Sandman domains are interconnected (possibly via other domains) and that they both contain a topology as shown in Figure . Also assume that the link that used to be connected to client C2 in the first domain (Sandman-1) instead is connected to the link that used to be connected to client C0 in the second domain (Sandman-2), so that topology-wise we have two interconnected crosses. Now suppose that we want to extend the operations of the simple application of the first paragraph of section to interact with the second domain as well, in such a way that whenever in Sandman-1 it is L2's turn to become the source (according to the simple application), the next endpoint in Sandman-2 is made source and when L2 in Sandman is sink, all data coming over the link is multicast to all endpoints in Sandman-2. Such a multi-domain application could be easily implemented if we could distribute our application-specific code over the two domains. We will now show a simple way of doing this.
We will first look at a property of DLAs which enables policies to spread over or migrate through a network. After that we will briefly look at operations that support migrated or replicated policies that have no knowledge about their new local domain. Finally, we will discuss very briefly an example to demonstrate the usefulness of global policies.