Application-defined networking (ADN) is a networking scenario in which applications have the ability to adapt network environments to meet their needs, rather than having resources allocated by the network.
The ADN model relies upon software-defined networking (SDN), which removes network control from hardware and implements it in software instead to enable dynamic management of network resources.
In an application-defined networking environment, applications would be coded for interconnection to network software and infrastructure through application-program interfaces (APIs). Administrators would prioritize applications and determine constraints and applications would dictate their resource requirements within those constraints to optimize application delivery.
App-aware networking is a related concept in which intelligent networks maintain information about application status and requirements to optimize application delivery, while still retaining control of resource allocation and configuration.