1. A system for providing a thinking Diameter network architecture, the system comprising: a network event listener configured to receive information about network events and to generate a real time or predictive view of network conditions; and a policy directed software defined network (SDN) controller configured to, based on the real time or predictive view of network conditions, issue SDN commands to route Internet protocol (IP) network flows to needed network elements and to instruct dynamically configurable network elements instantiate Diameter resource instances or to allocate hardware among existing Diameter resource instances.