Thanks for the great question. Software Defined Networking is the industry term for IT networking that is enabled not by traditional 'closed' switches and routers but instead by a more open approach, typically software that is deployed on standard x86 server hardware. The goal is to increase the programability of networking resources by applications or intelligence further up the solution stack, while reducing overall cost. ACI or Application Centric Infrastructure is Cisco's own approach to SDN as well as the software-defined data center in general. If you look at thier ACI webpages, you can see that with Cisco ACI, they intend to deliver the 'speed and agility', 'flexibility', policy-based management, and 'programmability' that customers want from SDN, but through the use of thier new APIC software running on Cisco Nexus 9000 switch hardware.