{'fraction_non_alphanumeric': 0.02025658338960162, 'fraction_numerical': 0.0, 'mean_word_length': 5.471615720524017, '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}}
Semi-distributed Traffic Engineering for Elastic Flows in Software Defined Networks

Software-Defined Networking (SDN) is becoming the reference paradigm to provide advanced Traffic Engineering (TE) solutions for future networks. However, taking all TE decisions at the controller, in a centralized fashion, may require long delays to react to network changes. With the most recent advancements in SDN programmability some decisions can (and should indeed) be offloaded to switches.In this paper we present a model to route elastic demands in a general network topology adopting a semi-distributed approach of the control plane to deal with path congestion. Specifically, we envision a Stackelberg approach where the SDN controller takes the role of Leader, choosing the most appropriate subset of routing paths for the selfish users (network switches), which behave as Followers, making local routing decisions based on path congestion. To overcome the complexity of the problem and meet the time requirements of real-life settings, we propose effective heuristic procedures which take into accurate account traffic dynamics, considering a stochastic scenario where both the number and size of flows change over time. We test our framework with a custom-developed simulator in different network topologies and instance sizes. Numerical results show how our model and heuristics achieve the desired balance between making global decisions and reacting rapidly to congestion events.