{'fraction_non_alphanumeric': 0.024786324786324785, 'fraction_numerical': 0.0, 'mean_word_length': 5.364130434782608, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Review of SDN-Based Controller Placement Problem

Software Defined Networks (SDN) is a novel computing paradigm that decouples the control plane from the data plane. Its introduction has brought about great and innovative changes in the way the computer network is designed, managed, and operated. Currently, SDN architecture can be deployed with a single centralized controller or multiple controllers. However, deploying a single controller to manage a large area network such as wide area networks is ineffective and not ideal since network performance requirements and good quality of service can't be achieved. This challenge is solved by deploying multiple controllers to eliminate single-point-of-failure, controller overload, transmission delay, and so on. Despite these, multi-controllers deployments come with controller placement problem (CPP) and several approaches have been proposed and developed to address it. Therefore, this paper conducted a review of some of the CPP for SDN with a focus on capacitated and uncapacitated schemes. We analyzed the schemes, classified them, and provide few future research directions aimed at improving the CPP scheme.