{'fraction_non_alphanumeric': 0.02385685884691849, 'fraction_numerical': 0.0, 'mean_word_length': 6.05607476635514, '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}}
Enabling high-level network programming: A northbound API for Software-Defined Networks

Software-Defined Networking (SDN) is a new paradigm that is attracting significant attention from both academy and industry. In recent years, increasing research efforts have addressed the conception of programming interfaces—northbound APIs—which allow business-applications to properly communicate with SDN controllers and program the network. However, most of current SDN controllers still offer low-level northbound interfaces based on the OpenFlow protocol, which incurs an undesirable but common coupling between network application and controller's code. As software developers often have to insert intricate controller-specific instructions directly into the application's code, this dramatically impairs its reusability and maintainability. In this paper, we propose an open northbound API that enables streaming video applications to easily enforce Quality of Service (QoS) requirements in a high-level fashion, without incurring any controller's code coupling or network operator intervention. The results of a statistical analysis show that our solution can increase the average bandwidth rate in comparison to traditional command-line-driven management approaches. In particular, a simulation study is conducted on a single-controlled SDN architecture using Floodlight controller, where our northbound API performs well, meeting quality of service requirements at runtime with a high statistical confidence.