Paper Title
Software-Defined Networking: Architecture, Challenges and the Controller Placement Problem

Abstract
Traditional networks are being pushed to their limits by the growth of cloud computing, social media and mobile devices. The decision making ability of the network is distributed among the various network devices. This makes it extremely difficult to scale or introduce a new network device because it requires reconfiguring a number of existing network devices. This inflexible structure of traditional networks makes it difficult for administrators to meet dynamic client requirements, sometimes forcing them to deploy complex network management structures. Software-defined networking separates the control plane from the data forwarding plane of the network. The goal of software-defined network architecture is to enable network administrators to meet quickly to varying business requirements. However, implementing the control plane of a software-defined network comes with its own difficulties. One of the problems is the placement of the controller devices in the network. In this paper, we first review the essentials of a software-defined networking architecture. Then, we present the challenges in implementing a software-defined network. We finally elaborate on the different solutions to the controller placement problem. Different works based on network flow latency, reliability and resilience, deployment costs and energy consumption have already been proposed. Keywords – Software-Defined Networking, Controller Placement Problem, SDN Challenges