1. A method of improved management of a software-defined network, said network including a network controller and transmitting network traffic using one or more network protocols, the network including devices at least some of which receive network traffic through an ingress interface and transmit network traffic through an egress interface, the method comprising the steps of: setting up communication paths with an OpenFlow controller; receiving network metadata from a plurality of sources in a computing device, in at least one data format; processing said network metadata, in real time as it is received, while said network metadata is in transition on said network between a network device that generated said network metadata and a device that is able to store said network metadata to retrieve Open Systems Interconnection (OSI) layer 7-information therefrom; and determining as a result of said metadata processing step, information relating to applications operating on said network; deriving user identity information from user-identity-aware NetFlow messages; mapping the information relating to applications operating and the user identity information to a policy provided by a system administrator; determining a state of the software-defined network; determine if the applications operating and the user identify satisfy the policy; and rerouting network traffic around unauthorized network devices by the network controller if the policy is not satisfied, by modifying lower level packet forwarding decisions of the OpenFlow controller with the information relating to applications operating and the user identity information.