• It becomes easier to program these applications since the abstractions provided by the control platform and/or the network programming languages can be shared.
• All applications can take advantage of the same network information (the global network view), leading (arguably) to more consistent and effective policy decisions while re-using control plane software modules.
• These applications can take actions (i.e., reconfigure forwarding devices) from any part of the network. There is therefore no need to devise a precise strategy about the location of the new functionality.
• The integration of different applications becomes more straightforward [29]. For instance, load balancing and routing applications can be combined sequentially, with load balancing decisions having precedence over routing policies.