and know for a fact that the entire system runs over an OS. What does an OS do? It provides an interface between the hardware of the system and the user applications thus making it convenient to talk to the hardware in human terms. Well, to be extremely precise OS's main building block is kernel. So, to go down in the abstraction level Controller is the kernel for os and os for the computer system. Let's not get side-tracked, coming back to the topic. By taking the control plane off the network hardware and running the software instead, the controller facilitates automated network management and eases the process to integrate and administer business applications. For a lucid view of the SDN architecture, look at the Figure 1 and focus on the position of the controller. For now, forget about the Agents or drivers. The controller is the central entity responsible for taking in the requirements from SDN application layer a.k.a Northbound Interface down to SDN data path and providing Application Layer with an abstract view of the system. A lot of technical terms? No problem. Let's decompose it in very simple terms. Downloaded 4/15/2022 9:44:49 AM Nova Southeastern University IP Address: 137.52.76.29 The Heart and Brain of SDN Figure 1. Layer-wise architecture of SDN (overview) Application layer Business Application Business Application Northbound API Control Control Network Services layer Software Controller Platform South bound API Control Datas Plane Interface (eg. Open flow) Network Network Network Infrastructure layer Switch Switch Network Switch A controller sits in between the 2 layers of the SDN system. It takes the input from upper layer, does the processing in the lower layer, and passes the result back to the upper layer. The northbound or southbound interface conceptualize the lower level details which primarily includes data or any functions. Normally northbound interface is drawn at the top and southbound in the bottom. They are generic terms and can be used over all layers of computer systems. FUNCTIONS